aether::process_allocation Class Reference

Describes how many worker processes are supported by each machine and how many are free. More...

#include <locality.hh>

Public Member Functions

 process_allocation (const std::map< uint64_t, std::pair< size_t, size_t >> &_worker_occupancy)
 
size_t num_workers_total (const uint64_t machine) const
 
size_t num_workers_free (const uint64_t machine) const
 
std::set< uint64_t > get_machines () const
 

Detailed Description

Describes how many worker processes are supported by each machine and how many are free.

Constructor & Destructor Documentation

aether::process_allocation::process_allocation ( const std::map< uint64_t, std::pair< size_t, size_t >> &  _worker_occupancy)

Member Function Documentation

std::set<uint64_t> aether::process_allocation::get_machines ( ) const
Returns
A set of all machines available to Aether
size_t aether::process_allocation::num_workers_free ( const uint64_t  machine) const
Parameters
machine- machine id
Returns
number of workers this machine could host but isn't currently hosting
size_t aether::process_allocation::num_workers_total ( const uint64_t  machine) const
Parameters
machine- machine id
Returns
total number of workers this machine can host