Data Conversion for Process/Thread Migration and Checkpointing
نویسندگان
چکیده
Process/thread migration and checkpointing schemes support load balancing, load sharing and fault tolerance to improve application performance and system resource usage on workstation clusters. To enable these schemes to work in heterogeneous environments, we have developed an application-level migration and checkpointing package, MigThread, to abstract computation states at the language level for portability. To save and restore such states across different platforms, this paper proposes a novel “Receiver Makes Right” (RMR) data conversion method, called Coarse-Grain Tagged RMR (CGT-RMR), for efficient data marshalling and unmarshalling. Unlike common data representation standards, CGT-RMR does not require programmers to analyze data types, flatten aggregate types, and encode/decode scalar types explicitly within programs. With help from MigThread’s type system, CGT-RMR assigns a tag to each data type and converts non-scalar types as a whole. This speeds up the data conversion process and eases the programming task dramatically, especially for the large data trunks common to migration and checkpointing. Armed with this “Plug-and-Play” style data conversion scheme, MigThread has been ported to work in heterogeneous environments. Some microbenchmarks and performance measurements within the SPLASH-2 suite are given to illustrate the efficiency of the data conversion process.
منابع مشابه
1 Data Conversion for Heterogeneous Migration
Migration concerns saving the current computation state, transferring it to remote machines, and resuming execution at the statement following the migration point. Checkpointing concerns saving the computation state to file systems and resuming execution by restoring the computation state from saved files. Although the statetransfer medium differs, migration and checkpointing share the same str...
متن کاملEfficient User-Level Thread Migration and Checkpointing on Windows NT Clusters
ion of running on a single shared memory multiprocessor, Brazos supports message passing by implementing the MPI library [20]. Thread migration in the context of a distributed system involves the movement of a computation thread from one currently executing process to another running process. Thread migration has been previously proposed as a tool for load-balancing and communication reduction ...
متن کاملEfficient User-Level Thread Migration and Checkpointing on Win
ion of running on a single shared memory multiprocessor, Brazos supports message passing by implementing the MPI library [20]. Thread migration in the context of a distributed system involves the movement of a computation thread from one currently executing process to another running process. Thread migration has been previously proposed as a tool for load-balancing and communication reduction ...
متن کاملPortable Support for Transparent Thread Migration in Java
In this paper, we present a mechanism to capture and reestablish the state of Java threads. We achieve this by extracting a thread’s execution state from the application code that is executing in this thread. This thread serialization mechanism is implemented by instrumenting the original application code at the byte code level, without modifying the Java Virtual Machine. We describe this threa...
متن کاملThread Migration/Checkpointing for Type-Unsafe C Programs
Thread migration/checkpointing is becoming indispensable for load balancing and fault tolerance in high performance computing applications, and its success depends on the migration/checkpointingsafety, which concerns the construction of an accurate computation state. This safety is hard to guard in some languages, such as the C, whose type-unsafe features may cause the dynamic types associated ...
متن کامل