Hermes  0.9.5-beta
Hierarchical Distributed I/O Buffering System
hermes::DPE Class Referenceabstract

#include <data_placement_engine.h>

Inheritance diagram for hermes::DPE:
Collaboration diagram for hermes::DPE:

Public Member Functions

 DPE (PlacementPolicy policy)
 
virtual Status Placement (const std::vector< size_t > &blob_sizes, const std::vector< u64 > &node_state, const std::vector< TargetID > &targets, const api::Context &ctx, std::vector< PlacementSchema > &output)=0
 

Public Attributes

std::vector< f32bandwidths
 

Protected Member Functions

std::vector< int > GetValidSplitChoices (size_t blob_size)
 
bool SplitBlob (size_t blob_size)
 
void GetSplitSizes (size_t blob_size, std::vector< size_t > &output)
 

Protected Attributes

PlacementPolicy policy_
 

Detailed Description

A class to represent data placement engine

Constructor & Destructor Documentation

◆ DPE()

hermes::DPE::DPE ( PlacementPolicy  policy)
inlineexplicit

constructor function

Member Function Documentation

◆ Placement()

virtual Status hermes::DPE::Placement ( const std::vector< size_t > &  blob_sizes,
const std::vector< u64 > &  node_state,
const std::vector< TargetID > &  targets,
const api::Context ctx,
std::vector< PlacementSchema > &  output 
)
pure virtual

set placement schema given BLOB sizes, node states, targets, and context.

Implemented in hermes::RoundRobin, hermes::Random, and hermes::MinimizeIoTime.

◆ GetValidSplitChoices()

std::vector< int > hermes::DPE::GetValidSplitChoices ( size_t  blob_size)
protected

get valid choices for splitting BLOB.

< KB

< KB

< KB

< MB

< MB

< MB

Here is the caller graph for this function:

◆ SplitBlob()

bool hermes::DPE::SplitBlob ( size_t  blob_size)
protected

< KB

Here is the caller graph for this function:

◆ GetSplitSizes()

void hermes::DPE::GetSplitSizes ( size_t  blob_size,
std::vector< size_t > &  output 
)
protected

get split sizes for blob_size.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ policy_

PlacementPolicy hermes::DPE::policy_
protected

data placement policy

◆ bandwidths

std::vector<f32> hermes::DPE::bandwidths

a vector of bandwidths


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