SimGrid  3.13
Versatile Simulation of Distributed Systems
simgrid::surf::FatTreeNode Class Reference

A node in a fat tree. More...

#include <AsClusterFatTree.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...
 
LinklimiterLink
 Virtual link standing for the node global capacity. More...
 
Linkloopback
 If present, communications from this node to this node will pass through it instead of passing by an upper level switch. More...
 

Detailed Description

A node in a fat tree.

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

Constructor & Destructor Documentation

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

Member Data Documentation

int simgrid::surf::FatTreeNode::id

Unique ID which identifies every node.

unsigned int simgrid::surf::FatTreeNode::level
unsigned int simgrid::surf::FatTreeNode::position
std::vector<unsigned int> simgrid::surf::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.

std::vector<FatTreeLink*> simgrid::surf::FatTreeNode::children

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

std::vector<FatTreeLink*> simgrid::surf::FatTreeNode::parents

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

Link* simgrid::surf::FatTreeNode::limiterLink

Virtual link standing for the node global capacity.

Link* simgrid::surf::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: