Thread-Based Mobility in Oz
Strong mobility enables migration of entire computations combining code, data, and execution state (such as stack and program counter) between sites of computation. This is in contrast to weak mobility where migration is confined to just code and data. Strong mobility is essential for many applications where reconstruction of execution states is either difficult or even impossible: load balancing, reduction of network latency and traffic, and resource-related migration, just to name a few. This paper presents a model, programming abstractions, implementation, and evaluation of thread-based strong mobility. The model extends and takes advantage of a distributed programming model based on automatic synchronization through dataflow variables. It comes as a natural extension of dataflow computing which carefully separates issues concerning distribution and mobility. The programming abstractions capture various migration scenarios which differ in how the source and destination site relate to the site initiating migration. The implementation is based on replicating concurrent lightweight threads between sites controlled by migration managers.
KeywordsMobile Agent Program Counter Execution State Source Site Migration Manager
Unable to display preview. Download preview PDF.
- 3.Van Roy, P., Haridi, S.: Concepts, Techniques, and Models of Computer Programming. MIT Press, Cambridge (2004)Google Scholar
- 7.Haridi, S., Franzén, N.: Tutorial of Oz. The Mozart Consortium (1999), http://www.mozart-oz.org/
- 8.Duchier, D., Kornstaedt, L., Müller, T., Schulte, C., Van Roy, P.: System Modules. The Mozart Consortium (1999), http://www.mozart-oz.org/
- 9.Mozart Consortium: The Mozart programming system (1999) Available from, http://www.mozart-oz.org/
- 13.Conchon, S., Fessant, F.L.: Jocaml: Mobile agents for Objective-Caml. In: First International Symposium on Agent Systems and Applications (ASA 1999)/Third International Symposium on Mobile Agents (MA 1999), Palm Springs, CA, USA (1999)Google Scholar
- 14.Cardelli, L.: Obliq: A language with distributed scope. Technical report, Digital Equipment Corporation Systems Research Center, 130 Lytton Avenue, Palo Alto, California 94301, USA (1994)Google Scholar
- 15.Peine, H., Stolpmann, T.: The architecture of the Ara platform for mobile agents. In: Rothermel, K., Popescu-Zeletin, R. (eds.) MA 1997. LNCS, vol. 1219, pp. 50–61. Springer, Heidelberg (1997)Google Scholar
- 16.Gray, R.S., Kotz, D., Cybenko, G., Rus, D.: Mobile agents: Motivations and state-of-the-art systems. Technical Report TR2000-365, Dartmouth College, Hanover, NH (2000)Google Scholar
- 17.Gray, R.S.: Agent Tcl: A flexible and secure mobile-agent system. Dr. Dobbs Journal 22, 18–27 (1997)Google Scholar
- 18.Acharya, A., Ranganathan, M., Saltz, J.: Dynamic linking for mobile programs. In: Tschudin, C.F., Vitek, J. (eds.) MOS 1996. LNCS, vol. 1222, pp. 245–262. Springer, Heidelberg (1997)Google Scholar
- 19.Bouchenak, S., Hagimont, D.: Zero overhead java thread migration. Technical Report 0261, INRIA (2002)Google Scholar