ABSTRACT
Application migration is a key enabling technology component of mobile computing that allows rich semantics involving location awareness, trust and timeliness of information processing by moving the application where the data is. Seamlessness is one of the key properties of mobile computing and downtime must be eliminated/minimized during the migration to achieve seamlessness. But migration involves large overheads, dominant of which are the overheads due to serialization and de-serialization [1]. To achieve seamless migration, an application state could be pre-serialized during the program's execution, and upon migration, the serialized data could be transmitted and de-serialized to get the execution started. Previous approach to this problem [1] removed dead state but still suffered from large migration overheads due to serialization on-demand that could lead to an unacceptable downtime.In this work, we develop a static compiler analysis plus runtime assisted framework to decrease the migration overhead to almost zero while minimizing the degradation in the program's performance. We achieve such a goal by deciding which data to be pre-serialized through analysis, and pre-serializing the state in the program. A safe state is kept that would allow immediate migration upon the arrival of an interrupt while minimizing frequent pre-serialization. When the migration interrupt comes in, the serialized data can be transmitted directly to the destination machine. This allows an application to resume its execution at the destination machine with almost no interruption (only a small amount of non-serialized data needs to be serialized during migration). The optimization serializes the data in such a way that a maximal number of functions can execute without interruption after migration. Our experiments with multimedia applications show that the migration latency is significantly reduced leading to a small downtime. Thus, the contribution of the paper is to provide an efficient methodology to perform seamless migration while limiting the overhead.
- Kun Zhang and Santosh Pande. Efficient Application Migration under Compiler Guidance. In Proceedings of the ACM SIGPLAN conference on languages, compiler, and tools for embedded systems (LCTES). June 2005 Google Scholar
Digital Library
- Christopher Clark, Keir Fraser, Steven Hand, Jacob Gorm Hansen, Eric Jul, Christian Limpach, Ian Pratt, and Andrew Warfield. Live Migration of Virtual Machines. In Proceedings of USENIX NSDI. 2005 Google Scholar
Digital Library
- Marjan Hericko, Matjaz B. Juric, Ivan Rozman, Simon Beloglavec, and Ales Zivkovic. Object Serialization Analysis and Comparison in Java and .NET. In ACM SIGPLAN Notices. 2003. Google Scholar
Digital Library
- Bryan Carpenter, Geoffrey Fox, Sung Hoon Ko, and Sang Lim. Object Serialization for Marshalling Data in a Java Interface to MPI. In Proceedings of the ACM 1999 conference on Java Grande. 1999. Google Scholar
Digital Library
- Roger Riggs, Jim Waldo, Ann Wollrath, and Krishna Bharat. Pickling State in the Javatm System. In Proceedings of the USENIX 1996 conference on Object-Oriented Technologies. 1996. Google Scholar
Digital Library
- Mattia Monga and Angelo Scotto. A generic serializer for mobile devices In Proceedings of the 2005 ACM symposium on applied computing (SAC'05). 2005. Google Scholar
Digital Library
- Andy Olsen, Matjaz B. Juric, Adil Rehan, and Eric Lippert. VB .NET Serialization Handbook. Wrox Press Ltd. 2002.Google Scholar
- Dejan S. Milojicic, Fred Douglis, Yves Paindaveine, and Richard Wheeler. Process Migration. In ACM Computing Surveys (CSUR). 2000. Google Scholar
Digital Library
- Ramon Lawrence. A survey of process migration mechanisms. Technical report, University of Iowa. 1998.Google Scholar
- http://www.freewebs.com/compactFormatter/Google Scholar
- http://www.simplescalar.com/Google Scholar
- Fabian Breg and Constantine D. Polychronopoulos. Java virtual machine support for object serialization. In Proceedings of the 2001 joint ACM-ISCOPE conference on Java Grande. 2001. Google Scholar
Digital Library
- Subhash C. Agrawal and Jeffrey P. Buzen. The aggregate server method for analyzing serialization delays in computer systems. In ACM Transactions on Computer Systems. 1983. Google Scholar
Digital Library
- D. R. Cheriton. The V distributed system. Communjication of the ACM. 1988. Google Scholar
Digital Library
- Chanik Park, Junghee Lim, Kiwon Kwon, Jaejin Lee and Sang Lyul Min. Compiler-Assisted Demand Paging for Embedded Systems with Flash Memory. In Proceedings of the fourth ACM international conference on Embedded software. 2004. Google Scholar
Digital Library
- Constantine P. Sapuntzakis, Ramesh Chandra, Ben Pfaff, Jn Chow, Monica S. Lam, and Mendel Rosenblum. Optimizing the migration of virtual computers. In Proceedings of the 5th symposium on operating systems design and implementation (OSDI'02). 2002. Google Scholar
Digital Library
- Yang Ni, Uli Kremer, Adrian Stere, and Liviu Lftode. In ACM SIGPLAN conference on programming language design and implementations (PLDI'05). 2005.Google Scholar
- Robert P. Cook. Obtuse, a scripting language for migratory applications. In third USENIX Conference on Object-Oriented Technologies (COOTS). 1997 Google Scholar
Digital Library
- http://java.sun.com/j2se/1.5.0/docs/guide/serialization/spec/protocol.htmlGoogle Scholar
- http://primates.ximian.com/~lluis/dist/binary_serialization_format.htmGoogle Scholar
- Rajesh Krishna Balan, Mahadev Satyanarayanan, So Young Park, and Tadashi Okoshi. Tactics-based remote execution for mobile computing. In Proceedings of the 1st international conference on Mobile systems, applications and services. 2003. Google Scholar
Digital Library
- Selim Gurun, Chanda Krintz, and Rich Wolski. NWSLite: a light-weight prediction utility for mobile devices. In Proceedings of the 2nd international conference on Mobile systems, applications, and services. 2004. Google Scholar
Digital Library
- Alexey Rudenko, Peter Reiher, Gerald J. Popek, and Geoffrey H. Kuenning. The remote processing framework for portable computer power saving. In Proceedings of the 1999 ACM symposium on Applied computing. 1999. Google Scholar
Digital Library






Comments