Checkpointing

The concept of checkpointing involves creating images of a program (a snapshot) and being able to start the program from this snapshot or migrate it to another machine. The aim of this mechanism is to get rid of Virtual Machine snapshots that are not portable due to the size of the snapshot.
Our team is not providing a tool to perform this mechanism, we are working in collaboration with the Northeastern University of Boston, especially with the researcher Gene Cooperman and his team. They worked on a software that perform this mechanism which is name DMTCP [1].
 
In our team, we currently working on the integration of this mechanism to provide new services in the scope of the Internet of Things. The aim is to use multiple technologies to create those new services :

  • Cloud : Provide a global entity, orchestrator with a set of resources that IoT devices will be able to share with the use of the checkpointing process.
  • Semantics : The semantic web technologies provide a set of features like model, interoperability and reasoning that will help us to tackle the challenge of constraint processing and flexibility of the Internet of Things.

With the combination of those technologies, we can imagine scenarios like resource consumption management on constraint devices (e.g. RAM, energy, etc.) and migrate the device program on the cloud to perform complex and resource demanding computations. This work is funded by a “Chaire d’Attractivité” of the  IDEX Program of the Université Féderale de Toulouse Midi-Pyrénées, Grant 2014-345.
 
[1] Ansel, J., Aryay, K., & Cooperman, G. (2009). DMTCP: Transparent checkpointing for cluster computations and the desktop. In 2009 IEEE International Symposium on Parallel & Distributed Processing (pp. 1–12). IEEE. http://doi.org/10.1109/IPDPS.2009.5161063