UVA CS 655 - Fine-Grained Mobility in the Emerald System

Unformatted text preview:

Fine-Grained Mobility in the Emerald System ERIC JUL, HENRY LEVY, NORMAN HUTCHINSON, and ANDREW BLACK University of Washington 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 imple- mentation 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. Categories and Subject Descriptors: C.2.4[Computer-Communications Networks]: Distributed Systems-distributed applications, network operating systems; D.3.3[Programming Languages]: Language Constructs-&tract data types, control structures; D.4.2[Operating Systems]: Storage Management-distributed memories; D.4.4[0perating Systems]: Communications Management- message sending; D.4.7[Operating Systems]: Organization and Design-distributed system General Terms: Design, Languages, Measurement, Performance Additional Key Words and Phrases: Distributed languages, object-oriented languages, object-oriented systems, process mobility 1. INTRODUCTION Process migration has been implemented or described as a goal of several distributed systems [B, 11, 16, 20, 23, 24, 281. In these systems, entire address spaces are moved from node to node. For example, a process manager might initiate a move to share processor load more evenly, or users might initiate remote execution explicitly. In either case, the running process is typically ignorant of its location and unaffected by the move. This work was supported in part by the National Science Foundation under grants MCS-8004111, DCR-6420945 and CCR-8700106, by Kebenhavns Universitet (University of Copenhagen), Denmark under grant J.nr. 574-2,2, by a Digital Equipment Corporation External Research Grant, and by an IBM Graduate Fellowship. Authors’ current addresses: E. Jul, DIKU, Dept. of Computer Science, University of Copenhagen, Universitetparken 1, DK-2100 Copenhagen, Denmark; H. Levy, University of Washington, Dept. of Computer Science, FR-35, Seattle, WA 98195; N. Hutchinson, Dept. of Computer Science, University of Arizona, Tucson, AZ 85721; A. Black, Digital Equipment Corporation, 550 King St., Littleton, MA 01460. Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission. 0 1988 ACM 0734-2071/66/0200-0109 $01.50 ACM Transactions on Computer Systems, Vol. 6, No. 1, February 1966, Pages 109-133.110 l E. Jul, H. Levy, N. Hutchinson, and A. Black During the last three years, we have designed and implemented Emerald [6, 71, a distributed object-based language and system. A principal goal of Emerald is to experiment with the use of mobility in distributed programming. Mobility in the Emerald system differs from existing process migration schemes in two important respects. First, Emerald is object-based, and the unit of distribution and mobility is the object. Although some Emerald objects contain processes, others contain only data: arrays, records, and single integers are all objects. Thus, the unit of mobility can be much smaller than in process migration systems. Object mobility in Emerald subsumes both process migration and data transfer. Second, Emerald has language support for mobility. Not only does the Emerald language explicitly recognize the notions of location and mobility, but the design of conventional parts of the language (e.g., parameter passing) is affected by mobility. The advantages of process migration, which have been noted in previous work, include (1) Load sharing-By moving objects around the system, one can take advantage of lightly used processors. (2) Communications performance-Active objects that interact intensively can be moved to the same node to reduce the communications cost for the duration of their interaction. (3) Availability-Objects can be moved to different nodes to provide better failure coverage. (4) Reconfiguration-Objects can be moved following either a failure or a recov- ery or prior to scheduled downtime. (5) Utilizing special capabilities-An object can move to take advantage of unique hardware or software capabilities on a particular node. Along with these advantages, fine-grained mobility provides three additional benefits: (1) Data Movement-Mobility provides a simple way for the programmer to move data from node to node without having to explicitly package data. No separate message-passing or file-transfer mechanism is required. (2) Invocation Performance-Mobility has the potential for improving the per- formance of remote invocation by moving parameter objects to the remote site for the duration of the invocation. (3) Garbage Collection-Mobility can help simplify distributed garbage collection by moving objects to sites where references exist [16, 291. To our knowledge, the only other system that implements object mobility in a style similar to Emerald is a recent implementation of distributed Smalltalk [4]. In addition to mobility and


View Full Document

UVA CS 655 - Fine-Grained Mobility in the Emerald System

Download Fine-Grained Mobility in the Emerald System
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Fine-Grained Mobility in the Emerald System and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Fine-Grained Mobility in the Emerald System 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?