“Multithreading Strategies for Replicated Objects”

From Navigators

(Difference between revisions)
Jump to: navigation, search
(NavsPubsFull5.xml import (201201141459, full reimport with new ids for legacy pubs avoiding collisions))
 
Line 1: Line 1:
{{Publication
{{Publication
-
|title=
+
|type=inproceedings
-
   
+
|title=Multithreading Strategies for Replicated Objects
-
 
+
|author=J. Domaschka, F. J. Hauck, T. Bestfleisch, Hans P. Reiser, R. Kapitza
-
 
+
|ResearchLine=Timeliness and Adaptation in Dependable Systems (TADS)
-
 
+
|month=dec
-
   
+
|year=2008
-
        Multithreading Strategies for Replicated Objects
+
|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.
-
|author=
+
|address=Leuven, Belgium
-
        J. Domaschka, F. J. Hauck, T. Bestfleisch, Hans P. Reiser, R. Kapitza
+
|booktitle=Proc. of the ACM/IFIP/USENIX 9th International Middleware Conference
-
|url=
+
|url=http://www.navigators.di.fc.ul.pt/archive/papers/mt-mw08.pdf
-
        http://www.navigators.di.fc.ul.pt/archive/papers/mt-mw08.pdf
+
-
|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.  
+
-
|type=
+
-
        incollection
+
-
|booktitle=
+
-
        Proc. of the ACM/IFIP/USENIX 9th International Middleware Conference (Dec 1-5, 2008, Leuven, Belgium), 2008.
+
-
|month=
+
-
        dec
+
-
|year=
+
-
        2008
+
-
|ResearchLine=
+
-
        Timeliness and Adaptation in Dependable Systems (TADS)
+
}}
}}

Latest revision as of 17:09, 14 January 2013

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

BibTeX

Project(s):

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

Personal tools
Navigators toolbox