Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

Fine-grained mobility in the Emerald system

Published: 01 February 1988 Publication History
  • Get Citation Alerts
  • Abstract

    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.

    References

    [1]
    ALLCHIN, J. E., AND MCKENDRY, M.S. Synchronization and recovery of actions. In Proceedings of the 2nd A CM SIGA CT/SIGOPS Symposium on Principles of Distributed Computing (Montreal, Aug. 17-19, 1983). ACM, New York, 1983, pp. 31-44.
    [2]
    ALMES, G. T., BLACK, A. P., BUNJE, C., AND WIEBE. D. Edmas: A locally distributed mail system. In Proceedings of the 7th International Conference on Software Engineering (Orlando, Fla., Mar. 26-29, 1984). ACM, New York, 1984, pp. 56-66.
    [3]
    ALMES, G. T., BLACK, A. P., LAZOWSKA, E. D., AND NOE, J.D. The Eden system: A technical review. IEEE Trans. Softw. Eng. SE-11, 1 (Jan. 1985), 43-59.
    [4]
    BENNETT, J.K. Distributed Smalltalk. In Proceedings of the 2nd ACM Conference on Object- Oriented Programming Systems, Languages, and Applications (Orlando, Fl., Oct. 1987). ACM, New York, 1987, pp. 318-330.
    [5]
    BLACK, A.P. Supporting distributed applications: Experience with Eden. In Proceedings of the 10th ACM Symposium on Operating System Principles (Orcas Island, Wash., Dec. 1-4, 1985). ACM, New York, 1985, pp. 181-193.
    [6]
    BLACK, A., HUTCHINSON, N., JUL, E., AND LEVY. H. Object structure in the Emerald system. In Proceedings of the 1st A CM Conference on Object-Oriented Programming Systems, Languages, and Applications (Portland, Ore., Oct. 1986). ACM, New York, 1986, pp. 78-86.
    [7]
    BLACK, A., HUTCHINSON, N., JUL, E. LEVY, H., AND CARTER, L. Distribution and abstract types in Emerald. IEEE Trans. Softw. Eng. 13, 1 (Jan. 1987).
    [8]
    BUTTERFIELD, D. A., AND POPEK, G.J. Network tasking in the Locus distributed UNIX system. In USENIX Summer 1984 Conference Proceedings (Salt Lake City, Ut., June 1984), USENIX Association, pp. 62-71.
    [9]
    CHANSLER, R. J., JR. Coupling in systems with many processors. PhD dissertation, Dept. of Computer Science, Carnegie Mellon Univ., Pittsburgh, Pa., Aug. 1982.
    [10]
    DIJKSTRA, E. W., LAMPORT, L., MARTIN, A. J., SCHOLTEN, C. S., AND STEFFENS, E. F.M. Onthe-fly garbage collection: An exercise in cooperation. Commun. ACM 21, 11 (Nov. 1978), 966-975.
    [11]
    DOUGLIS, F. Process migration in the Sprite operating system. Tech. Rep. UCB/CSD 87/343, Computer Science Division, Univ. of California, Berkeley, Feb. 1987.
    [12]
    FOWLER, R.J. Decentralized object finding using forwarding addresses. PhD dissertation, Univ. of Washington, Seattle, Wash., Dec. 1985. Also available as Dept. of Computer Science Tech. Rep. 85-12-1.
    [13]
    GOLDBERG, A., AND ROBSON, D. SmaUtalk-80: The Language and Its Implementation. Addison- Wesley, Reading, Mass., 1983.
    [14]
    GREIF, I., SELIGER, R., AND WEIHL, W. Atomic data abstractions in a distributed collaborative editing system. In Proceedings of the 13th Symposium on Principles of Distributed Computing (Jan. 1986). ACM, New York, 1986.
    [15]
    HERLIHY, M., AND LISKOV, B. A value transmission method for abstract data types. ACM Trans. Program. Lang. Syst. 4, 4 (Oct. 1982), 527-551.
    [16]
    HEWlTT, C. The Apiary network architecture for knowledgeable systems, in Conference Record of the 1980 Lisp Conference (Palo Alto, Calif., Aug. 1980). Stanford Univ., 1980, pp. 107-118.
    [17]
    HEWlTT, C., AND BAKER, H. Actors and continuous functionals. In IFIP Working Conference on Formal Description of Programming Concepts (St. Andrews, N.B., Aug. 1977). North-Holland, Amsterdam, pp. 16.1-16.21.
    [18]
    HUTCHINSON, N. C. Emerald: An object-based language for distributed programming. PhD dissertation, Univ. of Washington, Seattle, Jan. 1987. Also available as Dept. of Computer Science Tech. Rep. 87-01-01.
    [19]
    KUNG, H. T., AND SONG, S.W. An efficient parallel garbage collection system and its correctness proof. In Proceedings of the 18th Annual Symposium on the Foundations of Computer Science (Providence, R.I., Oct. 1977). IEEE Computer Society, New York, 1977, pp. 120-131.
    [20]
    LAZOWSKA, E. D., LEVY, H. M., ALMES, G. T., FISCHER, M. J., FOWLER, R. J., AND VESTAL, S.C. The architecture of the Eden system. In Proceedings of the 8th Symposium on Operating Systems Principles (Pacific Grove, Calif., Dec. 1981). ACM, New York, 1981, pp. 148-159.
    [21]
    LISKOV, B. Overview of the Argus language and system. Programming Methodology Group Memo 40, MIT Laboratory for Computer Science, MIT, Cambridge, Mass., Feb. 1984.
    [22]
    LISKOV, B., ATKINSON, R., BLOOM, T., MOSS, E., SCHAFFERT, C., SCHEIFLER, B., AND SNYDER, A. CLU reference manual. Tech. Rep. MIT/LCS/TR-225, MIT Laboratory for Computer Science, MIT, Cambridge, Mass., Oct. 1979.
    [23]
    POWELL, M. L., AND MILLER, B.P. Process migration in DEMOS/MP. In Proceedings of the 9th ACM Symposium on Operating Systems Principles (Bretton Woods, N.H., Oct. 11-13, 1983). ACM/SIGOPS, New York, 1983, pp. 110-119.
    [24]
    RASHID, R. F., AND ROBERTSON, G.G. Accent: A communication oriented network operating system kernel. In Proceedings of the 8th Symposium on Operating System Principles (Pacific Grove, Calif., Dec. 14-16, 1981). ACM, New York, 1981, pp. 64-75.
    [25]
    SOLLINS, K.R. Copying complex structures in a distributed system. Master's thesis, MIT/ LCS/TR-219, MIT, Cambridge, Mass., May 1979.
    [26]
    SPAFFORD, E.H. Kernel structures for a distributed operating system. PhD dissertation, School of Information and Computer Science, Georgia Institute of Technology, Atlanta, Ga., May 1986. Also available as Georgia Institute of Technology Tech. Rep. GIT-ICS-86/16.
    [27]
    SPECTOR, A.Z. Performing remote operations efficiently on a local computer network. Commun. ACM 25, 4 (Apr. 1982), 246-260.
    [28]
    THEIMER, M. M., LANTZ, K. A., AND CHERITON, D.R. Preemptable remote execution facilities for the V-system. In Proceedings of the lOth ACM Symposium on Operating Systems Principles (Orcas Island, Wash., Dec. 1-4, 1985). ACM/SIGOPS, New York, 1985, pp. 2-12.
    [29]
    VESTAL, S. Garbage collection: An exercise in distributed, fault-tolerant programming. PhD dissertation, Univ. of Washington, Seattle, Jan. 1987. Also available as Dept. of Computer Science Tech. Rep. 87-01-03.
    [30]
    WULF, W. A., LEVIN, R., AND HARBISON, S.P. HYDRA/C.mmp: An Experimental Computer System. McGraw-Hill, New York, 1981.

    Cited By

    View all
    • (2024)UNIFICO: Thread Migration in Heterogeneous-ISA CPUs without State TransformationProceedings of the 33rd ACM SIGPLAN International Conference on Compiler Construction10.1145/3640537.3641565(86-99)Online publication date: 17-Feb-2024
    • (2022)H-Container: Enabling Heterogeneous-ISA Container Migration in Edge ComputingACM Transactions on Computer Systems10.1145/352445239:1-4(1-36)Online publication date: 5-Jul-2022
    • (2022)Poster: EdgeShell - A language for composing edge applications2022 IEEE/ACM 7th Symposium on Edge Computing (SEC)10.1109/SEC54971.2022.00039(302-304)Online publication date: Dec-2022
    • Show More Cited By

    Recommendations

    Reviews

    Ste´phane Leonidas Tsacas

    .abstract Emerald is an object-based language and system designed for the construction of distributed programs. — From the Authors' Abstract This paper is divided into five sections. In Section 1, the introduction, the authors recall the advantages of process migration and fine grain mobility. Section 2 is an overview of Emerald. Using examples coded in Emerald, the authors show how an Emerald object is described and how abstract types are defined [1]. They explain the set of mobility primitives and a new parameter passing scheme ( call-by-move), and give a description of a process attached to an object. Section 3, titled “Implementing Mobility in Emerald,” is devoted to the description of the data structures, algorithms, and protocols involved in the kernel. Some significant differences between Emerald and other systems are given below. There are three object implementations (global, local, and direct) with separate addressing options. Emerald uses an algorithm for object searching based on Fowler's forwarding address [2], modified for efficiency. It uses direct pointers (as opposed to indirect references as in Smalltalk). Process moving is possible without code copying. Emerald uses machine registers for efficiency (and has an algorithm for moving them). There are two garbage collectors, local and distributed, which can work in parallel with Emerald processes. Section 4 covers performance. At the time this paper was written, the system worked on a network of MicroVAXes connected by a 10 megabit/second Ethernet. A newer version runs on Sun workstations [3]. Tables summarize the execution times for the mobility primitives and the network traffic in the Emerald Mail System. Section 5 is a summary of the paper. This paper is well written. It contains many references covering a large amount of work in the area. The authors discuss the implementation choices and include comparisons with other schemes. There are examples and figures, and the text is clear. Nevertheless, some knowledge in the fields of distributed computing and object-oriented languages and their implementation is desirable. This paper should be read by anyone involved in the construction of distributed systems. Other papers about Emerald have already been published (see [4,5]).

    Access critical reviews of Computing literature here

    Become a reviewer for Computing Reviews.

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Transactions on Computer Systems
    ACM Transactions on Computer Systems  Volume 6, Issue 1
    Feb. 1988
    152 pages
    ISSN:0734-2071
    EISSN:1557-7333
    DOI:10.1145/35037
    Issue’s Table of Contents

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 01 February 1988
    Published in TOCS Volume 6, Issue 1

    Permissions

    Request permissions for this article.

    Check for updates

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)229
    • Downloads (Last 6 weeks)40
    Reflects downloads up to 27 Jul 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)UNIFICO: Thread Migration in Heterogeneous-ISA CPUs without State TransformationProceedings of the 33rd ACM SIGPLAN International Conference on Compiler Construction10.1145/3640537.3641565(86-99)Online publication date: 17-Feb-2024
    • (2022)H-Container: Enabling Heterogeneous-ISA Container Migration in Edge ComputingACM Transactions on Computer Systems10.1145/352445239:1-4(1-36)Online publication date: 5-Jul-2022
    • (2022)Poster: EdgeShell - A language for composing edge applications2022 IEEE/ACM 7th Symposium on Edge Computing (SEC)10.1109/SEC54971.2022.00039(302-304)Online publication date: Dec-2022
    • (2021)Twizzler: A Data-centric OS for Non-volatile MemoryACM Transactions on Storage10.1145/345412917:2(1-31)Online publication date: 8-Jun-2021
    • (2021)High-performance Migration Tool for Live Container in a WorkflowInternational Journal of Parallel Programming10.1007/s10766-021-00697-z49:5(658-670)Online publication date: 1-Oct-2021
    • (2020)TwizzlerProceedings of the 2020 USENIX Conference on Usenix Annual Technical Conference10.5555/3489146.3489151(65-80)Online publication date: 15-Jul-2020
    • (2020)Edge computingProceedings of the 16th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments10.1145/3381052.3381321(73-87)Online publication date: 17-Mar-2020
    • (2020)Le Taureau: Deconstructing the Serverless Landscape & A Look ForwardProceedings of the 2020 ACM SIGMOD International Conference on Management of Data10.1145/3318464.3383130(2641-2650)Online publication date: 11-Jun-2020
    • (2020)Reducing the Time of Live Container Migration in a WorkflowNetwork and Parallel Computing10.1007/978-3-030-79478-1_23(263-275)Online publication date: 28-Sep-2020
    • (2019)Rethinking Communication in Multiple-kernel OSes for New Shared Memory InterconnectsProceedings of the 10th Workshop on Programming Languages and Operating Systems10.1145/3365137.3365399(45-52)Online publication date: 27-Oct-2019
    • Show More Cited By

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Get Access

    Login options

    Full Access

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media