Title :
Revisiting Deterministic Multithreading Strategies
Author :
Domaschka, Jörg ; Schmied, Andreas I. ; Reiser, Hans P. ; Hauck, Franz J.
Author_Institution :
Inst. of Distributed Syst., Ulm Univ.
Abstract :
Deterministic behaviour is a prerequisite for most approaches to object replication. In order to avoid the non-determinism of multithreading, many object replication systems are limited to using sequential method execution. In this paper, we survey existing application-level scheduling algorithms that enable deterministic concurrent execution of object methods. Multithreading leads to a more efficient execution on multiple CPUs and multi-core CPUs, and it enables the object programmer to use condition variables for coordination between multiple invocations. In existing algorithms, a thread may only start or resume if there are no potentially nondeterministic conflicts with other running threads. A decision only based on past actions, without knowledge of future behaviour, must use a pessimistic strategy that can cause unnecessary restrictions to concurrency. Using a priori knowledge about future actions of a thread allows increasing the concurrency. We propose static code analysis as a way for predicting the lock acquisitions of object methods.
Keywords :
distributed object management; middleware; multi-threading; object-oriented programming; remote procedure calls; scheduling; application-level scheduling algorithms; deterministic multithreading strategies; multicore CPU; object replication; sequential method execution; static code analysis; Algorithm design and analysis; Concurrent computing; Information analysis; Java; Middleware; Multithreading; Programming profession; Resumes; Scheduling algorithm; Yarn;
Conference_Titel :
Parallel and Distributed Processing Symposium, 2007. IPDPS 2007. IEEE International
Conference_Location :
Long Beach, CA
Print_ISBN :
1-4244-0910-1
Electronic_ISBN :
1-4244-0910-1
DOI :
10.1109/IPDPS.2007.370415