Git Product home page Git Product logo

mwe-singularity-checkpoint's Introduction

mwe-singularity-checkpoint

https://www.singularity-hub.org/static/img/hosted-singularity--hub-%23e32929.svg CircleCI

A minimal working example of DMTCP checkpoint-restart inside a Singularity container.

Usage

Prerequisites

You'll need to have Singularity installed locally.

Pull Container from SingularityHub...

make shub

... or Build Container Locally

make

Interactive Demonstration

make demonstrate

Non-interactive Test

make test

Notes

This example uses Singularity v2.6.x and DMTCP v3.0.0 (e.g., from the tip of master circa December 2018). I didn't play around with other versions of these softwares.

Unfortunately, this example doesn't seem to be totally portable. I was able to get the example to run on my own laptop just fine. In order to get Singularity checkpoint/restart to work on CircleCI's virtual machines (i.e., machine), I had to disable a runtime assert in the source for DMTCP (see here). On a Michigan State University High Performance Computing Center development node, which runs CentOS 7 and uses Singularity v2.5.2-dist, the demonstration currently crashes out at the first attempted checkpoint. The iCER staff put together a nice tutorial of DMTCP checkpointing on the HPCC here. With some further finessing along those lines, checkpointing Singularity containers on our HPCC might be possible.

Acknowledgement

.circleci materials were pilfered from Container Tool's example builder for Singularity containers using Circle Continuous Integration. Thanks @vsoch!

mwe-singularity-checkpoint's People

Contributors

mmore500 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

mwe-singularity-checkpoint's Issues

DMTCP 2.6.0 + Singularity 3.7.4 = OK

I've run make check, it works fine!

== Tests ==
dmtcp1         ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
dmtcp2         ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
dmtcp3         ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
dmtcp4         ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
alarm          ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
sched_test     ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
dmtcp5         ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
syscall-tester ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
file1          ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
file2          ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
stat           ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
stack-growsdownckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
plugin-sleep2  ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
plugin-example-dbckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
plugin-init    ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
gettimeofday   ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
sigchild       ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
shared-fd1     ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
shared-fd2     ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
stale-fd       ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
rlimit-restore ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
rlimit-nofile  ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
popen1         ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
poll           ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
epoll1         ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
epoll2         ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
environ        ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
forkexec       ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
realpath       ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
pthread1       ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
pthread2       ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
pthread3       ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
pthread4       ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
pthread5       ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
pthread_atfork1ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
pthread_atfork2ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
waitpid        ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
client-server  ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
frisbee        ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
shared-memory1 ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
shared-memory2 ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
sysv-shm1      ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
sysv-shm2      ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
sysv-sem       ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
sysv-msg       ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
cma            ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
posix-mq1      ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
posix-mq2      ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
pty1           ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
pty2           ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
timer1         ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
timer2         ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
clock          ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
dlopen1        ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
gzip           ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
perl           ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
python         ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
bash           ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
script         ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
openmp-1       ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
openmp-2       ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
nocheckpoint   ckpt:PASSED rstr:PASSED; ckpt:PASSED rstr:PASSED
== Summary ==
<host>: 62 of 62 tests passed

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.