Skip to main content
Log in

Parallel programming inPanda

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

Abstract

Distributed systems are an alternative to shared-memory multiprocessors for the execution of parallel applications.Panda is a run-time system that provides architectural support for efficient parallel and distributed programming. It supplies fast user-level threads and a means for transparent and coordinated sharing of objects across a homogeneous network. The paper motivates the major architectural choices that guided our design. The problem of sharing data in a distributed environment is discussed, and the performance of the mechanisms provided by thePanda prototype implementation is assessed.

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.

Institutional subscriptions

Similar content being viewed by others

References

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

    Google Scholar 

  • Assenmacher, H., Breitbach, T., Buhler, P., Hübsch, V., and Schwarz, R. 1993a.Panda—Supporting distributed programming in C++. InProc., 7th European Conf. on Object-Oriented Programming (ECOOP'93) (O. Nierstrasz, ed.), LNCS 707, Springer-Verlag, pp. 361–383.

  • Assenmacher, H., Breitbach, T., Buhler, P., Hübsch, V., and Schwarz, R. 1993b. ThePanda system architecture—A pico-kernel approach. InProc., fourth Workshop on Future Trends of Distributed Computing Systems (FTDCS'93) (Lisbon, Sept.), IEEE Comp. Soc. Press, pp. 470–476.

    Google Scholar 

  • Bal, H.E., and Kaashoek, F. 1992. Orca: A language for parallel programming of distributed systems.IEEE Trans. Software Eng., 18, 3 (Mar.); 190–205.

    Google Scholar 

  • Bershad, B.N., Zekauskas, M.J., and Sawdon, W.A. 1993. The Midway distributed shared memory system. InProc., CompCon '93 (Feb.), pp. 528–537.

    Google Scholar 

  • Carter, J.B., Bennet, J.K., and Zwaenepoel, W. 1991. Implementation and performance of Munin. InProc., 13th ACM Symp. on Operating Systems Principles (Pacific Grove, Calif., Oct.), pp. 152–164.

  • Chase, J.S., Amador, F.G., Lazowska, E.D., Levy, H.M., and Littlefield, R.J. 1989. The Amber system: Parallel programming on a network of multiprocessors. InProc., 12th ACM Symp. on Operating Systems Principles (Litchfield Park, Arizona), pp. 147–158.

  • Coplien, J.O. 1992.Advanced C++ Programming Styles and Idioms. Addison-Wesley, Reading, Mass., pp. 133–134.

    Google Scholar 

  • Draves, R.P., Bershad, B.N., Rashid, R.F., and Dean, R.W. 1991. Using continuations to implement thread management and communication in operating systems. InProc., 13th ACM Symp. on Operating Systems Principles (Pacific Grove, Calif., Oct.).

  • Fleisch, B.D., Hyde, R.L., and Juul, N.C. 1993. Moving distributed shared memory to the personal computer: The Mirage+ experience. Tech. Rept. UCR-CS-93-6, Dept. of Comp. Sci., Univ. of Calif., Riverside.

    Google Scholar 

  • Gehani, N.H., and Roome, W.D. 1988. Concurrent C++: Concurrent programming with class(es).Software—Practice and Experience, 18, 12 (Dec.): 1157–1177.

    Google Scholar 

  • Jul, E., Levy, H., Hutchinson, N., and Black, A. 1988. Fine-grained mobility in the Emerald system.ACM Trans. Comp. Systems, 6, 1 (Feb.): 109–133.

    Google Scholar 

  • Keleher, P., Dwarkadas, S., Cox, A., and Zwaenepoel, W. 1993. TreadMarks: Distributed shared memory on standard workstations and operating systems. Tech. Rept. COMP TR93-214, Dept. of Comp. Sci., Rice Univ., Houston, Tex.

    Google Scholar 

  • Liedtke, J. 1993. Improving IPC by kernel design. InProc., 14th ACM Symp. on Operating Systems Principles (Dec.), pp. 175–188.

    Google Scholar 

  • Marsh, B.D., Scott, M.L., LeBlanc, T.J., and Markatos, E.P. 1991. First-class user-level threads. InProc., 13th Symp. on Operating Systems Principles (Pacific Grove, Calif., Oct.), pp. 110–121.

  • Misra, J. 1991. Loosely-coupled processes. InProc., Parallel Architectures and Languages, Europe (PARLE'91) (E.H.L. Aarts, J. van Leeuwen, and M. Rem, eds.), LNCS 506, Springer-Verlag, Berlin/New York. pp. 1–26.

    Google Scholar 

  • Nierstrasz, O.M., and Papathomas, M. 1990. Viewing objects as patterns of communicating agents. InProc., European Conf. on Object-Oriented Programming and ACM Conf. on Object-Oriented Programming: Systems, Languages, and Applications (Ottawa, Canada, Oct. 21–25), ACM, pp. 38–42.

    Google Scholar 

  • Nitzberg, N., and Lo, V. 1991. Distributed shared memory: A survey of issues and algorithms.IEEE Comp. (Aug.): 52–60.

    Google Scholar 

  • Rao, V.N., and Kumar, V. 1993. On the efficiency of parallel backtracking.IEEE Trans. Parallel and Distr. Systems, 4, 4 (Apr.): 427–437.

    Google Scholar 

  • Saleh, H., and Gautron, P. 1991. A concurrency control mechanism for C++ objects. InProc., ECOOP'91 Workshop on Object-Based Concurrent Computing (Geneva, July 15–16), LNCS 612, Springer-Verlag, pp. 95–210.

    Google Scholar 

  • Scott, M.H., LeBlanc, T.J., and Marsh, B.D. 1990. Multi-model parallel programming in Psyche. InProc., 2nd ACM Symp. on Principles and Practice of Parallel Programming (Mar.), pp. 70–78.

    Google Scholar 

  • Shapiro, M. 1986. Structure and encapsulation in distributed systems: The proxy principle. InProc., 6th Internat. Conf. on Distributed Computer Systems (May), pp. 198–204.

    Google Scholar 

  • Stroustrup, B. 1986.The C++ Programming Language. Addison-Wesley, Reading, Mass.

    Google Scholar 

  • Tanenbaum, A.S., Kaashoek, M.F., and Bal, H.E. 1992. Parallel programming using shared objects and broadcasting.IEEE Comp. (Aug.): 10–19.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Assenmacher, H., Breitbach, T., Buhler, P. et al. Parallel programming inPanda . J Supercomput 9, 71–90 (1995). https://doi.org/10.1007/BF01245398

Download citation

  • Received:

  • Accepted:

  • Issue Date:

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

Keywords

Navigation