SST/macro
|
The structured_router class Implements a router that computes path on-the-fly using the geometry of the topology rather than using a table-based scheme with a table stored in the router. More...
#include <structured_router.h>
Public Member Functions | |
virtual | ~structured_router () |
virtual void | set_topology (topology *top) |
set_topology Set the topology to be used for route computations. More... | |
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 ¤t_path, structured_routable::path_set &paths) |
minimal_routes_to_node Special version of routing function that computes all possible minimal paths. More... | |
virtual void | minimal_route_to_switch (switch_id sw_addr, structured_routable::path &path) |
virtual void | productive_paths_to_switch (switch_id dst, structured_routable::path_set &paths) |
Protected Member Functions | |
structured_router (routing::algorithm_t algo) | |
Protected Attributes | |
structured_topology * | regtop_ |
The structured_router class Implements a router that computes path on-the-fly using the geometry of the topology rather than using a table-based scheme with a table stored in the router.
For example, a computation is performed on 3D torus coordinates to determine if +/- X,Y,Z is the required direction rather than just looking up port numbers in a table.
Definition at line 20 of file structured_router.h.
|
inlinevirtual |
Definition at line 25 of file structured_router.h.
References minimal_route_to_node(), minimal_route_to_switch(), minimal_routes_to_node(), productive_paths_to_switch(), set_switch(), and set_topology().
|
inlineprotected |
Definition at line 74 of file structured_router.h.
void sstmac::hw::structured_router::minimal_route_to_node | ( | node_id | node_addr, |
structured_routable::path & | path | ||
) |
Referenced by ~structured_router().
|
virtual |
Reimplemented in sstmac::hw::fat_tree_router, and sstmac::hw::fat_tree_dmodk_router.
Referenced by ~structured_router().
void sstmac::hw::structured_router::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.
node_addr | ||
[in,out] | current_path | Metadata about the path taken so far. This may contain history information about previous steps |
[inout[ | paths The set of all available minimal paths |
Referenced by ~structured_router().
|
virtual |
Reimplemented in sstmac::hw::fat_tree_router, and sstmac::hw::fat_tree_dmodk_router.
Referenced by ~structured_router().
|
virtual |
set_switch Set the parent switch using this router to perform route computations
sw |
Referenced by ~structured_router().
|
virtual |
set_topology Set the topology to be used for route computations.
This should always call the parent router::set_topology function.
top |
Reimplemented in sstmac::hw::fat_tree_router, and sstmac::hw::minimal_router.
Referenced by ~structured_router().
|
protected |
Definition at line 77 of file structured_router.h.