The Design of an API for Strict Multithreading in C++

  • Wolfgang Blochinger
  • Wolfgang Küchlin
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2790)

Abstract

This paper deals with the design of an API for building distributed parallel applications in C++ which embody strict multithreaded computations. The API is enhanced with mechanisms to deal with highly irregular non-deterministic computations often occurring in the field of parallel symbolic computation. The API is part of the Distributed Object-Oriented Threads System DOTS. The DOTS environment provides support for strict multithreaded computations on highly heterogeneous networks of workstations.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    The ADAPTIVE Communication Environment (ACE), http://www.cs.wustl.edu/~schmidt/ACE.html
  2. 2.
    Antoniu, G., Bougé, L.: DSM-PM2: A portable implementation platform for multithreaded dsm consistency protocols. In: Müller, F. (ed.) HIPS 2001. LNCS, vol. 2026, pp. 55–70. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  3. 3.
    Blochinger, W.: Distributed high performance computing in heterogeneous environments with DOTS. In: Proc. of Intl. Parallel and Distributed Processing Symp (IPDPS 2001), San Francisco, CA, U.S.A, p. 90. IEEE Computer Society, Los Alamitos (2001)Google Scholar
  4. 4.
    Blochinger, W., Bündgen, R., Heinemann, A.: Dependable high performance computing on a Parallel Sysplex cluster. In: Arabnia, H.R. (ed.) Proc. of the Intl. Conf. on Parallel and Distributed Processing Techniques and Applications (PDPTA 2000), LasVegas, NV, U.S.A, June 2000, vol. 3, pp. 1627–1633. CSREA Press (2000)Google Scholar
  5. 5.
    Blochinger, W., Küchlin, W., Ludwig, C., Weber, A.: An object-oriented platform for distributed high-performance Symbolic Computation. Mathematics and Computers in Simulation 49, 161–178 (1999)CrossRefGoogle Scholar
  6. 6.
    Blochinger, W., Sinz, C., Küchlin, W.: Parallel consistency checking of automotive product data. In: Joubert, G.R., Murli, A., Peters, F.J., Vanneschi, M. (eds.) Proc. of the Intl. Conf. ParCo 2001: Parallel Computing – Advances and Current Issues, Naples, Italy, pp. 50–57. Imperial College Press, London (2002)CrossRefGoogle Scholar
  7. 7.
    Blochinger, W., Sinz, C., Küchlin, W.: Parallel propositional satisfiability checking with distributed dynamic learning. J. Parallel Computing (2003) (to appear)Google Scholar
  8. 8.
    Blumofe, R.D., Leiserson, C.E.: Space efficient scheduling of multithreaded computations. In: Proc. of the Twenty Fifth Annual ACM Symp. on Theory of Computing, San Diego, CA, May 1993, pp. 362–371 (1993)Google Scholar
  9. 9.
    Blumofe, R.D., Leiserson, C.E.: Scheduling multithreaded computations by work stealing. In: 35th Annual Symp. on Foundations of Computer Science (FOCS 1994), Mexico, November 1994, pp. 356–368 (1994)Google Scholar
  10. 10.
    Blumofe, R.D., Leiserson, C.E.: Space-efficient scheduling of multithreaded computations. SIAM Journal Computing 27(1), 202–229 (1998)MATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    Briat, J., Ginzburg, I., Pasin, M., Plateau, B.: Athapascan runtime: Efficiency for irregular problems. In: Proc. of the Europar 1997 Conference, Passau, Germany, August 1997, pp. 590–599. Springer, Heidelberg (1997)Google Scholar
  12. 12.
    Bubeck, T., Hiller, M., Küchlin, W., Rosenstiel, W.: Distributed symbolic computation with DTS. In: Ferreira, A., Rolim, J.D.P. (eds.) IRREGULAR 1995. LNCS, vol. 980, pp. 231–248. Springer, Heidelberg (1995)Google Scholar
  13. 13.
    Decker, T.: Virtual data space - load balancing for irregular applications. Parallel Computing 26, 1825–1860 (2000)MATHCrossRefGoogle Scholar
  14. 14.
  15. 15.
    Foster, I., Kesselman, C., Tuecke, S.: The nexus approach to integrating multithreading and communication. Journal of Parallel and Distributed Computing 37, 70–82 (1996)CrossRefGoogle Scholar
  16. 16.
    Friedman, R., Goldin, M., Itzkovitz, A., Schuster, A.: Millipede: Easy parallel programming in available distributed environment. Software: Practice and Experience 27(8), 929–965 (1997)CrossRefGoogle Scholar
  17. 17.
    Meissner, M., Hüttner, T., Blochinger, W., Weber, A.: A. Parallel direct volume rendering on PC networks. In: Arabnia, H.R. (ed.) Proc. of the Intl. Conf. on Parallel and Distributed Processing Techniques and Applications (PDPTA 1998), Las Vegas, NV, U.S.A, July 1998, CSREA Press (1998)Google Scholar
  18. 18.
    Mueller, F.: On the design and implementation of DSM-threads. In: Int. Conference on Parallel and Distributed Processing Techniques and Applications, June 1997, pp. 315–324 (1997)Google Scholar
  19. 19.
    Randall, K.H.: Cilk: Efficient Multithreaded Computing. PhD thesis, MIT Department of Electrical Engineering and Computer Science (June 1998)Google Scholar
  20. 20.
    Rühl, T., Bal, H.E., Benson, G., Bhoedjang, R.A.F., Langendoen, K.: Experience with a portability layer for implementing parallel programming systems. In: Intl. Conf. on Parallel and Distributed Processing Techniques and Applications (PDPTA 1996), Sunnyvale, CA, pp. 1477–1488 (1996)Google Scholar
  21. 21.
    Sinz, C., Blochinger, W., Küchlin, W.: PaSAT - parallel SAT-checking with lemma exchange: Implementation and applications. In: Kautz, H., Selman, B. (eds.) LICS 2001Workshop on Theory and Applications of Satisfiability Testing (SAT 2001), Boston, MA. Electronic Notes in Discrete Mathematics, vol. 9, Elsevier Science Publishers, Amsterdam (2001)Google Scholar
  22. 22.
    Tanenbaum, A.S., van Steen, M.: Distributed Systems – Principles and Paradigms. Prentice-Hall, Englewood Cliffs (2002)MATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Wolfgang Blochinger
    • 1
  • Wolfgang Küchlin
    • 1
  1. 1.Wilhelm-Schickard-Institut für InformatikUniversität TübingenTübingenGermany

Personalised recommendations