Abstract
We describe the design of an efficient and portable threads system that supports multi-threaded distributed computations on heterogeneous networks. The system enables threads to migrate between processes that run on different hardware platforms. We present a complete implementation of the design in ANSI C++. This implementation consists of a code preprocessor and a runtime library, and supports applications developed in C or C++. The runtime environment is capable of supporting tens to hundreds of thousands of threads. We also present some performance measurements on the costs of basic thread operations and thread migration.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
J. Banks and J. Carson. Process interaction simulation languages. Simulation, 44(5):225–235, May 1985.
IEEE. Information Technology—Portable Operating System Interface (POSIX)—Part 1: System Application Program Interface (API) [C Language]. Std. 1003.1c-1995, 1995.
E. Jul, H. Levy, N. Hutchinson, and A. Black. Fine-Grained Mobility in the Emerald System. ACM Transactions on Computer Systems, 6(1):109–133, 1988.
F. Knop. Software Architectures for Fault-Tolerant Replications and Multithreaded Decompositions: Experiments with Practical Parallel Simulation. PhD thesis, Purdue University, August 1996.
B. Malloy and M. Soffa. Conversion of Simulation Processes to Pascal Constructs. Software: Practice and Experience, 202(2):191–207, February 1990.
E. Mascarenhas, F. Knop, and V. Rego. ParaSol: A Multi-threaded System for Parallel Simulation Based on Mobile Threads. In Proceedings of the Winter Simulation Conference, pages 690–697, December 1995.
E. Mascarenhas and V. Rego. Migrant Threads on Process Farms: Parallel Programming with Ariadne. Technical Report TR 95-081, Department of Computer Sciences, Purdue University, December 1995.
E. Mascarenhas and V. Rego. Ariadne: Architecture of a Portable Threads System Supporting Thread Migration. Software Practice and Experience, 26(3):327–357, March 1996.
E. Masceranhas. A System for Multithreaded Parallel Simulation and Computation with Migrant Threads and Objects. PhD thesis, Purdue University, August 1996.
J. Sang, F. Knop, V. Rego, J. Lee, and C. King. The Xthreads Library: Design, Implementation and Applications. In Proceedings of the 17th Annual Computer Software and Applications Conference (COMPSAC '93), November 1993.
J. Sang, E. Mascarenhas, and V. Rego. Mobile-Process Based Parallel Simulation. Journal of Parallel & Distributed Computing, 33(1):12–23, February 1996.
J. Sang, G. Peters, and V. Rego. Thread Migration on Heterogeneous Systems via Compile-Time Transformations. In Proceedings of the International Conference on Parallel and Distributed Systems — ICPADS, pages 634–639, 1994.
J. Sang and V. Rego. A Simulation Testbed based on Lightweight Processes. Software, Practice & Experience, 24(5):485–505, May 1994.
H. D. Schwetman. Using CSIM to model complex systems. In Proceedings of the Winter Simulation Conference, pages 246–253, 1988.
B. Steensgaard and E. Jul. Object and native code thread mobility among heterogeneous computers. In Proceedings of the ACM Symposium on Operating Systems Principles, pages 68–78, 1995.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Dimitrov, B., Rego, V. (1997). Arachne: A portable threads library supporting migrant threads on heterogeneous network farms. In: Panda, D.K., Stunkel, C.B. (eds) Communication and Architectural Support for Network-Based Parallel Computing. CANPC 1997. Lecture Notes in Computer Science, vol 1199. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-62573-9_8
Download citation
DOI: https://doi.org/10.1007/3-540-62573-9_8
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-62573-5
Online ISBN: 978-3-540-68085-7
eBook Packages: Springer Book Archive