SimGrid  3.16
Versatile Simulation of Distributed Systems
simgrid::kernel::routing::FatTreeNode Class Reference

Detailed Description

A node in a fat tree (FatTreeZone).

A FatTreeNode can either be a switch or a processing node. Switches are identified by a negative ID. This class is closely related to fat

#include <FatTreeZone.hpp>

Public Member Functions

 FatTreeNode (sg_platf_cluster_cbarg_t cluster, int id, int level, int position)
 

Public Attributes

int id
 Unique ID which identifies every node. More...
 
unsigned int level
 
unsigned int position
 
std::vector< unsigned int > label
 In order to link nodes between them, each one must be assigned a label, consisting of l integers, l being the levels number of the tree. More...
 
std::vector< FatTreeLink * > children
 Links to the lower level, where the position in the vector corresponds to a port number. More...
 
std::vector< FatTreeLink * > parents
 Links to the upper level, where the position in the vector corresponds to a port number. More...
 
surf::LinkImpllimiterLink
 Virtual link standing for the node global capacity. More...
 
surf::LinkImplloopback
 If present, communications from this node to this node will pass through it instead of passing by an upper level switch. More...
 

Constructor & Destructor Documentation

◆ FatTreeNode()

simgrid::kernel::routing::FatTreeNode::FatTreeNode ( sg_platf_cluster_cbarg_t  cluster,
int  id,
int  level,
int  position 
)

Member Data Documentation

◆ id

int simgrid::kernel::routing::FatTreeNode::id

Unique ID which identifies every node.

◆ level

unsigned int simgrid::kernel::routing::FatTreeNode::level

◆ position

unsigned int simgrid::kernel::routing::FatTreeNode::position

◆ label

std::vector<unsigned int> simgrid::kernel::routing::FatTreeNode::label

In order to link nodes between them, each one must be assigned a label, consisting of l integers, l being the levels number of the tree.

Each label is unique in the level, and the way it is generated allows the construction of a fat tree which fits the desired topology.

◆ children

std::vector<FatTreeLink*> simgrid::kernel::routing::FatTreeNode::children

Links to the lower level, where the position in the vector corresponds to a port number.

◆ parents

std::vector<FatTreeLink*> simgrid::kernel::routing::FatTreeNode::parents

Links to the upper level, where the position in the vector corresponds to a port number.

◆ limiterLink

surf::LinkImpl* simgrid::kernel::routing::FatTreeNode::limiterLink

Virtual link standing for the node global capacity.

◆ loopback

surf::LinkImpl* simgrid::kernel::routing::FatTreeNode::loopback

If present, communications from this node to this node will pass through it instead of passing by an upper level switch.


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