Revisiting deterministic multithreading strategies

4Citations
Citations of this article
16Readers
Mendeley users who have this article in their library.
Get full text

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. © 2007 IEEE.

Cite

CITATION STYLE

APA

Domaschka, J., Schmied, A. I., Reiser, H. P., & Hauck, F. J. (2007). Revisiting deterministic multithreading strategies. In Proceedings - 21st International Parallel and Distributed Processing Symposium, IPDPS 2007; Abstracts and CD-ROM. https://doi.org/10.1109/IPDPS.2007.370415

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free