article
Free Access

Fine-grained mobility in the Emerald system

Published:01 February 1988Publication History
Skip Abstract Section

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. 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. Google ScholarGoogle Scholar
  2. 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. Google ScholarGoogle Scholar
  3. 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.Google ScholarGoogle Scholar
  4. 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. Google ScholarGoogle Scholar
  5. 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. Google ScholarGoogle Scholar
  6. 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. Google ScholarGoogle Scholar
  7. 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). Google ScholarGoogle Scholar
  8. 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.Google ScholarGoogle Scholar
  9. 9 CHANSLER, R. J., JR. Coupling in systems with many processors. PhD dissertation, Dept. of Computer Science, Carnegie Mellon Univ., Pittsburgh, Pa., Aug. 1982. Google ScholarGoogle Scholar
  10. 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. Google ScholarGoogle Scholar
  11. 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. Google ScholarGoogle Scholar
  12. 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. Google ScholarGoogle Scholar
  13. 13 GOLDBERG, A., AND ROBSON, D. SmaUtalk-80: The Language and Its Implementation. Addison- Wesley, Reading, Mass., 1983. Google ScholarGoogle Scholar
  14. 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. Google ScholarGoogle Scholar
  15. 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. Google ScholarGoogle Scholar
  16. 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. Google ScholarGoogle Scholar
  17. 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.Google ScholarGoogle Scholar
  18. 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. Google ScholarGoogle Scholar
  19. 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.Google ScholarGoogle Scholar
  20. 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. Google ScholarGoogle Scholar
  21. 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.Google ScholarGoogle Scholar
  22. 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. Google ScholarGoogle Scholar
  23. 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. Google ScholarGoogle Scholar
  24. 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. Google ScholarGoogle Scholar
  25. 25 SOLLINS, K.R. Copying complex structures in a distributed system. Master's thesis, MIT/ LCS/TR-219, MIT, Cambridge, Mass., May 1979. Google ScholarGoogle Scholar
  26. 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. Google ScholarGoogle Scholar
  27. 27 SPECTOR, A.Z. Performing remote operations efficiently on a local computer network. Commun. ACM 25, 4 (Apr. 1982), 246-260. Google ScholarGoogle Scholar
  28. 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. Google ScholarGoogle Scholar
  29. 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. Google ScholarGoogle Scholar
  30. 30 WULF, W. A., LEVIN, R., AND HARBISON, S.P. HYDRA/C.mmp: An Experimental Computer System. McGraw-Hill, New York, 1981.Google ScholarGoogle Scholar

Index Terms

  1. Fine-grained mobility in the Emerald system

            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

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            • 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

              Copyright © 1988 ACM

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 1 February 1988

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • article

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader
            About Cookies On This Site

            We use cookies to ensure that we give you the best experience on our website.

            Learn more

            Got it!