Hermes
0.9.5-beta
Hierarchical Distributed I/O Buffering System
|
#include <minimize_io_time.h>
Public Member Functions | |
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) |
Public Member Functions inherited from hermes::DPE | |
DPE (PlacementPolicy policy) | |
Private Member Functions | |
size_t | AbsDiff (size_t x, size_t y, bool &y_gt_x) |
void | PlaceBytes (size_t j, ssize_t bytes, std::vector< size_t > &vars_bytes, const std::vector< u64 > &node_state) |
void | GetPlacementRatios (const std::vector< u64 > &node_state, const api::Context &ctx) |
Private Attributes | |
std::vector< double > | placement_ratios_ |
Additional Inherited Members | |
Public Attributes inherited from hermes::DPE | |
std::vector< f32 > | bandwidths |
Protected Member Functions inherited from hermes::DPE | |
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 inherited from hermes::DPE | |
PlacementPolicy | policy_ |
A class to represent data placement engine that minimizes I/O time.
|
virtual |
set placement schema given BLOB sizes, node states, targets, and context.
Implements hermes::DPE.
|
private |
get the absolute difference value from x size and y size
|
private |
place bytes
|
private |
get placement ratios from node states in ctx context
|
private |
a vector of placement ratios