Distributed EZ (string processing language)

EZ is a system that integrates traditional operating systems and programming languages into a very-high-level persistent string processing language. The authors describe the design and initial implementation of a distributed memory manager that distributes EZ's virtual address space transparently among a network of homogeneous computers. The design adapts the techniques used in recent implementation of shared virtual memory for use in EZ's persistent environment. Unlike most implementations of shared virtual memory, control information is distributed and migrates. This memory manager works in concert with a distributed mark-and-sweep garbage collector, which is also concurrent and real-time. This collector trades time for space and minimal disruption of mutators, which reduces communication costs.<<ETX>>

[1]  Benjamin Goldberg Generational reference counting: a reduced-communication distributed storage reclamation scheme , 1989, PLDI '89.

[2]  Christopher W. Fraser,et al.  High-level language facilities for low-level services , 1985, POPL '85.

[3]  Brett D. Fleisch,et al.  Mirage: a coherent distributed shared memory design , 1989, SOSP '89.

[4]  Robert H. Halstead,et al.  Implementation of multilisp: Lisp on a multiprocessor , 1984, LFP '84.

[5]  Robbert van Renesse,et al.  Experiences with the Amoeba distributed operating system , 1990, CACM.

[6]  Robert H. Halstead,et al.  MULTILISP: a language for concurrent symbolic computation , 1985, TOPL.

[7]  Douglas Wiebe A distributed repository for immutable persistent objects , 1986, OOPSLA 1986.

[8]  Maurice Herlihy,et al.  A Value Transmission Method for Abstract Data Types , 1982, TOPL.

[9]  Marcel Schelvis,et al.  The Implementation of a Distributed Smalltalk , 1988, ECOOP.

[10]  Jack C. Wileden,et al.  Pgraphite: an experiment in persistent typed object management , 1988, SDE 3.

[11]  K. Thompson,et al.  UNIX time-sharing system: UNIX implementation , 1978, The Bell System Technical Journal.

[12]  Michael Stumm,et al.  Algorithms implementing distributed shared memory , 1990, Computer.

[13]  Lex Augusteijn Garbage Collection in a Distributed Environment , 1987, PARLE.

[14]  Ronald Morrison,et al.  Procedures as persistent data objects , 1985, TOPL.

[15]  Andreas Paepcke PCLOS: A Flexible Implementation of CLOS Persistence , 1988, ECOOP.

[16]  Bill Nitzberg,et al.  Distributed shared memory: a survey of issues and algorithms , 1991, Computer.

[17]  Iv R. B. Essick The cross-architecture procedure call , 1987 .

[18]  K Thompson,et al.  UNIX implementation , 1986 .

[19]  Paul Hudak,et al.  Memory coherence in shared virtual memory systems , 1989, TOCS.

[20]  Martin Rudalics Distributed copying garbage collection , 1986, LFP '86.

[21]  Leslie Lamport,et al.  On-the-fly garbage collection: an exercise in cooperation , 1975, CACM.

[22]  Steven R. Vegdahl Moving structures between Smalltalk images , 1986, OOPSLA 1986.

[23]  Andrew W. Appel,et al.  Virtual memory primitives for user programs , 1991, ASPLOS IV.

[24]  Dieter Maurer,et al.  A protocol for distributed reference counting , 1986, LFP '86.

[25]  Bertrand Meyer,et al.  Eiffel: The Language , 1991 .

[26]  David R. Hanson,et al.  EZ processes , 1990, Proceedings. 1990 International Conference on Computer Languages.

[27]  Colin Low A Shared, Persistent Object Store , 1988, ECOOP.

[28]  Paul R. Wilson,et al.  Pointer swizzling at page fault time: efficiently supporting huge address spaces on standard hardware , 1991, CARN.