Skip to main content

Nanothreads vs. Fibers for the Support of Fine Grain Parallelism on Windows NT/2000 Platforms

  • Conference paper
  • First Online:
Book cover High Performance Computing (ISHPC 2000)

Abstract

Support for parallel programming is very essential for the efficient utilization of modern multiprocessor systems. This paper focuses on the implementation of multithreaded runtime libraries used for the fine-grain parallelization of applications on the Windows 2000 operating system. We have implemented and introduce two runtime libraries. The first one is based on standard Windows user-level fibers, while the second is based on nanothreads. Both follow the Nanothreads Programming Model. A systematic evaluation comparing both implementations has also been conducted in three levels: the user-level thread packages, the runtime libraries and the applications level. The results demonstrate that nanothreads outperform the Windows fibers. The performance gains of the thread creation and context switching mechanisms are reflected on both runtime libraries. Experiments with fine-grain applications demonstrate up to 40% higher speedup in the case of nanothreads compared to that of fibers.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. E. Ayguadé, M. Furnari, M. Giordano, H-C. Hoppe, J. Labarta, X. Martorell, N. Navarro, D. Nikolopoulos, T. Papatheodorou and E. Polychronopoulos, Nano-Threads Programming Model Specification, ESPRIT Project No. 21907, Deliverable M1.D1, 1997. 147

    Google Scholar 

  2. V. Barekas, P. Hadjidoukas, E. Polychronopoulos and T. Papatheodorou, Supporting Fine-Grain Parallelism on Windows NT Platforms, Technical Report 012000, High Performance Information Systems Laboratory, University of Patras, January 2000. 150

    Google Scholar 

  3. M. Giordano and M. Mango Furnari, A Graphical Parallelizing Environment for User-Compiler Interaction, In Proc. of the 1999 International Conference on Supercomputing, Rhodes, Greece, June 1999. 147

    Google Scholar 

  4. M. Girkar, M. Haghighat, P. Grey, H. Saito, N. Stavrakos, and C. Polychronopoulos, Intel-Illinois Multi-threading Library: Multithreaded support for IA-based multiprocessors systems, Intel Technology Journal, 1998. 157

    Google Scholar 

  5. D. Keppel, Tools and Techniques for Building Fast Portable Thread Packages, Technical Report UW-CSE-93-05-06, University of Washington at Seattle, June 1993. 150

    Google Scholar 

  6. Kuck and Associates, Inc, Visual KAP for OpenMP User’s Manual Version 3.6, available at http://www.kai.com. 157

  7. Microsoft Corp., Microsoft Developer Network Library, available at http://msdn.microsoft.com/library. 148

  8. B. Mukherjee, G. Eisenhauer and K. Ghosh, A Machine Independent Interface for Lightweight Threads, Operating Systems Review of the ACM Special Interest Group in Operating Systems, pages 33–47, January 1994. 158

    Google Scholar 

  9. D. Nikolopoulos, E. Polychronopoulos and T. Papatheodorou, Fine-Grain and Multiprogramming-Conscious Nanothreading with the Solaris Operating System, In Proc. of the 1999 International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA’ 99), CSREA Press, Vol. IV, pp. 1797–1803, Las Vegas, Nevada,June 28–July 1 1999. 155, 158

    Google Scholar 

  10. D. Nikolopoulos, E. Polychronopoulos, T. Papatheodorou, C. Antonopoulos, I. Venetis and P. Hadjidoukas, Achieving Multiprogramming Scalability of Parallel Programs on Intel SMP Platforms: Nanothreading in the Linux Kernel, In Proc. of the Parallel Computing’99 Conference (ParCo’99), Delft, The Netherlands, August 1999. 158

    Google Scholar 

  11. OpenMP Architecture Review Board, OpenMP C and C++ Application Program Interface Ver. 1.0, Octomber 1998, available at http://www.openmp.org. 147, 150

  12. C. Polychronopoulos, N. Bitar and S. Cleiman, Nanothreads: A User-Level Threads Architecture, Technical Report 1295, University of Illinois at Urbana-Champaign, 1993. 147, 149

    Google Scholar 

  13. E. Polychronopoulos and T. Papatheodorou, Scheduling User-Level Threads on Distributed Shared Memory Multiprocessors, In Proc. of the 5th EuroPar Conference (EuroPar’ 99), Toulouse, France, September 1999. 152, 155

    Google Scholar 

  14. J. Ritcher, Advanced Windows: The Professional Developer’s Guide to the Win32 API for Windows NT 4.0 and Windows 95, Microsoft Press, 1995. 147

    Google Scholar 

  15. J. Thornley, K. Mani Chandy and H. Ishii, A System for Structured High-Performance Multithreaded Programming in Windows NT, In Proc. of the 2nd USENIX Windows NT Symposium, pp. 67–76, Seattle, Washington, August 1998. 157

    Google Scholar 

  16. S. Woo, M. Ohara, E. Torrie, J. P. Singh and A. Gupta, The SPLASH-2 programs:Characterization and Methodological Monsiderations, In Proc. of the 22th International Symposium on Computer Architecture, Santa Margherita Ligure, Italy, June 1995. 155

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Barekas, V.K., Hadjidoukas, P.E., Polychronopoulos, E.D., Papatheodorou, T.S. (2000). Nanothreads vs. Fibers for the Support of Fine Grain Parallelism on Windows NT/2000 Platforms. In: Valero, M., Joe, K., Kitsuregawa, M., Tanaka, H. (eds) High Performance Computing. ISHPC 2000. Lecture Notes in Computer Science, vol 1940. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-39999-2_13

Download citation

  • DOI: https://doi.org/10.1007/3-540-39999-2_13

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-41128-4

  • Online ISBN: 978-3-540-39999-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics