NebulaStream  0.6.213
NebulaStream is a data and application management framework for the internet of things
NES::Runtime::HardwareManager Class Reference

This class is responsible to look up OS/HW specs of the underlying hardware, e.g., numa. More...

#include <HardwareManager.hpp>

Classes

struct  CpuDescriptor
 Descriptor for a single core. More...
 
class  NumaDescriptor
 Descriptor for a single numa node. More...
 

Public Member Functions

 HardwareManager ()
 Creates a new HW manager with a mapping of the CPU/Mem topology. More...
 
NesDefaultMemoryAllocatorPtr getGlobalAllocator () const
 Returns the global posix-based memory allocator. More...
 
bool bindThreadToCore (pthread_t thread, uint32_t numaIndex, uint32_t coreId)
 Binds the given pthread to a specific core of a given numa region. More...
 
uint32_t getNumaNodeForCore (int coreId) const
 Returns the numa region for a particular core. More...
 

Detailed Description

This class is responsible to look up OS/HW specs of the underlying hardware, e.g., numa.

Constructor & Destructor Documentation

◆ HardwareManager()

NES::Runtime::HardwareManager::HardwareManager ( )
explicit

Creates a new HW manager with a mapping of the CPU/Mem topology.

References NES::Runtime::detail::readCpuConfig().

Here is the call graph for this function:

Member Function Documentation

◆ bindThreadToCore()

bool NES::Runtime::HardwareManager::bindThreadToCore ( pthread_t  thread,
uint32_t  numaIndex,
uint32_t  coreId 
)

Binds the given pthread to a specific core of a given numa region.

Parameters
threadthe pthread handle
numaIndexthe numa index
coreIdthe core id
Returns
true if was successful

References NES_ASSERT2_FMT.

◆ getGlobalAllocator()

NesDefaultMemoryAllocatorPtr NES::Runtime::HardwareManager::getGlobalAllocator ( ) const

Returns the global posix-based memory allocator.

Returns

◆ getNumaNodeForCore()

uint32_t NES::Runtime::HardwareManager::getNumaNodeForCore ( int  coreId) const

Returns the numa region for a particular core.

Returns
numa region

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