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)


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.


Distribution Object Management Garbage Collection Replica Coherency 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  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”,, 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