Skip to Main Content
We present the first heterogeneous checkpointing scheme for applications using POSIX threads. The scheme relies on source code instrumentation to achieve heterogeneity. It supports various types of synchronization primitives, such as locks, semaphores, condition variables, and join operations. Unlike other non-heterogeneous checkpointing schemes proposed in the literature, our scheme supports both kernel-level and application-level threads executing as part of the same application under various scheduling policies. Also, unlike other non-heterogeneous checkpointing mechanisms proposed in the literature, our solution does not interfere with the semantics of the application and does not use signals. Test results on various hardware platforms running Solaris, Linux, and Windows NT show that the overhead of our scheme is low.
Date of Conference: 2002