Abstract
This paper proposes a Java bytecode transformation algorithm for realizing transparent thread migration in a portable and efficient manner. In contrast to previous studies, our approach does not need extended virtual machines nor source code of target programs. The whole state of stack frames is saved, and then restored at a remote site. To accomplish this goal, a type system for Java bytecode is used to correctly determine valid frame variables and valid entries in the operand stack. A target program is transformed based on the type information into a form so that it can perform transparent thread migration. We have also measured execution efficiency of transformed programs and growth in bytecode size, and obtained better results compared to previous studies.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Abe, H., Ichisugi, Y., Kato, K.: An Implementation Scheme of Mobile Threads with a Source Code Translation Technique in Java. In: Proceedings of Summer United Workshops on Parallel, Distributed and Cooperative Processing (July 1999) (in Japanese)
Bokowski, B., Vitek, J.: Confined Types. In: Intercontinental Workshop on Aliasing in Object-Oriented Systems in Association with ECOOP Conference (1999)
Cardelli, L.: Mobile Computation. In: Tschudin, C.F., Vitek, J. (eds.) MOS 1996. LNCS, vol. 1222, pp. 3–6. Springer, Heidelberg (1997)
Cugola, G., Ghezzi, C., Picco, G.P., Vigna, G.: Analyzing Mobile Code Languages. In: Tschudin, C.F., Vitek, J. (eds.) MOS 1996. LNCS, vol. 1222, pp. 93–109. Springer, Heidelberg (1997)
Dimitrov, B., Rego, V.: Arachne: A Portable Threads System Supporting Migrant Threads on Heterogeneous Network Farms. Proceedings of IEEE Parallel and Distributed Systems 9(5), 459–469 (1998)
Fünfrocken, S.: Transparent Migration of Java-Based Mobile Agents. In: Rothermel, K., Hohl, F. (eds.) MA 1998. LNCS, vol. 1477, pp. 26–37. Springer, Heidelberg (1998)
Gray, R.S.: Agent Tcl: A Transportable Agent System. In: Proceedings of the CIKM Workshop on Intelligent Information Agents, Fourth International Conference on Information and Knowledge Management (1995)
White, J.E.: Telescript Technology: Mobile Agents. White Paper, General Magic, Inc. (1996)
Lange, D., Oshima, M.: Programming and Deploying Java Mobile Agents with Aglets. Addison-Wesley, Reading (1998)
Lindholm, T., Yellin, F.: The Java Virtual Machine Specification Second Edition. Addison-Wesley, Reading (1999)
Myers, A.C.: JFlow: Practical Mostly-Static Information Flow Control. In: Proceedings of the 26th ACM SIGPLAN-SIGACT on Principles of Programming Languages, January 1999, pp. 228–241 (1999)
Voyager Core Package Technical Overview, Object Space Inc (1997)
Sekiguchi, T., Masuhara, H., Yonezawa, A.: A Simple Extension of Java Language for Controllable Transparent Migration and its Portable Implementation. In: Ciancarini, P., Wolf, A.L. (eds.) COORDINATION 1999. LNCS, vol. 1594, pp. 211–226. Springer, Heidelberg (1999)
Shudo, K.: Thread Migration on Java Environment. Master’s thesis, University of Waseda (1997)
Stata, R., Abadi, M.: A Type System for Java Bytecode Subroutines. SRC Research Report 158, Digital Systems Research Center (June 1998)
Steensgaard, B., Jul, E.: Object and Native Code Thread Mobility among Heterogeneous Computers. In: Proceedings of the ACM Symposium on Operating Systems Principles, pp. 68–78 (1995)
Strumpen, V., Ramkumar, B.: Portable Checkpointing for Heterogeneous Architectures. In: Fault-Tolerant Parallel and Distributed Systems, ch. 4, pp. 73–92. Kluwer Academic Press, Dordrecht (1998)
Taga, N., Sekiguchi, T., Yonezawa, A.: An Extension of C++ that Supports Thread Migration with Little Loss of Normal Execution Efficiency. In: Proceedings of Summer United Workshops on Parallel, Distributed and Cooperative Processing (July 1999) (in Japanese)
Truyen, E., Robben, B., Vanhaute, B., Coninx, T., Joosen, W.: P. Verbaeten Portable Support for Transparent Thread Migration in Java. In: ASA/MA (2000) (to appear)
Yamauchi, H., Masuhara, H., Hoshina, D., Sekiguchi, T., Yonezawa, A.: Wrapping Class Libraries for Migration-Transparent Resource Access by Using Compile-Time Reflection. In: Proceedings of Workshop on Reflective Middleware (April 2000) (to appear)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Sakamoto, T., Sekiguchi, T., Yonezawa, A. (2000). Bytecode Transformation for Portable Thread Migration in Java. In: Kotz, D., Mattern, F. (eds) Agent Systems, Mobile Agents, and Applications. ASA MA 2000 2000. Lecture Notes in Computer Science, vol 1882. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-45347-5_3
Download citation
DOI: https://doi.org/10.1007/978-3-540-45347-5_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41052-2
Online ISBN: 978-3-540-45347-5
eBook Packages: Springer Book Archive