Scheduler
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
src
rlScheduler
domainModel.h
Go to the documentation of this file.
1
10
#ifndef RL_SCHEDULER_DOMAIN_MODEL_H
11
#define RL_SCHEDULER_DOMAIN_MODEL_H
12
13
#include <cmath>
14
#include <memory>
15
16
#include <
utils/record.h
>
17
18
#include <
mdp/domainModel.h
>
19
20
namespace
Scheduler
21
{
22
class
Queue;
23
class
Process;
24
class
TemperatureModel;
25
}
26
27
namespace
RlScheduler
28
{
29
30
class
MaxTempEstimator;
31
class
Configuration;
32
33
class
DomainModel
:
public
Mdp::DomainModel
34
{
35
public
:
36
DomainModel
(std::shared_ptr<Configuration> conf);
37
~
DomainModel
();
38
void
end();
39
double
measureReward()
override
;
40
Scheduler::Queue
*
readyQueue
;
41
std::shared_ptr<Scheduler::Process>
running
;
42
double
reward
{0.0};
43
protected
:
44
double
getTemperatureCost();
45
double
getInstantaneousTemp();
46
double
getAging();
47
private
:
48
std::shared_ptr<Configuration> conf;
49
50
double
deadlineMissRewardCoeff{1.0};
51
double
temperatureRewardCoeff{0.0};
52
double
agingRewardCoeff{0.0};
53
MaxTempEstimator *maxTempEstimator{
nullptr
};
54
Utils::Record
tempRecord;
55
Utils::Record
maxTempRecord;
56
bool
usingThreshold{
true
};
57
};
58
59
}
60
61
#endif
Mdp::DomainModel
Definition:
domainModel.h:18
Scheduler::Queue
This class implements the ready queue and the wait queue. Those queues contain processes ready to run...
Definition:
queue.h:28
RlScheduler::DomainModel::readyQueue
Scheduler::Queue * readyQueue
Definition:
domainModel.h:40
RlScheduler::DomainModel
Definition:
domainModel.h:33
Utils::Record
Definition:
record.h:23
record.h
Scheduler
Definition:
schedulerActions.h:21
reward
Definition:
reward.py:1
domainModel.h
RlScheduler
Definition:
actions.h:24
RlScheduler::DomainModel::running
std::shared_ptr< Scheduler::Process > running
Definition:
domainModel.h:41
Generated on Sun Nov 26 2017 17:01:35 for Scheduler by
1.8.11