Commit 6cbfff60 authored by Misbah Mubarak's avatar Misbah Mubarak

Updates to torus network model (a) adding bubble flow control (b) credit based flow control updated

parent b1f0e3cc
...@@ -33,7 +33,11 @@ struct nodes_message ...@@ -33,7 +33,11 @@ struct nodes_message
/* message saved collective time */ /* message saved collective time */
tw_stime saved_collective_init_time; tw_stime saved_collective_init_time;
/* for saving recv and total times*/
tw_stime saved_recv_time;
tw_stime saved_total_time;
/* packet ID */ /* packet ID */
unsigned long long packet_ID; unsigned long long packet_ID;
/* event type of the message */ /* event type of the message */
......
...@@ -25,5 +25,5 @@ PARAMS ...@@ -25,5 +25,5 @@ PARAMS
global_bandwidth="4.7"; global_bandwidth="4.7";
cn_bandwidth="5.25"; cn_bandwidth="5.25";
message_size="552"; message_size="552";
routing="minimal"; routing="adaptive";
} }
...@@ -10,7 +10,7 @@ LPGROUPS ...@@ -10,7 +10,7 @@ LPGROUPS
PARAMS PARAMS
{ {
packet_size="512"; packet_size="512";
message_size="488"; message_size="552";
modelnet_order=( "torus" ); modelnet_order=( "torus" );
# scheduler options # scheduler options
modelnet_scheduler="fcfs"; modelnet_scheduler="fcfs";
......
...@@ -25,5 +25,5 @@ PARAMS ...@@ -25,5 +25,5 @@ PARAMS
global_bandwidth="4.7"; global_bandwidth="4.7";
cn_bandwidth="5.25"; cn_bandwidth="5.25";
message_size="512"; message_size="512";
routing="minimal"; routing="nonminimal";
} }
...@@ -163,8 +163,8 @@ static void handle_kickoff_rev_event( ...@@ -163,8 +163,8 @@ static void handle_kickoff_rev_event(
if(m->incremented_flag) if(m->incremented_flag)
return; return;
ns->msg_sent_count--;
model_net_event_rc(net_id, lp, PAYLOAD_SZ); model_net_event_rc(net_id, lp, PAYLOAD_SZ);
ns->msg_sent_count--;
tw_rand_reverse_unif(lp->rng); tw_rand_reverse_unif(lp->rng);
} }
static void handle_kickoff_event( static void handle_kickoff_event(
...@@ -222,8 +222,6 @@ static void handle_kickoff_event( ...@@ -222,8 +222,6 @@ static void handle_kickoff_event(
ns->msg_sent_count++; ns->msg_sent_count++;
model_net_event(net_id, "test", global_dest, PAYLOAD_SZ, 0.0, sizeof(svr_msg), (const void*)m_remote, sizeof(svr_msg), (const void*)m_local, lp); model_net_event(net_id, "test", global_dest, PAYLOAD_SZ, 0.0, sizeof(svr_msg), (const void*)m_remote, sizeof(svr_msg), (const void*)m_local, lp);
ns->msg_sent_count++;
issue_event(ns, lp); issue_event(ns, lp);
return; return;
} }
......
...@@ -316,7 +316,7 @@ static int dragonfly_hash_func(void *k, int table_size) ...@@ -316,7 +316,7 @@ static int dragonfly_hash_func(void *k, int table_size)
struct dfly_hash_key *tmp = (struct dfly_hash_key *)k; struct dfly_hash_key *tmp = (struct dfly_hash_key *)k;
uint32_t pc = 0, pb = 0; uint32_t pc = 0, pb = 0;
bj_hashlittle2(tmp, sizeof(*tmp), &pc, &pb); bj_hashlittle2(tmp, sizeof(*tmp), &pc, &pb);
return (int)(pc % (table_size - 1)); return (int)(pc % (uint32_t)(table_size - 1));
} }
/* convert GiB/s and bytes to ns */ /* convert GiB/s and bytes to ns */
...@@ -1316,7 +1316,9 @@ void packet_arrive_rc(terminal_state * s, tw_bf * bf, terminal_message * msg, tw ...@@ -1316,7 +1316,9 @@ void packet_arrive_rc(terminal_state * s, tw_bf * bf, terminal_message * msg, tw
if(bf->c7) if(bf->c7)
{ {
assert(!hash_link); if(hash_link)
printf("\n Num chunks %d ", tmp->num_chunks);
//assert(!hash_link);
s->finished_msgs--; s->finished_msgs--;
total_msg_sz -= msg->total_size; total_msg_sz -= msg->total_size;
N_finished_msgs--; N_finished_msgs--;
...@@ -1405,12 +1407,6 @@ void packet_arrive(terminal_state * s, tw_bf * bf, terminal_message * msg, ...@@ -1405,12 +1407,6 @@ void packet_arrive(terminal_state * s, tw_bf * bf, terminal_message * msg,
int num_chunks = msg->packet_size / s->params->chunk_size; int num_chunks = msg->packet_size / s->params->chunk_size;
int total_chunks = msg->total_size / s->params->chunk_size; int total_chunks = msg->total_size / s->params->chunk_size;
if(msg->chunk_id == num_chunks - 1)
{
bf->c31 = 1;
s->packet_fin++;
packet_fin++;
}
if(msg->total_size % s->params->chunk_size) if(msg->total_size % s->params->chunk_size)
total_chunks++; total_chunks++;
...@@ -1429,6 +1425,12 @@ void packet_arrive(terminal_state * s, tw_bf * bf, terminal_message * msg, ...@@ -1429,6 +1425,12 @@ void packet_arrive(terminal_state * s, tw_bf * bf, terminal_message * msg,
if(msg->path_type == NON_MINIMAL) if(msg->path_type == NON_MINIMAL)
nonmin_count++; nonmin_count++;
if(msg->chunk_id == num_chunks - 1)
{
bf->c31 = 1;
s->packet_fin++;
packet_fin++;
}
if(msg->path_type != MINIMAL && msg->path_type != NON_MINIMAL) if(msg->path_type != MINIMAL && msg->path_type != NON_MINIMAL)
printf("\n Wrong message path type %d ", msg->path_type); printf("\n Wrong message path type %d ", msg->path_type);
......
This diff is collapsed.
...@@ -18,7 +18,7 @@ PARAMS ...@@ -18,7 +18,7 @@ PARAMS
n_dims="4"; n_dims="4";
dim_length="4,2,2,2"; dim_length="4,2,2,2";
link_bandwidth="2.0"; link_bandwidth="2.0";
buffer_size="16384"; buffer_size="4096";
num_vc="1"; num_vc="1";
chunk_size="32"; chunk_size="32";
} }
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