Skip to main content
Log in

Run-time support for user-level ultralightweight threads on distributed-memory computers

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

Ultralightweight Thread (uThread) is a library package designed and optimized for user-level management of parallelism in a single application program running on distributed-memory computers. Existing process management systems incur an unnecessarily high cost when used for the type of parallelism exploited within an application. By reducing the overhead of ownership protection and frequent context switches, uThread encourages both simplicity and performance. In addition, uThread provides various scheduling support to balance the system load. The uThread package reduces the cost of parallelism management to nearly the lower bound. This package has been successfully running on most distributed-memory computers, such as the Intel iPSC/860, Touchstone Delta. NCUBE, and TMC CM-5.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Accetta, M., Baron, R., Golub, D., Rashid, R., Tevanian, A., and Young, M. 1986. Mach: A new kernel foundation for UNIX development. InProc., Summer 1986 USENIX Conf., pp. 93–112.

  • Almasi, G.S., and Gottlieb, A. 1994.Highly Parallel Computing. Benjamin/Cummings Publishing Co.

  • Anderson, T.E., Bershad, B.N., Lazowska, E.D., and Levy, H.M. 1992. Scheduler activations: Efficient kernel support for the user-level management.ACM Trans. Comp. Systems, 10, 1 (Feb.): 53–79.

    Google Scholar 

  • Athas, W.C. 1987. Fine grain concurrent computations. Ph.D. thesis, Dept. of Comp. Sci., Calif. Institute of Technology, Pasadena, Calif.

    Google Scholar 

  • Bershad, B.N., Anderson, T.E., Lazowska, E.D., and Levy, H.M. 1990. Lightweight remote procedure call.ACM Trans. Comp. Systems, 8, 1 (Feb.): 37–55.

    Google Scholar 

  • Chapin, S.J. 1993. Scheduling support mechanisms for autonomous, heterogeneous, distributed systems. Ph.D. thesis, Purdue University, West Lafayette, Ind.

    Google Scholar 

  • Cooper, E.C., and Draves, R.P. 1988. C threads. Tech. Rept. CMU-CS-88-154, School of Comp. Sci., Carnegie Mellon Univ., Pittsburgh, Penn.

    Google Scholar 

  • Dean, R., 1993. Using continuations to build a user-level threads library. InProc., Third USENIX Mach Conf., pp. 137–151.

  • Eager, D.L., Lazowska, E.D., and Zahorjan, J. 1986a. A comparison of receiver-initiated and sender-initiated adaptive load sharing.Performance Eval., 6, 1 (Mar.): 53–68.

    Google Scholar 

  • Eager, D.L., Lazowska, E.D., and Zahorjan, J. 1986b. Adaptive load sharing in homogeneous distributed systems.IEEE Trans. Software Eng., SE-12, 5(May): 662–674.

    Google Scholar 

  • Koller, J. 1988. The MOOSE n operating system and dynamic load balancing. InProc., Fourth Conf. on Hypercube Concurrent Computers and Applications, pp. 599–602.

  • Lin, F.C.H., and Keller, R.M. 1987. The gradient model load balancing method.IEEE Trans. Software Eng., 13, 1 (Jan.): 32–38.

    Google Scholar 

  • Marsh, B.D., Scott, M.L., LeBlanc, T.J., and Markatos, E.P. 1991. First-class user-level threads. InACM Symp. on the Principles of Operating Systems (inACM Operating System Review), pp. 483–490.

  • Mullender, S.J., Rossum, G. van, Tanenbaum, A.S., Renesse, R. van, and Staveren, H. van. 1990. Amoeba—A distributed operating system for the 1990s.IEEE Comp., 23, 5 (May): 44–53.

    Google Scholar 

  • Noakes, M.D., Wallach, D.A., and Dally, W.J. 1993. The J-machine multicomputer: An architecture evaluation. InProc., 20th Annual Internat. Symp. on Computer Architecture, pp. 224–235.

  • Papadopoulos, G.M., and Culler, D.E. 1990. Monsoon: An explicit token-store architecture. InProc., 17th Annual Internat. Symp. on Computer Architecture.

  • Powell, M.L., Kleiman, S.R., Barton, S., Shah, D., Stein, D., and Weeks, M. 1991. Sunos multi-thread architecture. InProc., Winter 1991 USENIX Conf., pp. 65–79.

  • Rozier, M. 1992. Chorus. InProc., USENIX Workshop on Microkernels and Other Kernel Architectures.

  • Salmon, J., Callahan, S., Flower, J., and Kolawa, A. 1988. MOOSE: A multi-tasking operating system for hypercubes. InProc., Third Conf. on Hypercube Concurrent Computers and Applications, vol. 1, pp. 391–396.

    Google Scholar 

  • Shu, W. 1994a. Dynamic scheduling of medium-grained processes on distributed memory computers. InProc., 27th Hawaii Internat. Conf. on System Sciences, pp. 435–444.

  • Shu, W., 1994b. Runtime incremental parallel scheduling on distributed memory computers. Tech. Rept. 94-25, Dept. of Comp. Sci., State Univ. of New York at Buffalo.

    Google Scholar 

  • Singhal, M., and Shivaratri, N.G. 1994.Advanced Concepts in Operating Systems: Distributed, Database, and Multiprocessor Operating Systems. McGraw-Hill.

  • Stein, D., and Shah, D. 1992. Implementing lightweight threads. InProc., Summer 1992 USENIX Conf., pp. 1–9.

  • Tanenbaum, A.S. 1992.Modern Operating Systems. Prentice-Hall, Englewood Cliffs, NJ.

    Google Scholar 

  • von Eicken, T., Culler, D.E., Goldstein, S.C., and Schauser, K.E. 1992. Active messages: A mechanism for integrated communication and computation. InProc., 19 Annual Internat. Symp. on Computer Architecture, pp. 256–266.

  • Willebeek-LeMair, M., and Reeves, A.P. 1993. Strategies for dynamic load balancing on highly parallel computers.J. Parallel and Distr. Comp., 9, 4 (Sept.): 979–993.

    Google Scholar 

  • Wu, M.Y., and Gajski, D.D. 1990. Hypertool: A programming aid for message-passing systems.IEEE Trans. Parallel and Distr. Systems, 1, 3 (Jul.): 330–343.

    Google Scholar 

  • Yang, T., and Gerasoulis, A. 1992. PYRROS: Static task scheduling and code generation for message-passing multiprocessors. InProc., 6th ACM Internat. Conf. on Supercomputing.

Download references

Author information

Authors and Affiliations

Authors

Additional information

This research was supported by NSF grants CCR-9109114.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Shu, W. Run-time support for user-level ultralightweight threads on distributed-memory computers. J Supercomput 9, 91–103 (1995). https://doi.org/10.1007/BF01245399

Download citation

  • Received:

  • Accepted:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01245399

Keywords

Navigation