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.
Mobile JikesRVM: a Framework to Support Transparent Java Thread Migration / Quitadamo, R; Cabri, Giacomo; Leonardi, Letizia. - In: SCIENCE OF COMPUTER PROGRAMMING. - ISSN 0167-6423. - STAMPA. - 70:2-3(2008), pp. 221-240. [10.1016/j.scico.2007.07.009]
Mobile JikesRVM: a Framework to Support Transparent Java Thread Migration
CABRI, Giacomo;LEONARDI, Letizia
2008
Abstract
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.File | Dimensione | Formato | |
---|---|---|---|
SCP08_dalsito.pdf
Accesso riservato
Tipologia:
VOR - Versione pubblicata dall'editore
Dimensione
1.85 MB
Formato
Adobe PDF
|
1.85 MB | Adobe PDF | Visualizza/Apri Richiedi una copia |
Pubblicazioni consigliate
I metadati presenti in IRIS UNIMORE sono rilasciati con licenza Creative Commons CC0 1.0 Universal, mentre i file delle pubblicazioni sono rilasciati con licenza Attribuzione 4.0 Internazionale (CC BY 4.0), salvo diversa indicazione.
In caso di violazione di copyright, contattare Supporto Iris