fattree.h 2.09 KB
Newer Older
1 2 3 4 5
#ifndef FATTREE_H
#define FATTREE_H

#include <ross.h>

6 7 8
/* Global variable for modelnet output directory name */
char *modelnet_stats_dir;

9 10
typedef struct fattree_message fattree_message;

11
/* this message is used for both fattree compute nodes and routers */
12 13
struct fattree_message
{
14 15 16 17
  /* magic number */
  int magic;
  /* flit travel start time*/
  tw_stime travel_start_time;
18 19 20 21 22 23 24 25 26 27
 /* 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;
28
  tw_lpid sender_mn_lp; // source modelnet id
29
 /* destination terminal ID of the message */
30 31
//  int dest_num; replaced with dest_terminal_id
  tw_lpid dest_terminal_id;
32 33 34 35 36 37 38 39 40
  /* 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

41 42 43
  /* message originating router id */
  unsigned int origin_switch_id;

44 45 46
  /* number of hops traversed by the packet */
  short my_N_hop;

47 48 49
  // For buffer message
  short vc_index;
  short vc_off;
50
  int is_pull;
51
  model_net_event_return event_rc;
52
  uint64_t pull_size;
53

54 55
  /* for reverse computation */    
  int path_type; 
56 57 58
  tw_stime saved_available_time;
  tw_stime saved_credit_time;
  uint64_t packet_size;
59
  tw_stime msg_start_time;
60
  tw_stime saved_busy_time;
61 62 63 64
  tw_stime saved_sample_time;
  tw_stime saved_avg_time;
  tw_stime saved_rcv_time;
  tw_stime saved_total_time;
65 66

  /* For routing */
67
  uint64_t chunk_id;
68 69
  uint64_t total_size;
  uint64_t message_id;
70 71 72 73 74 75 76 77 78 79 80 81 82 83
   
  /* 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 */