Runtime Configuration
At launch time, DYAD allows users to customize its behavior and make better use of the environment through various environment variables. The list of these variables is shown below.
Name |
Type |
Required? |
Default |
Description |
|---|---|---|---|---|
|
String |
Yes |
N/A |
The Flux KVS namespace that DYAD will use to record or look for file information |
|
Directory Path |
Yes [1] |
N/A |
The producer-managed path of the application |
|
The consumer-managed path of the application |
|||
|
String |
No |
FLUX_RPC |
Choose data transfer method among MARGO, UCX, FLUX_RPC |
|
String |
No |
ofi+tcp |
Specify network protocol when |
|
0 or 1 |
No |
0 |
The presence of this variable in the environment indicates that DYAD treats relative paths as relative to the managed directory |
|
0 or 1 |
No |
0 |
1: only per-file access synchronization for consumer but no transfer or the overhead associated with it |
|
0 or 1 |
No |
0 |
Enable asynchronous metadata publishing by producers. |
|
integer >= 1 |
No |
1 |
Number of Flux brokers sharing node-local storage. |
|
Integer |
No |
3 |
The number of levels in Flux’s hierarchical KVS to use within DYAD’s namespace |
|
Integer |
No |
1024 |
The maximum number of unique hash values per level in Flux’s hierarchical KVS within DYAD’s namespace. |
Examples of valid values for DYAD_MARGO_PROTO:
Value |
Description |
|---|---|
|
Portable TCP/IP via libfabric (default) |
|
InfiniBand via libfabric |
|
HPE Slingshot (Cray EX) via libfabric |
|
Shared memory (current Margo; use |
|
Auto; let UCX pick, safe default, often doesn’t work |
|
TCP/IP, portable |
|
InfiniBand RC (verbs), low-latency IB |
|
InfiniBand RC (mlx5), Mellanox HCAs |
|
InfiniBand UD (verbs), scalable IB |
|
InfiniBand DC (mlx5), large-scale IB (Frontier, Sierra) |
|
Cross-Memory Attach, intra-node shared memory (Linux) |
|
SysV shared memory, intra-node only |