A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
stringify (a lot)
[simgrid.git]
/
src
/
surf
/
cpu_cas01.cpp
diff --git
a/src/surf/cpu_cas01.cpp
b/src/surf/cpu_cas01.cpp
index
6edd4e9
..
40d145e
100644
(file)
--- a/
src/surf/cpu_cas01.cpp
+++ b/
src/surf/cpu_cas01.cpp
@@
-1,4
+1,4
@@
-/* Copyright (c) 2009-2011, 2013-201
6
. The SimGrid Team.
+/* Copyright (c) 2009-2011, 2013-201
7
. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
@@
-19,8
+19,7
@@
void surf_cpu_model_init_Cas01()
xbt_assert(not surf_cpu_model_pm);
xbt_assert(not surf_cpu_model_vm);
xbt_assert(not surf_cpu_model_pm);
xbt_assert(not surf_cpu_model_vm);
- char *optim = xbt_cfg_get_string("cpu/optim");
- if (not strcmp(optim, "TI")) {
+ if (xbt_cfg_get_string("cpu/optim") == "TI") {
surf_cpu_model_init_ti();
return;
}
surf_cpu_model_init_ti();
return;
}
@@
-37,19
+36,19
@@
namespace surf {
CpuCas01Model::CpuCas01Model() : simgrid::surf::CpuModel()
{
CpuCas01Model::CpuCas01Model() : simgrid::surf::CpuModel()
{
-
char *
optim = xbt_cfg_get_string("cpu/optim");
+
std::string
optim = xbt_cfg_get_string("cpu/optim");
bool select = xbt_cfg_get_boolean("cpu/maxmin-selective-update");
bool select = xbt_cfg_get_boolean("cpu/maxmin-selective-update");
- if (
not strcmp(optim, "Full")
) {
-
updateMechanism_ = UM_FULL
;
+ if (
optim == "Full"
) {
+
setUpdateMechanism(UM_FULL)
;
selectiveUpdate_ = select;
selectiveUpdate_ = select;
- } else if (
not strcmp(optim, "Lazy")
) {
-
updateMechanism_ = UM_LAZY
;
+ } else if (
optim == "Lazy"
) {
+
setUpdateMechanism(UM_LAZY)
;
selectiveUpdate_ = true;
xbt_assert(select || (xbt_cfg_is_default_value("cpu/maxmin-selective-update")),
"Disabling selective update while using the lazy update mechanism is dumb!");
} else {
selectiveUpdate_ = true;
xbt_assert(select || (xbt_cfg_is_default_value("cpu/maxmin-selective-update")),
"Disabling selective update while using the lazy update mechanism is dumb!");
} else {
- xbt_die("Unsupported optimization (%s) for this model", optim);
+ xbt_die("Unsupported optimization (%s) for this model", optim
.c_str()
);
}
p_cpuRunningActionSetThatDoesNotNeedBeingChecked = new ActionList();
}
p_cpuRunningActionSetThatDoesNotNeedBeingChecked = new ActionList();
@@
-179,11
+178,11
@@
CpuAction *CpuCas01::sleep(double duration)
if (duration > 0)
duration = MAX(duration, sg_surf_precision);
if (duration > 0)
duration = MAX(duration, sg_surf_precision);
- XBT_IN("(%s,%g)",
c
name(), duration);
+ XBT_IN("(%s,%g)",
getC
name(), duration);
CpuCas01Action* action = new CpuCas01Action(model(), 1.0, isOff(), speed_.scale * speed_.peak, constraint());
// FIXME: sleep variables should not consume 1.0 in lmm_expand
CpuCas01Action* action = new CpuCas01Action(model(), 1.0, isOff(), speed_.scale * speed_.peak, constraint());
// FIXME: sleep variables should not consume 1.0 in lmm_expand
- action->
maxDuration_ = duration
;
+ action->
setMaxDuration(duration)
;
action->suspended_ = 2;
if (duration < 0) { // NO_MAX_DURATION
/* Move to the *end* of the corresponding action set. This convention is used to speed up update_resource_state */
action->suspended_ = 2;
if (duration < 0) { // NO_MAX_DURATION
/* Move to the *end* of the corresponding action set. This convention is used to speed up update_resource_state */
@@
-209,13
+208,14
@@
CpuAction *CpuCas01::sleep(double duration)
**********/
CpuCas01Action::CpuCas01Action(Model* model, double cost, bool failed, double speed, lmm_constraint_t constraint,
int requestedCore)
**********/
CpuCas01Action::CpuCas01Action(Model* model, double cost, bool failed, double speed, lmm_constraint_t constraint,
int requestedCore)
- : CpuAction(model, cost, failed, lmm_variable_new(model->getMaxminSystem(), this, 1.0, speed, 1))
+ : CpuAction(model, cost, failed,
+ lmm_variable_new(model->getMaxminSystem(), this, 1.0 / requestedCore, requestedCore * speed, 1))
, requestedCore_(requestedCore)
{
if (model->getUpdateMechanism() == UM_LAZY) {
, requestedCore_(requestedCore)
{
if (model->getUpdateMechanism() == UM_LAZY) {
-
indexHeap_ = -1
;
-
lastUpdate_ = surf_get_clock
();
-
lastValue_ = 0.0
;
+
updateIndexHeap(-1)
;
+
refreshLastUpdate
();
+
setLastValue(0.0)
;
}
lmm_expand(model->getMaxminSystem(), constraint, getVariable(), 1.0);
}
}
lmm_expand(model->getMaxminSystem(), constraint, getVariable(), 1.0);
}