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

Merge branch 'dfp-online-workloads' into 'master'

Dfp online workloads

See merge request neil/codes!23
parents df4a02be 1b2810b6
......@@ -113,7 +113,7 @@ AM_CONDITIONAL(USE_DARSHAN, [test "x${use_darshan}" = xyes])
AC_ARG_WITH([online],[AS_HELP_STRING([--with-online@<:@=DIR@:>@],
[Build with the online workloads and argobots support])],
[use_online=yes],[use_online=no])
if test "x${use_online}" != "x" ; then
if test "x${use_online}" != "xno" ; then
AM_CONDITIONAL(USE_ONLINE, true)
PKG_CHECK_MODULES_STATIC([ARGOBOTS], [argobots], [],
[AC_MSG_ERROR([Could not find working argobots installation via pkg-config])])
......
LPGROUPS
{
MODELNET_GRP
{
repetitions="768";
nw-lp="8";
modelnet_dragonfly_custom="4";
modelnet_dragonfly_custom_router="1";
}
}
PARAMS
{
packet_size="4096";
message_size="656";
chunk_size="4096";
modelnet_scheduler="fcfs";
modelnet_order=("dragonfly_custom","dragonfly_custom_router");
num_router_rows="6";
num_router_cols="16";
num_groups="8";
router_delay="90";
local_vc_size="65536";
global_vc_size="65536";
cn_vc_size="65536";
local_bandwidth="12.5";
global_bandwidth="12.5";
cn_bandwidth="12.5";
num_cns_per_router="4";
num_global_channels="4";
intra-group-connections="/home/noah/Dropbox/RPI/Research/Networks/codes-unified/codes/src/network-workloads/conf/dragonfly-custom/intra-theta-8group";
inter-group-connections="/home/noah/Dropbox/RPI/Research/Networks/codes-unified/codes/src/network-workloads/conf/dragonfly-custom/inter-theta-8group";
routing="adaptive";
num_injection_queues="1";
nic_seq_delay="10";
node_copy_queues="1";
node_eager_limit="16000";
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
LPGROUPS
{
MODELNET_GRP
{
repetitions="5";
# name of this lp changes according to the model
nw-lp="16";
# these lp names will be the same for dragonfly-custom model
modelnet_dragonfly_plus="16";
modelnet_dragonfly_plus_router="8";
}
}
PARAMS
{
# packet size in the network
packet_size="1024";
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="1024";
# modelnet_scheduler="round-robin";
# number of routers within each group
# each router row corresponds to a chassis in Cray systems
num_router_spine="4";
# 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";
# number of groups in the network
num_groups="5";
# buffer size in bytes for local virtual channels
local_vc_size="8192";
#buffer size in bytes for global virtual channels
global_vc_size="16384";
#buffer size in bytes for compute node virtual channels
cn_vc_size="8192";
#bandwidth in GiB/s for local channels
local_bandwidth="5.25";
# bandwidth in GiB/s for global channels
global_bandwidth="1.5";
# bandwidth in GiB/s for compute node-router channels
cn_bandwidth="8.0";
# ROSS message size
message_size="608";
# number of compute nodes connected to router, dictated by dragonfly config
# file
num_cns_per_router="4";
# number of global channels per router
num_global_connections="4";
# network config file for intra-group connections
intra-group-connections="../src/network-workloads/conf/dragonfly-plus/dfp-test-intra";
# network config file for inter-group connections
inter-group-connections="../src/network-workloads/conf/dragonfly-plus/dfp-test-inter";
# routing protocol to be used
routing="minimal";
}
4,20,1,0
5,21,1,0
6,22,1,0
7,23,1,0
8,20,1,0
9,21,1,0
10,22,1,0
11,23,1,0
12,20,1,0
13,21,1,0
14,22,1,0
15,23,1,0
16,20,1,0
17,21,1,0
18,22,1,0
19,23,1,0
20,24,0,0
20,25,0,0
20,26,0,0
20,27,0,0
20,4,0,1
20,8,0,1
20,12,0,1
20,16,0,1
21,24,0,0
21,25,0,0
21,26,0,0
21,27,0,0
21,5,0,1
21,9,0,1
21,13,0,1
21,17,0,1
22,24,0,0
22,25,0,0
22,26,0,0
22,27,0,0
22,6,0,1
22,10,0,1
22,14,0,1
22,18,0,1
23,24,0,0
23,25,0,0
23,26,0,0
23,27,0,0
23,7,0,1
23,11,0,1
23,15,0,1
23,19,0,1
24,55,0,0
24,83,0,0
24,111,0,0
24,139,0,0
24,20,0,0
24,21,0,0
24,22,0,0
24,23,0,0
25,54,0,0
25,82,0,0
25,110,0,0
25,138,0,0
25,20,0,0
25,21,0,0
25,22,0,0
25,23,0,0
26,53,0,0
26,81,0,0
26,109,0,0
26,137,0,0
26,20,0,0
26,21,0,0
26,22,0,0
26,23,0,0
27,52,0,0
27,80,0,0
27,108,0,0
27,136,0,0
27,20,0,0
27,21,0,0
27,22,0,0
27,23,0,0
32,48,1,0
33,49,1,0
34,50,1,0
35,51,1,0
36,48,1,0
37,49,1,0
38,50,1,0
39,51,1,0
40,48,1,0
41,49,1,0
42,50,1,0
43,51,1,0
44,48,1,0
45,49,1,0
46,50,1,0
47,51,1,0
48,52,0,0
48,53,0,0
48,54,0,0
48,55,0,0
48,32,0,1
48,36,0,1
48,40,0,1
48,44,0,1
49,52,0,0
49,53,0,0
49,54,0,0
49,55,0,0
49,33,0,1
49,37,0,1
49,41,0,1
49,45,0,1
50,52,0,0
50,53,0,0
50,54,0,0
50,55,0,0
50,34,0,1
50,38,0,1
50,42,0,1
50,46,0,1
51,52,0,0
51,53,0,0
51,54,0,0
51,55,0,0
51,35,0,1
51,39,0,1
51,43,0,1
51,47,0,1
52,83,0,0
52,111,0,0
52,139,0,0
52,27,0,0
52,48,0,0
52,49,0,0
52,50,0,0
52,51,0,0
53,82,0,0
53,110,0,0
53,138,0,0
53,26,0,0
53,48,0,0
53,49,0,0
53,50,0,0
53,51,0,0
54,81,0,0
54,109,0,0
54,137,0,0
54,25,0,0
54,48,0,0
54,49,0,0
54,50,0,0
54,51,0,0
55,80,0,0
55,108,0,0
55,136,0,0
55,24,0,0
55,48,0,0
55,49,0,0
55,50,0,0
55,51,0,0
60,76,1,0
61,77,1,0
62,78,1,0
63,79,1,0
64,76,1,0
65,77,1,0
66,78,1,0
67,79,1,0
68,76,1,0
69,77,1,0
70,78,1,0
71,79,1,0
72,76,1,0
73,77,1,0
74,78,1,0
75,79,1,0
76,80,0,0
76,81,0,0
76,82,0,0
76,83,0,0
76,60,0,1
76,64,0,1
76,68,0,1
76,72,0,1
77,80,0,0
77,81,0,0
77,82,0,0
77,83,0,0
77,61,0,1
77,65,0,1
77,69,0,1
77,73,0,1
78,80,0,0
78,81,0,0
78,82,0,0
78,83,0,0
78,62,0,1
78,66,0,1
78,70,0,1
78,74,0,1
79,80,0,0
79,81,0,0
79,82,0,0
79,83,0,0
79,63,0,1
79,67,0,1
79,71,0,1
79,75,0,1
80,111,0,0
80,139,0,0
80,27,0,0
80,55,0,0
80,76,0,0
80,77,0,0
80,78,0,0
80,79,0,0
81,110,0,0
81,138,0,0
81,26,0,0
81,54,0,0
81,76,0,0
81,77,0,0
81,78,0,0
81,79,0,0
82,109,0,0
82,137,0,0
82,25,0,0
82,53,0,0
82,76,0,0
82,77,0,0
82,78,0,0
82,79,0,0
83,108,0,0
83,136,0,0
83,24,0,0
83,52,0,0
83,76,0,0
83,77,0,0
83,78,0,0
83,79,0,0
88,104,1,0
89,105,1,0
90,106,1,0
91,107,1,0
92,104,1,0
93,105,1,0
94,106,1,0
95,107,1,0
96,104,1,0
97,105,1,0
98,106,1,0
99,107,1,0
100,104,1,0
101,105,1,0
102,106,1,0
103,107,1,0
104,108,0,0
104,109,0,0
104,110,0,0
104,111,0,0
104,88,0,1
104,92,0,1
104,96,0,1
104,100,0,1
105,108,0,0
105,109,0,0
105,110,0,0
105,111,0,0
105,89,0,1
105,93,0,1
105,97,0,1
105,101,0,1
106,108,0,0
106,109,0,0
106,110,0,0
106,111,0,0
106,90,0,1
106,94,0,1
106,98,0,1
106,102,0,1
107,108,0,0
107,109,0,0
107,110,0,0
107,111,0,0
107,91,0,1
107,95,0,1
107,99,0,1
107,103,0,1
108,139,0,0
108,27,0,0
108,55,0,0
108,83,0,0
108,104,0,0
108,105,0,0
108,106,0,0
108,107,0,0
109,138,0,0
109,26,0,0
109,54,0,0
109,82,0,0
109,104,0,0
109,105,0,0
109,106,0,0
109,107,0,0
110,137,0,0
110,25,0,0
110,53,0,0
110,81,0,0
110,104,0,0
110,105,0,0
110,106,0,0
110,107,0,0
111,136,0,0
111,24,0,0
111,52,0,0
111,80,0,0
111,104,0,0
111,105,0,0
111,106,0,0
111,107,0,0
116,132,1,0
117,133,1,0
118,134,1,0
119,135,1,0
120,132,1,0
121,133,1,0
122,134,1,0
123,135,1,0
124,132,1,0
125,133,1,0
126,134,1,0
127,135,1,0
128,132,1,0
129,133,1,0
130,134,1,0
131,135,1,0
132,136,0,0
132,137,0,0
132,138,0,0
132,139,0,0
132,116,0,1
132,120,0,1
132,124,0,1
132,128,0,1
133,136,0,0
133,137,0,0
133,138,0,0
133,139,0,0
133,117,0,1
133,121,0,1
133,125,0,1
133,129,0,1
134,136,0,0
134,137,0,0
134,138,0,0
134,139,0,0
134,118,0,1
134,122,0,1
134,126,0,1
134,130,0,1
135,136,0,0
135,137,0,0
135,138,0,0
135,139,0,0
135,119,0,1
135,123,0,1
135,127,0,1
135,131,0,1
136,27,0,0
136,55,0,0
136,83,0,0
136,111,0,0
136,132,0,0
136,133,0,0
136,134,0,0
136,135,0,0
137,26,0,0
137,54,0,0
137,82,0,0
137,110,0,0
137,132,0,0
137,133,0,0
137,134,0,0
137,135,0,0
138,25,0,0
138,53,0,0
138,81,0,0
138,109,0,0
138,132,0,0
138,133,0,0
138,134,0,0
138,135,0,0
139,24,0,0
139,52,0,0
139,80,0,0
139,108,0,0
139,132,0,0
139,133,0,0
139,134,0,0
139,135,0,0
......@@ -13,7 +13,7 @@ LPGROUPS
PARAMS
{
adaptive_threshold="8192";
minimal-bias="1";
# minimal-bias="1";
df-dally-vc = "1";
# packet size in the network
packet_size="4096";
......@@ -58,6 +58,5 @@ PARAMS
# network config file for inter-group connections
inter-group-connections="/home/mubarak/codes-online/codes/src/network-workloads/conf/dragonfly-custom/dfdally_8k_inter";
# routing protocol to be used
# routing="minimal";
routing="prog-adaptive";
}
......@@ -16,11 +16,11 @@
#include "codes/configuration.h"
#include "codes/lp-type-lookup.h"
#define PAYLOAD_SZ 2048
static int net_id = 0;
static int traffic = 1;
static double arrival_time = 1000.0;
static int PAYLOAD_SZ = 2048;
/* whether to pull instead of push */
static int num_servers_per_rep = 0;
......@@ -116,6 +116,7 @@ const tw_optdef app_opt [] =
TWOPT_GROUP("Model net synthetic traffic " ),
TWOPT_UINT("traffic", traffic, "UNIFORM RANDOM=1, NEAREST NEIGHBOR=2 "),
TWOPT_UINT("num_messages", num_msgs, "Number of messages to be generated per terminal "),
TWOPT_UINT("payload_sz",PAYLOAD_SZ, "size of the message being sent "),
TWOPT_STIME("sampling-interval", sampling_interval, "the sampling interval "),
TWOPT_STIME("sampling-end-time", sampling_end_time, "sampling end time "),
TWOPT_STIME("arrival_time", arrival_time, "INTER-ARRIVAL TIME"),
......@@ -181,6 +182,11 @@ static void handle_kickoff_rev_event(
if(b->c8)
tw_rand_reverse_unif(lp->rng);
if(traffic == RANDOM_OTHER_GROUP) {
tw_rand_reverse_unif(lp->rng);
tw_rand_reverse_unif(lp->rng);
}
model_net_event_rc2(lp, &m->event_rc);
ns->msg_sent_count--;
tw_rand_reverse_unif(lp->rng);
......@@ -340,8 +346,8 @@ static void svr_finalize(
{
ns->end_ts = tw_now(lp);
printf("server %llu recvd %d bytes in %f seconds, %f MiB/s sent_count %d recvd_count %d local_count %d \n", (unsigned long long)lp->gid, PAYLOAD_SZ*ns->msg_recvd_count, ns_to_s(ns->end_ts-ns->start_ts),
((double)(PAYLOAD_SZ*ns->msg_sent_count)/(double)(1024*1024)/ns_to_s(ns->end_ts-ns->start_ts)), ns->msg_sent_count, ns->msg_recvd_count, ns->local_recvd_count);
//printf("server %llu recvd %d bytes in %f seconds, %f MiB/s sent_count %d recvd_count %d local_count %d \n", (unsigned long long)lp->gid, PAYLOAD_SZ*ns->msg_recvd_count, ns_to_s(ns->end_ts-ns->start_ts),
// ((double)(PAYLOAD_SZ*ns->msg_sent_count)/(double)(1024*1024)/ns_to_s(ns->end_ts-ns->start_ts)), ns->msg_sent_count, ns->msg_recvd_count, ns->local_recvd_count);
return;
}
......
......@@ -16,10 +16,10 @@
#include "codes/configuration.h"
#include "codes/lp-type-lookup.h"
#define PAYLOAD_SZ 2048
static int net_id = 0;
static int traffic = 1;
static int PAYLOAD_SZ = 2048;
static double arrival_time = 1000.0;
/* whether to pull instead of push */
......@@ -114,6 +114,7 @@ const tw_optdef app_opt [] =
{
TWOPT_GROUP("Model net synthetic traffic " ),
TWOPT_UINT("traffic", traffic, "UNIFORM RANDOM=1, NEAREST NEIGHBOR=2 "),
TWOPT_UINT("payload_sz",PAYLOAD_SZ, "size of the message being sent "),
TWOPT_UINT("num_messages", num_msgs, "Number of messages to be generated per terminal "),
TWOPT_STIME("sampling-interval", sampling_interval, "the sampling interval "),
TWOPT_STIME("sampling-end-time", sampling_end_time, "sampling end time "),
......@@ -350,8 +351,8 @@ static void svr_finalize(
{
ns->end_ts = tw_now(lp);
printf("server %llu recvd %d bytes in %f seconds, %f MiB/s sent_count %d recvd_count %d local_count %d \n", (unsigned long long)lp->gid, PAYLOAD_SZ*ns->msg_recvd_count, ns_to_s(ns->end_ts-ns->start_ts),
((double)(PAYLOAD_SZ*ns->msg_sent_count)/(double)(1024*1024)/ns_to_s(ns->end_ts-ns->start_ts)), ns->msg_sent_count, ns->msg_recvd_count, ns->local_recvd_count);
// printf("server %llu recvd %d bytes in %f seconds, %f MiB/s sent_count %d recvd_count %d local_count %d \n", (unsigned long long)lp->gid, PAYLOAD_SZ*ns->msg_recvd_count, ns_to_s(ns->end_ts-ns->start_ts),
// ((double)(PAYLOAD_SZ*ns->msg_sent_count)/(double)(1024*1024)/ns_to_s(ns->end_ts-ns->start_ts)), ns->msg_sent_count, ns->msg_recvd_count, ns->local_recvd_count);
return;
}
......
This diff is collapsed.
......@@ -3017,18 +3017,18 @@ static Connection do_dfp_routing(router_state *s,
if (poss_next_stops.size() < 1)
tw_error(TW_LOC, "MINIMAL DEAD END\n");
int rand_sel = tw_rand_integer(lp->rng, 0, poss_next_stops.size() -1 );
return poss_next_stops[rand_sel];
// ConnectionType conn_type = poss_next_stops[0].conn_type;
// Connection best_min_conn;
// if (conn_type == CONN_GLOBAL) {
// int rand_sel = tw_rand_integer(lp->rng, 0, poss_next_stops.size() -1);
// return poss_next_stops[rand_sel];
// }
// else
// best_min_conn = get_absolute_best_connection_from_conns(s, bf, msg, lp, poss_next_stops); //gets absolute best
// return best_min_conn;
// int rand_sel = tw_rand_integer(lp->rng, 0, poss_next_stops.size() -1 );
// return poss_next_stops[rand_sel];
ConnectionType conn_type = poss_next_stops[0].conn_type;
Connection best_min_conn;
if (conn_type == CONN_GLOBAL) {
int rand_sel = tw_rand_integer(lp->rng, 0, poss_next_stops.size() -1);
return poss_next_stops[rand_sel];
}
else
best_min_conn = get_absolute_best_connection_from_conns(s, bf, msg, lp, poss_next_stops); //gets absolute best
return best_min_conn;
}
else { //routing algorithm is specified in routing
......
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