On Improving Thread Migration: Safety and Performance
Application-level migration schemes have been paid more attention recently because of their great potential for heterogeneous migration. But they are facing an obstacle that few migration-unsafe features in certain programming languages prevent some programs from migrating. Most application-level migration schemes declare or assume they are dealing with “safe” programs which confuse users without explanation. This paper proposes an application-level thread migration package, MigThread, to identify “unsafe” features in C/C++ and migrate this kind of programs with correct results. Therefore, users need not worry if their programs are qualified for migration as they experienced before. Besides the existing characteristics like scalability and flexibility, MigThread improves transparency and reliability. Complexity analysis and performance evaluation illustrate the migration efficiency.
KeywordsAddress Space Memory Block Migration Scheme Adaptation Point Pointer Arithmetic
Unable to display preview. Download preview PDF.
- Milojicic, D., Douglis, F., Paindaveine, Y., Wheeler, R. and Zhou, S.: Process Migration, ACM Computing Surveys (2000) 474Google Scholar
- Smith, P. and Hutchinson, N.: Heterogeneous process migration: the TUI system,Tech rep 96-04, University of British Columbia (1996) 474, 483Google Scholar
- Jiang H. and Chaudhary, V.: Compile/Run-time Support for Thread Migration, Proc. of 16th Int. Parallel and Distributed Processing Symposium (2002) 475, 476, 477, 484Google Scholar
- Thitikamol, K. and Keleher, P.: Thread Migration and Communication Minimization in DSM Systems, Proc. of the IEEE (1999) 483Google Scholar
- Roy, S. and Chaudhary, V.: Design Issues for a High-Performance Distributed SharedMemory on Symmetrical Multiprocessor Clusters, Cluster Computing: The Journal of Networks, Software Tools and Applications No. 2 (1999) 482Google Scholar
- Strumpen, V.: Compiler Technology for Portable Checkpoints, submitted for publication (http://theory.lcs.mit.edu/strumpen/porch.ps.gz) (1998) 477, 481, 484
- Chanchio, K. and Sun, X. H.: Data Collection and Restoration for Heterogeneous Process Migration, Proc. of Int. Conf. on Distributed Computing Systems (2001) 474, 477, 481, 483Google Scholar
- Dimitrov, B. and Rego, V.: Arachne: A Portable Threads System Supporting Migrant Threads on Heterogeneous Network Farms, IEEE Transactions on Parallel and Distributed Systems 9(5), 1998. 483Google Scholar
- Jul, E., Levy, H., Hutchinson, N. and Blad, A.: Fine-Grained Mobility in the Emerald System, ACM Transactions on Computer Systems, Vol. 6, No. 1, 1998. 483Google Scholar
- Mascarenhas, E., and Rego, V: Ariadne: Architecture of a Portable Threads system supporting Mobile Processes, CSD-TR 95-017, Purdue University (1995) 483Google Scholar
- Itzkovitz, A., Schuster, A., and Wolfovich, L.: Thread Migration and its Applications in Distributed Shared Memory Systems, Journal of Systems and Software, vol. 42, no. 1, 1998. 483Google Scholar