SST/macro
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
sstmac::hw::fat_tree_router Class Reference

The fat_tree_router class Router encapsulating the special routing computations that must occur on a fat tree topology. More...

#include <fat_tree_router.h>

Inheritance diagram for sstmac::hw::fat_tree_router:
Inheritance graph
Collaboration diagram for sstmac::hw::fat_tree_router:
Collaboration graph

Public Member Functions

virtual ~fat_tree_router ()
 
 fat_tree_router ()
 
virtual void finalize_init ()
 
virtual void productive_paths_to_switch (switch_id dst, structured_routable::path_set &paths)
 
void init_factory_params (sprockit::sim_parameters *params)
 
void set_topology (topology *top)
 set_topology Set the topology to be used for route computations. More...
 
virtual std::string to_string () const
 
virtual void route (packet *pkt)
 
- Public Member Functions inherited from sstmac::hw::structured_router
virtual ~structured_router ()
 
virtual void set_switch (network_switch *sw)
 set_switch Set the parent switch using this router to perform route computations More...
 
void minimal_route_to_node (node_id node_addr, structured_routable::path &path)
 
void minimal_routes_to_node (node_id node_addr, structured_routable::path &current_path, structured_routable::path_set &paths)
 minimal_routes_to_node Special version of routing function that computes all possible minimal paths. More...
 

Protected Member Functions

void build_rng ()
 build_rng Build the random number generator for selecting paths More...
 
virtual void minimal_route_to_switch (switch_id sw_addr, structured_routable::path &path)
 
int choose_up_minimal_path ()
 choose_up_path More...
 
int number_minimal_paths (packet *pkt) const
 number_paths More...
 
- Protected Member Functions inherited from sstmac::hw::structured_router
 structured_router (routing::algorithm_t algo)
 

Protected Attributes

int l_
 
int k_
 
int myL_
 
int logicalid_
 
std::map< long, int > inports_
 
RNG::Comborng_
 
long num_leaf_switches_reachable_
 
long num_leaf_switches_per_path_
 
long level_relative_id_
 
long min_reachable_leaf_id_
 
long max_reachable_leaf_id_
 
long seed_
 
int numpicked_
 
int pickstart_
 
int numpicktop_
 
int pickstarttop_
 
- Protected Attributes inherited from sstmac::hw::structured_router
structured_topologyregtop_
 

Detailed Description

The fat_tree_router class Router encapsulating the special routing computations that must occur on a fat tree topology.

Definition at line 26 of file fat_tree_router.h.

Constructor & Destructor Documentation

virtual sstmac::hw::fat_tree_router::~fat_tree_router ( )
virtual
sstmac::hw::fat_tree_router::fat_tree_router ( )
inline

Definition at line 32 of file fat_tree_router.h.

References finalize_init(), init_factory_params(), productive_paths_to_switch(), and set_topology().

Here is the call graph for this function:

Member Function Documentation

void sstmac::hw::fat_tree_router::build_rng ( )
protected

build_rng Build the random number generator for selecting paths

Referenced by to_string().

int sstmac::hw::fat_tree_router::choose_up_minimal_path ( )
protected

choose_up_path

Returns
The selected path from the redundant (equivalent) set of minimal paths

Referenced by to_string().

virtual void sstmac::hw::fat_tree_router::finalize_init ( )
virtual

Referenced by fat_tree_router().

void sstmac::hw::fat_tree_router::init_factory_params ( sprockit::sim_parameters *  params)

Referenced by fat_tree_router().

virtual void sstmac::hw::fat_tree_router::minimal_route_to_switch ( switch_id  sw_addr,
structured_routable::path path 
)
protectedvirtual

Reimplemented from sstmac::hw::structured_router.

Reimplemented in sstmac::hw::fat_tree_dmodk_router.

Referenced by to_string().

int sstmac::hw::fat_tree_router::number_minimal_paths ( packet pkt) const
protected

number_paths

Parameters
pktThe packet being routed by the fat-tree
Returns
The number of equivalent paths the packet can traverse on a minimal path to its destination switch.

Referenced by to_string().

virtual void sstmac::hw::fat_tree_router::productive_paths_to_switch ( switch_id  dst,
structured_routable::path_set paths 
)
virtual

Reimplemented from sstmac::hw::structured_router.

Reimplemented in sstmac::hw::fat_tree_dmodk_router.

Referenced by fat_tree_router().

virtual void sstmac::hw::fat_tree_router::route ( packet pkt)
virtual
void sstmac::hw::fat_tree_router::set_topology ( topology top)
virtual

set_topology Set the topology to be used for route computations.

This should always call the parent router::set_topology function.

Parameters
top

Reimplemented from sstmac::hw::structured_router.

Referenced by fat_tree_router().

virtual std::string sstmac::hw::fat_tree_router::to_string ( ) const
inlinevirtual

Member Data Documentation

std::map<long, int> sstmac::hw::fat_tree_router::inports_
protected

Definition at line 96 of file fat_tree_router.h.

int sstmac::hw::fat_tree_router::k_
protected

Definition at line 91 of file fat_tree_router.h.

int sstmac::hw::fat_tree_router::l_
protected

Definition at line 90 of file fat_tree_router.h.

long sstmac::hw::fat_tree_router::level_relative_id_
protected

Definition at line 101 of file fat_tree_router.h.

int sstmac::hw::fat_tree_router::logicalid_
protected

Definition at line 94 of file fat_tree_router.h.

long sstmac::hw::fat_tree_router::max_reachable_leaf_id_
protected

Definition at line 103 of file fat_tree_router.h.

long sstmac::hw::fat_tree_router::min_reachable_leaf_id_
protected

Definition at line 102 of file fat_tree_router.h.

int sstmac::hw::fat_tree_router::myL_
protected

Definition at line 93 of file fat_tree_router.h.

long sstmac::hw::fat_tree_router::num_leaf_switches_per_path_
protected

Definition at line 100 of file fat_tree_router.h.

long sstmac::hw::fat_tree_router::num_leaf_switches_reachable_
protected

Definition at line 99 of file fat_tree_router.h.

int sstmac::hw::fat_tree_router::numpicked_
protected

Definition at line 106 of file fat_tree_router.h.

int sstmac::hw::fat_tree_router::numpicktop_
protected

Definition at line 109 of file fat_tree_router.h.

int sstmac::hw::fat_tree_router::pickstart_
protected

Definition at line 107 of file fat_tree_router.h.

int sstmac::hw::fat_tree_router::pickstarttop_
protected

Definition at line 110 of file fat_tree_router.h.

RNG::Combo* sstmac::hw::fat_tree_router::rng_
protected

Definition at line 97 of file fat_tree_router.h.

long sstmac::hw::fat_tree_router::seed_
protected

Definition at line 104 of file fat_tree_router.h.


The documentation for this class was generated from the following file: