Commit 3b8dcd8d authored by Neil McGlohon's avatar Neil McGlohon

Add tests for Dragonfly Plus and Dally

parent 9297b11c
...@@ -230,4 +230,7 @@ AC_CONFIG_FILES([Makefile]) ...@@ -230,4 +230,7 @@ AC_CONFIG_FILES([Makefile])
AC_OUTPUT([maint/codes.pc]) AC_OUTPUT([maint/codes.pc])
AC_OUTPUT([src/network-workloads/conf/dragonfly-custom/modelnet-test-dragonfly-1728-nodes.conf]) AC_OUTPUT([src/network-workloads/conf/dragonfly-custom/modelnet-test-dragonfly-1728-nodes.conf])
AC_OUTPUT([src/network-workloads/conf/dragonfly-plus/modelnet-test-dragonfly-plus.conf])
AC_OUTPUT([src/network-workloads/conf/dragonfly-dally/modelnet-test-dragonfly-dally.conf])
LPGROUPS
{
MODELNET_GRP
{
repetitions="1040";
# name of this lp changes according to the model
nw-lp="8";
# these lp names will be the same for dragonfly-custom model
modelnet_dragonfly_dally="8";
modelnet_dragonfly_dally_router="1";
}
}
PARAMS
{
# packet size in the network
packet_size="4096";
modelnet_order=( "dragonfly_dally","dragonfly_dally_router" );
# scheduler options
modelnet_scheduler="fcfs";
# chunk size in the network (when chunk size = packet size, packets will not be
# divided into chunks)
chunk_size="4096";
# modelnet_scheduler="round-robin";
num_router_rows="1";
# intra-group columns for routers
num_router_cols="16";
# number of groups in the network
num_groups="65";
# buffer size in bytes for local virtual channels
local_vc_size="16384";
#buffer size in bytes for global virtual channels
global_vc_size="16384";
#buffer size in bytes for compute node virtual channels
cn_vc_size="32768";
#bandwidth in GiB/s for local channels
local_bandwidth="2.0";
# bandwidth in GiB/s for global channels
global_bandwidth="2.0";
# bandwidth in GiB/s for compute node-router channels
cn_bandwidth="2.0";
# Number of row channels
num_row_chans="1";
# Number of column channels
num_col_chans="1";
# ROSS message size
message_size="656";
# number of compute nodes connected to router, dictated by dragonfly config
# file
num_cns_per_router="8";
# number of global channels per router
num_global_channels="8";
# network config file for intra-group connections
intra-group-connections="../src/network-workloads/conf/dragonfly-dally/dfdally_8k_intra";
# network config file for inter-group connections
inter-group-connections="../src/network-workloads/conf/dragonfly-dally/dfdally_8k_inter";
# routing protocol to be used
routing="prog-adaptive";
adaptive_threshold="131072";
minimal-bias="1";
df-dally-vc = "1";
}
LPGROUPS
{
MODELNET_GRP
{
repetitions="1040";
# name of this lp changes according to the model
nw-lp="8";
# these lp names will be the same for dragonfly-custom model
modelnet_dragonfly_dally="8";
modelnet_dragonfly_dally_router="1";
}
}
PARAMS
{
# packet size in the network
packet_size="4096";
modelnet_order=( "dragonfly_dally","dragonfly_dally_router" );
# scheduler options
modelnet_scheduler="fcfs";
# chunk size in the network (when chunk size = packet size, packets will not be
# divided into chunks)
chunk_size="4096";
# modelnet_scheduler="round-robin";
num_router_rows="1";
# intra-group columns for routers
num_router_cols="16";
# number of groups in the network
num_groups="65";
# buffer size in bytes for local virtual channels
local_vc_size="16384";
#buffer size in bytes for global virtual channels
global_vc_size="16384";
#buffer size in bytes for compute node virtual channels
cn_vc_size="32768";
#bandwidth in GiB/s for local channels
local_bandwidth="2.0";
# bandwidth in GiB/s for global channels
global_bandwidth="2.0";
# bandwidth in GiB/s for compute node-router channels
cn_bandwidth="2.0";
# Number of row channels
num_row_chans="1";
# Number of column channels
num_col_chans="1";
# ROSS message size
message_size="656";
# number of compute nodes connected to router, dictated by dragonfly config
# file
num_cns_per_router="8";
# number of global channels per router
num_global_channels="8";
# network config file for intra-group connections
intra-group-connections="../src/network-workloads/conf/dragonfly-dally/dfdally_8k_intra";
# network config file for inter-group connections
inter-group-connections="../src/network-workloads/conf/dragonfly-dally/dfdally_8k_inter";
# routing protocol to be used
routing="prog-adaptive";
adaptive_threshold="131072";
minimal-bias="1";
df-dally-vc = "1";
}
...@@ -47,9 +47,9 @@ PARAMS ...@@ -47,9 +47,9 @@ PARAMS
# number of global channels per router # number of global channels per router
num_global_connections="16"; num_global_connections="16";
# network config file for intra-group connections # network config file for intra-group connections
intra-group-connections="/gpfs/u/home/SPNR/SPNRmcgl/barn/dfp-df-comparisons/experiments/network_configs/dfp_8k_intra"; intra-group-connections="../src/network-workloads/conf/dragonfly-plus/dfp_8k_intra";
# network config file for inter-group connections # network config file for inter-group connections
inter-group-connections="/gpfs/u/home/SPNR/SPNRmcgl/barn/dfp-df-comparisons/experiments/network_configs/dfp_8k_inter"; inter-group-connections="../src/network-workloads/conf/dragonfly-plus/dfp_8k_inter";
# routing protocol to be used - 'minimal', 'non-minimal-spine', 'non-minimal-leaf', 'prog-adaptive' # routing protocol to be used - 'minimal', 'non-minimal-spine', 'non-minimal-leaf', 'prog-adaptive'
routing="prog-adaptive"; routing="prog-adaptive";
# route scoring protocol to be used - options are 'alpha', 'beta', or 'delta' - 'gamma' has been deprecated # route scoring protocol to be used - options are 'alpha', 'beta', or 'delta' - 'gamma' has been deprecated
......
...@@ -2,61 +2,59 @@ LPGROUPS ...@@ -2,61 +2,59 @@ LPGROUPS
{ {
MODELNET_GRP MODELNET_GRP
{ {
repetitions="12"; repetitions="1056";
# name of this lp changes according to the model # name of this lp changes according to the model
nw-lp="4"; nw-lp="8";
# these lp names will be the same for dragonfly-custom model # these lp names will be the same for dragonfly-custom model
modelnet_dragonfly_plus="4"; modelnet_dragonfly_plus="8";
modelnet_dragonfly_plus_router="2"; modelnet_dragonfly_plus_router="1";
} }
} }
PARAMS PARAMS
{ {
# packet size in the network # packet size in the network
packet_size="1024"; packet_size="4096";
# order of LPs, mapping for modelnet grp
modelnet_order=( "dragonfly_plus","dragonfly_plus_router" ); modelnet_order=( "dragonfly_plus","dragonfly_plus_router" );
# scheduler options # scheduler options
modelnet_scheduler="fcfs"; modelnet_scheduler="fcfs";
# chunk size in the network (when chunk size = packet size, packets will not be # chunk size in the network (when chunk size = packet size, packets will not be divided into chunks)
# divided into chunks) chunk_size="4096";
chunk_size="1024"; # number of spine routers per group
# modelnet_scheduler="round-robin"; num_router_spine="16";
# number of routers within each group # number of leaf routers per group
# each router row corresponds to a chassis in Cray systems num_router_leaf="16";
num_router_spine="4"; # number of links connecting between group levels per router
# each router column corresponds to a slot in a chassis
num_router_leaf="4";
# number of links connecting between group levels per router
num_level_chans="1"; num_level_chans="1";
# number of groups in the network # number of groups in the network
num_groups="3"; num_groups="33";
# predefined threshold (T) deciding when to reassign packet to a lower priority queue
queue_threshold="50";
# buffer size in bytes for local virtual channels # buffer size in bytes for local virtual channels
local_vc_size="8192"; local_vc_size="32768";
#buffer size in bytes for global virtual channels # buffer size in bytes for global virtual channels
global_vc_size="16384"; global_vc_size="32768";
#buffer size in bytes for compute node virtual channels # buffer size in bytes for compute node virtual channels
cn_vc_size="8192"; cn_vc_size="32768";
#bandwidth in GiB/s for local channels # bandwidth in GiB/s for local channels
local_bandwidth="5.25"; local_bandwidth="25.0";
# bandwidth in GiB/s for global channels # bandwidth in GiB/s for global channels
global_bandwidth="1.5"; global_bandwidth="25.0";
# bandwidth in GiB/s for compute node-router channels # bandwidth in GiB/s for compute node-router channels
cn_bandwidth="8.0"; cn_bandwidth="25.0";
# ROSS message size # ROSS message size
message_size="608"; message_size="640";
# number of compute nodes connected to router, dictated by dragonfly config # number of compute nodes connected to router, dictated by dragonfly config file
# file num_cns_per_router="16";
num_cns_per_router="4";
# number of global channels per router # number of global channels per router
num_global_connections="4"; num_global_connections="16";
# network config file for intra-group connections # network config file for intra-group connections
intra-group-connections="../src/network-workloads/conf/dragonfly-plus/neil-intra"; intra-group-connections="../src/network-workloads/conf/dragonfly-plus/dfp_8k_intra";
# network config file for inter-group connections # network config file for inter-group connections
inter-group-connections="../src/network-workloads/conf/dragonfly-plus/neil-inter"; inter-group-connections="../src/network-workloads/conf/dragonfly-plus/dfp_8k_inter";
# routing protocol to be used # routing protocol to be used - 'minimal', 'non-minimal-spine', 'non-minimal-leaf', 'prog-adaptive'
routing="minimal"; routing="prog-adaptive";
# route scoring protocol to be used - options are 'alpha', 'beta', or 'delta' - 'gamma' has been deprecated
route_scoring_metric="delta";
# minimal route threshold before considering non-minimal paths
adaptive_threshold="131072"; #1/16 of 32768
} }
LPGROUPS
{
MODELNET_GRP
{
repetitions="1056";
# name of this lp changes according to the model
nw-lp="8";
# these lp names will be the same for dragonfly-custom model
modelnet_dragonfly_plus="8";
modelnet_dragonfly_plus_router="1";
}
}
PARAMS
{
# packet size in the network
packet_size="4096";
# order of LPs, mapping for modelnet grp
modelnet_order=( "dragonfly_plus","dragonfly_plus_router" );
# scheduler options
modelnet_scheduler="fcfs";
# chunk size in the network (when chunk size = packet size, packets will not be divided into chunks)
chunk_size="4096";
# number of spine routers per group
num_router_spine="16";
# number of leaf routers per group
num_router_leaf="16";
# number of links connecting between group levels per router
num_level_chans="1";
# number of groups in the network
num_groups="33";
# buffer size in bytes for local virtual channels
local_vc_size="32768";
# buffer size in bytes for global virtual channels
global_vc_size="32768";
# buffer size in bytes for compute node virtual channels
cn_vc_size="32768";
# bandwidth in GiB/s for local channels
local_bandwidth="25.0";
# bandwidth in GiB/s for global channels
global_bandwidth="25.0";
# bandwidth in GiB/s for compute node-router channels
cn_bandwidth="25.0";
# ROSS message size
message_size="640";
# number of compute nodes connected to router, dictated by dragonfly config file
num_cns_per_router="16";
# number of global channels per router
num_global_connections="16";
# network config file for intra-group connections
intra-group-connections="../src/network-workloads/conf/dragonfly-plus/dfp_8k_intra";
# network config file for inter-group connections
inter-group-connections="../src/network-workloads/conf/dragonfly-plus/dfp_8k_inter";
# routing protocol to be used - 'minimal', 'non-minimal-spine', 'non-minimal-leaf', 'prog-adaptive'
routing="prog-adaptive";
# route scoring protocol to be used - options are 'alpha', 'beta', or 'delta' - 'gamma' has been deprecated
route_scoring_metric="delta";
# minimal route threshold before considering non-minimal paths
adaptive_threshold="131072"; #1/16 of 32768
}
...@@ -13,6 +13,8 @@ check_PROGRAMS += tests/lp-io-test \ ...@@ -13,6 +13,8 @@ check_PROGRAMS += tests/lp-io-test \
src/network-workloads/model-net-synthetic-fattree \ src/network-workloads/model-net-synthetic-fattree \
src/network-workloads/model-net-synthetic-slimfly \ src/network-workloads/model-net-synthetic-slimfly \
src/network-workloads/model-net-synthetic-custom-dfly \ src/network-workloads/model-net-synthetic-custom-dfly \
src/network-workloads/model-net-synthetic-dfly-plus \
src/network-workloads/model-net-synthetic-dally-dfly \
src/network-workloads/model-net-mpi-replay \ src/network-workloads/model-net-mpi-replay \
tests/concurrent-msg-recv tests/modelnet-simplep2p-test \ tests/concurrent-msg-recv tests/modelnet-simplep2p-test \
tests/modelnet-test-collective \ tests/modelnet-test-collective \
...@@ -35,6 +37,8 @@ TESTS += tests/lp-io-test.sh \ ...@@ -35,6 +37,8 @@ TESTS += tests/lp-io-test.sh \
tests/modelnet-test-slimfly.sh \ tests/modelnet-test-slimfly.sh \
tests/modelnet-test-dragonfly-synthetic.sh \ tests/modelnet-test-dragonfly-synthetic.sh \
tests/modelnet-test-dragonfly-custom-synthetic.sh \ tests/modelnet-test-dragonfly-custom-synthetic.sh \
tests/modelnet-test-dragonfly-plus-synthetic.sh \
tests/modelnet-test-dragonfly-dally-synthetic.sh \
tests/modelnet-test-fattree-synthetic.sh \ tests/modelnet-test-fattree-synthetic.sh \
tests/modelnet-test-slimfly-synthetic.sh \ tests/modelnet-test-slimfly-synthetic.sh \
tests/modelnet-p2p-bw-loggp.sh \ tests/modelnet-p2p-bw-loggp.sh \
...@@ -67,6 +71,8 @@ EXTRA_DIST += tests/download-traces.sh \ ...@@ -67,6 +71,8 @@ EXTRA_DIST += tests/download-traces.sh \
tests/modelnet-test-dragonfly-traces.sh \ tests/modelnet-test-dragonfly-traces.sh \
tests/modelnet-test-dragonfly-custom-synthetic.sh \ tests/modelnet-test-dragonfly-custom-synthetic.sh \
tests/modelnet-test-dragonfly-custom-traces.sh \ tests/modelnet-test-dragonfly-custom-traces.sh \
tests/modelnet-test-dragonfly-plus-synthetic.sh \
tests/modelnet-test-dragonfly-dally-synthetic.sh \
tests/modelnet-test-em.sh \ tests/modelnet-test-em.sh \
tests/modelnet-test-fattree-synthetic.sh \ tests/modelnet-test-fattree-synthetic.sh \
tests/modelnet-test-slimfly.sh \ tests/modelnet-test-slimfly.sh \
...@@ -93,6 +99,12 @@ EXTRA_DIST += tests/download-traces.sh \ ...@@ -93,6 +99,12 @@ EXTRA_DIST += tests/download-traces.sh \
src/network-workloads/conf/modelnet-mpi-test-dfly-amg-216.conf \ src/network-workloads/conf/modelnet-mpi-test-dfly-amg-216.conf \
src/network-workloads/conf/dragonfly-custom/intra-theta \ src/network-workloads/conf/dragonfly-custom/intra-theta \
src/network-workloads/conf/dragonfly-custom/inter-theta \ src/network-workloads/conf/dragonfly-custom/inter-theta \
src/network-workloads/conf/dragonfly-plus/dfp_8k.conf \
src/network-workloads/conf/dragonfly-plus/dfp_8k_intra \
src/network-workloads/conf/dragonfly-plus/dfp_8k_inter \
src/network-workloads/conf/dragonfly-dally/dfdally_8k.conf \
src/network-workloads/conf/dragonfly-dally/dfdally_8k_intra \
src/network-workloads/conf/dragonfly-dally/dfdally_8k_inter \
tests/README_MN_TEST.txt tests/README_MN_TEST.txt
tests_lp_io_test_SOURCES = tests/lp-io-test.c tests_lp_io_test_SOURCES = tests/lp-io-test.c
......
#!/bin/bash
src/network-workloads/model-net-synthetic-dally-dfly --sync=1 --num_messages=1 -- src/network-workloads/conf/dragonfly-dally/modelnet-test-dragonfly-dally.conf
#!/bin/bash
src/network-workloads/model-net-synthetic-dfly-plus --sync=1 --num_messages=1 -- src/network-workloads/conf/dragonfly-plus/modelnet-test-dragonfly-plus.conf
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment