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 for bufferd.
  • died β€” monitors for death of user processes.
  • dli_inet β€” UDP/IP incoming connection to other nodes
  • dlo_inet β€” UDP/IP outgoing connection to other nodes
  • echod β€” 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 for lamboot(1), where $LAMHOME is the installation directory
  • $LAMHOME/etc/lam-conf.separate β€” default process schema for hboot(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 πŸ‘‘πŸ’…βœ¨