Commit 2088171c authored by Noah Wolfe's avatar Noah Wolfe

Merge remote-tracking branch 'fattree-remote/master' into fattree-merge

parents b9138d68 fa409abd
......@@ -36,3 +36,8 @@
# generated files from test runs
ross.csv
install-mastiff/include/codes/model-net-method.h
configure.ac
configure.ac
configure.ac
\ No newline at end of file
......@@ -23,6 +23,7 @@ extern "C" {
#include "model-net-sched.h"
#include "net/dragonfly.h"
#include "net/slimfly.h"
#include "net/fattree.h"
#include "net/loggp.h"
#include "net/simplenet-upd.h"
#include "net/simplep2p.h"
......@@ -123,7 +124,8 @@ typedef struct model_net_wrap_msg {
union {
model_net_base_msg m_base; // base lp
terminal_message m_dfly; // dragonfly
slim_terminal_message m_slim; // slimfly
slim_terminal_message m_slim; // slimfly
fattree_message m_fat; // fattree
loggp_message m_loggp; // loggp
sn_message m_snet; // simplenet
sp_message m_sp2p; // simplep2p
......
......@@ -61,6 +61,7 @@ typedef struct mn_stats mn_stats;
X(SIMPLEP2P, "modelnet_simplep2p", "simplep2p", &simplep2p_method)\
X(TORUS, "modelnet_torus", "torus", &torus_method)\
X(SLIMFLY, "modelnet_slimfly", "slimfly", &slimfly_method)\
X(FATTREE, "modelnet_fattree", "fattree", &fattree_method)\
X(DRAGONFLY, "modelnet_dragonfly", "dragonfly", &dragonfly_method)\
X(DRAGONFLY_ROUTER, "modelnet_dragonfly_router", "dragonfly_router", &dragonfly_router_method)\
X(LOGGP, "modelnet_loggp", "loggp", &loggp_method)\
......
#ifndef FATTREE_H
#define FATTREE_H
#include <ross.h>
/* Global variable for modelnet output directory name */
char *modelnet_stats_dir;
typedef struct fattree_message fattree_message;
/* this message is used for both fattree compute nodes and routers */
struct fattree_message
{
/* magic number */
int magic;
/* flit travel start time*/
tw_stime travel_start_time;
/* packet ID of the flit */
unsigned long long packet_ID;
/* event type of the flit */
short type;
/* category: comes from codes */
char category[CATEGORY_NAME_MAX];
/* final destination LP ID, this comes from codes can be a server or any other LP type*/
tw_lpid final_dest_gid;
/*sending LP ID from CODES, can be a server or any other LP type */
tw_lpid sender_lp;
tw_lpid sender_mn_lp; // source modelnet id
/* destination terminal ID of the message */
// int dest_num; replaced with dest_terminal_id
tw_lpid dest_terminal_id;
/* source terminal ID of the fattree */
unsigned int src_terminal_id;
/* Intermediate LP ID from which this message is coming */
unsigned int intm_lp_id;
short saved_vc;
short saved_off;
int last_hop;
int intm_id; //to find which port I connect to sender with
/* message originating router id */
unsigned int origin_switch_id;
/* number of hops traversed by the packet */
short my_N_hop;
// For buffer message
short vc_index;
short vc_off;
int is_pull;
model_net_event_return event_rc;
uint64_t pull_size;
/* for reverse computation */
int path_type;
tw_stime saved_available_time;
tw_stime saved_credit_time;
uint64_t packet_size;
tw_stime msg_start_time;
tw_stime saved_busy_time;
tw_stime saved_sample_time;
tw_stime saved_avg_time;
tw_stime saved_rcv_time;
tw_stime saved_total_time;
/* For routing */
uint64_t chunk_id;
uint64_t total_size;
uint64_t message_id;
/* meta data to aggregate packets into a message at receiver */
uint64_t msg_size;
uint64_t src_nic;
uint64_t uniq_id;
uint64_t saved_size;
int remote_event_size_bytes;
int local_event_size_bytes;
};
#endif /* end of include guard: FATTREE_H */
......@@ -25,6 +25,7 @@ EXTRA_DIST += src/iokernellang/codesparser.y.in \
src/network-workloads/conf/allocation-random.conf \
src/network-workloads/conf/modelnet-synthetic-dragonfly.conf \
src/network-workloads/conf/modelnet-synthetic-slimfly-min.conf \
src/network-workloads/conf/modelnet-synthetic-fattree.conf \
src/networks/model-net/doc/README \
src/networks/model-net/doc/README.dragonfly.txt \
src/networks/model-net/doc/README.loggp.txt \
......@@ -88,6 +89,7 @@ nobase_include_HEADERS = \
codes/model-net-inspect.h \
codes/net/dragonfly.h \
codes/net/slimfly.h \
codes/net/fattree.h \
codes/net/loggp.h \
codes/net/simplenet-upd.h \
codes/net/simplep2p.h \
......@@ -148,6 +150,7 @@ src_libcodes_a_SOURCES = \
src/networks/model-net/torus.c \
src/networks/model-net/dragonfly.c \
src/networks/model-net/slimfly.c \
src/networks/model-net/fattree.c \
src/networks/model-net/loggp.c \
src/networks/model-net/simplep2p.c \
src/networks/model-net/model-net-lp.c \
......@@ -157,6 +160,7 @@ src_libcodes_a_SOURCES = \
src/network-workloads/model-net-mpi-replay.c \
src/network-workloads/model-net-synthetic.c \
src/network-workloads/model-net-synthetic-slimfly.c \
src/network-workloads/model-net-synthetic-fattree.c \
src/network-workloads/model-net-dumpi-traces-dump.c
......@@ -178,7 +182,7 @@ bin_PROGRAMS += src/network-workloads/model-net-mpi-replay
bin_PROGRAMS += src/network-workloads/model-net-dumpi-traces-dump
bin_PROGRAMS += src/network-workloads/model-net-synthetic
bin_PROGRAMS += src/network-workloads/model-net-synthetic-slimfly
bin_PROGRAMS += src/network-workloads/model-net-synthetic-fattree
src_workload_codes_workload_dump_SOURCES = \
src/workload/codes-workload-dump.c
......
LPGROUPS
{
MODELNET_GRP
{
repetitions="4"; #Number of leaf level switches
server="2";
modelnet_fattree="2";
fattree_switch="2";
}
}
PARAMS
{
ft_type="1"; # Only appears to be one type (type=0) in fattree.c
num_levels="2"; # Must be 1 < num_levels < 4
switch_count="2,4"; # Some sort of csv string. I'm thinking it's the number of switches per level
switch_radix="4,4"; # Another csv string. I'm thinking it's the radix of the switches per level. All switches within same level have same radix
packet_size="512";
modelnet_order=( "fattree" );
# scheduler options
modelnet_scheduler="fcfs";
chunk_size="32";
# modelnet_scheduler="round-robin";
num_vcs="1";
vc_size="16384";
cn_vc_size="16384";
link_bandwidth="5";
cn_bandwidth="5";
message_size="512";
routing="minimal";
router_delay="50";
soft_delay="1000";
}
LPGROUPS
{
MODELNET_GRP
{
repetitions="16";
server="4";
modelnet_fattree="4";
fattree_switch="3";
}
}
PARAMS
{
ft_type="1";
packet_size="512";
message_size="512";
chunk_size="32";
modelnet_scheduler="fcfs";
#modelnet_scheduler="round-robin";
modelnet_order=( "fattree" );
num_levels="3";
switch_count="16";
switch_radix="8";
router_delay="60";
soft_delay="1000";
vc_size="65536";
cn_vc_size="65536";
link_bandwidth="4.7";
cn_bandwidth="5.25";
}
This diff is collapsed.
This diff is collapsed.
......@@ -260,6 +260,8 @@ void model_net_base_configure(){
offsetof(model_net_wrap_msg, msg.m_dfly);
msg_offsets[SLIMFLY] =
offsetof(model_net_wrap_msg, msg.m_slim);
msg_offsets[FATTREE] =
offsetof(model_net_wrap_msg, msg.m_fat);
msg_offsets[LOGGP] =
offsetof(model_net_wrap_msg, msg.m_loggp);
......
......@@ -22,6 +22,7 @@ extern struct model_net_method simplep2p_method;
extern struct model_net_method torus_method;
extern struct model_net_method dragonfly_method;
extern struct model_net_method slimfly_method;
extern struct model_net_method fattree_method;
extern struct model_net_method dragonfly_router_method;
extern struct model_net_method loggp_method;
......
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