Hermes
0.9.5-beta
Hierarchical Distributed I/O Buffering System
|
#include <data_placement_engine.h>
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< f32 > | bandwidths |
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_ |
A class to represent data placement engine
|
inlineexplicit |
constructor function
|
pure virtual |
set placement schema given BLOB sizes, node states, targets, and context.
Implemented in hermes::RoundRobin, hermes::Random, and hermes::MinimizeIoTime.
|
protected |
get valid choices for splitting BLOB.
< KB
< KB
< KB
< MB
< MB
< MB
|
protected |
< KB
|
protected |
get split sizes for blob_size.
|
protected |
data placement policy
std::vector<f32> hermes::DPE::bandwidths |
a vector of bandwidths