Checkpointing SystemC-Based Virtual Platforms

The ability to restore a virtual platform from a previously saved simulation state can considerably shorten the typical edit-compile-debug cycle for software developers and therefore enhance productivity. For SystemC based virtual platforms VP, dedicated checkpoint/restore C/R solutions are required, taking into account the specific characteristics of such platforms. Apart from restoring the simulation process from a checkpoint image, the proposed checkpoint solution also takes care of re-attaching debuggers and interactive GUIs to the restored virtual platform. The checkpointing is handled automatically for most of the SystemC modules, only the usage of host OS resources requires user provision. A process checkpointing based C/R has been selected in order to minimize the adaption required for existing VPs at the expense of large checkpoint sizes. This drawback is overcome by introducing an online compression to the checkpoint process. A case study based on the SHAPES Virtual Platform is conducted to investigate the applicability of the proposed framework as well as the impact of checkpoint compression in a realistic system environment.

[1]  James A. Storer,et al.  Data compression via textual substitution , 1982, JACM.

[2]  Miron Livny,et al.  Checkpoint and Migration of UNIX Processes in the Condor Distributed Processing System , 1997 .

[3]  Mendel Rosenblum,et al.  SimOS: A Fast Operating System Simulation Environment , 1994 .

[4]  Thomas F. Wenisch,et al.  SimFlex: a fast, accurate, flexible full-system simulation framework for performance evaluation of server architecture , 2004, PERV.

[5]  Hovav Shacham,et al.  On the effectiveness of address-space randomization , 2004, CCS '04.

[6]  L. Alvisi,et al.  A Survey of Rollback-Recovery Protocols , 2002 .

[7]  Deron Liang,et al.  Winckp: a transparent checkpointing and rollback recovery tool for Windows NT applications , 1999, Digest of Papers. Twenty-Ninth Annual International Symposium on Fault-Tolerant Computing (Cat. No.99CB36352).

[8]  Jason Duell,et al.  The Lam/Mpi Checkpoint/Restart Framework: System-Initiated Checkpointing , 2005, Int. J. High Perform. Comput. Appl..

[9]  Jakob Engblom,et al.  Checkpoint and Restore for SystemC models , 2009, 2009 Forum on Specification & Design Languages (FDL).

[10]  Kai Li,et al.  Libckpt: Transparent Checkpointing under UNIX , 1995, USENIX.

[11]  John K. Bennett,et al.  Efficient user-level thread migration and checkpointing on windows NT clusters , 1999 .

[12]  Rainer Leupers,et al.  SHAPES:: a tiled scalable software hardware architecture platform for embedded systems , 2006, Proceedings of the 4th International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS '06).

[13]  Fredrik Larsson,et al.  Simics: A Full System Simulation Platform , 2002, Computer.

[14]  Philippe Bonnot,et al.  mAgic-FPU and MADE: A customizable VLIW core and the modular VLIW processor architecture description environment , 2001, FME 2001.

[15]  James L. Peterson,et al.  Design and validation of a performance and power simulator for PowerPC systems , 2003, IBM J. Res. Dev..

[16]  Stefan Kraemer,et al.  A checkpoint/restore framework for systemc-based virtual platforms , 2009, 2009 International Symposium on System-on-Chip.

[17]  Hua Zhong,et al.  CRAK: Linux Checkpoint/Restart As a Kernel Module , 1996 .

[18]  Peter Deutsch,et al.  DEFLATE Compressed Data Format Specification version 1.3 , 1996, RFC.