Fine-grained mobility in the Emerald system

Emerald is an object-based language and system designed for the construction of distributed programs. An explicit goal of Emerald is support for object mobility; objects in Emerald can freely move within the system to take advantage of distribution and dynamically changing environments. We say that Emerald has fine-grained mobility because Emerald objects can be small data objects as well as process objects. Fine-grained mobility allows us to apply mobility in new ways but presents implementation problems as well. This paper discusses the benefits of tine-grained mobility, the Emerald language and run-time mechanisms that support mobility, and techniques for implementing mobility that do not degrade the performance of local operations. Performance measurements of the current implementation are included.

[1]  S. C. Vestal,et al.  Garbage collection: an exercise in distributed, fault-tolerant programming , 1987 .

[2]  Norman C. Hutchinson,et al.  EMERALD: An object-based language for distributed programming , 1987 .

[3]  Fred Douglis,et al.  Process Migration in the Sprite Operating System , 1987, ICDCS.

[4]  Andrew P. Black,et al.  Object structure in the Emerald system , 1986, OOPLSA '86.

[5]  Eugene H. Spafford,et al.  Kernel structures for a distributed operating system , 1986 .

[6]  Marvin Theimer,et al.  Preemptable remote execution facilities for the V-system , 1985, SOSP '85.

[7]  A. Black Supporting distributed applications: experience with Eden , 1985, SOSP '85.

[8]  Craig Schaffert,et al.  CLU Reference Manual , 1984, Lecture Notes in Computer Science.

[9]  Andrew P. Black,et al.  EDMAS: A locally distributed mail system , 1984, ICSE '84.

[10]  Barton P. Miller,et al.  Process migration in DEMOS/MP , 1983, SOSP '83.

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

[12]  A. Spector Performing remote operations efficiently on a local computer network , 1982, CACM.

[13]  Michael J. Fischer,et al.  The architecture of the Eden system , 1981, SOSP.

[14]  George G. Robertson,et al.  Accent: A communication oriented network operating system kernel , 1981, SOSP.

[15]  Alfred Z. Spector,et al.  Performing remote operations efficiently on a local computer network , 1981, SOSP.

[16]  Carl Hewitt,et al.  The Apiary network architecture for knowledgeable systems , 1980, LISP Conference.

[17]  K. R. Sollins,et al.  COPYING COMPLEX STRUCTURES IN A DISTRIBUTED SYSTEM , 1979 .

[18]  Henry G. Baker,et al.  Actors and Continuous Functionals , 1978, Formal Description of Programming Concepts.

[19]  H. T. Kung,et al.  An efficient parallel garbage collection system and ITS correctness proof , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

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

[21]  Larry Carter,et al.  Distrbution and Abstract Types in Emerald , 1987, IEEE Transactions on Software Engineering.

[22]  William E. Weihl,et al.  Atomic data abstractions in a distributed collaborative editing system , 1986, POPL '86.

[23]  Andrew P. Black,et al.  The Eden System: A Technical Review , 1985, IEEE Transactions on Software Engineering.

[24]  James E. Allchin,et al.  Synchronization and recovery of actions , 1985, OPSR.

[25]  Robert Joseph Fowler,et al.  Decentralized object finding using forwarding address , 1985 .

[26]  Robert Joseph Fowler,et al.  Decentralized object finding using forwarding addresses (object, network, distribution) , 1985 .

[27]  D. Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[28]  Jr. Robert Joseph Chansler,et al.  Coupling in systems with many processors , 1982 .

[29]  William A. Wulf,et al.  HYDRA/C.Mmp, An Experimental Computer System , 1981 .