Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Xin Wang
codes-dev
Commits
425c61af
Commit
425c61af
authored
Oct 16, 2013
by
Philip Carns
Browse files
updates to loggp modeling with netgauge parameters
parent
d9e32252
Changes
2
Show whitespace changes
Inline
Side-by-side
src/models/networks/model-net/loggp.c
View file @
425c61af
...
@@ -23,11 +23,13 @@
...
@@ -23,11 +23,13 @@
* utilize the modelnet packetization; we are using loggp calculations to
* utilize the modelnet packetization; we are using loggp calculations to
* account for the packet size instead.
* account for the packet size instead.
*/
*/
/* TODO: make these values configurable. */
#define PACKET_SIZE 2048
/* cutoff point for small vs. large messages */
/* cutoff point for small vs. large messages */
/* TODO: make these values configurable. */
/* NOTE: we set this to 1 because the netgauge parameters are already
#define SMALL_MSG_LIMIT (16*1024)
* compensating for small message parameters, so we use the same formula for
* all message sizes.
*/
#define SMALL_MSG_LIMIT (1)
#define PACKET_SIZE 2048
/*Define loggp data types and structs*/
/*Define loggp data types and structs*/
...
@@ -332,8 +334,6 @@ static void handle_msg_ready_event(
...
@@ -332,8 +334,6 @@ static void handle_msg_ready_event(
if
(
m
->
net_msg_size_bytes
<
SMALL_MSG_LIMIT
)
if
(
m
->
net_msg_size_bytes
<
SMALL_MSG_LIMIT
)
{
{
max
=
param
->
g
;
max
=
param
->
g
;
if
(
max
<
param
->
o_r
)
max
=
param
->
o_r
;
recv_time
=
ceil
((
double
)
m
->
net_msg_size_bytes
/
(
double
)
PACKET_SIZE
)
*
max
;
recv_time
=
ceil
((
double
)
m
->
net_msg_size_bytes
/
(
double
)
PACKET_SIZE
)
*
max
;
/* scale to nanoseconds */
/* scale to nanoseconds */
recv_time
*=
1000
.
0
;
recv_time
*=
1000
.
0
;
...
@@ -431,20 +431,31 @@ static void handle_msg_start_event(
...
@@ -431,20 +431,31 @@ static void handle_msg_start_event(
total_event_size
=
loggp_get_msg_sz
()
+
m
->
event_size_bytes
+
m
->
local_event_size_bytes
;
total_event_size
=
loggp_get_msg_sz
()
+
m
->
event_size_bytes
+
m
->
local_event_size_bytes
;
/* NOTE: we do not use the o_s or o_r parameters here; as indicated in
* the netgauge paper those are typically overlapping with L (and the
* msg xfer as well) and therefore are more important for overlapping
* computation rather than simulating communication time.
*/
if
(
m
->
net_msg_size_bytes
<
SMALL_MSG_LIMIT
)
if
(
m
->
net_msg_size_bytes
<
SMALL_MSG_LIMIT
)
{
{
max
=
param
->
g
;
max
=
param
->
g
;
if
(
max
<
param
->
o_s
)
xmit_time
=
param
->
L
+
ceil
((
double
)
m
->
net_msg_size_bytes
/
(
double
)
PACKET_SIZE
)
*
max
;
max
=
param
->
o_s
;
xmit_time
=
param
->
L
+
param
->
o_s
+
ceil
((
double
)
m
->
net_msg_size_bytes
/
(
double
)
PACKET_SIZE
)
*
max
;
/* scale to nanoseconds */
/* scale to nanoseconds */
xmit_time
*=
1000
.
0
;
xmit_time
*=
1000
.
0
;
#if 0
printf("FOO: xmit time small msg %d: %f\n", m->net_msg_size_bytes,
xmit_time);
#endif
}
}
else
else
{
{
xmit_time
=
param
->
L
+
param
->
o_s
+
((
double
)(
m
->
net_msg_size_bytes
-
1
)
*
param
->
G
);
xmit_time
=
param
->
L
+
((
double
)(
m
->
net_msg_size_bytes
-
1
)
*
param
->
G
);
/* scale to nanoseconds */
/* scale to nanoseconds */
xmit_time
*=
1000
.
0
;
xmit_time
*=
1000
.
0
;
#if 0
printf("FOO: xmit time large msg %d: %f\n", m->net_msg_size_bytes,
xmit_time);
#endif
}
}
m
->
xmit_time_saved
=
xmit_time
;
m
->
xmit_time_saved
=
xmit_time
;
...
@@ -458,7 +469,7 @@ static void handle_msg_start_event(
...
@@ -458,7 +469,7 @@ static void handle_msg_start_event(
stat
->
max_event_size
=
total_event_size
;
stat
->
max_event_size
=
total_event_size
;
/* calculate send time stamp */
/* calculate send time stamp */
send_queue_time
=
(
param
->
L
+
param
->
o_s
)
*
1000
.
0
;
send_queue_time
=
(
param
->
L
)
*
1000
.
0
;
/* bump up time if the NIC send queue isn't idle right now */
/* bump up time if the NIC send queue isn't idle right now */
if
(
ns
->
net_send_next_idle
>
tw_now
(
lp
))
if
(
ns
->
net_send_next_idle
>
tw_now
(
lp
))
send_queue_time
+=
ns
->
net_send_next_idle
-
tw_now
(
lp
);
send_queue_time
+=
ns
->
net_send_next_idle
-
tw_now
(
lp
);
...
@@ -617,7 +628,6 @@ static void loggp_setup(const void* net_params)
...
@@ -617,7 +628,6 @@ static void loggp_setup(const void* net_params)
printf
(
"Parsed %d loggp table entries.
\n
"
,
param_table_size
);
printf
(
"Parsed %d loggp table entries.
\n
"
,
param_table_size
);
fclose
(
conf
);
fclose
(
conf
);
/* TODO: implement logic here to read in parameter table */
return
;
return
;
}
}
...
@@ -640,18 +650,14 @@ static struct param_table_entry* find_params(int msg_size)
...
@@ -640,18 +650,14 @@ static struct param_table_entry* find_params(int msg_size)
for
(
i
=
0
;
i
<
param_table_size
;
i
++
)
for
(
i
=
0
;
i
<
param_table_size
;
i
++
)
{
{
if
(
param_table
[
i
].
size
>
=
msg_size
)
if
(
param_table
[
i
].
size
>
msg_size
)
{
{
break
;
break
;
}
}
}
}
if
(
i
>=
param_table_size
)
i
=
param_table_size
-
1
;
/* TODO: THIS IS A HACK */
/* need to understand why the o_s and o_r values don't work as
* expected...
*/
param_table
[
i
].
o_s
=
0
;
param_table
[
i
].
o_r
=
0
;
return
(
&
param_table
[
i
]);
return
(
&
param_table
[
i
]);
}
}
...
...
tests/ng-mpi-tukey.dat
View file @
425c61af
# size n PRTT(1,0,s) PRTT(n,0,s) PRTT(n,PRTT(1,0,s),s) L o_s o_r g G lsqu(g,G)
# size n PRTT(1,0,s) PRTT(n,0,s) PRTT(n,PRTT(1,0,s),s) L o_s o_r g G lsqu(g,G)
# to get o: plot "./loggp.out" using 1:(($5-$3)/($2-1)-$3)
# to get o: plot "./loggp.out" using 1:(($5-$3)/($2-1)-$3)
# to get g,G: plot "./loggp.out" using 1:($4-$3)/($2-1)
# to get g,G: plot "./loggp.out" using 1:($4-$3)/($2-1)
1 10 1
4.808012 23.333868 156.914438 7.404006 0.981590 1.141012
-nan -nan -nan
1 10 1
3.564364 23.296190 145.577438 6.782182 1.103756 1.139558
-nan -nan -nan
2 10 1
3.742155 22.383496 146.210875 7.404006 0.976
591 1.0
98196 0.934486
0.01
2832
-nan
2 10 1
0.835693 20.580017 118.670184 6.782182 1.14
591
7
1.0
65402 1.079925
0.
0
01
389
-nan
4 10 1
2.924765 21.973551 138.645390 7.404006 1.044193 1.095872 0.924681 0.01983
5 0.00
5241
4 10 1
0.735705 20.484529 117.675804 6.782182 1.146528 1.063513 1.081064 0.00057
5 0.00
0609
8 10 1
1.384
472 20.6
77225 123.314448 7.404006 1.052192 1.084834 0.940152 0.012321 0.013077
8 10 1
0.7
472
03
20.6
17513 117.817787 6.782182 1.149528 1.074179 1.077706 0.002206 0.002756
16 10 1
1.342977 21.071672 123.410935 7.404006 1.109018 1.130161 0.951884 0.008612 0.016655
16 10 1
0.759702 20.967970 118.463209 6.782182 1.207354 1.102286 1.073280 0.003606 0.005321
32 10 1
1.457962 21.260646 124.747756 7.404006 1.129793 1.144713 0.97320
9
0
.0
0438
6 0.0
3241
2
32 10 1
0.931181 21.189944 120.230495 6.782182 1.213187 1.11983
9
1
.0
8080
6 0.0
02114 0.01123
2
64 10 11.
719927 21.659093 127.430396 7.404006 1.136792 1.170096 0.991259 0.002213 0.041169
64 10 11.
082663 21.583896 121.991783 6.782182 1.240573 1.145113 1.086758 0.001398 0.013922
128 10 11.
804915 22.375497 129.049678 7.404006 1.222280 1.145099 1.001103
0.00
151
2 0.0
41815
128 10 11.
701588 22.392299 128.420507 6.782182 1.267180 1.111118 1.094414
0.00
085
2 0.0
19101
256 10 13.4
32197
23.
1
05
899 144.382620 7.404006 1.117850 1.093533 1.02701
4 0.000
443
0.0
66552
256 10 13.4
72875
23.05
9718 145.150489 6.782182 1.157971 1.062125 1.11487
4 0.000
008
0.0
46259
512 10
8.763824 24.549705 103.596595 7.404006 1.773151 1.189402 0.991407 0.001280 0.102904
512 10
14.446257 24.651526 155.175780 6.782182 1.190356 1.131615 1.113806 0.000033 0.043341
1024 10 1
5.899366 27.493310 170.216153 7.404006 1.246944 1.290923 1.054646
0.000
44
5 0.
185469
1024 10 1
6.113556 27.557675 172.642173 6.782182 1.278512 1.285648 1.106072
0.000
13
5 0.
045205
2048 10 19.0
03449 33.349524 203.059244 7.404006
1.4
4
71
9
5 1.
485973 1.075264
0.0002
94
0.
18446
1
2048 10 19.0
63200 33.683436 203.746420 6.782182
1.4
5
715
8
1.
639430 1.092658
0.0002
33
0.
05601
1
4096 10 22.
441488 44.961965 240.784681 7.404006 1.818867 2.101015 1.064050
0.0003
39
0.
178781
4096 10 22.
789751 45.267039 244.407515 6.782182 1.834445 2.498140 1.070237
0.0003
24
0.
083482
8192 10 36.2
38
63
6
8
1.254594 385.212295 7.404006 2.536215 4.873412
1.01
1231
0.0004
55
0.
234274
8192 10 36.2
20
63
0
8
0.697765 386.739844 6.782182 2.725949 4.945954
1.01
4836
0.0004
46
0.
185841
16384 10 4
6.691233 214.602195 635.162746 7.404006 18.694491 18.819061 0.586577 0.000960 1.371910
16384 10 4
8.877603 232.637435 672.385384 6.782182 20.401039 20.446942 0.510600 0.001046 1.616826
32768 10 6
1.253278 303.695737 855.563662 7.404006 27.003431 27.019
77
5
0.7
83380
0.0008
34
1.
476254
32768 10 6
3.042395 321.088764 889.309714 6.782182 28.765085 28.6068
77 0.7
45427
0.0008
95
1.
744113
65536 10 9
3.797910 482.427246 1327.299844 7.404006 43.257860 43.283355 1.221707 0.000684 2.089341
65536 10 9
5.652461 500.378635 1361.557242 6.782182 45.003626 44.938579 1.261368 0.000718 2.463565
131072 10 1
58.744693 840.460690 2269.619861 7.404006 75.796993 75.846122 1.724786 0.000592 2.722938
131072 10 1
61.029573 858.876386 2309.186921 6.782182 77.654576 77.532271 1.856250 0.000609 3.214761
262144 10 2
88.63775
8 15
5
6.
380596 4155.473234 7.404006 141.010628
14
0
.9
95320
1.01
1231
0.0004
55
0.
234274
262144 10 2
91.79279
8 15
7
6.
610299 4204.233303 6.782182
14
2
.9
22813 142.748761
1.01
4836
0.0004
46
0.
185841
262144 10 2
88.63775
8 15
5
6.
380596 4155.473234 7.404006 141.010628
14
0
.9
95320 10.644914
0.000497 0.01
7238
262144 10 2
91.79279
8 15
7
6.
610299 4204.233303 6.782182
14
2
.9
22813 142.748761 12.367868
0.000497 0.01
6563
524288 10 5
49.248277 2988.072427 7933.336652 7.404006 271.205986
27
1
.2
15606 10.663002
0.00049
7
0.0
24217
524288 10 5
53.715200 3012.974516 7998.916515 6.782182 273.529390
27
3
.2
32457 12.342976
0.00049
8
0.0
30305
1048576 10 107
0.331835
585
2.195492 15487.185740 7.404006 531.540821 531.617631 10.664016
0.00049
7
0.0
21018
1048576 10 107
6.085682
58
8
5
.232009 15570.722056 6.782182 534.429471 534.305111 12.307899
0.00049
8
0.0
54481
2097152 10 21
12.284980
11
57
8.27
5412 30589.163185 7.404006 1051.812599 1051.927087 10.687907
0.00049
6
0.04
3017
2097152 10 21
21.096112
11
62
8.
0
27
201 30718.045190 6.782182 1056.342674 1056.235504 12.306141
0.00049
8
0.04
8812
4194304 10 4
196.219765 23031.642589 60798.076909 7.404006 2092.875474 2092.972381 10.699357
0.00049
6
0.
044684
4194304 10 4
211.871382 23098.325430 61007.023143 6.782182 2098.701036 2098.418256 12.487616
0.00049
7
0.
340886
8388608 10 83
78.002467 46010.836219 121412.269999 7.404006 4181.360
59
2
41
82.670389 10.167781
0.000497 1.
111365
8388608 10 83
97.165970 46001.042957 121577.640934 6.782182 4178.4423
59 41
78.549648 13.069435
0.000497 1.
255869
16777216 10 1743
3.712969 95761.253994 252648.489383 7.404006 8701.262189 8699.889137 -14.956107
0.00051
5
5
7.824706
16777216 10 1743
0.019251 95456.029732 252305.462495 6.782182 8667.252220 8668.194296 -9.934403
0.00051
3
5
2.949713
33554432 10 348
48.237013 191513.816154 505118.956661 7.404006 17404.065170 17400.277571 -23.546009
0.00051
9
5
8.593438
33554432 10 348
20.004832 190768.231316 504142.590490 6.782182 17326.949130 17327.251131 -17.247905
0.00051
6
5
3.163341
67108864 10 69
644.5839
91 38
2900.477375 1009692.411541 7.404006 34805.174626 34805.581962 -25.120100
0.00051
9
5
5.747174
67108864 10 69
484.623
91
0
38
1163.430634 1006536.866896 6.782182 34632.291978 34632.047832 -17.796392
0.00051
6
5
0.456685
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