Abstract
The global quiescence of a distributed computation (or distributed termination detection) is an important problem. Some concurrent programming languages and systems provide global quiescence detection as a built-in feature so that programmers do not need to write special synchronization code to detect quiescence. This paper introduces partial quiescence (PQ), which generalizes quiescence detection to a specified part of a distributed computation. Partial quiescence is useful, for example, when two independent concurrent computations that both rely on global quiescence need to be combined into a single program. The paper describes how we have designed and implemented a PQ mechanism within an experimental version of the JR concurrent programming language. Our early results are promising qualitatively and quantitatively.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Andrews, G.R., Olsson, R.A.: The SR Programming Language: Concurrency in Practice. The Benjamin/Cummings Publishing Co., Redwood City, CA (1993)
Andrews, G.R., Olsson, R.A., Coffin, M., Elshoff, I., Nilsen, K., Purdin, T., Townsend, G.: An overview of the SR language and implementation. ACM Transactions on Programming Languages and Systems 10(1), 51–86 (1988)
Dijkstra, E.W., Scholten, C.S.: Termination detection for disffusing computations. Inform. Process. Lett. 11(1), 1–4 (1980)
Francez, N.: Distributed termination. ACM Trans. Programming Languages and Systems 2(1), 42–55 (1980)
Helary, J., Jard, C., Plouzeau, N., Raynal, M.: Detection of stable properties in distributed applications. In: PODC 1987: Proceedings of the Sixth Annual ACM Symposium on Principles of Distributed Computing, pp. 125–136 (1987)
JR distribution. http://www.cs.ucdavis.edu/~olsson/research/jr/
Keen, A.W., Ge, T., Maris, J.T., Olsson, R.A.: JR: Flexible distributed programming in an extended Java. ACM Transactions on Programming Languages and Systems, 578–608 (May 2004)
Kermarrec, Y., Pautet, L., Tardieu, S.: GARLIC: generic Ada reusable library for interpartition communication. In: TRI-Ada 1995: Proceedings of the Conference on TRI-Ada 1995, pp. 263–269. ACM Press, New York (1995)
Kobayashi, N.: A partially deadlock-free typed process calculus. ACM Trans. Program. Lang. Syst. 20(2), 436–482 (1998)
Liang, L., Chanson, S.T., Neufeld, G.W.: Process groups and group communications: classifications and requirements. IEEE Computer 23(2), 56–66 (1990)
Luecke, G.R., Zou, Y., Coyle, J., Hoekstra, J., Kraeva, M.: Deadlock detection in MPI programs. Concurrency and Computation: Practice and Experience 14, 911–932 (2002)
Man, B.Y.-K.: The design and implementation of partial quiescence in a concurrent programming language. Master’s thesis, University of California, Davis, Department of Computer Science (March 2006), http://www.cs.ucdavis.edu/~olsson/students/
Masticola, S.P., Ryder, B.G.: Static infinite wait anomaly detection in polynomial time. In: Proceedings of 1990 International Conference on Parallel Processing, University Park PA, pp. II.78–II.87 (1990)
Matocha, J., Camp, T.: A taxonomy of distributed termination detection algorithms. The Journal of Systems and Software 43(3), 207–221 (1998)
Mattern, F.: Global quiescence detection based on credit distribution and recovery. Inf. Process. Lett. 30(4), 195–200 (1989)
Nestmann, U.: What is a ‘good’ encoding of guarded choice? Journal of Information and Computation 156, 287–319 (2000)
Okano, K., Hattori, S., Yamamoto, A., Higashino, T., Taniguchi, K.: Specification of real-time systems using a timed automata model with shared variables and verification of partial-deadlock freeness. In: ICPP Workshop, pp. 576–581 (1999)
Olsson, R.A., Keen, A.W.: The JR Programming Language: Concurrent Programming in an Extended Java. Kluwer Academic Publishers, Inc., Dordrecht (2004)
Sinha, A.B., Kalé, L.V., Ramkumar, B.: A dynamic and adaptive quiescence detection algorithm. Technical Report 93-11, Department of Computer Science, University of Illinois, Urbana-Champaign (1993)
Vetter, J.S., de Supinski, B.D.: Dynamic software testing of MPI applications with Umpire. Technical report, Lawrence Livermore National Laboratory (2000)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Man, B.YK., Chan, H.N.(., Gallagher, A.J., Goundan, A.S., Keen, A.W., Olsson, R.A. (2006). Toward a Definition of and Linguistic Support for Partial Quiescence. In: Nagel, W.E., Walter, W.V., Lehner, W. (eds) Euro-Par 2006 Parallel Processing. Euro-Par 2006. Lecture Notes in Computer Science, vol 4128. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11823285_68
Download citation
DOI: https://doi.org/10.1007/11823285_68
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-37783-2
Online ISBN: 978-3-540-37784-9
eBook Packages: Computer ScienceComputer Science (R0)