|
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.
1.8.11