Skip to main content

Bytecode Transformation for Portable Thread Migration in Java

  • Conference paper
Agent Systems, Mobile Agents, and Applications (ASA 2000, MA 2000)

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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)

    Google Scholar 

  2. Bokowski, B., Vitek, J.: Confined Types. In: Intercontinental Workshop on Aliasing in Object-Oriented Systems in Association with ECOOP Conference (1999)

    Google Scholar 

  3. Cardelli, L.: Mobile Computation. In: Tschudin, C.F., Vitek, J. (eds.) MOS 1996. LNCS, vol. 1222, pp. 3–6. Springer, Heidelberg (1997)

    Google Scholar 

  4. 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)

    Google Scholar 

  5. 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)

    Article  Google Scholar 

  6. 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)

    Chapter  Google Scholar 

  7. 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)

    Google Scholar 

  8. White, J.E.: Telescript Technology: Mobile Agents. White Paper, General Magic, Inc. (1996)

    Google Scholar 

  9. Lange, D., Oshima, M.: Programming and Deploying Java Mobile Agents with Aglets. Addison-Wesley, Reading (1998)

    Google Scholar 

  10. Lindholm, T., Yellin, F.: The Java Virtual Machine Specification Second Edition. Addison-Wesley, Reading (1999)

    Google Scholar 

  11. 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)

    Google Scholar 

  12. Voyager Core Package Technical Overview, Object Space Inc (1997)

    Google Scholar 

  13. 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)

    Google Scholar 

  14. Shudo, K.: Thread Migration on Java Environment. Master’s thesis, University of Waseda (1997)

    Google Scholar 

  15. Stata, R., Abadi, M.: A Type System for Java Bytecode Subroutines. SRC Research Report 158, Digital Systems Research Center (June 1998)

    Google Scholar 

  16. 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)

    Google Scholar 

  17. 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)

    Google Scholar 

  18. 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)

    Google Scholar 

  19. 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)

    Google Scholar 

  20. 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)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics