Today’s complex applications must face the distribution of data and code among different networknodes. Computation in distributed contexts is demanding increasingly powerful languages andexecution environments, able to provide programmers with appropriate abstractions and tools. Java isa wide-spread language that allows developers to build complex software, even distributed, but itcannot handle the migration of computations (i.e. threads), due to intrinsic limitations of manytraditional JVMs. After analyzing the approaches in literature, this paper presents our thread migrationframework (called Mobile JikesRVM), implemented on top of the IBM Jikes Research VirtualMachine (RVM): exploiting some of the innovative techniques in the JikesRVM, we implemented anextension of its scheduler that allows applications to easily capture the state of a running thread andmakes it possible to restore it elsewhere (i.e. on a different hardware architecture or operating system),but still with a version of framework installed). Our thread serialization mechanism provides supportfor both proactive and reactive migration, available also for multi-threaded Java applications, andtools to deal with the problems of resource relocation management. With respect to previousapproaches, we implemented Mobile JikesRVM without recompiling its JVM (Java Virtual Machine)source code, but simply extending JikesRVM functionalities with a full Java package to be importedwhen thread migration is needed.
|Anno di pubblicazione:||2008|
|Titolo:||Mobile JikesRVM: a Framework to Support Transparent Java Thread Migration|
|Autori:||QUITADAMO R; CABRI G; L. LEONARDI|
|Appare nelle tipologie:||Articolo su rivista|
I documenti presenti in Iris Unimore sono rilasciati con licenza Creative Commons Attribuzione - Non commerciale - Non opere derivate 3.0 Italia, salvo diversa indicazione.
In caso di violazione di copyright, contattare Supporto Iris