This Article 
 Bibliographic References 
 Add to: 
Tiered Algorithm for Distributed Process Quiescence and Termination Detection
November 2007 (vol. 18 no. 11)
pp. 1529-1538
The Tiered Algorithm is presented for time-efficient and message-efficient detection of process termination. It employs a global invariant of equality between process production and consumption at each level of process nesting to detect termination regardless of execution interleaving order and network transit time. Correctness is validated for arbitrary process launching hierarchies, including launch-in-transit hazards where processes are created dynamically based on run-time conditions for remote execution. The performance of the Tiered Algorithm is compared to three existing schemes with comparable capabilities, namely the CV, LTD, and Credit termination detection algorithms. For synchronization of T tasks terminating in E epochs of idle processing, the Tiered Algorithm is shown to incur O(E) message count complexity and O(T lg T) message bit complexity while incurring detection latency corresponding to only integer addition and comparison. The synchronization performance in terms of messaging overhead, detection operations, and storage requirements are evaluated and compared across numerous task creation and termination hierarchies.

[1] J. Matocha and T. Camp, “A Taxonomy of Distributed Termination Detection Algorithms,” J. Systems and Software, vol. 43, no. 3, pp. 207-221, Nov. 1998.
[2] F. Mattern, “Global Quiescence Detection Based on Credit Distribution and Discovery,” Information Processing Letters, vol. 30, no. 4, pp. 195-200, Feb. 1989.
[3] W.E. Cohen, D.W. Hyde, and R.K. Gaede, “An Optical Bus-Based Distributed Dynamic Barrier Mechanism,” IEEE Trans. Computers, vol. 49, no. 12, pp. 1354-1365, Dec. 2000.
[4] Y. Tseng, R.F. DeMara, and P. Wilder, “Distributed-Sum Termination Detection Supporting Multithreaded Execution,” Parallel Computing, vol. 29, no. 7, pp. 953-968, July 2003.
[5] J. Matocha, “Distributed Termination Detection in a Mobile Wireless Network,” Proc. 36th Ann. ACM Southeast Regional Conf., pp. 207-213, 1998.
[6] S. Moh, C. Yu, B. Lee, H.Y. Youn, D. Han, and D. Lee, “Four-Ary Tree-Based Barrier Synchronization for 2D Meshes without Nonmember Involvement,” IEEE Trans. Computers, vol. 50, no. 8, pp. 811-823, Aug. 2001.
[7] S. Shang and K. Hwang, “Distributed Hardwired Barrier Synchronization for Scalable Multiprocessor Clusters,” IEEE Trans. Parallel and Distributed Systems, vol. 6, no. 6, pp. 591-605, June 1995.
[8] A.B. Sinha and L.V. Kale, “A Dynamic and Adaptive Quiescence Detection Algorithm,” Univ. of Illinois, Urbana-Champaign, , 1993.
[9] S. Chandrasekaran and S. Venkatesan, “A Message-Optimal Algorithm for Distributed Termination Detection,” J. Parallel and Distributed Computing, vol. 8, no. 3, pp. 245-252, Mar. 1990.
[10] T.-H. Lai, Y.-C. Tseng, and X. Dong, “A More Efficient Message-Optimal Algorithm for Distributed Termination Detection,” Proc. Sixth Int'l Parallel Processing Symp. (IPPS '92), pp. 646-649, 1992.
[11] T.-H. Lai, “Termination Detection for Dynamic Distributed Systems with Non-First-In-First-Out Communication,” Parallel and Distributed Computing, vol. 3, no. 4, pp. 577-599, Dec. 1986.
[12] D.M. Dhamdhere, S.R. Iyer, and E.K.K. Reddy, “Distributed Termination Detection for Dynamic Systems,” Parallel Computing, vol. 22, no. 14, pp. 2025-2045, Mar. 1997.
[13] S. Cohen and D. Lehman, “Dynamic Systems and Their Distributed Termination,” Proc. First Ann. ACM Symp. Principles of Distributed Computing (PODC '82), pp. 29-33, 1982.
[14] G. Tel and F. Mattern, “The Derivation of Distributed Termination Detection Algorithms from Garbage Collection Schemes,” Proc. Parallel Architectures and Languages in Europe, pp. 137-149, 1991.
[15] N.C. Juul and E. Jul, “Comprehensive and Robust Garbage Collection in a Distributed System,” Proc. Int'l Workshop Memory Management (IWMM '92), pp. 103-115, Sept. 1992.
[16] G. Stupp, “Stateless Termination Detection,” Proc. 16th Int'l Symp. Distributed Computing (DISC '02), pp. 163-172, 2002.
[17] R. DeMara, B. Motlagh, C. Lin, and S. Kuo, “Barrier Synchronization Techniques for Distributed Process Creation,” Proc. Eighth Int'l Parallel Processing Symp. (IPPS '94), pp. 597-603, Apr. 1994.
[18] T.W. Crockett and T. Orloff, “Parallel Polygon Rendering for Message-Passing Architectures,” IEEE Parallel and Distributed Technology: Systems and Applications, vol. 2, no. 2, pp. 17-28, Summer 1994.
[19] M.P. Herlihy and M.S. McKendry, “Timestamp-Based Orphan Elimination,” IEEE Trans. Software Eng., vol. 15, no. 7, pp. 825-831, July 1989.
[20] L. Svobodova, “File-Servers for Network-Based Distributed Systems,” ACM Computing Surveys, vol. 16, no. 4, pp. 353-396, Dec. 1984.
[21] X. Wang and J. Mayo, “A General Model for Detecting Distributed Termination in Dynamic Systems,” Proc. 18th IEEE Int'l Parallel and Distributed Processing Symp. (IPDPS '04), pp. 26-30, Apr. 2004.
[22] A.H. Baker, S. Crivelli, and E.R. Jessup, “An Efficient Parallel Termination Detection Algorithm,” Lawrence Berkeley Laboratory, htm. , 2000.
[23] A. Khokhar, S. Hambrusch, and E. Kocalar, “Termination Detection in Data-Driven Parallel Computations/Applications,” J. Parallel and Distributed Computing, vol. 63, no. 3, pp. 312-326, Mar. 2003.
[24] K.M. Chandy and J. Misra, “How Processes Learn,” Distributed Computing, vol. 1, no. 1, pp. 40-52, Mar. 1986.
[25] E.W. Dijkstra and C.S. Scholten, “Termination Detection for Diffusing Computations,” Information Processing Letters, vol. 11, no. 1, pp. 1-4, Aug. 1980.
[26] N. Mittal, S. Venkatesan, and S. Peri, “Message-Optimal and Latency-Optimal Termination Detection Algorithms for Arbitrary Topologies,” Proc. 18th Ann. Conf. Distributed Computing (DISC '04), Oct. 2004.
[27] M. Filali, P. Mauran, and G. Padiou, “Refinement Based Validation of an Algorithm for Detecting Distributed Termination,” Proc. 14th Int'l Parallel and Distributed Processing Symp. (IPDPS '00), Workshop Formal Methods for Parallel Programming, pp.1027-1036, 2000.
[28] D. Kumar, “Development of a Class of Distributed Termination Detection Algorithms,” IEEE Trans. Knowledge and Data Eng., vol. 4, no. 2, pp. 145-155, Apr. 1992.
[29] N.R. Mahapatra and S. Dutt, “An Efficient Delay-Optimal Distributed Termination Detection Algorithm,” Univ. of Minnesota, jpdc-term-detn-2003.pdf., 1994.
[30] C. Xu and F.C.M. Lau, “Efficient Termination Detection for Loosely Synchronous Applications in Multicomputers,” IEEE Trans. Parallel and Distributed Systems, vol. 7, no. 5, pp. 537-544, May 1996.
[31] F. Mattern, “Algorithms for Distributed Termination Detection,” Distributed Computing, vol. 2, no. 3, pp. 167-175, Sept. 1987.
[32] I. Lavallee and G. Roucairol, “A Fully Distributed Spanning Tree Algorithm,” Information Processing Letters, vol. 23, no. 2, pp. 55-62, Aug. 1986.
[33] S.P. Rana, “A Distributed Solution to the Distributed Termination Problem,” Information Processing Letters, vol. 17, no. 1, pp. 43-46, July 1983.
[34] J. Mayo and P. Kearns, “Distributed Termination Detection with Roughly Synchronized Clocks,” Information Processing Letters, vol. 52, no. 2, pp. 105-108, Oct. 1994.
[35] J. Misra and K.M. Chandy, “Termination Detection of Diffusing Computations in Communicating Sequential Processes,” ACM Trans. Programming Languages and Systems, vol. 4, no. 1, pp. 37-43, Jan. 1982.
[36] K. Drake, “Time and Space Efficient Multiprocessor Synchronization and Quiescence Detection,” MS thesis, Dept. of Electrical and Computer Eng., Univ. of Central Florida, 1995.

Index Terms:
Synchronization, Multitasking, Distributed Architectures, Distributed Programming, Parallel Processing
Ronald F. DeMara, Yili Tseng, Abdel Ejnioui, "Tiered Algorithm for Distributed Process Quiescence and Termination Detection," IEEE Transactions on Parallel and Distributed Systems, vol. 18, no. 11, pp. 1529-1538, Nov. 2007, doi:10.1109/TPDS.2007.1066
Usage of this product signifies your acceptance of the Terms of Use.