Hermes  0.9.5-beta
Hierarchical Distributed I/O Buffering System
hermes::Device Struct Reference

#include <buffer_pool.h>

Public Attributes

f32 bandwidth_mbps
 
f32 latency_ns
 
DeviceID id
 
bool is_byte_addressable
 
bool has_fallocate
 
bool is_shared
 
char mount_point [kMaxPathLength]
 

Detailed Description

Information about a specific hardware Device.

This could represent local RAM, remote RAM, NVMe, burst buffers, a parallel file system, etc. The Devices are initialized when the BufferPool is initialized, and they remain throughout a Hermes run.

Member Data Documentation

◆ bandwidth_mbps

f32 hermes::Device::bandwidth_mbps

The device's theoretical bandwidth in MiB/second.

◆ latency_ns

f32 hermes::Device::latency_ns

The device's theoretical latency in nanoseconds.

◆ id

DeviceID hermes::Device::id

The Device's identifier. This is an index into the array of Devices stored in the BufferPool.

◆ is_byte_addressable

bool hermes::Device::is_byte_addressable

True if the Device is a RAM Device (or other byte addressable, local or remote)

◆ has_fallocate

bool hermes::Device::has_fallocate

True if the functionality of posix_fallocate is available on this Device

◆ is_shared

bool hermes::Device::is_shared

True if the device is shared among multiple ranks (e.g., burst buffers)

◆ mount_point

char hermes::Device::mount_point[kMaxPathLength]

The directory where buffering files can be created. Zero terminated.


The documentation for this struct was generated from the following file: