The Implementation of a Distributed Smalltalk
This paper describes DistributedSmalltalk, which consists of a number of cooperating Smalltalk virtual machines distributed over a network, that provide complete distribution transparency to the image level, including transparent message passing across machine boundaries. As a result no modifications are necessary at the image level and e.g. the standard Smalltalk debugger can be used for system wide debugging. Transparent I/O is provided by means of a concept called “home objects”. The performance degradation is acceptable, due to replication and the home object concept. Replication is transparent and replication consistency is guaranteed, so e.g. for replicated class objects no compatibility checking is needed. Distributed garbage, whether containing cycles or not, is collected incrementally without any synchronization being necessary.
Key words and phrasesSmalltalk distributed processing distribution transparency remote procedure call incremental distributed garbage collection replication
Unable to display preview. Download preview PDF.
- Bennett, J. K., “The Design and Implementation of Distributed Smalltalk”, OOPSLA’ 87 Proceedings, Oct. 4–8, 1987, pp 318–330Google Scholar
- McCullough P. L., “Transparent Forwarding: First Steps”, OOPSLA’ 87 Proceedings, Oct. 4–8, 1987, pp 331–341Google Scholar
- Herbert A. J. and Monk J. (editors), ANSA Reference Manual Release 00.03 (Draft), June 1987Google Scholar
- Khoshafian S. N. and Copeland G. P., “Object Identity”, OOPSLA’ 86 Proceedings, pp 406–416Google Scholar
- Ungar D., “Generation Scavenging: A Non-disruptive High Performance Storage Reclamation Algorithm”, ACM Software Engineering Notes, April 1984, pp 157–167Google Scholar
- Mohamed Ali K. A-H, “Object-oriented Storage Management and Garbage Collection in Distributed Processing Systems”, The Royal Institute of Technology, Dept. of Telecommunication Systems-Computer Systems, Sweden, Report TRITA-CS-8406, December 1984Google Scholar
- Remote Procedure Call Reference Manual, Sun Microsystems, Inc., Part Number 800-1177-01, Nov. 1984Google Scholar
- M. Accetta et al, “Mach: A New Kernel Foundation for UNIX Development”, Proc. Summer 1986 USENIX Technical Conference and Exhibition, June 1986.Google Scholar
- B. Liskov, “Overview of the Argus Language and System”, Programming Methodology Group Memo 40, M.I.T., Laboratory for Computer Science, February 1984.Google Scholar
- P. America, “Rationale for the design of POOL”, ESPRIT Project 415, Doc. Nr. 0053.Google Scholar
- A. Goldberg and D. Robson, “Smalltalk-80: The Language and its Implementation”, Addison Wesley, 1983.Google Scholar
- D. Decouchant, “Design of a Distributed Object Manager for the Smalltalk-80 System”, OOPSLA’ 86 Proceedings, pp. 444–452Google Scholar