“Multithreading Strategies for Replicated Objects”

From Navigators

Jump to: navigation, search

J. Domaschka, F. J. Hauck, T. Bestfleisch, Hans P. Reiser, R. Kapitza

in Proc. of the ACM/IFIP/USENIX 9th International Middleware Conference, Leuven, Belgium, Dec. 2008.

Abstract: Replication of objects usually makes deterministic behaviour mandatory for maintaining a consistent state. Multithreaded execution is a critical source of non-determinism that is completely avoided in most fault-tolerant middleware systems. Recent publications have defined deterministic scheduling algorithms that operate at the middleware level and allow multithreaded replicated objects. This avoids deadlocks, improves performance and makes the development more comparable to non-replicated objects. This paper surveys those algorithms and analyses their differences. Next, this paper defines extensions to two efficient multithreading algorithms in order to support nested invocations and condition variables with time-bounded wait operations similar to the Java synchronisation model. In addition, we provide an experimental evaluation and performance comparison of the algorithms, indicating the areas in which each algorithm performs best. We conclude that replication middleware should implement reconfigurable multithreading strategies, as there is no optimal one-size-fits-all solution.

Download paper

Download Multithreading Strategies for Replicated Objects

Export citation



Research line(s): Timeliness and Adaptation in Dependable Systems (TADS)

Personal tools
Navigators toolbox