Skip to content

Commit 394fab8

Browse files
committed
dded "provdb_auto_interface" option to chimbuko_config which, if true, lets Mochi choose its own interface rather than using the user-provided one
Added more documentation in chimbuko_config on how to set the interface and verbs domain. Specifically, for the latter, it is not necessary to manually choose a domain Fixed mercury environment variables not being correctly set in run_services
1 parent beff98d commit 394fab8

2 files changed

Lines changed: 11 additions & 4 deletions

File tree

scripts/launch/chimbuko_config.sh

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
#IMPORTANT NOTE: Variables that cannot be left as default are marked as <------------ ***SET ME***
55

6-
service_node_iface=eth0 #network interface upon which communication to the service node is performed <------------ ***SET ME***
6+
service_node_iface=eth0 #network interface upon which communication to the service node is performed. Obtain from, e.g. "ip link show" (cf https://www.cyberciti.biz/faq/linux-list-network-interfaces-names-command/) <------------ ***SET ME***
77

88
####################################
99
#Options for visualization module
@@ -31,9 +31,10 @@ provdb_engine="ofi+tcp;ofi_rxm" #the OFI libfabric provider used for the Mochi
3131
provdb_port=5000 #the port of the provenance database. For >1 instance the port of instance i will be provdb_port+i
3232
provdb_writedir=chimbuko/provdb #the directory in which the provenance database is written. Chimbuko creates chimbuko/provdb which can be used as a default
3333
provdb_commit_freq=10000 #frequency ms at which the provenance database is committed to disk. If set to 0 it will commit only at the end
34+
provdb_auto_interface=true #if true, the server will automatically choose its interface rather than using $service_node_iface
3435

3536
#With "verbs" provider (used for infiniband, iWarp, etc) we need to also specify the domain, which can be found by running fi_info (on a compute node)
36-
provdb_domain=mlx5_0 #only needed for verbs provider <------------ ***SET ME (if using verbs)***
37+
provdb_domain= #only needed for verbs provider. If left blank it will be chosen automatically. <------------ ***SET ME (if using verbs)***
3738

3839
export FI_UNIVERSE_SIZE=1600 # Defines the expected number of provenance DB clients per instance <------------- *** SET ME (should be larger than the number of clients/instance)
3940
export FI_MR_CACHE_MAX_COUNT=0 # disable MR cache in libfabric; still problematic as of libfabric 1.10.1

scripts/launch/run_services.sh

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,11 +108,17 @@ if (( ${use_provdb} == 1 )); then
108108
rm -f ${provdb_writedir}/provdb.*.unqlite* provider.address*
109109

110110
#Enable better error reporting from Mercury
111-
export HG_LOG_SUBSYS=hg export HG_LOG_LEVEL=error
111+
export HG_LOG_SUBSYS=hg
112+
export HG_LOG_LEVEL=error
112113

113114
for((i=0;i<provdb_ninstances;i++)); do
114115
port=$((provdb_port+i))
115-
provdb_addr="${service_node_iface}:${port}" #can be IP:PORT or ADAPTOR:PORT per libfabric conventions
116+
iface=${service_node_iface}
117+
if [[ ${provdb_auto_interface} == true ]]; then
118+
echo "Chimbuko services: provDB is using automatic interface selection"
119+
iface=""
120+
fi
121+
provdb_addr="${iface}:${port}" #can be IP:PORT or ADAPTOR:PORT per libfabric conventions
116122
if [[ ${provdb_engine} == "verbs" ]]; then
117123
provdb_addr="${provdb_domain}/${provdb_addr}"
118124
fi

0 commit comments

Comments
 (0)