Hermes  0.9.5-beta
Hierarchical Distributed I/O Buffering System
hermes::MinimizeIoTime Class Reference

#include <minimize_io_time.h>

Inheritance diagram for hermes::MinimizeIoTime:
Collaboration diagram for hermes::MinimizeIoTime:

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< f32bandwidths
 
- 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_
 

Detailed Description

A class to represent data placement engine that minimizes I/O time.

Member Function Documentation

◆ Placement()

Status hermes::MinimizeIoTime::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 
)
virtual

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

Implements hermes::DPE.

Here is the call graph for this function:

◆ AbsDiff()

size_t hermes::MinimizeIoTime::AbsDiff ( size_t  x,
size_t  y,
bool &  y_gt_x 
)
private

get the absolute difference value from x size and y size

◆ PlaceBytes()

void hermes::MinimizeIoTime::PlaceBytes ( size_t  j,
ssize_t  bytes,
std::vector< size_t > &  vars_bytes,
const std::vector< u64 > &  node_state 
)
private

place bytes

Here is the caller graph for this function:

◆ GetPlacementRatios()

void hermes::MinimizeIoTime::GetPlacementRatios ( const std::vector< u64 > &  node_state,
const api::Context ctx 
)
private

get placement ratios from node states in ctx context

Here is the caller graph for this function:

Member Data Documentation

◆ placement_ratios_

std::vector<double> hermes::MinimizeIoTime::placement_ratios_
private

a vector of placement ratios


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