sys-sage
Loading...
Searching...
No Matches
Public Member Functions | List of all members
Node Class Reference

#include <Component.hpp>

Inheritance diagram for Node:
Component

Public Member Functions

 Node (int _id=0, string _name="Node")
 
 Node (Component *parent, int _id=0, string _name="Node")
 
int RefreshCpuCoreFrequency (bool keep_history=false)
 
int UpdateL3CATCoreCOS ()
 
- Public Member Functions inherited from Component
 Component (int _id=0, string _name="unknown", int _componentType=SYS_SAGE_COMPONENT_NONE)
 
 Component (Component *parent, int _id=0, string _name="unknown", int _componentType=SYS_SAGE_COMPONENT_NONE)
 
void InsertChild (Component *child)
 
int InsertBetweenParentAndChild (Component *parent, Component *child, bool alreadyParentsChild)
 
int InsertBetweenParentAndChildren (Component *parent, vector< Component * > children, bool alreadyParentsChild)
 
int RemoveChild (Component *child)
 
void SetParent (Component *parent)
 
void PrintSubtree ()
 
void PrintAllDataPathsInSubtree ()
 
string GetName ()
 
void SetName (string _name)
 
int GetId ()
 
int GetComponentType ()
 
string GetComponentTypeStr ()
 
vector< Component * > * GetChildren ()
 
ComponentGetParent ()
 
ComponentGetChild (int _id)
 
ComponentGetChildById (int _id)
 
ComponentGetChildByType (int _componentType)
 
vector< Component * > GetAllChildrenByType (int _componentType)
 
void GetAllChildrenByType (vector< Component * > *_outArray, int _componentType)
 
ComponentFindSubcomponentById (int _id, int _componentType)
 
ComponentGetSubcomponentById (int _id, int _componentType)
 
void GetAllSubcomponentsByType (vector< Component * > *outArray, int _componentType)
 
vector< Component * > GetAllSubcomponentsByType (int _componentType)
 
int CountAllSubcomponents ()
 
int CountAllSubcomponentsByType (int _componentType)
 
int CountAllChildrenByType (int _componentType)
 
ComponentGetAncestorByType (int _componentType)
 
int GetNumThreads ()
 
int GetSubtreeDepth ()
 
ComponentGetNthAncestor (int n)
 
void GetNthDescendents (vector< Component * > *outArray, int depth)
 
vector< Component * > GetNthDescendents (int depth)
 
void GetSubcomponentsByType (vector< Component * > *outArray, int componentType)
 
vector< Component * > GetSubcomponentsByType (int _componentType)
 
void GetComponentsInSubtree (vector< Component * > *outArray)
 
vector< Component * > GetComponentsInSubtree ()
 
vector< DataPath * > * GetDataPaths (int orientation)
 
DataPathGetDataPathByType (int dp_type, int orientation)
 
void GetAllDataPathsByType (vector< DataPath * > *outDpArr, int dp_type, int orientation)
 
vector< DataPath * > GetAllDataPathsByType (int dp_type, int orientation)
 
int CheckComponentTreeConsistency ()
 Checks the consistency of the component tree starting from this component.
 
int GetTopologySize (unsigned *out_component_size, unsigned *out_dataPathSize)
 
int GetDepth (bool refresh)
 
void DeleteDataPath (DataPath *dp)
 
void DeleteAllDataPaths ()
 
void DeleteSubtree ()
 
void Delete (bool withSubtree=true)
 

Additional Inherited Members

- Public Attributes inherited from Component
std::map< std::string, void * > attrib
 
- Protected Attributes inherited from Component
int id
 
int depth
 
string name
 
int count {-1}
 
const int componentType
 
vector< Component * > children
 
Componentparent { nullptr }
 
vector< DataPath * > dp_incoming
 
vector< DataPath * > dp_outgoing
 

Detailed Description

Class Node - represents a compute node.
This class is a child of Component class, therefore inherits its attributes and methods.

Constructor & Destructor Documentation

◆ Node() [1/2]

Node::Node ( int _id = 0,
string _name = "Node" )

Node constructor (no automatic insertion in the Component Tree). Sets:

Parameters
_id= id, default 0
_name= name, default "Node"
componentType=>SYS_SAGE_COMPONENT_NODE

◆ Node() [2/2]

Node::Node ( Component * parent,
int _id = 0,
string _name = "Node" )

Node constructor with insertion into the Component Tree as the parent 's child (as long as parent is an existing Component). Sets:

Parameters
parent= the parent
_id= id, default 0
_name= name, default "Node"
componentType=>SYS_SAGE_COMPONENT_NODE

Member Function Documentation

◆ RefreshCpuCoreFrequency()

int Node::RefreshCpuCoreFrequency ( bool keep_history = false)

Refreshes the CPU core frequency of the node.

Parameters
keep_history- If true, the history of the CPU core frequency will be kept.

◆ UpdateL3CATCoreCOS()

int Node::UpdateL3CATCoreCOS ( )


Creates/updates (bidirectional) data paths between all cores (class Thread) and their L3 cache segment (class Cache). The data paths of type SYS_SAGE_DATAPATH_TYPE_L3CAT contain the COS id (attrib with key "CATcos", value is of type uint64_t*) and the open L3 cache ways (attrib with key "CATL3mask", value is of type uint64_t*) to contain the current settings.
Each time the method is called, new DataPath objects get created, so the last one is always the most up-to-date.

Note: This function is defined only when sys-sage is compiled with INTEL_PQOS functionality (only for Intel CPUs).


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