PROCSCHEMA(5)
π PROCSCHEMA(5) π
okay bestie, welcome to procschema β the LAM process schema format β¨ (yes it's a section 5 file format page, no I will not apologize, it's lowkey iconic)
β¨ NAME β¨
procschema β LAM process schema format π¦
β¨ SYNTAX β¨
#
# comment
#
<program> [$delay] [$inet_topo] [<arguments>]
<program> [$delay] [$inet_topo] [<arguments>]
...
β¨ DESCRIPTION β¨
okay so first things first: most LAM/MPI users can fully disregard this page. like, genuinely, go live your life, this is not for you π
A process schema β which used to be called a "configuration file" back in the day, ambiguous era, we don't talk about it β lists all the programs that are gonna make up the LAM environment on one particular node. It's literally the thing that drives how hboot(1) does its job. And if you're a LAM system developer?? bestie. process schemata are your new obsession, fr fr β they're so useful for debugging and for generating custom systems. By convention these files start with the prefix conf. π
The default process schema that lamboot(1) picks (conf.lam) contains exactly one program: the LAM daemon (lamd). And ngl, a one-program process schema makes the entire concept of process schemata and hboot(1) kindaβ¦ redundant? π like why are we even here.
But!! LAM can also run in a de-clustered mode where the daemon gets reduced down to a simple local message-passing server (that's "the kernel" π§) plus several system clients for network message-passing and remote services. That whole form of LAM is described in the process schema conf.otb. β¨
The syntax is line oriented. Comments begin with # and terminate with a newline. periodt.
Process lines consist of a filename, command line arguments, and possibly options and substitution variables. The command line arguments get passed to the process when it's started. The process options control how the process is started. Currently supported process options are:
$delayβ after starting the process, pause before starting the next process. π (yes it's just a lil breather, she needs a moment)
Substitution variables are set by the tools that interpret the process schema, and they're basically a way of customizing the process at runtime. See hboot(1). Currently supported substitution variables are:
$inet_topoβ typically, command-line arguments for LAM Internet datalink processes$rtr_topoβ typically, command-line arguments for the LAM network information process
The programs you'll find in the LAM de-clustered mode process schema, conf.otb, are listed below. π
bufferdβ creates, kills, sweeps, and states buffers.bforwardβ forwards messages; a helper forbufferd.diedβ monitors for death of user processes.dli_inetβ UDP/IP incoming connection to other nodesdlo_inetβ UDP/IP outgoing connection to other nodesechodβ echoes messages; can be used to test nodes and links.filedβ serves file access.flatdβ provides symbolic access to node memory.kenyadβ controls and monitors processes.kernelβ coordinates local message-passing.loaddβ loads executable files onto nodes.routerβ maintains network information.tracedβ collects and transports trace data.
Processes get started in the order they appear in the process schema, and for LAM, the order MATTERS. Specifically: the kernel must be first. don't fight it, just let her go first π«Ά
β¨ EXAMPLE β¨
The de-clustered debug mode LAM process schema is shown below:
##
## The kernel is listed first.
##
kernel $delay
##
## daemons
##
router
kenyad
dli_inet $inet_topo
dlo_inet
bufferd
bforward
loadd
echod
flatd
filed
traced
β¨ FILES β¨
$LAMHOME/etc/lam-conf.lamdβ default process schema forlamboot(1), where$LAMHOMEis the installation directory$LAMHOME/etc/lam-conf.separateβ default process schema forhboot(1)
β¨ SEE ALSO β¨
lamboot(1), hboot(1) π
and that's the whole page bestie!! go forth and schema responsibly π
k bye, this was LAM 7.1.4, from July, 2007 β yeah she's vintage, she's a classic, she ate and left no crumbs ππ β¨
π¦ where this page comes from
- debian bookworm: lam-runtime 7.1.4-7+b1
- debian trixie: lam-runtime 7.1.4-7.2
- ubuntu jammy: lam-runtime 7.1.4-7
- ubuntu noble: lam-runtime 7.1.4-7.1build2
- ubuntu questing: lam-runtime 7.1.4-8
- ubuntu resolute: lam-runtime 7.1.4-8build1
- ubuntu stonking: lam-runtime 7.1.4-8build1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms