Distributed symbolic computation with DTS

  • T. Bubeck
  • M. Hiller
  • W. Küchlin
  • W. Rosenstiel
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 980)


We describe the design and implementation of the Distributed Threads System (DTS), a programming environment for the parallelization of irregular and highly data-dependent algorithms. DTS extends the support for fork/join parallel programming from shared memory threads to a distributed memory environment. It is currently implemented on top of PVM, adding an asynchronous RPC abstraction and turning the net into a pool of anonymous compute servers. Each node of DTS is multithreaded using the C threads interface and is thus ready to run on a multiprocessor workstation. We give performance results for a parallel implementation of the RSA cryptosystem, parallel long integer multiplication, and parallel multi-variate polynomial resultant computation.


Parallel and Distributed Computing Threads Algebraic and Symbolic Computing Irregular Load Balancing 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    T. Bubeck. Eine Systemumgebung zum verteilten funktionalen Rechnen. Technical Report WSI-93-8, Eberhard-Karls-Universität Tübingen, August 1993.Google Scholar
  2. 2.
    T. Bubeck, W. Küchlin, and W. Rosenstiel. Symmetric Distributed Computing with Dynamic Load Balancing and Fault Tolerance. In B. Szymanski, editor, Proc. 3rd workshop on Languages, Compilers and Run-Time Systems for Scalable Computers, Troy, New York, May 1995. Kluwer. to appear.Google Scholar
  3. 3.
    Buchberger, Collins, Encarnación, Hong, Johnson, Krandick, Loos, Mandache, Neubacher, and Vielhaber. Saclib user's guide, 1993. On-line software documentation.Google Scholar
  4. 4.
    B. Buchberger and J. Volkert, editors. Parallel Processing: CONPAR 94-VAPP VI, volume 854 of LNCS, Linz, Austria, Sept. 1994. Springer-Verlag.Google Scholar
  5. 5.
    R. Bündgen, M. Göbel, and W. Küchlin. A fine-grained parallel completion procedure. In J. von zur Gathen and M. Giesbrecht, editors, Proc. 1994 International Symposium on Symbolic and Algebraic Computation: ISSAC'94, pages 269–277, Oxford, England, July 1994. ACM Press.Google Scholar
  6. 6.
    R. Bündgen, M. Göbel, and W. Küchlin. Multi-threaded AC term rewriting. In Hong [17], pages 84–93.Google Scholar
  7. 7.
    R. Bündgen, M. Göbel, and W. Küchlin. Parallel ReDuX → PaReDuX. In J. Hsiang, editor, Rewriting Techniques and Applications, 6th Intl. Conf., RTA-95, volume 914 of LNCS, pages 408–413, Apr. 1995. Springer-Verlag.Google Scholar
  8. 8.
    T. L. Casavant and J. G. Kuhl. A Taxonomy of Scheduling in General-Purpose Distributed Computing Systems. IEEE Transactions on Software Engineering, 14(2):141–154, Feb 1988.CrossRefGoogle Scholar
  9. 9.
    G. E. Collins. The calculation of multivariate polynomial resultants. J. ACM, 19:515–532, 1971.CrossRefGoogle Scholar
  10. 10.
    G. E. Collins and R. Loos. Specification and index of SAC-2 algorithms. Technical Report WSI-90-4, Universität Tübingen, Germany, 1990.Google Scholar
  11. 11.
    A. Diaz, E. Kaltofen, K. Schmitz, and T. Valente. DSC: A system for distributed symbolic computation. In Watt [34], pages 323–332.Google Scholar
  12. 12.
    J. Fleischer, J. Grabmeier, F. Hehl, and W. Küchlin, editors. Computer Algebra in Science and Engineering, Bielefeld, Germany, Aug. 1994. World Scientific.Google Scholar
  13. 13.
    I. Foster, C. Kesselman, and S. Tuecke. The Nexus task-parallel runtime system. In Proc. 1st Intl Workshop on Parallel Processing, Bangalore, 1994.Google Scholar
  14. 14.
    T. Gautier and J. L. Roch. PAC++ system and parallel algebraic numbers computation. In Hong [17], pages 145–153.Google Scholar
  15. 15.
    K. O. Geddes, S. R. Czapor, and G. Labahn. Algorithms for Computer Algebra. Kluwer Academic Publishers, Boston, MA, 1992.Google Scholar
  16. 16.
    M. Hiller. Verteiltes symbolisches Rechnen mit PARSAC-2. Master's thesis, W.-Schickard-Institut für Informatik, Universität Tübingen, Sept. 1993.Google Scholar
  17. 17.
    H. Hong, editor. First Intl. Symp. Parallel Symbolic Computation PASCO'94, volume 5 of LNSC, Sept. 1994. World Scientific.Google Scholar
  18. 18.
    H. Hong and H. W. Loidl. Parallel computation of modular multivariate polynomial resultants on a shared memory machine. In Buchberger and Volkert [4], pages 325–336.Google Scholar
  19. 19.
    W. W. Küchlin. PARSAC-2: A parallel SAC-2 based on threads. In S. Sakata, editor, Applied Algebra, Algebraic Algorithms, and Error-Correcting Codes: 8th International Conference, AAECC-8, volume 508 of LNCS, pages 341–353, Tokyo, Japan, Aug. 1990. Springer-Verlag.Google Scholar
  20. 20.
    W. W. Küchlin. On the multi-threaded computation of integral polynomial greatest common divisors. In Watt [34], pages 333–342.Google Scholar
  21. 21.
    W. W. Küchlin. On the multi-threaded computation of modular polynomial greatest common divisors. In H. Zima, editor, Parallel Computation (1st Internatl. ACPC Conf.), volume 591 of LNCS, pages 369–384, Oct. 1991. Springer-Verlag.Google Scholar
  22. 22.
    W. W. Küchlin. The S-threads environment for parallel symbolic computation. In Zippel [35], pages 1–18.Google Scholar
  23. 23.
    W. W. Küchlin. PARSAC-2: Parallel computer algebra on the desktop. In Fleischer et al. [12].Google Scholar
  24. 24.
    W. W. Küchlin and J. A. Ward. Experiments with virtual C Threads. In Proc. Fourth IEEE Symp. on Parallel and Distributed Processing, pages 50–55, Dallas, TX, Dec. 1992. IEEE Press.Google Scholar
  25. 25.
    R. G. K. Loos. The algorithm description language ALDES (Report). ACM SIGSAM Bull., 10(1):15–39, 1976.Google Scholar
  26. 26.
    R. L. Rivest, A. Shamir, and L. Adleman. A Method for Obtaining Digital Signatures and Public-Key Cryptosystems. Communications of the ACM, 21(2):120–126, February 1978.CrossRefGoogle Scholar
  27. 27.
    J.-L. Roch. PAC: Towards a parallel Computer Algebra co-processor. In J. Della Dora and J. Fitch, editors, Computer Algebra and Parallelism, Computational Mathematics and Applications, pages 33–50. Academic Press, London, 1989.Google Scholar
  28. 28.
    J. L. Roch, A. Vermeerbergen, and G. Villard. A new load-prediction scheme based on algorithmic cost functions. In Buchberger and Volkert [4], pages 878–889.Google Scholar
  29. 29.
    W. Schreiner and H. Hong. The design of the PACLIB kernel for parallel algebraic computation. In J. Volkert, editor, Parallel Computation (2nd Internatl. ACPC Conf.), volume 734 of LNCS, pages 204–218, Gmunden, Austria, Oct. 1993. Springer-Verlag.Google Scholar
  30. 30.
    S. Seitz. Verteiltes Rechnen in SAC-2. PhD thesis, Universität Tübingen, 1990.Google Scholar
  31. 31.
    S. Seitz. Algebraic computing on a local net. In Zippel [35]., pages 19–32.Google Scholar
  32. 32.
    V. S. Sunderam. PVM: A framework for parallel distributed computing. Concurrency: Practice and Experience, 2(4):315–339, Dec. 1990.Google Scholar
  33. 33.
    A. S. Tanenbaum. Modern Operating Systems. Prentice-Hall, Englewood Cliffs, NJ 07632, 1992.Google Scholar
  34. 34.
    S. M. Watt, editor. Proc. 1991 International Symposium on Symbolic and Algebraic Computation: ISSAC'91, Bonn, Germany, July 1991. ACM Press.Google Scholar
  35. 35.
    R. Zippel, editor. Computer Algebra and Parallelism, volume 584 of LNCS, Ithaca, NY, Mar. 1992. Springer-Verlag.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1995

Authors and Affiliations

  • T. Bubeck
    • 1
  • M. Hiller
    • 1
  • W. Küchlin
    • 1
  • W. Rosenstiel
    • 1
  1. 1.W. Schickard Institute for InformaticsUniversity of TübingenTübingenGermany

Personalised recommendations