Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Xin Wang
codes-dev
Commits
18a0ae2a
Commit
18a0ae2a
authored
Mar 18, 2016
by
Noah Wolfe
Browse files
Moved input of generator sets to config file.
parent
562bdbbd
Changes
2
Hide whitespace changes
Inline
Side-by-side
src/network-workloads/conf/modelnet-synthetic-slimfly-min.conf
View file @
18a0ae2a
...
...
@@ -2,25 +2,27 @@ LPGROUPS
{
MODELNET_GRP
{
repetitions
=
"50"
;
# The number of repetitions of this modelnet group
server
=
"3"
;
# The number of servers attached to a terminal (should always equal num_terminals)
modelnet_slimfly
=
"3"
;
# The number of terminals attached to a router
slimfly_router
=
"1"
;
# The number of routers in a modelnet group
repetitions
=
"50"
;
server
=
"3"
;
modelnet_slimfly
=
"3"
;
slimfly_router
=
"1"
;
}
}
PARAMS
{
packet_size
=
"256"
;
# Size of packets/messages in the simulation
packet_size
=
"256"
;
modelnet_order
=(
"slimfly"
);
# scheduler options
modelnet_scheduler
=
"fcfs"
;
chunk_size
=
"256"
;
# modelnet_scheduler="round-robin";
num_vcs
=
"4"
;
num_routers
=
"5"
;
# The number of routers in a slimfly group
num_terminals
=
"3"
;
# The number of terminals connected to a router (should be same as "modelnet_slimfly" above)
num_routers
=
"5"
;
num_terminals
=
"3"
;
global_channels
=
"5"
;
local_channels
=
"2"
;
generator_set_X
=(
"1"
,
"4"
);
# : Subgraph 0 generator set
generator_set_X_prime
=(
"2"
,
"3"
);
# : Subgraph 1 generator set
local_vc_size
=
"25600"
;
global_vc_size
=
"25600"
;
cn_vc_size
=
"25600"
;
...
...
@@ -29,6 +31,6 @@ PARAMS
cn_bandwidth
=
"9.0"
;
router_delay
=
"0"
;
link_delay
=
"0"
;
message_size
=
"512"
;
# Upper bound on MPI message size in ROSS
message_size
=
"512"
;
routing
=
"minimal"
;
}
src/networks/model-net/slimfly.c
View file @
18a0ae2a
...
...
@@ -35,7 +35,7 @@
#define DEBUG 1
#define DEBUG_ROUTING 0
#define USE_DIRECT_SCHEME 1
#define LOAD_FROM_FILE
1
#define LOAD_FROM_FILE
0
#define LP_CONFIG_NM (model_net_lp_config_names[SLIMFLY])
#define LP_METHOD_NM (model_net_method_names[SLIMFLY])
...
...
@@ -48,31 +48,26 @@
#define PARAMS_LOG 1
#define N_COLLECT_POINTS 100
//MMS7
#define TEMP_NUM_GROUPS 10
#define TEMP_NUM_ROUTERS 50
#define TEMP_NUM_TERMINALS 150
#define TEMP_RADIX 10
#define TEMP_NUM_VC 4
//MMS19
/*#define TEMP_NUM_GROUPS 26
#define TEMP_NUM_ROUTERS 338
/*#define TEMP_NUM_ROUTERS 338
#define TEMP_NUM_TERMINALS 3042
#define TEMP_RADIX 28
#define TEMP_NUM_VC 4
*/
//MMS43
//#define TEMP_NUM_GROUPS 58
//#define TEMP_NUM_ROUTERS 1682
//#define TEMP_NUM_TERMINALS 18502
//#define TEMP_RADIX 43
//#define TEMP_NUM_VC 4
//MMS55
//#define TEMP_NUM_GROUPS 37
//#define TEMP_NUM_ROUTERS 2738
//#define TEMP_NUM_TERMINALS 73926
//#define TEMP_RADIX 82
//#define TEMP_NUM_VC 4
//MMS245
//#define TEMP_NUM_GROUPS 326
//#define TEMP_NUM_ROUTERS 53138
//#define TEMP_NUM_TERMINALS 1009622
//#define TEMP_RADIX 263
...
...
@@ -108,8 +103,8 @@ float adaptive_threshold = 0.1;
float
pe_throughput_percent
=
0
.
0
;
float
pe_throughput
=
0
.
0
;
// MMS7 q=5 Slimfly basic configuration parameters
static
int
X
[]
=
{
1
,
4
};
// : Subgraph 0 generator set
static
int
X_prime
[]
=
{
2
,
3
};
// : Subgraph 1 generator set
//
static int X[] = {1,4}; // : Subgraph 0 generator set
//
static int X_prime[] = {2,3}; // : Subgraph 1 generator set
//#define GLOBAL_CHANNELS 13 //(h): Number of global channels per router
//#define LOCAL_CHANNELS 6 // : Number of local channels per router
//#define NUM_ROUTER 13 //(a): Number of routers in each group
...
...
@@ -122,6 +117,8 @@ static int X_prime[] = {2,3}; // : Subgraph 1 generator set
//#define NUM_TERMINALS 9 //(p): Number of terminal connections per router
//static int X[] = {1,10,9,12,3,4}; // : Subgraph 0 generator set
//static int X_prime[] = {6,8,2,7,5,11}; // : Subgraph 1 generator set
int
*
X
;
int
*
X_prime
;
// MMS43 q=29 Slimfly basic configuration parameters
//static int X[] = {1,6,7,13,20,4,24,28,23,22,16,9,25,5};
...
...
@@ -603,6 +600,36 @@ static void slimfly_read_config(const char * anno, slimfly_param *params){
fprintf
(
stderr
,
"Router delay not specified, setting to %lf
\n
"
,
p
->
router_delay
);
}
char
**
values
;
size_t
length
;
int
ret
=
configuration_get_multivalue
(
&
config
,
"PARAMS"
,
"generator_set_X"
,
anno
,
&
values
,
&
length
);
if
(
ret
!=
1
)
tw_error
(
TW_LOC
,
"unable to read PARAMS:generator_set_X
\n
"
);
if
(
length
<
2
)
fprintf
(
stderr
,
"generator set X less than 2 elements
\n
"
);
X
=
(
int
*
)
malloc
(
sizeof
(
int
)
*
length
);
for
(
size_t
i
=
0
;
i
<
length
;
i
++
)
{
X
[
i
]
=
atoi
(
values
[
i
]);
printf
(
"X[%d]:%d
\n
"
,
i
,
X
[
i
]);
}
free
(
values
);
ret
=
configuration_get_multivalue
(
&
config
,
"PARAMS"
,
"generator_set_X_prime"
,
anno
,
&
values
,
&
length
);
if
(
ret
!=
1
)
tw_error
(
TW_LOC
,
"unable to read PARAMS:generator_set_X_prime
\n
"
);
if
(
length
<
2
)
fprintf
(
stderr
,
"generator set X_prime less than 2 elements
\n
"
);
X_prime
=
(
int
*
)
malloc
(
sizeof
(
int
)
*
length
);
for
(
size_t
i
=
0
;
i
<
length
;
i
++
)
{
X_prime
[
i
]
=
atoi
(
values
[
i
]);
printf
(
"X_prime[%d]:%d
\n
"
,
i
,
X_prime
[
i
]);
}
free
(
values
);
char
routing_str
[
MAX_NAME_LENGTH
];
configuration_get_value
(
&
config
,
"PARAMS"
,
"routing"
,
anno
,
routing_str
,
MAX_NAME_LENGTH
);
...
...
@@ -1021,7 +1048,7 @@ void slim_router_setup(router_state * r, tw_lp * lp)
int
local_idx
=
0
;
int
global_idx
=
0
;
int
generator_size
=
sizeof
(
X
)
/
sizeof
(
int
);
printf
(
"generator size:%d
\n
"
,
generator_size
);
//
printf("generator size:%d\n",generator_size);
for
(
rid_d
=
0
;
rid_d
<
r
->
params
->
slim_total_routers
;
rid_d
++
)
{
...
...
@@ -1060,7 +1087,7 @@ printf("generator size:%d\n",generator_size);
if
(
abs
(
j_s
-
j_d
)
==
X
[
k
])
{
r
->
local_channel
[
local_idx
++
]
=
rid_d
;
printf
(
"router%d,router%d
\n
"
,
rid_s
,
rid_d
);
//
printf("router%d,router%d\n",rid_s,rid_d);
}
}
}
...
...
@@ -1071,7 +1098,7 @@ printf("generator size:%d\n",generator_size);
if
(
j_s
==
(
i_d
*
i_s
+
j_d
)
%
r
->
params
->
num_routers
)
// equation (3) y=mx+c
{
r
->
global_channel
[
global_idx
++
]
=
rid_d
;
printf
(
"router%d,router%d
\n
"
,
rid_s
,
rid_d
);
//
printf("router%d,router%d\n",rid_s,rid_d);
}
}
}
...
...
@@ -1114,7 +1141,7 @@ printf("generator size:%d\n",generator_size);
if
(
abs
(
j_s
-
j_d
)
==
X_prime
[
k
])
{
r
->
local_channel
[
local_idx
++
]
=
rid_d
;
printf
(
"router%d,router%d
\n
"
,
rid_s
,
rid_d
);
//
printf("router%d,router%d\n",rid_s,rid_d);
}
}
}
...
...
@@ -1125,7 +1152,7 @@ printf("generator size:%d\n",generator_size);
if
(
j_d
==
(
i_s
*
i_d
+
j_s
)
%
r
->
params
->
num_routers
)
// equation (3) y=mx+c
{
r
->
global_channel
[
global_idx
++
]
=
rid_d
;
printf
(
"router%d,router%d
\n
"
,
rid_s
,
rid_d
);
//
printf("router%d,router%d\n",rid_s,rid_d);
}
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment