Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
codes
codes
Commits
bcc5ed8c
Commit
bcc5ed8c
authored
Aug 04, 2016
by
Noah Wolfe
Committed by
Nikhil
Aug 22, 2016
Browse files
Added swith data collection and output in fattree_switch_final() following dragonfly
parent
84e92ce1
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/networks/model-net/fattree.c
View file @
bcc5ed8c
...
...
@@ -255,6 +255,9 @@ struct switch_state
int64_t
*
link_traffic
;
tw_lpid
*
port_connections
;
char
output_buf
[
4096
];
char
output_buf2
[
4096
];
struct
rc_stack
*
st
;
char
*
anno
;
...
...
@@ -2179,17 +2182,60 @@ void fattree_terminal_final( ft_terminal_state * s, tw_lp * lp )
// free(s->children);
}
void
fattree_switch_final
(
switch_state
*
s
,
tw_lp
*
lp
)
{
if
(
s
->
unused
)
return
;
(
void
)
lp
;
rc_stack_destroy
(
s
->
st
);
void
fattree_switch_final
(
switch_state
*
s
,
tw_lp
*
lp
)
{
if
(
s
->
unused
)
return
;
(
void
)
lp
;
int
i
;
for
(
i
=
0
;
i
<
s
->
radix
;
i
++
)
{
if
(
s
->
queued_msgs
[
i
]
!=
NULL
)
{
printf
(
"[%llu] leftover queued messages %d %d
\n
"
,
LLU
(
lp
->
gid
),
i
,
s
->
vc_occupancy
[
i
]);
}
if
(
s
->
pending_msgs
[
i
]
!=
NULL
)
{
printf
(
"[%llu] lefover pending messages %d
\n
"
,
LLU
(
lp
->
gid
),
i
);
}
}
rc_stack_destroy
(
s
->
st
);
char
*
stats_file
=
getenv
(
"TRACER_LINK_FILE"
);
if
(
stats_file
!=
NULL
)
{
// const fattree_param *p = s->params;
int
written
=
0
;
if
(
!
s
->
switch_id
)
{
written
=
sprintf
(
s
->
output_buf
,
"# Format <LP ID> <Level ID> <Switch ID> <Busy time per switch port(s)>"
);
written
+=
sprintf
(
s
->
output_buf
+
written
,
"# Switch ports: %d
\n
"
,
s
->
radix
);
}
written
+=
sprintf
(
s
->
output_buf
+
written
,
"
\n
%llu %d %d"
,
LLU
(
lp
->
gid
),
s
->
switch_level
,
s
->
switch_id
);
for
(
int
d
=
0
;
d
<
s
->
radix
;
d
++
)
written
+=
sprintf
(
s
->
output_buf
+
written
,
" %lf"
,
s
->
busy_time
[
d
]);
lp_io_write
(
lp
->
gid
,
"fattree-switch-stats"
,
written
,
s
->
output_buf
);
written
=
0
;
if
(
!
s
->
switch_id
)
{
written
=
sprintf
(
s
->
output_buf2
,
"# Format <LP ID> <Level ID> <Switch ID> <Link traffic per switch port(s)>"
);
written
+=
sprintf
(
s
->
output_buf2
+
written
,
"# Switch ports: %d
\n
"
,
s
->
radix
);
}
written
+=
sprintf
(
s
->
output_buf2
+
written
,
"
\n
%llu %d %d"
,
LLU
(
lp
->
gid
),
s
->
switch_level
,
s
->
switch_id
);
for
(
int
d
=
0
;
d
<
s
->
radix
;
d
++
)
written
+=
sprintf
(
s
->
output_buf2
+
written
,
" %lld"
,
LLD
(
s
->
link_traffic
[
d
]));
lp_io_write
(
lp
->
gid
,
"fattree-router-traffic"
,
written
,
s
->
output_buf2
);
//Original Output with Tracer
// char *stats_file = getenv("TRACER_LINK_FILE");
// if(stats_file != NULL) {
int
rank
;
MPI_Comm_rank
(
MPI_COMM_WORLD
,
&
rank
);
char
file_name
[
512
];
sprintf
(
file_name
,
"%s.%d"
,
stats_file
,
rank
);
sprintf
(
file_name
,
"%s.%d"
,
"tracer_
stats_file
"
,
rank
);
FILE
*
fout
=
fopen
(
file_name
,
"a"
);
// fattree_param *p = s->params;
//int result = flock(fileno(fout), LOCK_EX);
...
...
@@ -2200,7 +2246,7 @@ void fattree_switch_final(switch_state * s, tw_lp * lp) {
fprintf
(
fout
,
"
\n
"
);
//result = flock(fileno(fout), LOCK_UN);
fclose
(
fout
);
}
//
}
}
/* Update the buffer space associated with this switch LP */
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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