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.
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 13 GOLDBERG, A., AND ROBSON, D. SmaUtalk-80: The Language and Its Implementation. Addison- Wesley, Reading, Mass., 1983. Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 25 SOLLINS, K.R. Copying complex structures in a distributed system. Master's thesis, MIT/ LCS/TR-219, MIT, Cambridge, Mass., May 1979. Google Scholar
- 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 Scholar
- 27 SPECTOR, A.Z. Performing remote operations efficiently on a local computer network. Commun. ACM 25, 4 (Apr. 1982), 246-260. Google Scholar
- 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 Scholar
- 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 Scholar
- 30 WULF, W. A., LEVIN, R., AND HARBISON, S.P. HYDRA/C.mmp: An Experimental Computer System. McGraw-Hill, New York, 1981.Google Scholar
Index Terms
Fine-grained mobility in the Emerald system







Comments