src/Doc/System/Sessions.thy
changeset 80178 438d583ab378
parent 79724 54d0f6edfe3a
child 80179 af65029b6b82
equal deleted inserted replaced
80169:5e64a54f6790 80178:438d583ab378
   514   theory sources are checked for conflicts wrt.\ this hypothetical change of
   514   theory sources are checked for conflicts wrt.\ this hypothetical change of
   515   syntax, e.g.\ to reveal occurrences of identifiers that need to be quoted.
   515   syntax, e.g.\ to reveal occurrences of identifiers that need to be quoted.
   516 
   516 
   517   \<^medskip>
   517   \<^medskip>
   518   Option \<^verbatim>\<open>-H\<close> augments the cluster hosts to be used in this build process.
   518   Option \<^verbatim>\<open>-H\<close> augments the cluster hosts to be used in this build process.
   519   Each \<^verbatim>\<open>-H\<close> option accepts multiple host names (separated by commas), which
   519   Each \<^verbatim>\<open>-H\<close> option accepts multiple host or cluster names (separated by
   520   all share the same (optional) parameters. Multiple \<^verbatim>\<open>-H\<close> options may be
   520   commas), which all share the same (optional) parameters or system options.
   521   given to specify further hosts (with different parameters). For example:
   521   Multiple \<^verbatim>\<open>-H\<close> options may be given to specify further hosts (with different
   522   \<^verbatim>\<open>-H host1,host2:jobs=2,threads=4 -H host3:jobs=4,threads=6\<close>.
   522   parameters). For example: \<^verbatim>\<open>-H host1,host2:jobs=2,threads=4 -H
       
   523   host3:jobs=4,threads=6\<close>.
   523 
   524 
   524   The syntax for host parameters follows Isabelle outer syntax, notably with
   525   The syntax for host parameters follows Isabelle outer syntax, notably with
   525   double-quoted string literals. On the command-line, this may require extra
   526   double-quoted string literals. On the command-line, this may require extra
   526   single quotes or escapes. For example: \<^verbatim>\<open>-H 'host4:dirs="..."'\<close>.
   527   single quotes or escapes. For example: \<^verbatim>\<open>-H 'host4:dirs="..."'\<close>.
       
   528 
       
   529   The system registry (\secref{sec:system-registry}) may define host and
       
   530   cluster names in its tables \<^verbatim>\<open>host\<close> and \<^verbatim>\<open>cluster\<close>, respectively. A name in
       
   531   option \<^verbatim>\<open>-H\<close> without prefix refers to the registry table \<^verbatim>\<open>host\<close>: each entry
       
   532   consists of an optional \<^verbatim>\<open>hostname\<close> and further options. A name with the
       
   533   prefix ``\<^verbatim>\<open>cluster.\<close>'' refers to the table \<^verbatim>\<open>cluster\<close>: each entry provides
       
   534   \<^verbatim>\<open>hosts\<close>, an array of names for entries of the table \<^verbatim>\<open>host\<close> as above, and
       
   535   additional options that apply to all hosts simultaneously.
   527 
   536 
   528   The local host only participates in cluster build, if an explicit option
   537   The local host only participates in cluster build, if an explicit option
   529   \<^verbatim>\<open>-j\<close> > 0 is given. The default is 0, which means that \<^verbatim>\<open>isabelle build -H\<close>
   538   \<^verbatim>\<open>-j\<close> > 0 is given. The default is 0, which means that \<^verbatim>\<open>isabelle build -H\<close>
   530   will initialize the build queue and oversee remote workers, but not run any
   539   will initialize the build queue and oversee remote workers, but not run any
   531   Isabelle sessions on its own account.
   540   Isabelle sessions on its own account.
   600   \<^smallskip>
   609   \<^smallskip>
   601   Run a distributed build on 3 cluster hosts (local, \<^verbatim>\<open>host1\<close>, \<^verbatim>\<open>host2\<close>):
   610   Run a distributed build on 3 cluster hosts (local, \<^verbatim>\<open>host1\<close>, \<^verbatim>\<open>host2\<close>):
   602   @{verbatim [display] \<open>  isabelle build -a -j2 -o threads=8 \
   611   @{verbatim [display] \<open>  isabelle build -a -j2 -o threads=8 \
   603     -H host1:jobs=2,threads=8
   612     -H host1:jobs=2,threads=8
   604     -H host2:jobs=4:threads=4,numa,shared\<close>}
   613     -H host2:jobs=4:threads=4,numa,shared\<close>}
       
   614 
       
   615   \<^smallskip>
       
   616   Use build hosts and cluster specifications:
       
   617   @{verbatim [display] \<open>  isabelle build -H a -H b -H cluster.xy\<close>}
       
   618 
       
   619   The above requires a \<^path>\<open>$ISABELLE_HOME_USER/etc/registry.toml\<close> file like
       
   620   this:
       
   621 
       
   622 @{verbatim [display] \<open>    host.a = { hostname = "host-a.acme.org", jobs = 2 }
       
   623     host.b = { hostname = "host-b.acme.org", jobs = 2 }
       
   624 
       
   625     host.x = { hostname = "server1.example.com" }
       
   626     host.y = { hostname = "server2.example.com" }
       
   627     cluster.xy = { hosts = ["x", "y"], jobs = 4 }
       
   628 \<close>}
   605 \<close>
   629 \<close>
   606 
   630 
   607 
   631 
   608 section \<open>Print messages from session build database \label{sec:tool-log}\<close>
   632 section \<open>Print messages from session build database \label{sec:tool-log}\<close>
   609 
   633