A checkpoint/restore framework for 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. This paper presents a Checkpoint/Restore solution specifically tailored towards the needs of SystemC-based Virtual Platforms. Apart from restoring the simulation process from a checkpoint image, it 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. Two concrete code examples demonstrate that the required changes to an existing Virtual Platform are a simple developer task consisting of minor source code modifications. A case study based on the SHAPES Virtual Platform is conducted to investigate the applicability of the proposed framework in a realistic system environment.

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

[2]  Jason Duell,et al.  Requirements for Linux Checkpoint/Restart , 2002 .

[3]  Deron Liang,et al.  NT-SwiFT: software implemented fault tolerance on Windows NT , 2004, J. Syst. Softw..

[4]  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).

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

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

[7]  Jason Duell,et al.  The design and implementation of Berkeley Lab's linuxcheckpoint/restart , 2005 .

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

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

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

[11]  Jason Cong,et al.  Platform-Based Behavior-Level and System-Level Synthesis , 2006, 2006 IEEE International SOC Conference.

[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).