GreenCloud Simulator
|
#include <resourceprovider.h>
Public Types | |
enum | EventStatus |
Public Member Functions | |
ResourceProvider () | |
virtual | ~ResourceProvider () |
void | setTskComSink (TskComSink *tcs) |
int | tryToAllocate (ResourceConsumer *rc) |
bool | releaseAllocation (ResourceConsumer *rc) |
bool | addVM (VM *newVm) |
bool | removeVM (VM *vm) |
ResourceProvider * | getHost () |
DcHost * | getRootHost () |
void | recv (ResourceConsumer *rcobj) |
virtual int | command (int argc, const char *const *argv) |
double | getResTypeUtil (res_type type) |
virtual void | print ()=0 |
virtual void | printTasklist () |
virtual void | addResource (DcResource *res) |
double | getTotalCap (res_type type) |
virtual void | updateEnergyAndConsumption ()=0 |
int | testSchedulingPossibility (CloudTask *tskobj) |
int | trySchedulingTsk (CloudTask *tskobj) |
void | sendTaskOutput (CloudTask *task) |
void | scheduleNextExent (double nextDeadline) |
TskComAgent * | getTskComAgent () |
Public Attributes | |
std::vector< std::vector< DcResource * > > | resource_list |
int | id_ |
int | ntasks_ |
double | currentLoad_ |
double | currentLoadMem_ |
double | currentLoadStor_ |
double | currentLoadNet_ |
int | eDVFS_enabled_ |
int | tskFailed_ |
TskComAgent * | tskComAgent |
Static Public Attributes | |
static double | uplink_overhead =ResourceProvider::MTU/ResourceProvider::useful_bytes |
static double | MTU =1500.0 |
static double | useful_bytes =1460.0 |
Protected Member Functions | |
virtual void | handle (Event *event) |
void | updateEvent () |
void | nextEvent (double delay) |
double | getCurrentLoad () |
double | updateResTypeUtil (res_type type) |
double | getFreeCap (res_type type) |
double | getFreeCapRecursive (res_type type) |
double | getUsedNet (bool in, bool out) |
double | getUsedNetRecursive (bool in, bool out) |
void | setTskComAgent (TskComAgent *agnt) |
void | setAgent (ProviderOutAgent *agent) |
TcpAgent * | getAgent () |
void | attachSink (VmMigrationSink *vm_mig_sink) |
void | attachSource (ProviderOutAgent *tcp_agent) |
void | detachSink (VmMigrationSink *vm_mig_sink) |
void | detachSource (ProviderOutAgent *tcp_agent) |
Protected Attributes | |
double | resource_utilization [LastResType+1] |
std::vector< ResourceConsumer * > | hosted_vms_ |
std::vector< VmMigrationSink * > | vm_migration_sinks_ |
std::vector< ProviderOutAgent * > | vm_migration_sources_ |
TskComSink * | tskComSink_ |
ProviderOutAgent * | poagent_ |
ResourceProvider * | host |
bool | started_ |
int | status_ |
Event | event_ |
Private Member Functions | |
void | _sched (double delay) |
void | _cancel () |
Definition at line 38 of file resourceprovider.h.
ResourceProvider::ResourceProvider | ( | ) |
Definition at line 18 of file resourceprovider.cc.
|
virtual |
Definition at line 34 of file resourceprovider.cc.
|
inlineprivate |
Definition at line 520 of file resourceprovider.cc.
|
inlineprivate |
Definition at line 517 of file resourceprovider.cc.
|
virtual |
Reimplemented in DcHost, and VM.
Definition at line 498 of file resourceprovider.cc.
bool ResourceProvider::addVM | ( | VM * | newVm | ) |
Definition at line 199 of file resourceprovider.cc.
|
protected |
Definition at line 565 of file resourceprovider.cc.
|
protected |
Definition at line 570 of file resourceprovider.cc.
|
virtual |
Reimplemented in DcHost, and VM.
Definition at line 585 of file resourceprovider.cc.
|
protected |
Definition at line 574 of file resourceprovider.cc.
|
protected |
Definition at line 580 of file resourceprovider.cc.
|
protected |
Definition at line 534 of file resourceprovider.cc.
|
protected |
Definition at line 414 of file resourceprovider.cc.
|
protected |
Definition at line 308 of file resourceprovider.cc.
|
protected |
Definition at line 298 of file resourceprovider.cc.
ResourceProvider * ResourceProvider::getHost | ( | ) |
Definition at line 184 of file resourceprovider.cc.
double ResourceProvider::getResTypeUtil | ( | res_type | type | ) |
Definition at line 379 of file resourceprovider.cc.
DcHost * ResourceProvider::getRootHost | ( | ) |
Definition at line 189 of file resourceprovider.cc.
double ResourceProvider::getTotalCap | ( | res_type | type | ) |
Definition at line 363 of file resourceprovider.cc.
TskComAgent * ResourceProvider::getTskComAgent | ( | ) |
Definition at line 543 of file resourceprovider.cc.
|
protected |
Definition at line 323 of file resourceprovider.cc.
|
protected |
Definition at line 352 of file resourceprovider.cc.
|
protectedvirtual |
Definition at line 284 of file resourceprovider.cc.
|
protected |
Definition at line 270 of file resourceprovider.cc.
|
virtual |
Reimplemented in DcHost, and VM.
Definition at line 526 of file resourceprovider.cc.
void ResourceProvider::recv | ( | ResourceConsumer * | rcobj | ) |
Definition at line 228 of file resourceprovider.cc.
bool ResourceProvider::releaseAllocation | ( | ResourceConsumer * | rc | ) |
Definition at line 137 of file resourceprovider.cc.
bool ResourceProvider::removeVM | ( | VM * | vm | ) |
Definition at line 212 of file resourceprovider.cc.
void ResourceProvider::scheduleNextExent | ( | double | nextDeadline | ) |
Definition at line 558 of file resourceprovider.cc.
void ResourceProvider::sendTaskOutput | ( | CloudTask * | task | ) |
Definition at line 547 of file resourceprovider.cc.
|
protected |
Definition at line 530 of file resourceprovider.cc.
|
protected |
Definition at line 539 of file resourceprovider.cc.
void ResourceProvider::setTskComSink | ( | TskComSink * | tcs | ) |
Definition at line 513 of file resourceprovider.cc.
int ResourceProvider::testSchedulingPossibility | ( | CloudTask * | tskobj | ) |
Definition at line 430 of file resourceprovider.cc.
int ResourceProvider::trySchedulingTsk | ( | CloudTask * | tskobj | ) |
Definition at line 440 of file resourceprovider.cc.
int ResourceProvider::tryToAllocate | ( | ResourceConsumer * | rc | ) |
Definition at line 47 of file resourceprovider.cc.
|
pure virtual |
|
protected |
|
protected |
Definition at line 387 of file resourceprovider.cc.
double ResourceProvider::currentLoad_ |
Definition at line 76 of file resourceprovider.h.
double ResourceProvider::currentLoadMem_ |
Definition at line 77 of file resourceprovider.h.
double ResourceProvider::currentLoadNet_ |
Definition at line 79 of file resourceprovider.h.
double ResourceProvider::currentLoadStor_ |
Definition at line 78 of file resourceprovider.h.
int ResourceProvider::eDVFS_enabled_ |
Definition at line 88 of file resourceprovider.h.
|
protected |
Definition at line 139 of file resourceprovider.h.
|
protected |
Definition at line 110 of file resourceprovider.h.
|
protected |
hosted vm list
Definition at line 104 of file resourceprovider.h.
int ResourceProvider::id_ |
Definition at line 71 of file resourceprovider.h.
|
static |
Definition at line 95 of file resourceprovider.h.
int ResourceProvider::ntasks_ |
Definition at line 75 of file resourceprovider.h.
|
protected |
Definition at line 108 of file resourceprovider.h.
std::vector<std::vector <DcResource*> > ResourceProvider::resource_list |
Definition at line 42 of file resourceprovider.h.
|
protected |
These values are for reading
Definition at line 103 of file resourceprovider.h.
|
protected |
Definition at line 137 of file resourceprovider.h.
|
protected |
Definition at line 138 of file resourceprovider.h.
TskComAgent* ResourceProvider::tskComAgent |
Definition at line 98 of file resourceprovider.h.
|
protected |
Definition at line 107 of file resourceprovider.h.
int ResourceProvider::tskFailed_ |
Definition at line 93 of file resourceprovider.h.
|
static |
Definition at line 94 of file resourceprovider.h.
|
static |
Definition at line 96 of file resourceprovider.h.
|
protected |
Definition at line 105 of file resourceprovider.h.
|
protected |
Definition at line 106 of file resourceprovider.h.