Using Preemptive Thread Migration to Load-Balance Data-Parallel Applications

Generic load balancing policies for irregular parallel applications may be efficiently implemented by integrating preemptive thread migration into the runtime support. In this context, a delicate issue is to manage pointer validity in a migration-safe way. In [1] we presented an iso-address approach to this problem. This paper discusses the impact of the iso-address migration scheme on the runtime of the Adaptor [4] HPF compiler. This runtime (previously modified so as to generate multithreaded code for our PM2 runtime system [3]) now provides a generic support for dynamic load balancing, using preemptive thread migration. We report some encouraging results obtained with our system on a HPF flame simulation code, a motivating application of HPF 2.0 [7].

[1]  Assaf Schuster,et al.  Thread migration and its applications in distributed shared memory systems , 1998, J. Syst. Softw..

[2]  Gabriel Antoniu,et al.  An Efficient and Transparent Thread Migration Scheme in the PM2 Runtime System , 1999, IPPS/SPDP Workshops.

[3]  Rice UniversityCORPORATE,et al.  High performance Fortran language specification , 1993 .

[4]  Robert S. Schreiber,et al.  Hpf-2 scope of activities and motivating applications , 1994 .

[5]  Jean-François Méhaut,et al.  PM2: Parallel Multithreaded Machine. A Computing Environment for Distributed Architectures , 1995, PARCO.

[6]  Salvatore Orlando,et al.  SUPPLE: An efficient run-time support for non-uniform parallel loops , 1999, J. Syst. Archit..

[7]  Matthew Haines,et al.  Thread migration in the presence of pointers , 1997, Proceedings of the Thirtieth Hawaii International Conference on System Sciences.

[8]  Edward Mascarenhas,et al.  Ariadne: Architecture of a Portable Threads System Supporting Thread Migration , 1996 .

[9]  Jürgen Quittek,et al.  Efficient fine-grain thread migration with active threads , 1998, Proceedings of the First Merged International Parallel Processing Symposium and Symposium on Parallel and Distributed Processing.

[10]  Edward Mascarenhas,et al.  Ariadne: Architecture of a Portable Threads system supporting Mobile Processes , 1995 .

[11]  Jonathan Walpole,et al.  Adaptive load migration systems for PVM , 1994, Proceedings of Supercomputing '94.

[12]  Corporate Rice University,et al.  High performance Fortran language specification , 1993, FORF.

[13]  Salvatore Orlando,et al.  A Comparison of Implementation Strategies for Nonuniform Data-Parallel Computations , 1998, J. Parallel Distributed Comput..