Advertisement

Multithreading runtime support for loop and functional parallelism

  • Hideki Saito
  • Nicholas Stavrakos
  • Constantine Polychronopoulos
III System Software
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1615)

Abstract

This paper presents a multithreading runtime library that provides unified support for loop and functional parallelisms. It implements a queue-based dynamic load-balancing scheme to exploit arbitrarily nested or disjointed parallel constructs, while keeping its overhead competitive with simpler conventional libraries. The library also provides support for the recently adopted industry standard: OpenMP.

Keywords

Multithreading Runtime Support OpenMP Loop Parallelism Functional Parallelism 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    J-H. Chow and L. Harrison. Microtasking recursive, parallel programs. In Proceedings of the International Conference on Parallel Processing, 1990.Google Scholar
  2. 2.
    Milind Girkar, Mohammad Haghighat, Paul Grey, Hideki Saito, Nicholas Stavrakos, and Constantine Polychronopoulos. Illinois-Intel Multithreading Library: Multithreading support for iA-based multiprocessor systems. Intel Technology Journal, 1998. 1st Quarter '98.Google Scholar
  3. 3.
    Milind Girkar and Constantine D. Polychronopoulos. Extraction of task-level parallelism. ACM transactions on Programming Languages and Systems, 17(4), 1995.Google Scholar
  4. 4.
    Jay Hoeflinger. Cedar Fortran Programmer's Manual. Technical Report 1157, Center for Supercomputing Research and Development, University of Illinois at Urbana-Champaign, Octobar 1991.Google Scholar
  5. 5.
    Intel Corporation. Intel Math Kernel Library Reference Manual. Intel MKL Release 2.0.Google Scholar
  6. 6.
    Kuck and Associates, Inc. Visual KAP for OpenMP User's Manual Version 3.5. Available at http://www.kai.com.Google Scholar
  7. 7.
    Kuck and Associates, Inc. Visual KAP User's Manual Version 3.0. Available at http://www.kai.com.Google Scholar
  8. 8.
    Jose E. Moreira. On the Implementation and Effectiveness of Autoscheduling for Shared-Memory Multiprocessors. PhD thesis, University of Illinois at Urbana-Champaign, 1995. Also available as CSRD Technical Report No. 1404.Google Scholar
  9. 9.
    OpenMP Architecture Review Board. OpenMP Fortran Application Program Interface Ver. 1.0, October 1997. Available from http://www.openmp.org.Google Scholar
  10. 10.
    Persistence of Vision Development Team. POV-Ray for Windows Ver 3.0. Available through http://www.povray.org, 1997.Google Scholar
  11. 11.
    E.D. Polychronopoulos. Scheduling Heuristics for Multiprocessors. PhD thesis, Laboratory for High-Performance Computing, University of Patras, 1997. in preparation.Google Scholar
  12. 12.
    Hideki Saito. Multithreading runtime support for loop and functional parallelism. Master's thesis, University of Illinois at Urbana-Champaign, 1998. Also available as CSRD Technical Report No. 1535.Google Scholar
  13. 13.
    Hideki Saito et al. IML home page. http://www.csrd.uiuc.edu/IML, December 1997.Google Scholar
  14. 14.
    Dale A. Schouten. Efficient Scheduling of Parallel Tasks in a Multiprogramming Environment. PhD thesis, University of Illinois at Urbana-Champaign, 1994. Also available as CSRD Technical Report No. 1428.Google Scholar
  15. 15.
    Silicon Graphics, Inc. MIPSpro Fortran 77 Programmer's Guide. Document Number 007-2361-006, Available at http://techpubs.sgi.com.Google Scholar
  16. 16.
    J. D. Valois. Lock-Free Data Strucutres. PhD thesis, Rensselaer Polytechnic Institute, 1995.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1999

Authors and Affiliations

  • Hideki Saito
    • 1
  • Nicholas Stavrakos
    • 1
  • Constantine Polychronopoulos
    • 1
  1. 1.Center for Supercomputing Research and DevelopmentUniversity of Illinois at Urbana-ChampaignUrbanaU.S.A.

Personalised recommendations