DMTCP_LAUNCH(1)

πŸ’– DMTCP_LAUNCH πŸ’–

okay bestie, welcome to the DMTCP_LAUNCH(1) manual page, aka the group chat entry for dmtcp_launch, a lil command from the Distributed MultiThreaded CheckPointing family. sit down, grab a boba, we're gonna checkpoint some processes together 🫢


✨ NAME ✨

dmtcp_launch β€” launch a process under DMTCP control. that's it, that's the whole job, and she does it flawlessly πŸ’…


🌸 SYNOPSIS 🌸

dmtcp_launch [OPTIONS] <command> [args...]

πŸ¦‹ DESCRIPTION πŸ¦‹

dmtcp_launch launches a process under DMTCP control. like, it takes your lil program and wraps it up in checkpoint magic so you can freeze it, save it, and bring it back to life later. resurrection but make it unix ✨

A typical usage is:

rm ckpt_a.out_*.dmtcp # Remove any stale copies of ckpt image
dmtcp_launch --interval 5 a.out
dmtcp_command --checkpoint # Execute this in another window
#Kill the currently running a.out process
dmtcp_restart ckpt_a.out_*.dmtcp

see how the vibe goes? clean up the stale copies, launch with an interval, poke it from another window, kill it, then bring it back. main character energy from start to finish πŸ‘‘


πŸ’« OPTIONS πŸ’«

πŸ”Œ Connecting to the DMTCP Coordinator

  • -h, --coord-host hostname (environment variable DMTCP_COORD_HOST) β€” the hostname where dmtcp_coordinator is running. default: localhost. she's local unless you say otherwise πŸ’–
  • -p, --coord-port port (environment variable DMTCP_COORD_PORT) β€” the port where dmtcp_coordinator is running. default: 7779. iconic number honestly
  • --port-file filename β€” file to write the listener port number into. (super useful with --coord-port 0, which is the vibe when you wanna assign a random port 🎲)
  • -j, --join β€” join an existing coordinator. and if one doesn't already exist? raise error. she will not be manifesting a coordinator for you, bestie, that's not her job 😭
  • --new-coordinator β€” create a new coordinator at the given port. Fail if one already exists on the given port. the port can be specified with --coord-port, or with environment variable DMTCP_COORD_PORT. if no port is specified, start coordinator at a random port (same as specifying port '0'). fresh start, new era 🌈
  • --no-coordinator β€” execute the process in stand-alone coordinator-less mode. use dmtcp_command or --interval to request checkpoints. no middleman, just you and your process 🧚
  • -i, --interval seconds (environment variable DMTCP_CHECKPOINT_INTERVAL) β€” time in seconds between automatic checkpoints. 0 implies never (manual ckpt only); if not set and no env var, use default value set in dmtcp_coordinator or dmtcp_command. Not allowed if --join is specified. pick one lane, babe 🚫

πŸŽ€ Checkpoint image generation

  • --gzip, --no-gzip (environment variable DMTCP_GZIP=[01]) β€” enable/disable compression of checkpoint images. default: 1 (enabled).
⚠️ WARNING: gzip adds seconds. without gzip, ckpt is often < 1s. so like… speed or size, choose your fighter πŸ’€
  • --ckptdir path (environment variable DMTCP_CHECKPOINT_DIR) β€” directory to store checkpoint images. default: curr dir at launch πŸ“
  • --ckpt-open-files β€” checkpoint open files and restore old working dir. (default: do neither) 🫢
  • --checkpoint-open-files β€” Deprecated. use --ckpt-open-files instead. she's retired, respect her legacy tho πŸ™ˆ
  • --ckpt-signal signum β€” signal number used internally by DMTCP for checkpointing. default: 12 πŸ“‘
  • --ckpt-signal signum β€” Deprecated. use --ckpt-signal instead. yes bestie, the original really does say that, we're keeping it exactly as written, no notes πŸ’…

🧩 Enable/disable plugins

  • --with-plugin plugins (environment variable DMTCP_PLUGIN) β€” colon-separated list of DMTCP plugins to be preloaded with DMTCP. (Absolute pathnames are required.) no shortcuts, absolute only, periodt βœ‹
  • --batch-queue, --rm β€” enable support for resource managers (Torque PBS and SLURM). (default: disabled) πŸ–₯️
  • --modify-env β€” update environment variables based on the environment on the restart host (e.g., DISPLAY=$DISPLAY). this can be set in a file dmtcp_env.txt. (default: disabled) 🌍
  • --disable-alloc-plugin (environment variable DMTCP_ALLOC_PLUGIN=[01]) β€” disable alloc plugin. (default: enabled) 🚫
  • --disable-dl-plugin (environment variable DMTCP_DL_PLUGIN=[01]) β€” disable dl plugin. (default: enabled) 🚫
  • --disable-all-plugins (EXPERTS ONLY, FOR DEBUGGING) β€” disable all plugins. do not just casually do this, bestie, she said EXPERTS ONLY and she meant it 😭

🌟 Other options

  • --prefix path β€” prefix where DMTCP is installed on remote nodes. πŸ›°οΈ
  • --tmpdir path (environment variable DMTCP_TMPDIR) β€” directory to store temporary files. default: $TMDPIR/dmtcp-$USER@$HOST or /tmp/dmtcp-$USER@$HOST (yes, that's $TMDPIR, we are copying it character for character because that's the assignment πŸŽ€)
  • -q, --quiet (or set environment variable DMTCP_QUIET = 0, 1, or 2) β€” skip NOTE messages; if given twice, also skip WARNINGs. shhh era 🀫
  • --help β€” print this message and exit. your bestie when you're lost 🫢
  • --version β€” print version information and exit. ✨

πŸ› REPORTING BUGS πŸ›

found a bug? don't be shy, tell the group chat:

we listen, we fix, we slay πŸ’œ


πŸ‘€ SEE ALSO πŸ‘€

dmtcp(1), dmtcp_coordinator(1), dmtcp_launch(1), dmtcp_restart(1), dmtcp_command(1)

the whole squad, all in one place, no cap πŸ”₯


πŸ–‹οΈ AUTHOR πŸ–‹οΈ

See /usr/share/doc/dmtcp-3.0.0/AUTHORS. the legends themselves πŸ’«


🏷️ VERSION 🏷️

DMTCP version 3.0.0 of September, 2018. vintage but still eating ⭐


See /usr/share/doc/dmtcp-3.0.0/COPYING file.

License LGPLv3+: GNU LGPL version 3 or later <http://gnu.org/licenses/lgpl.html>.

This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions; see COPYING file for details.


and that's the whole page, bestie πŸŽ€ shoutout to Distributed MultiThreaded CheckPointing and the September, 2018 date stamp β€” that's the source/version tea, and now you know it. go forth and checkpoint responsibly. mwah πŸ’‹βœ¨ DMTCP_LAUNCH(1) β€” fin. πŸ’–
πŸ“¦ where this page comes from