In order to enable DDS environment you need to source the DDS_env.sh script. The script is located in the directory where you installed DDS.
cd [DDS INSTALLATION]
source DDS_env.shUse the dds-session command to start/stop/list DDS sessions.
dds-session startDDS can be started in lightweight mode for environments where DDS is pre-installed on worker nodes:
# Using command-line option
dds-session start --lightweight
# Using environment variable
export DDS_LIGHTWEIGHT_PACKAGE=1
dds-session startIn lightweight mode, DDS skips worker package validation and creates minimal deployment packages, significantly improving startup times. This is particularly useful in environments with pre-configured DDS installations.
In order to deploy agents you can use different DDS plug-ins.
One of the fastest way to deploy DDS is to use the localhost plug-in.
But if you want to use multiple hosts, then the SSH plug-in is the right tool.
When you don't have an RMS or you want to use a Cloud based system or even if you want just to use resources around you, like computers of your colleagues, then the plug-in is the best way to go.
First of all you need to define resources.
Then use dds-submit to deploy DDS agents on the given resources:
dds-submit --rms ssh -c FULL_PATH_TO_YOUR_SSHPLUGIN_RESOURCE_FILEFor faster deployment when DDS is pre-installed on worker nodes, you can use lightweight worker packages:
# Enable globally via environment variable
export DDS_LIGHTWEIGHT_PACKAGE=1
dds-submit --rms slurm -n 10 --slots 8
# Or use command-line option
dds-submit --rms slurm -n 10 --slots 8 --lightweightThis reduces package size from ~15MB to ~50KB and provides 3x faster deployment speed.
Important: For lightweight packages to work, worker nodes must have these environment variables set at runtime:
DDS_COMMANDER_BIN_LOCATION- Path to DDS binaries (e.g.,/opt/dds/bin)DDS_COMMANDER_LIBS_LOCATION- Path to DDS libraries (e.g.,/opt/dds/lib)
These should point to a valid DDS installation on the worker nodes. Configure your batch system or environment scripts to export these variables before DDS worker startup.
Using dds-info you can query different kinds of information from DDS. For example you can check how many agents are already online:
dds-info -nor query more detailed info about agents:
dds-info -lOnce you get enough online agents, you can activate them. Activation of agents means, that DDS will use the given topology to distribute user tasks across available resources (agents):
dds-topology --activate FULL_PATH_TO_YOUR_TOPOLOGY_FILEDDS will automatically check whether available resources are actually sufficient to execute the given topology.