Commit 425c61af authored by Philip Carns's avatar Philip Carns

updates to loggp modeling with netgauge parameters

parent d9e32252
......@@ -23,11 +23,13 @@
* utilize the modelnet packetization; we are using loggp calculations to
* account for the packet size instead.
*/
/* TODO: make these values configurable. */
#define PACKET_SIZE 2048
/* cutoff point for small vs. large messages */
/* TODO: make these values configurable. */
#define SMALL_MSG_LIMIT (16*1024)
/* NOTE: we set this to 1 because the netgauge parameters are already
* 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*/
......@@ -332,8 +334,6 @@ static void handle_msg_ready_event(
if(m->net_msg_size_bytes < SMALL_MSG_LIMIT)
{
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;
/* scale to nanoseconds */
recv_time *= 1000.0;
......@@ -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;
/* 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)
{
max = param->g;
if(max < param->o_s)
max = param->o_s;
xmit_time = param->L + param->o_s + ceil((double)m->net_msg_size_bytes/(double)PACKET_SIZE) * max;
xmit_time = param->L + ceil((double)m->net_msg_size_bytes/(double)PACKET_SIZE) * max;
/* scale to nanoseconds */
xmit_time *= 1000.0;
#if 0
printf("FOO: xmit time small msg %d: %f\n", m->net_msg_size_bytes,
xmit_time);
#endif
}
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 */
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;
......@@ -458,7 +469,7 @@ static void handle_msg_start_event(
stat->max_event_size = total_event_size;
/* 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 */
if(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)
printf("Parsed %d loggp table entries.\n", param_table_size);
fclose(conf);
/* TODO: implement logic here to read in parameter table */
return;
}
......@@ -640,18 +650,14 @@ static struct param_table_entry* find_params(int msg_size)
for(i=0; i<param_table_size; i++)
{
if(param_table[i].size >= msg_size)
if(param_table[i].size > msg_size)
{
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]);
}
......
# 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 g,G: plot "./loggp.out" using 1:($4-$3)/($2-1)
1 10 14.808012 23.333868 156.914438 7.404006 0.981590 1.141012 -nan -nan -nan
2 10 13.742155 22.383496 146.210875 7.404006 0.976591 1.098196 0.934486 0.012832 -nan
4 10 12.924765 21.973551 138.645390 7.404006 1.044193 1.095872 0.924681 0.019835 0.005241
8 10 11.384472 20.677225 123.314448 7.404006 1.052192 1.084834 0.940152 0.012321 0.013077
16 10 11.342977 21.071672 123.410935 7.404006 1.109018 1.130161 0.951884 0.008612 0.016655
32 10 11.457962 21.260646 124.747756 7.404006 1.129793 1.144713 0.973209 0.004386 0.032412
64 10 11.719927 21.659093 127.430396 7.404006 1.136792 1.170096 0.991259 0.002213 0.041169
128 10 11.804915 22.375497 129.049678 7.404006 1.222280 1.145099 1.001103 0.001512 0.041815
256 10 13.432197 23.105899 144.382620 7.404006 1.117850 1.093533 1.027014 0.000443 0.066552
512 10 8.763824 24.549705 103.596595 7.404006 1.773151 1.189402 0.991407 0.001280 0.102904
1024 10 15.899366 27.493310 170.216153 7.404006 1.246944 1.290923 1.054646 0.000445 0.185469
2048 10 19.003449 33.349524 203.059244 7.404006 1.447195 1.485973 1.075264 0.000294 0.184461
4096 10 22.441488 44.961965 240.784681 7.404006 1.818867 2.101015 1.064050 0.000339 0.178781
8192 10 36.238636 81.254594 385.212295 7.404006 2.536215 4.873412 1.011231 0.000455 0.234274
16384 10 46.691233 214.602195 635.162746 7.404006 18.694491 18.819061 0.586577 0.000960 1.371910
32768 10 61.253278 303.695737 855.563662 7.404006 27.003431 27.019775 0.783380 0.000834 1.476254
65536 10 93.797910 482.427246 1327.299844 7.404006 43.257860 43.283355 1.221707 0.000684 2.089341
131072 10 158.744693 840.460690 2269.619861 7.404006 75.796993 75.846122 1.724786 0.000592 2.722938
262144 10 288.637758 1556.380596 4155.473234 7.404006 141.010628 140.995320 1.011231 0.000455 0.234274
262144 10 288.637758 1556.380596 4155.473234 7.404006 141.010628 140.995320 10.644914 0.000497 0.017238
524288 10 549.248277 2988.072427 7933.336652 7.404006 271.205986 271.215606 10.663002 0.000497 0.024217
1048576 10 1070.331835 5852.195492 15487.185740 7.404006 531.540821 531.617631 10.664016 0.000497 0.021018
2097152 10 2112.284980 11578.275412 30589.163185 7.404006 1051.812599 1051.927087 10.687907 0.000496 0.043017
4194304 10 4196.219765 23031.642589 60798.076909 7.404006 2092.875474 2092.972381 10.699357 0.000496 0.044684
8388608 10 8378.002467 46010.836219 121412.269999 7.404006 4181.360592 4182.670389 10.167781 0.000497 1.111365
16777216 10 17433.712969 95761.253994 252648.489383 7.404006 8701.262189 8699.889137 -14.956107 0.000515 57.824706
33554432 10 34848.237013 191513.816154 505118.956661 7.404006 17404.065170 17400.277571 -23.546009 0.000519 58.593438
67108864 10 69644.583991 382900.477375 1009692.411541 7.404006 34805.174626 34805.581962 -25.120100 0.000519 55.747174
1 10 13.564364 23.296190 145.577438 6.782182 1.103756 1.139558 -nan -nan -nan
2 10 10.835693 20.580017 118.670184 6.782182 1.145917 1.065402 1.079925 0.001389 -nan
4 10 10.735705 20.484529 117.675804 6.782182 1.146528 1.063513 1.081064 0.000575 0.000609
8 10 10.747203 20.617513 117.817787 6.782182 1.149528 1.074179 1.077706 0.002206 0.002756
16 10 10.759702 20.967970 118.463209 6.782182 1.207354 1.102286 1.073280 0.003606 0.005321
32 10 10.931181 21.189944 120.230495 6.782182 1.213187 1.119839 1.080806 0.002114 0.011232
64 10 11.082663 21.583896 121.991783 6.782182 1.240573 1.145113 1.086758 0.001398 0.013922
128 10 11.701588 22.392299 128.420507 6.782182 1.267180 1.111118 1.094414 0.000852 0.019101
256 10 13.472875 23.059718 145.150489 6.782182 1.157971 1.062125 1.114874 0.000008 0.046259
512 10 14.446257 24.651526 155.175780 6.782182 1.190356 1.131615 1.113806 0.000033 0.043341
1024 10 16.113556 27.557675 172.642173 6.782182 1.278512 1.285648 1.106072 0.000135 0.045205
2048 10 19.063200 33.683436 203.746420 6.782182 1.457158 1.639430 1.092658 0.000233 0.056011
4096 10 22.789751 45.267039 244.407515 6.782182 1.834445 2.498140 1.070237 0.000324 0.083482
8192 10 36.220630 80.697765 386.739844 6.782182 2.725949 4.945954 1.014836 0.000446 0.185841
16384 10 48.877603 232.637435 672.385384 6.782182 20.401039 20.446942 0.510600 0.001046 1.616826
32768 10 63.042395 321.088764 889.309714 6.782182 28.765085 28.606877 0.745427 0.000895 1.744113
65536 10 95.652461 500.378635 1361.557242 6.782182 45.003626 44.938579 1.261368 0.000718 2.463565
131072 10 161.029573 858.876386 2309.186921 6.782182 77.654576 77.532271 1.856250 0.000609 3.214761
262144 10 291.792798 1576.610299 4204.233303 6.782182 142.922813 142.748761 1.014836 0.000446 0.185841
262144 10 291.792798 1576.610299 4204.233303 6.782182 142.922813 142.748761 12.367868 0.000497 0.016563
524288 10 553.715200 3012.974516 7998.916515 6.782182 273.529390 273.232457 12.342976 0.000498 0.030305
1048576 10 1076.085682 5885.232009 15570.722056 6.782182 534.429471 534.305111 12.307899 0.000498 0.054481
2097152 10 2121.096112 11628.027201 30718.045190 6.782182 1056.342674 1056.235504 12.306141 0.000498 0.048812
4194304 10 4211.871382 23098.325430 61007.023143 6.782182 2098.701036 2098.418256 12.487616 0.000497 0.340886
8388608 10 8397.165970 46001.042957 121577.640934 6.782182 4178.442359 4178.549648 13.069435 0.000497 1.255869
16777216 10 17430.019251 95456.029732 252305.462495 6.782182 8667.252220 8668.194296 -9.934403 0.000513 52.949713
33554432 10 34820.004832 190768.231316 504142.590490 6.782182 17326.949130 17327.251131 -17.247905 0.000516 53.163341
67108864 10 69484.623910 381163.430634 1006536.866896 6.782182 34632.291978 34632.047832 -17.796392 0.000516 50.456685
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