Design of a shared-memory model for CAPE
Résumé
Checkpointing Aided Parallel Execution (CAPE) is the paradigm we developed to use checkpointing techniques to automatically run parallel programs on distributed-memory architectures. Two versions of CAPE have been developed and tested. The first one was based on complete checkpoints and has proved the feasibility of the paradigm but did not have good performance [1]. The second one based on incremental checkpoints improved performance a lot and made it comparable with MPI similar programs [2]. However, both versions are applicable only to problems containing parallel regions that verify the Bernstein's conditions. In this case data in parallel regions are processed independently in each parallel thread and result are combined at the end of each region. To overcome this restriction, two main tracks have been investigated: the first one consists in implementing a shared-memory model and the second one in processing all requirements of OpenMP data-sharing clauses and directives. In this paper, we present the design of a shared-memory model based on the Home-based Lazy Release Consistency model and the algorithm to implement it