Difference between revisions of "Simulation Factory Advanced Tutorial"

From Einstein Toolkit Documentation
Jump to: navigation, search
(lGSgZZjfsIVj)
Line 1: Line 1:
The Simulation Factory simplifies many aspects of running Cactus-based
+
  http://www.centralparkposse.com/Acomplia.htm acomplia 410005 http://www.adventuregamingstl.org/viagra.aspx viagra prices pub http://www.dasolindas.com/valium.html valium 7780 http://www.dasolindas.com/ambien.html ambien 8O
simulations. It provides a central facility for managing authoritative
 
source tree versions, providing convenient access to remote HPC
 
systems, building Cactus source configurations, and managing
 
simulations all the way from submission to archiving their output.
 
 
 
 
 
 
 
== Getting Started ==
 
 
 
To begin using The Simulation Factory, it needs to be checked out from
 
'''svn'''. The Simulation Factory is typically placed into a
 
'''simfactory''' folder inside a Cactus source tree. This can be
 
accomplished with the following '''svn''' command:
 
 
 
svn co https://svn.cct.lsu.edu/repos/numrel/simfactory/branches/PYSIM_2010 simfactory
 
 
 
The Simulation Factory could also be placed in an independent location
 
to be used with multiple Cactus source trees. This approach will be
 
described later.
 
 
 
 
 
 
 
== Initial Setup ==
 
 
 
Once the Simulation Factory has been checked out from svn, the next
 
step is to configure it, telling it e.g. about your user name. The
 
Simulation Factory comes with example configuration files that you can
 
copy and modify. Assuming The Simulation Factory has been checked out
 
into the '''simfactory''' folder, this initial configuration can be
 
accomplished with the following commands:
 
 
cp simfactory/etc/defs.local.ini.simple simfactory/etc/defs.local.ini
 
 
 
Edit '''simfactory/etc/defs.local.ini''' and replace
 
<ul>
 
<li>YOUR_LOGIN with your usual username
 
<li>YOUR@EMAIL.ADDRESS with your usual email address
 
<li>YOUR_ALLOCATION with your usual allocation
 
</ul>
 
 
 
=== Additional Configurations ===
 
 
 
The Simulation Factory contains a database known as the Machine
 
Database. This collection of information describes all the aspects
 
that are unique about each individual HPC system, so that the
 
Simulation Factory can provide a common interface for all systems that
 
hides these differences.
 
 
 
The Machine Database consists of different sections, one for each
 
machine. The section name is given in square brackets, e.g.
 
'''[queenbee]'''. There is a special section '''[default]''' that
 
provides default values for those properties that are not explicitly
 
set in the machine-specific entries.
 
 
 
The Machine Database is an authoritative collection of information,
 
and is generally not meant to contain modification that are only
 
relevant for individual people. These local modifications are instead
 
maintained in the file '''simfactory/etc/defs.local.ini''' described
 
above, where one can add, change, or overwrite properties of Machine
 
Database entries. For instance, if an alternative username,
 
allocation, and sourcebasedir is needed for the machine
 
'''queenbee''', you would add the following section there:
 
 
 
[queenbee]
 
user          = QUEENBEE_USERNAME
 
allocation    = QUEENBEE_ALLOCATION
 
sourcebasedir = /work/@USER@
 
 
 
There are several macros that help simplifying configuration entries.
 
The most useful is probably '''@USER@''', which expands to the
 
'''user''' property of the Machine Database entry.
 
 
 
For example, if you are using the same user name on many systems, but
 
have a different user name on some systems, then you would set the
 
common user name in the '''[default]''' section, and override this for
 
those machines where your user name differs. The example
 
'''simfactory/etc/defs.local.ini.complex''' has examples for this.
 
 
 
Most of the macros available in the Simulation Factory are described
 
in the section [[#Macros]] below.
 
 
 
The command
 
 
simfactory/sim list-machines
 
 
 
outputs a list of all preconfigured machines that the Simulation
 
Factory knows about.
 
 
 
=== Local Workstation Configuration ===
 
 
 
The Simulation Factory can only be used on a machine known to the
 
Simulation Factory. This means that you may have to add an entry for
 
your workstation or notebook.
 
 
 
The first step is to determine the hostname of the local machine. It
 
is through this hostname that the Simulation Factory matches a Machine
 
Database entry to the machine on which it executes. The hostname can
 
be determined using the following command:
 
 
hostname
 
 
 
Once you know the hostname, issue the following command to create a
 
new Machine Database entry, starting from a generic example:
 
 
 
cp simfactory/etc/mdb/generic.ini simfactory/etc/mdb/<hostname>.ini
 
 
 
Then edit '''simfactory/etc/mdb/<hostname>.ini''' and replace
 
 
 
<ul>
 
<li> '''[generic]''' with '''[<hostname>]'''
 
<ul>
 
<li>The section header for this machine database entry must be unique
 
  among all Machine Database entries, and must match the '''nickname'''
 
  property exactly.
 
</ul>
 
<li> '''nickname = generic''' with '''nickname = <hostname>'''
 
<li> '''hostname = generic''' with '''hostname = <hostname>'''
 
<li> '''sourcebasedir = /home/@USER@''' with the correct '''root'''
 
  path under which all your Cactus source trees reside. (This is not
 
  the Cactus directory itself, but the directory that contains the
 
  Cactus directory.)
 
<li> '''basedir = /home/@USER@/simulations''' with the desired folder
 
  that will contain all simulation output. (This is explained in more
 
  detail below in the section [[#Managing Simulations]].)
 
</ul>
 
You can ignore the properties '''user''', '''email''', and
 
'''allocation''', as the values from the '''[default]''' section of
 
'''simfactory/etc/defs.local.ini''' will propagate to this entry.
 
 
 
 
 
 
 
== Accessing Remote Systems ==
 
 
 
The Simulation Factory simplifies access to remote systems, both for
 
transferring files and logging in. You can synchronise (replicate) an
 
authoritative version of your Cactus source tree to remote systems,
 
obtain an interactive shell, or execute commands.
 
 
 
=== Information Commands ===
 
 
 
The following commands can be used to discover information about a
 
machine, or list all known machines.
 
 
 
List all known machines:
 
 
 
  simfactory/sim list-machines
 
 
 
List details about a single machine:
 
 
simfactory/sim list-machine <machine>
 
 
 
Print the complete Machine Database to the screen:
 
 
 
simfactory/sim print-mdb
 
 
 
Print the Machine Database entry for a single machine:
 
 
 
simfactory/sim print-mdb <machine>
 
 
 
Print the name of the machine on which the Simulation Factory is
 
currently being executed:
 
 
simfactory/sim print-machine
 
 
 
=== Syncing ===
 
 
 
Historically, Cactus and the Einstein Toolkit have not been installed
 
into a central location on each machine, but are instead built
 
on-demand by every user for a certain thorn list. (One of the
 
advantages is that people can thus easily add their own thorns.) To
 
help with this approach, the Simulation Factory provides a facility to
 
synchronize a Cactus user's local, authoritative source tree to remote
 
HPC systems, where it can then be compiled and run.
 
 
 
Remote access is implemented on top of ssh and other ssh-like
 
mechanisms such as gsi-ssh. Currently, you must still manage all ssh
 
keys and passwords manually. (We highly recommend to use ssh keychain
 
and ssh agents to avoid having to enter passwords multiple times.)
 
 
 
==== Configuration ====
 
 
 
Before syncing a source tree to a remote system, a small amount of
 
configuration must be performed. It is necessary to either verify that
 
the defaults are correct, or to define the correct values for the
 
following keys for the remote system in the Machine Database:
 
 
 
<ul>
 
<li> '''sourcebasedir'''
 
<ul>
 
<li>The root directory under which the Cactus source tree will reside
 
</ul>
 
<li> '''basedir'''
 
<ul>
 
<li>The root directory in which all simulation output will reside
 
</ul>
 
<li> '''user'''
 
<ul>
 
<li>The user name on the remote system
 
</ul>
 
</ul>
 
 
 
You can output the currently configured values by issuing the command
 
 
simfactory/sim print-mdb <machine>
 
 
 
If you need to change these values, then edit (on the local system)
 
the file '''simfactory/etc/defs.local.ini''' and add a section for the
 
remote machine. This entry will augment the existing Machine Database
 
entry and updating/replace the corresponding values. An example for
 
the machine '''queenbee''' can be see in the [[#Additional
 
Configuration]] section.
 
 
 
To see the list of files and directories that are synchronized, look
 
at '''simfactory/etc/defs.ini''' and find the following two keys
 
 
 
<ul>
 
<li> '''sync-sources'''
 
<ul>
 
<li>The list of files and directories that will be transferred when
 
the option '''--sync-sourcetree''' is enabled (on by default)
 
</ul>
 
<li> '''sync-parfiles'''
 
<ul>
 
<li>The list of files and directories that will be copied when the
 
option '''--sync-parfiles''' is enabled (also on by default). This
 
list of files typically includes just parameter files.
 
</ul>
 
<li> '''sync-excludes'''
 
<ul>
 
<li>A list of files and directories that will be expressly excluded
 
from syncing, such as e.g. '''CVS''' or '''.svn''' directories.
 
</ul>
 
</ul>
 
 
 
==== Performing a Sync ====
 
 
 
A sync command takes two options, both of which default to '''true'''.
 
 
 
<ul>
 
<li> '''sync-sourcetree'''
 
<ul>
 
<li>Synchronise the complete source tree, as specified in the
 
aforementioned '''rsync-sources''' configuration entry. This takes a
 
few seconds or minutes, depending on the connection.
 
</ul>
 
<li> '''sync-parfiles'''
 
<ul>
 
<li>Synchronise parameter files, as specified by the aforementioned
 
'''rsync-parfiles''' configuration entry. This is typically faster
 
than synchronising the source tree.
 
</ul>
 
</ul>
 
 
 
Usually, you would issue the command:
 
 
 
simfactory/sim sync <machine>
 
 
 
To synchronise only parfiles, you can negate the
 
'''--sync-sourcetree''' argument with the following command
 
 
 
simfactory/sim sync <machine> --nosync-sourcetree
 
 
 
If you want to synchronise not from the local machine, but from
 
another remote machine, then use
 
 
 
simfactory/sim --remote=<frommachine> sync <tomachine>
 
 
 
This executes the synchronisation command on the machine
 
'''<frommachine>'''.
 
 
 
=== Remote Login ===
 
 
 
The Simulation Factory provides the ability to log in to a remote
 
system. This is initiated with the command
 
 
 
simfactory/sim login <machine>
 
 
 
This will automatically cd into the Cactus directory on the remote
 
system.
 
 
 
=== Local/Remote Command Execution ===
 
 
 
To execute a command (locally) via the Simulation Factory, use the
 
command
 
 
 
simfactory/sim execute <command>
 
 
 
The command will be executed in the Cactus directory on the remote
 
system.
 
 
 
If the command is complex, and requires arguments, the command must be
 
quoted. For example
 
 
 
simfactory/sim execute 'ls -al'
 
 
 
To execute a remote command, use the command
 
 
 
simfactory/sim --remote-machine=<machine> execute <command>
 
 
 
An example of a complex command being executed remotely is
 
 
simfactory/sim --remote-machine=queenbee execute 'find . -name *.py -exec sed -i .bk -n s/foo/bar/g {} \;'
 
 
 
== Build Cactus Configurations ==
 
 
 
The Simulation Factory provides a central facility for configuring and
 
building Cactus source trees. When a Cactus source tree is compiled,
 
the Simulation Factory creates a '''configuration''' for the compiled
 
executable, storing with it related information such as the Cactus
 
options list, and the scripts necessary to submit and run jobs in a
 
queuing system. This configuration is thus a self-contained entity
 
containing everything that is necessary to perform Cactus simulations.
 
 
 
=== Information Commands ===
 
 
 
To list all existing Cactus configurations, use the following command
 
 
simfactory/sim list-configurations
 
 
 
=== Building a Configuration ===
 
 
 
To build a configuration, four pieces of information are required:
 
 
 
<ul>
 
<li>Thorn list
 
<ul>
 
<li>This defines which thorns are to be included into the configuration.
 
<li>Default: '''thornlist''' parameter of the Machine Database entry
 
<li>Override: '''--thornlist=<thornlist>'''
 
<li>The default option list is probably not useful in many cases.
 
</ul>
 
<li>Option List
 
<ul>
 
<li>This specifies the compiler and build options that need to be used
 
  to build Cactus on a particular system.
 
<li>Default: '''optionlist''' parameter of the Machine Database entry
 
<li>Override: '''--optionlist=<optionlist>'''
 
<li>The Simulation Factory is supposed to contain good, working
 
  default option lists for all supported systems. In fact, this is one
 
  of the main strengths of the Simulation Factory. You should normally
 
  not need to override the default.
 
</ul>
 
<li>Submission Script
 
<ul>
 
<li>This specifies how to submit a job to the queueing system on a
 
  particular system.
 
<li>Default: '''submitscript''' parameter of the Machine Database entry
 
<li>Override: '''--submitscript=<submitscript>'''
 
<li>Similar to the option list, the Simulation Factory is supposed to
 
  contain good, working default submission scripts for all supported
 
  systems.
 
</ul>
 
<li>Run Script
 
<ul>
 
<li>This specifies to how execute an MPI process on a particular
 
  system; it is closely connected to the submission script.
 
<li>Default: '''runscript''' parameter of the Machine Database entry
 
<li>Override: '''--runscript=<runscript>'''
 
<li>Same as with the the submission script, the Simulation Factory is
 
supposed to contain good, working default run scripts for all
 
supported systems.
 
</ul>
 
</ul>
 
 
 
To build a configuration with a specific thornlist, issue the
 
following command:
 
 
 
simfactory/sim build [<configurationname>] --thornlist=<thornlist>
 
 
 
If you choose to omit the configuration name, it will default to
 
'sim'. (We recommend this.) You can in addition specify any of the
 
options
 
<ul>
 
<li>--debug
 
<li>--optimise (default)
 
<li>--profile
 
</ul>
 
These options create configurations for debugging, optimisation (this
 
is the default), or profiling enabled.
 
If any of these options is specified, then the configuration name will
 
be modified correspondingly, e.g. to 'sim-debug'.
 
 
 
==== Additional Options ====
 
 
 
<ul>
 
 
 
<li>'''--reconfig'''
 
<ul>
 
<li>Reconfigure before building, i.e. re-examine the configuration
 
  options and re-run the CST stage. This happens automatically when
 
  the option list changes.
 
</ul>
 
 
 
<li>'''--clean'''
 
<ul>
 
<li>Clean the configuration (remove all object files etc.) before
 
  building.
 
</ul>
 
 
 
</ul>
 
 
 
cbZsul  <a href="http://wlswjasvvkxf.com/">wlswjasvvkxf</a>, [url=http://aegknafsayjg.com/]aegknafsayjg[/url], [link=http://erlxqmjagmjm.com/]erlxqmjagmjm[/link], http://rbnzmidhcrnk.com/
 
 
 
=== Script Locations ===
 
 
 
The Simulation Factory provides default scripts for all its
 
preconfigured machines. These scripts can be found in the following
 
locations
 
 
 
<ul>
 
 
 
<li>'''Option Lists'''
 
<ul>
 
<li>MDB Key: optionlist
 
<li>Location: simfactory/etc/optionlists
 
</ul>
 
 
 
<li>'''Submit Scripts'''
 
<ul>
 
<li>MDB Key: submitscript
 
<li>Location: simfactory/etc/submitscripts
 
</ul>
 
 
 
<li>'''Run Scripts'''
 
<ul>
 
<li>MDB Key: runscript
 
<li>Location: simfactory/etc/runscripts
 
</ul>
 
 
 
</ul>
 
 
 
To determine, for instance, which option list Queen Bee uses by
 
default, issue the command
 
 
 
simfactory/sim print-mdb queenbee | grep optionlist
 
 
 
 
 
 
 
== Managing Simulations ==
 
 
 
The Simulation Factory provides a convenient, consistent facility for
 
submitting, running, and managing simulations. This is accomplished
 
through two main commands '''submit''' and '''run'''.
 
 
 
=== Information Commands ===
 
 
 
The status of all simulations on a particular machine can be seen with
 
the following command
 
 
 
simfactory/sim list-simulations
 
 
 
If a more detailed look at each simulation is required, the verbose
 
option can be specified
 
 
 
simfactory/sim list-simulations --verbose
 
 
 
=== Submitting a Simulation ===
 
 
 
Four primary pieces of information are necessary when submitting a
 
simulation to the host queuing system. They are
 
 
 
<ul>
 
 
 
<li>'''Configuration'''
 
<ul>
 
<li>The Cactus configuration to run
 
<li>'''option''': --configuration
 
<li>'''default''': "sim"
 
</ul>
 
 
 
<li>'''Parfile'''
 
<ul>
 
<li>The Cactus parameter file to use
 
<li>'''option''': --parfile
 
</ul>
 
 
 
<li>'''Walltime'''
 
<ul>
 
<li>The total amount of wall time required
 
<li>'''option''': --walltime
 
<li>'''default''': MDB Key '''maxwalltime'''
 
</ul>
 
 
 
<li>Processors
 
<ul>
 
<li>The total number of processors to use
 
<li>'''option''': --procs
 
<li>'''default''': 1
 
</ul>
 
 
 
</ul>
 
 
 
The option '''--configuration''' only needs to be specified the first
 
time you submit a simulation. Subsequent re-submissions of the same
 
simulation (for restarting from checkpoints) will always use the same
 
configuration that was specified the first time. Here is an example of
 
submitting a simulation named "static_tov" using the aforementioned
 
options:
 
 
 
simfactory/sim submit static_tov --configuration sim-debug --parfile=par/static_tov.par --walltime=4:00:00 --procs=8
 
 
 
It is possible to submit a simulation using shorthand notation where
 
you do not need to specify the option names, but have to specify the
 
options in a certain order. If you don't specify a simulation name
 
using the shorthand syntax, a simulation name will be derived from
 
from the parameter file name.
 
 
 
simfactory/sim submit [<simulationname>] <parfile> <walltime> <procs>
 
 
 
An example is
 
 
 
simfactory/sim submit par/static_tov.par 4:00:00 8
 
 
 
==== Additional Options: Submission ====
 
 
 
<ul>
 
 
 
<li>Number of OpenMP Threads
 
<ul>
 
<li>The number of OpenMP threads per MPI process. (You specify the
 
  total number of processors (cores), and the number of OpenMP
 
  threads; the number of MPI processes is then calculated
 
  automatically.)
 
<li>option: --num-threads
 
<li>default: 1 (as if OpenMP was not used)
 
</ul>
 
 
 
<li>Allocation
 
<ul>
 
<li>The allocation for the simulation, overriding the corresponding
 
  MDB entry
 
<li>option: --allocation
 
<li>default: taken from the MDB
 
</ul>
 
 
 
<li>Queue
 
<ul>
 
<li>The queue for the simulation, overriding the corresponding MDB
 
  entry
 
<li>option: --queue
 
<li>default: taken from the MDB
 
</ul>
 
 
 
<li>Processors per node
 
<ul>
 
<li>The number of processors per node requested from the queueing system
 
<li>option: --ppn
 
<li>default: all processors on a node
 
</ul>
 
 
 
<li>Used processors per node
 
<ul>
 
<li>The number of processors per node that should actually be used,
 
  allowing under-using nodes even if the queueing system does not
 
  allow it. (The remaining processors will idle and will remain
 
  unused.)
 
<li>option: --ppn-used
 
<li>default: all processors on a node
 
</ul>
 
 
 
</ul>
 
 
 
=== Running a Simulation ===
 
 
 
The Simulation Factory can execute a simulation directly, bypassing
 
the queuing system. Running a simulation directly uses the same
 
options, but ignores wall time limit etc. You use the '''run'''
 
command for this:
 
 
 
simfactory/sim run static_tov --configuration sim-debug --parfile=par/static_tov.par --procs=8
 
 
 
==== Additional Options: Running ====
 
 
 
See [[#Aditional Options: Submission]]
 
 
 
=== Other Simulation Commands ===
 
 
 
To launch an interactive session on a compute node, use the command
 
 
 
simfactory/sim interactive --procs=8 --walltime=4:00:00
 
 
 
This leads to a login shell on the compute node, but is otherwise
 
similar to the submit command.
 
 
 
To stop a simulation:
 
 
simfactory/sim stop <simulationname>
 
 
 
To purge (put in the basedir/TRASH folder) an existing simulation:
 
 
 
simfactory/sim purge <simulationname> [--restart-id=<restartid>]
 
 
 
To show the current output (stdout and stderr) for a given simulation:
 
 
 
simfactory/sim show-output <simulationname> [--restart-id=<restartid>]
 
 
 
=== What's Produced ===
 
 
 
When a simulation is submitted for the first time, all necessary
 
information from the Cactus build configuration is brought into a
 
specific simulation folder created underneath the '''basedir'''
 
directory. Contained inside this folder, which has the same name as
 
the specified simulation, are the executable, run script, submit
 
script, a SIMFACTORY folder, a log file, and the output directories
 
for each individual restart.
 
 
 
Simulations are self-contained, and once created do not rely on
 
outside information. For example, recompiling the executable or
 
changing the parameter file that were used to submit a simulation will
 
not influence the simulation, since the simulation contains copies of
 
both. This ensures that simulations can continue to run unperturbed
 
even weeks after they have been created.
 
 
 
Here is the contents of the simulation folder "static_tov" with
 
several restarts in it:
 
 
 
[mwt@eric2 simulations]$ ls -l static_tov
 
total 32
 
-rw-r--r--  1 mwt lsuusers    0 Sep 30 13:30 LOG
 
drwxr-xr-x  3 mwt lsuusers 4096 Aug 20 10:19 output-0000
 
drwxr-xr-x  4 mwt lsuusers 4096 Aug 20 10:19 output-0001
 
drwxr-xr-x  4 mwt lsuusers 4096 Aug 20 10:24 output-0002
 
drwxr-xr-x  3 mwt lsuusers 4096 Aug 20 23:57 output-0003
 
drwxr-xr-x  4 mwt lsuusers 4096 Sep 17 09:02 output-0004
 
drwxr-xr-x  7 mwt lsuusers 4096 Aug 20 10:18 SIMFACTORY
 
 
 
The SIMFACTORY folder contains the executable, the necessary script
 
files for submission and execution, and a properties.ini file that is
 
used by the Simulation Factory to store information about the
 
simulation.
 
 
 
Each time a simulation is either run or submitted, a restart directory
 
is created underneath the simulation directory. This restart folder
 
has a name of the format "output-####", starting with "output-0000".
 
Contained inside the restart folder are several internal files, the
 
output written to stdout and stderr from the simulation, and the
 
simulation output itself. The simulation output is typically stored
 
inside a directory named after the basename of the parameter file. An
 
example output directory is:
 
 
 
[mwt@eric2 output-0001]$ ls -l
 
total 172
 
-rw-r--r--  1 mwt lsuusers      0 Sep 17 09:06 LOG
 
-rw-r--r--  1 mwt lsuusers      9 Sep 17 09:06 mpd_nodefile
 
-rw-r--r--  1 mwt lsuusers    32 Sep 17 09:06 mpi_nodefile
 
-rw-r--r--  1 mwt lsuusers    33 Sep 17 09:06 NODELIST
 
drwxr-xr-x  3 mwt lsuusers  20480 Sep 17 16:12 qc0-mclachlan
 
-rw-------  1 mwt lsuusers  2520 Sep 17 21:06 qc0-mclachlan.err
 
-rw-------  1 mwt lsuusers 108210 Sep 17 21:06 qc0-mclachlan.out
 
-rw-r--r--  1 mwt lsuusers  13621 Sep 17 09:06 qc0-mclachlan.par
 
lrwxrwxrwx  1 mwt lsuusers    23 Sep 17 09:06 scratch -> /var/scratch/mwt/250072
 
drwxr-xr-x  2 mwt lsuusers  4096 Sep 17 09:06 SIMFACTORY
 
 
 
=== Script Locations ===
 
 
 
When a simulation is created, it copies the submit script and the run
 
script from the build configuration into the folder
 
"basedir/<simulation>/SIMFACTORY". The executable goes in the "exe/"
 
folder, the run and submit scripts into the "run/" folder, the Cactus
 
options list into the "cfg/" folder, and the parfile into the "par/"
 
folder. Below shows an example SIMFACTORY directory
 
 
 
[mwt@eric2 SIMFACTORY]$ ls -lR
 
.:
 
total 32
 
drwxr-xr-x  2 mwt lsuusers 4096 Sep 17 09:06 cfg
 
drwxr-xr-x  2 mwt lsuusers 4096 Sep 17 09:05 data
 
drwxr-xr-x  2 mwt lsuusers 4096 Sep 17 09:05 exe
 
drwxr-xr-x  2 mwt lsuusers 4096 Sep 17 09:06 par
 
-rw-r--r--  1 mwt lsuusers  740 Sep 17 09:06 properties.ini
 
drwxr-xr-x  2 mwt lsuusers 4096 Sep 17 09:06 run
 
 
 
./cfg:
 
total 12
 
-rw-r--r--  1 mwt lsuusers 4041 Sep 17 09:06 OptionList
 
 
 
./exe:
 
total 121408
 
-rwxr-xr-x  1 mwt lsuusers 124306159 Sep 17 09:06 cactus_sim
 
 
 
./par:
 
total 24
 
-rw-r--r--  1 mwt lsuusers 13621 Sep 17 09:06 qc0-mclachlan.par
 
 
 
./run:
 
total 16
 
-rw-r--r--  1 mwt lsuusers 1162 Sep 17 09:06 RunScript
 
-rw-r--r--  1 mwt lsuusers  410 Sep 17 09:06 SubmitScript
 
 
 
 
 
 
 
== Other Advanced Features ==
 
 
 
=== Archiving ===
 
 
 
Preliminary support for archiving of simulations has been added to the
 
Simulation Factory using the PetaShare data storage system on LONI.
 
This archiving system can only be used from machines that have access
 
to PetaShare. The currently supported machines that have access to
 
Petashare are
 
 
 
bluedawg
 
ducky
 
eric
 
lacumba
 
louie
 
neptune
 
oliver
 
painter
 
poseidon
 
queenbee
 
spider
 
tezpur
 
zeke
 
 
 
To use the PetaShare archiving system, the PetaShare
 
[http://www.cct.lsu.edu/~sreekanth/petashare/downloads/pcommands/pcommands-2.3.tar.gz
 
Pcommands],
 
[http://www.cct.lsu.edu/~sreekanth/petashare/pcommands-manual(2.0).php
 
(manual)] must be downloaded and installed onto your machine. Once
 
that is done, add a new section in '''etc/defs.local.ini''' for the
 
machine from which you wish to access PetaShare, and add the necessary
 
MDB keys. An example for the machine Queen Bee is:
 
 
 
[queenbee]
 
# archive information
 
archivetype      = petashare
 
archiveuser      = numrel
 
archivetoolspath = /home/mwt/tools/pcommands-2.3/bin
 
archivebasepath  = /tempZone/home/numrel/mwt/simulations
 
 
 
'''archivebasepath''' is where the simulations will be stored on
 
PetaShare.
 
 
 
Once this setup has been completed, you can archive an entire
 
simulation (including all restarts) using the command
 
 
 
simfactory/sim archive <simulationname>
 
 
 
To archive just a single restart for a given simulation, issue the
 
command
 
 
simfactory/sim archive <simulationname> --restart-id=<restartid>
 
 
 
To print a list of all archived simulations, use the command
 
 
 
simfactory/sim list-archived-simulations
 
 
 
To retreive an archived simulation, first use the
 
'''list-archived-simulations''' command to retrieve the unique
 
identifier for the simulation, and then issue the following command to
 
retrieve a simulation. It will place the simulation in the current
 
directory.
 
 
 
simfactory/sim get-archived-simulation <archiveid>
 

Revision as of 21:30, 6 December 2010