Abstract: | Delta Execution is a preemptive and transparent thread migration mechanism for supporting load distribution and balancing
in a cluster of workstations. The design of Delta Execution allows the execution system to migrate threads of a Java application
to different nodes of a cluster so as to achieve parallel execution. The approach is to break down and group the execution
context of a migrating thread into sets of consecutive machine-dependent and machine-independent execution sub-contexts. Each
set of machine-independent sub-contexts, also known as a delta set, is then migrated to a remote node in a regulated manner
for continuing the execution. Since Delta Execution is implemented at the virtual machine level, all the migration-related
activities are conducted transparently with respect to the applications. No new migration-related instructions need to be
added to the programs and existing applications can immediately benefit from the parallel execution capability of Delta Execution
without any code modification. Furthermore, because the Delta Execution approach identifies and migrates only the machine-independent
part of a thread's execution context, the implementation is therefore reasonably manageable and the resulting software is
portable.
This revised version was published online in July 2006 with corrections to the Cover Date. |