Advertisement

A re-implementation of TransPive: Lessons from the experience

  • José M. Piquer
Distributed Models and Systems
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1068)

Abstract

TransPive is a distributed Lisp system that originally ran on a Transputers network. The system simulates a shared object space, supporting remote pointers with a distributed object manager and a distributed Garbage Collector (GC). A future primitive, with an explicit touch operation, is provided to spawn remote tasks.

This paper presents a new version of TransPive, running on a TCP/IP network using PVM as the communication layer. This version supports a new causal ordering, a different object manager (based on causal broadcasts), a new GC, and a different implementation of the message-sending primitives.

Some applications have been run on both versions, showing important lessons on distributed language implementation. We show here a parallel triangulation application with its results.

Some conclusions are drawn from the experience, mainly the need for first class threads (treated as objects), an object-oriented language and very simple GCs.

Keywords

Distribution Object Management Garbage Collection Replica Coherency 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Bibliography

  1. [Birm 91]
    K. P. Birman, A. Schiper, P. Stephenson, “Lightweight Causal and Atomic Group Multicast,” ACM Trans. on Computer Systems, Vol. 9, N. 3, pp. 272–314, August 1991.Google Scholar
  2. [Birr 84]
    A. D. Birrel, B. J. Nelson, “Implementing Remote Procedure Calls,” ACM Trans. on Computer Systems, Vol. 2, N. 1, pp. 39–59, February 1984.Google Scholar
  3. [Lamp 78]
    L. Lamport, “Time, Clocks, and the Ordering of Events in a Distributed System,” Communications of the ACM, Vol. 21, No. 7, pp. 558–565, July 1978.Google Scholar
  4. [Lang 92]
    Lang, B., Queinnec, C. and Piquer, J.: “Garbage Collecting the World,” 19th ACM Conference on Principles of Programming Languages 1992, Albuquerque, New Mexico, January 1992, pp. 39–50.Google Scholar
  5. [Orell 94]
    A. Orellana, J. M. Piquer, “Asynchronism in Distributed Systems: Implementing Large Causality,” Proc of the XIV International Conference of the Chilean Computer Science Society, Concepción, Chile, November 1994.Google Scholar
  6. [Piqu 91a]
    J. M. Piquer, “Indirect Reference Counting: A Distributed GC,” LNCS 505, PARLE '91 Proceedings Vol I, pp. 150–165, Springer Verlag, Eindhoven, The Netherlands, June 1991.Google Scholar
  7. [Piqu 91b]
    J. M. Piquer, “Preserving Distributed Data Coherence Using Asynchronous Broadcasts,” Proc. of the XI International Conference of the Chilean Computer Science Society, Plenum Press, Santiago, Chile, October 1991.Google Scholar
  8. [Piqu 92a]
    J. M. Piquer, “Large Causality: Ordering Broadcasts and Messages,” position paper, 5th ACM SIGOPS Workshop on Models and Paradigms for Distributed Systems Structuring, Mt Saint-Michel, France, September 1992.Google Scholar
  9. [Piqu 92b]
    J. M. Piquer, C. Queinnec, “TransPive: A Distributed Lisp System,” Lettre du Transputer, Laboratoire d'Informatique de Besançon, N. 16, pp. 55–68, December 1992.Google Scholar
  10. [Piqu 95]
    J. M. Piquer, “Indirect Mark and Sweep: a Distributed GC,” International Workshop on Memory Management, IWMM'95, Kinross, Scotland, UK, September 1995.Google Scholar
  11. [Rivar 84]
    M. C. Rivara, “Mesh Refinement Processes Based on the Generalized Bisection of Simplices,” Journal of Numerical Analysis, 21, pp. 604–613, 1984.Google Scholar
  12. [Sun 95]
    Sun Microsystems Computer Corporation, “The Java Language Specification”, http://sunsite.unc.edu/java, May 1995.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1996

Authors and Affiliations

  • José M. Piquer
    • 1
  1. 1.DCC - Universidad de Chile CasillaSantiagoChile

Personalised recommendations