Msg.info("Initialize Cpu Constant Model");
}
- public Cpu createResource(String name, double[] power_peak, int pstate, double power_scale, TmgrTrace power_trace, int core, ResourceState state_initial, TmgrTrace state_trace, XbtDict cpu_properties) {
+ public Cpu createCpu(String name, double[] power_peak, int pstate, double power_scale, TmgrTrace power_trace, int core, ResourceState state_initial, TmgrTrace state_trace, XbtDict cpu_properties) {
Msg.info("New Cpu("+name+", "+power_peak[pstate]+", "+power_scale+")");
CpuConstant res = new CpuConstant(this, name, cpu_properties, core, power_peak[pstate], power_scale);
* @return The new Cpu
* @see Cpu
*/
- public Cpu createResource(String name, double[] power_peak, int pstate, double power_scale, TmgrTrace power_trace, int core, ResourceState state_initial, TmgrTrace state_trace, XbtDict cpu_properties) {
- long cPtr = SurfJNI.CpuModel_createResource(swigCPtr, this, name, power_peak, pstate, power_scale, TmgrTrace.getCPtr(power_trace), power_trace, core, state_initial.swigValue(), TmgrTrace.getCPtr(state_trace), state_trace, XbtDict.getCPtr(cpu_properties), cpu_properties);
+ public Cpu createCpu(String name, double[] power_peak, int pstate, double power_scale, TmgrTrace power_trace, int core, ResourceState state_initial, TmgrTrace state_trace, XbtDict cpu_properties) {
+ long cPtr = SurfJNI.CpuModel_createCpu(swigCPtr, this, name, power_peak, pstate, power_scale, TmgrTrace.getCPtr(power_trace), power_trace, core, state_initial.swigValue(), TmgrTrace.getCPtr(state_trace), state_trace, XbtDict.getCPtr(cpu_properties), cpu_properties);
return (Cpu)Surf.getCpuDirector(cPtr);
}
- public void addTraces() {
- SurfJNI.CpuModel_addTraces(swigCPtr, this);
- }
-
}
}
- /**
- * Model constructor
- * @param name The name of the model
- */
- public Model(String name) {
- this(SurfJNI.new_Model(name), true);
- }
-
-
/**
* @return The name of the model
*/
return (cPtr == 0) ? null : new ActionList(cPtr, false);
}
+ public void addTraces() {
+ SurfJNI.Model_addTraces(swigCPtr, this);
+ }
+
}
public final static native void delete_TmgrTrace(long jarg1);
public final static native long TmgrTraceEvent_getIdx(long jarg1, TmgrTraceEvent jarg1_);
public final static native void delete_TmgrTraceEvent(long jarg1);
- public final static native long new_Model(String jarg1);
public final static native String Model_getName(long jarg1, Model jarg1_);
public final static native double Model_shareResources(long jarg1, Model jarg1_, double jarg2);
public final static native double Model_shareResourcesLazy(long jarg1, Model jarg1_, double jarg2);
public final static native void Model_updateActionsStateLazy(long jarg1, Model jarg1_, double jarg2, double jarg3);
public final static native void Model_updateActionsStateFull(long jarg1, Model jarg1_, double jarg2, double jarg3);
public final static native long Model_getRunningActionSet(long jarg1, Model jarg1_);
+ public final static native void Model_addTraces(long jarg1, Model jarg1_);
public final static native void delete_Model(long jarg1);
public final static native long new_CpuModel(String jarg1);
public final static native void delete_CpuModel(long jarg1);
- public final static native long CpuModel_createResource(long jarg1, CpuModel jarg1_, String jarg2, double[] jarg3, int jarg4, double jarg5, long jarg6, TmgrTrace jarg6_, int jarg7, int jarg8, long jarg9, TmgrTrace jarg9_, long jarg10, XbtDict jarg10_);
- public final static native void CpuModel_addTraces(long jarg1, CpuModel jarg1_);
+ public final static native long CpuModel_createCpu(long jarg1, CpuModel jarg1_, String jarg2, double[] jarg3, int jarg4, double jarg5, long jarg6, TmgrTrace jarg6_, int jarg7, int jarg8, long jarg9, TmgrTrace jarg9_, long jarg10, XbtDict jarg10_);
public final static native void CpuModel_director_connect(CpuModel obj, long cptr, boolean mem_own, boolean weak_global);
public final static native void CpuModel_change_ownership(CpuModel obj, long cptr, boolean take_or_release);
public final static native String Resource_getName(long jarg1, Resource jarg1_);
public static long SwigDirector_CpuModel_getRunningActionSet(CpuModel self) {
return ActionList.getCPtr(self.getRunningActionSet());
}
- public static long SwigDirector_CpuModel_createResource(CpuModel self, String name, double[] power_peak, int pstate, double power_scale, long power_trace, int core, int state_initial, long state_trace, long cpu_properties) {
- return Cpu.getCPtr(self.createResource(name, power_peak, pstate, power_scale, (power_trace == 0) ? null : new TmgrTrace(power_trace, false), core, ResourceState.swigToEnum(state_initial), (state_trace == 0) ? null : new TmgrTrace(state_trace, false), (cpu_properties == 0) ? null : new XbtDict(cpu_properties, false)));
- }
public static void SwigDirector_CpuModel_addTraces(CpuModel self) {
self.addTraces();
}
+ public static long SwigDirector_CpuModel_createCpu(CpuModel self, String name, double[] power_peak, int pstate, double power_scale, long power_trace, int core, int state_initial, long state_trace, long cpu_properties) {
+ return Cpu.getCPtr(self.createCpu(name, power_peak, pstate, power_scale, (power_trace == 0) ? null : new TmgrTrace(power_trace, false), core, ResourceState.swigToEnum(state_initial), (state_trace == 0) ? null : new TmgrTrace(state_trace, false), (cpu_properties == 0) ? null : new XbtDict(cpu_properties, false)));
+ }
public static boolean SwigDirector_Cpu_isUsed(Cpu self) {
return self.isUsed();
}
virtual void updateActionsStateFull(double now, double delta);
virtual ActionList *getRunningActionSet();
+
+ virtual void addTraces()=0;
};
%feature("director") CpuModel;
public:
CpuModel(const char *name);
virtual ~CpuModel();
- virtual Cpu *createResource(const char *name, DoubleDynar power_peak,
+ virtual Cpu *createCpu(const char *name, DoubleDynar power_peak,
int pstate, double power_scale,
tmgr_trace *power_trace, int core,
e_surf_resource_state_t state_initial,
tmgr_trace *state_trace,
s_xbt_dict *cpu_properties)=0;
- virtual void addTraces()=0;
};
class Resource {
return c_result;
}
+void SwigDirector_CpuModel::addTraces() {
+ JNIEnvWrapper swigjnienv(this) ;
+ JNIEnv * jenv = swigjnienv.getJNIEnv() ;
+ jobject swigjobj = (jobject) NULL ;
+
+ if (!swig_override[7]) {
+ SWIG_JavaThrowException(JNIEnvWrapper(this).getJNIEnv(), SWIG_JavaDirectorPureVirtual, "Attempted to invoke pure virtual method CpuModel::addTraces.");
+ return;
+ }
+ swigjobj = swig_get_self(jenv);
+ if (swigjobj && jenv->IsSameObject(swigjobj, NULL) == JNI_FALSE) {
+ jenv->CallStaticVoidMethod(Swig::jclass_SurfJNI, Swig::director_methids[16], swigjobj);
+ if (jenv->ExceptionCheck() == JNI_TRUE) return ;
+ } else {
+ SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null upcall object");
+ }
+ if (swigjobj) jenv->DeleteLocalRef(swigjobj);
+}
+
SwigDirector_CpuModel::~SwigDirector_CpuModel() {
swig_disconnect_director_self("swigDirectorDisconnect");
}
-Cpu *SwigDirector_CpuModel::createResource(char const *name, DoubleDynar power_peak, int pstate, double power_scale, tmgr_trace *power_trace, int core, e_surf_resource_state_t state_initial, tmgr_trace *state_trace, s_xbt_dict *cpu_properties) {
+Cpu *SwigDirector_CpuModel::createCpu(char const *name, DoubleDynar power_peak, int pstate, double power_scale, tmgr_trace *power_trace, int core, e_surf_resource_state_t state_initial, tmgr_trace *state_trace, s_xbt_dict *cpu_properties) {
Cpu *c_result = 0 ;
jlong jresult = 0 ;
JNIEnvWrapper swigjnienv(this) ;
jlong jstate_trace = 0 ;
jlong jcpu_properties = 0 ;
- if (!swig_override[7]) {
- SWIG_JavaThrowException(JNIEnvWrapper(this).getJNIEnv(), SWIG_JavaDirectorPureVirtual, "Attempted to invoke pure virtual method CpuModel::createResource.");
+ if (!swig_override[8]) {
+ SWIG_JavaThrowException(JNIEnvWrapper(this).getJNIEnv(), SWIG_JavaDirectorPureVirtual, "Attempted to invoke pure virtual method CpuModel::createCpu.");
return c_result;
}
swigjobj = swig_get_self(jenv);
jstate_initial = (jint) state_initial;
*((tmgr_trace **)&jstate_trace) = (tmgr_trace *) state_trace;
*((s_xbt_dict **)&jcpu_properties) = (s_xbt_dict *) cpu_properties;
- jresult = (jlong) jenv->CallStaticLongMethod(Swig::jclass_SurfJNI, Swig::director_methids[16], swigjobj, jname, jpower_peak, jpstate, jpower_scale, jpower_trace, jcore, jstate_initial, jstate_trace, jcpu_properties);
+ jresult = (jlong) jenv->CallStaticLongMethod(Swig::jclass_SurfJNI, Swig::director_methids[17], swigjobj, jname, jpower_peak, jpstate, jpower_scale, jpower_trace, jcore, jstate_initial, jstate_trace, jcpu_properties);
if (jenv->ExceptionCheck() == JNI_TRUE) return c_result;
c_result = *(Cpu **)&jresult;
} else {
return c_result;
}
-void SwigDirector_CpuModel::addTraces() {
- JNIEnvWrapper swigjnienv(this) ;
- JNIEnv * jenv = swigjnienv.getJNIEnv() ;
- jobject swigjobj = (jobject) NULL ;
-
- if (!swig_override[8]) {
- SWIG_JavaThrowException(JNIEnvWrapper(this).getJNIEnv(), SWIG_JavaDirectorPureVirtual, "Attempted to invoke pure virtual method CpuModel::addTraces.");
- return;
- }
- swigjobj = swig_get_self(jenv);
- if (swigjobj && jenv->IsSameObject(swigjobj, NULL) == JNI_FALSE) {
- jenv->CallStaticVoidMethod(Swig::jclass_SurfJNI, Swig::director_methids[17], swigjobj);
- if (jenv->ExceptionCheck() == JNI_TRUE) return ;
- } else {
- SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null upcall object");
- }
- if (swigjobj) jenv->DeleteLocalRef(swigjobj);
-}
-
void SwigDirector_CpuModel::swig_connect_director(JNIEnv *jenv, jobject jself, jclass jcls, bool swig_mem_own, bool weak_global) {
static struct {
const char *mname;
"getRunningActionSet", "()Lorg/simgrid/surf/ActionList;", NULL
},
{
- "createResource", "(Ljava/lang/String;[DIDLorg/simgrid/surf/TmgrTrace;ILorg/simgrid/surf/ResourceState;Lorg/simgrid/surf/TmgrTrace;Lorg/simgrid/surf/XbtDict;)Lorg/simgrid/surf/Cpu;", NULL
+ "addTraces", "()V", NULL
},
{
- "addTraces", "()V", NULL
+ "createCpu", "(Ljava/lang/String;[DIDLorg/simgrid/surf/TmgrTrace;ILorg/simgrid/surf/ResourceState;Lorg/simgrid/surf/TmgrTrace;Lorg/simgrid/surf/XbtDict;)Lorg/simgrid/surf/Cpu;", NULL
}
};
}
-SWIGEXPORT jlong JNICALL Java_org_simgrid_surf_SurfJNI_new_1Model(JNIEnv *jenv, jclass jcls, jstring jarg1) {
- jlong jresult = 0 ;
- char *arg1 = (char *) 0 ;
- Model *result = 0 ;
-
- (void)jenv;
- (void)jcls;
- arg1 = 0;
- if (jarg1) {
- arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0);
- if (!arg1) return 0;
- }
- result = (Model *)new Model((char const *)arg1);
- *(Model **)&jresult = result;
- {
-
- }
- return jresult;
-}
-
-
SWIGEXPORT jstring JNICALL Java_org_simgrid_surf_SurfJNI_Model_1getName(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
jstring jresult = 0 ;
Model *arg1 = (Model *) 0 ;
}
+SWIGEXPORT void JNICALL Java_org_simgrid_surf_SurfJNI_Model_1addTraces(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
+ Model *arg1 = (Model *) 0 ;
+
+ (void)jenv;
+ (void)jcls;
+ (void)jarg1_;
+ arg1 = *(Model **)&jarg1;
+ (arg1)->addTraces();
+}
+
+
SWIGEXPORT void JNICALL Java_org_simgrid_surf_SurfJNI_delete_1Model(JNIEnv *jenv, jclass jcls, jlong jarg1) {
Model *arg1 = (Model *) 0 ;
}
-SWIGEXPORT jlong JNICALL Java_org_simgrid_surf_SurfJNI_CpuModel_1createResource(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jdoubleArray jarg3, jint jarg4, jdouble jarg5, jlong jarg6, jobject jarg6_, jint jarg7, jint jarg8, jlong jarg9, jobject jarg9_, jlong jarg10, jobject jarg10_) {
+SWIGEXPORT jlong JNICALL Java_org_simgrid_surf_SurfJNI_CpuModel_1createCpu(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jdoubleArray jarg3, jint jarg4, jdouble jarg5, jlong jarg6, jobject jarg6_, jint jarg7, jint jarg8, jlong jarg9, jobject jarg9_, jlong jarg10, jobject jarg10_) {
jlong jresult = 0 ;
CpuModel *arg1 = (CpuModel *) 0 ;
char *arg2 = (char *) 0 ;
arg8 = (e_surf_resource_state_t)jarg8;
arg9 = *(tmgr_trace **)&jarg9;
arg10 = *(s_xbt_dict **)&jarg10;
- result = (Cpu *)(arg1)->createResource((char const *)arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10);
+ result = (Cpu *)(arg1)->createCpu((char const *)arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10);
*(Cpu **)&jresult = result;
{
}
-SWIGEXPORT void JNICALL Java_org_simgrid_surf_SurfJNI_CpuModel_1addTraces(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
- CpuModel *arg1 = (CpuModel *) 0 ;
-
- (void)jenv;
- (void)jcls;
- (void)jarg1_;
- arg1 = *(CpuModel **)&jarg1;
- (arg1)->addTraces();
-}
-
-
SWIGEXPORT void JNICALL Java_org_simgrid_surf_SurfJNI_CpuModel_1director_1connect(JNIEnv *jenv, jclass jcls, jobject jself, jlong objarg, jboolean jswig_mem_own, jboolean jweak_global) {
CpuModel *obj = *((CpuModel **)&objarg);
(void)jcls;
"SwigDirector_CpuModel_getRunningActionSet", "(Lorg/simgrid/surf/CpuModel;)J"
},
{
- "SwigDirector_CpuModel_createResource", "(Lorg/simgrid/surf/CpuModel;Ljava/lang/String;[DIDJIIJJ)J"
+ "SwigDirector_CpuModel_addTraces", "(Lorg/simgrid/surf/CpuModel;)V"
},
{
- "SwigDirector_CpuModel_addTraces", "(Lorg/simgrid/surf/CpuModel;)V"
+ "SwigDirector_CpuModel_createCpu", "(Lorg/simgrid/surf/CpuModel;Ljava/lang/String;[DIDJIIJJ)J"
},
{
"SwigDirector_Cpu_isUsed", "(Lorg/simgrid/surf/Cpu;)Z"
virtual void updateActionsStateLazy(double now, double delta);
virtual void updateActionsStateFull(double now, double delta);
virtual ActionList *getRunningActionSet();
- virtual ~SwigDirector_CpuModel();
- virtual Cpu *createResource(char const *name, DoubleDynar power_peak, int pstate, double power_scale, tmgr_trace *power_trace, int core, e_surf_resource_state_t state_initial, tmgr_trace *state_trace, s_xbt_dict *cpu_properties);
virtual void addTraces();
+ virtual ~SwigDirector_CpuModel();
+ virtual Cpu *createCpu(char const *name, DoubleDynar power_peak, int pstate, double power_scale, tmgr_trace *power_trace, int core, e_surf_resource_state_t state_initial, tmgr_trace *state_trace, s_xbt_dict *cpu_properties);
public:
bool swig_overrides(int n) {
return (n < 9 ? swig_override[n] : false);
surf_cpu_model_pm = java_cpu_model;
xbt_dynar_push(model_list, &java_cpu_model);
xbt_dynar_push(model_list_invoke, &java_cpu_model);
- sg_platf_host_add_cb(parse_cpu_init);
+ sg_platf_host_add_cb(cpu_parse_init);
}
void setCpuModel(CpuModel *cpuModel){
public";
-%javamethodmodifiers CpuModel::createResource(const char *name, DoubleDynar power_peak,
+%javamethodmodifiers CpuModel::createCpu(const char *name, DoubleDynar power_peak,
int pstate, double power_scale,
tmgr_trace *power_trace, int core,
e_surf_resource_state_t state_initial,
* Such model is subject to modification with warning in the ChangeLog so monitor it!
*
*/
-XBT_PUBLIC(void) surf_vm_workstation_model_init_current_default(void);
+XBT_PUBLIC(void) surf_vm_workstation_model_init_HL13(void);
/** \ingroup SURF_models
* \brief The list of all available vm workstation model models
static void cpu_define_callbacks()
{
- sg_platf_host_add_cb(parse_cpu_init);
- sg_platf_postparse_add_cb(add_traces_cpu);
+ sg_platf_host_add_cb(cpu_parse_init);
+ sg_platf_postparse_add_cb(cpu_add_traces);
}
/*********
delete p_cpuRunningActionSetThatDoesNotNeedBeingChecked;
}
-void CpuCas01Model::parseInit(sg_platf_host_cbarg_t host)
-{
- createResource(host->id,
- host->power_peak,
- host->pstate,
- host->power_scale,
- host->power_trace,
- host->core_amount,
- host->initial_state,
- host->state_trace,
- host->properties);
-}
-
-CpuPtr CpuCas01Model::createResource(const char *name, xbt_dynar_t power_peak,
+CpuPtr CpuCas01Model::createCpu(const char *name, xbt_dynar_t power_peak,
int pstate, double power_scale,
tmgr_trace_t power_trace, int core,
e_surf_resource_state_t state_initial,
double (CpuCas01Model::*shareResources)(double now);
void (CpuCas01Model::*updateActionsState)(double now, double delta);
- void parseInit(sg_platf_host_cbarg_t host);
- CpuPtr createResource(const char *name, xbt_dynar_t power_peak, int pstate,
+ CpuPtr createCpu(const char *name, xbt_dynar_t power_peak, int pstate,
double power_scale,
tmgr_trace_t power_trace, int core,
e_surf_resource_state_t state_initial,
tmgr_trace_t state_trace,
xbt_dict_t cpu_properties);
- double shareResourcesFull(double now);
+ double shareResourcesFull(double now);
void addTraces();
ActionListPtr p_cpuRunningActionSetThatDoesNotNeedBeingChecked;
};
surf_callback(void, CpuPtr, e_surf_resource_state_t, e_surf_resource_state_t) cpuStateChangedCallbacks;
surf_callback(void, CpuActionPtr, e_surf_action_state_t, e_surf_action_state_t) cpuActionStateChangedCallbacks;
-void parse_cpu_init(sg_platf_host_cbarg_t host){
- surf_cpu_model_pm->parseInit(host);
-}
-
-void add_traces_cpu(){
- surf_cpu_model_pm->addTraces();
-}
-
-/*********
- * Model *
- *********/
-void CpuModel::parseInit(sg_platf_host_cbarg_t host)
-{
- createResource(host->id,
+void cpu_parse_init(sg_platf_host_cbarg_t host){
+ surf_cpu_model_pm->createCpu(
+ host->id,
host->power_peak,
host->pstate,
host->power_scale,
host->properties);
}
+void cpu_add_traces(){
+ surf_cpu_model_pm->addTraces();
+}
+
+/*********
+ * Model *
+ *********/
void CpuModel::updateActionsStateLazy(double now, double /*delta*/)
{
CpuActionPtr action;
*/
XBT_PUBLIC_DATA( surf_callback(void, CpuActionPtr, e_surf_action_state_t, e_surf_action_state_t)) cpuActionStateChangedCallbacks;
-XBT_PUBLIC(void) parse_cpu_init(sg_platf_host_cbarg_t host);
+XBT_PUBLIC(void) cpu_parse_init(sg_platf_host_cbarg_t host);
-XBT_PUBLIC(void) add_traces_cpu();
+XBT_PUBLIC(void) cpu_add_traces();
/*********
* Model *
*
* @param host [TODO]
*/
- void parseInit(sg_platf_host_cbarg_t host);
-
- virtual CpuPtr createResource(const char *name, xbt_dynar_t power_peak,
+ virtual CpuPtr createCpu(const char *name, xbt_dynar_t power_peak,
int pstate, double power_scale,
tmgr_trace_t power_trace, int core,
e_surf_resource_state_t state_initial,
void updateActionsStateLazy(double now, double delta);
void updateActionsStateFull(double now, double delta);
-
- virtual void addTraces() =0;
};
/************
static void cpu_ti_define_callbacks()
{
- sg_platf_host_add_cb(parse_cpu_init);
- sg_platf_postparse_add_cb(add_traces_cpu);
+ sg_platf_host_add_cb(cpu_parse_init);
+ sg_platf_postparse_add_cb(cpu_add_traces);
}
/*********
xbt_heap_free(p_tiActionHeap);
}
-CpuPtr CpuTiModel::createResource(const char *name,
+CpuPtr CpuTiModel::createCpu(const char *name,
xbt_dynar_t powerPeak,
int pstate,
double powerScale,
public:
CpuTiModel();
~CpuTiModel();
-
- void parseInit(sg_platf_host_cbarg_t host);
- CpuPtr createResource(const char *name, xbt_dynar_t powerPeak,
+ CpuPtr createCpu(const char *name, xbt_dynar_t powerPeak,
int pstate, double power_scale,
tmgr_trace_t power_trace, int core,
e_surf_resource_state_t state_initial,
* CallBacks *
*************/
-static void net_parse_link_init(sg_platf_link_cbarg_t link){
- if (link->policy == SURF_LINK_FULLDUPLEX) {
- char *link_id;
- link_id = bprintf("%s_UP", link->id);
- surf_network_model->createResource(link_id,
- link->bandwidth,
- link->bandwidth_trace,
- link->latency,
- link->latency_trace,
- link->state,
- link->state_trace, link->policy, link->properties);
- xbt_free(link_id);
- link_id = bprintf("%s_DOWN", link->id);
- surf_network_model->createResource(link_id,
- link->bandwidth,
- link->bandwidth_trace,
- link->latency,
- link->latency_trace,
- link->state,
- link->state_trace, link->policy, link->properties);
- xbt_free(link_id);
- } else {
- surf_network_model->createResource(link->id,
- link->bandwidth,
- link->bandwidth_trace,
- link->latency,
- link->latency_trace,
- link->state,
- link->state_trace, link->policy, link->properties);
- }
-}
-
-static void net_add_traces(void){
- xbt_dict_cursor_t cursor = NULL;
- char *trace_name, *elm;
-
- static int called = 0;
- if (called)
- return;
- called = 1;
-
- /* connect all traces relative to network */
- xbt_dict_foreach(trace_connect_list_link_avail, cursor, trace_name, elm) {
- tmgr_trace_t trace = (tmgr_trace_t) xbt_dict_get_or_null(traces_set_list, trace_name);
- NetworkCm02LinkPtr link = static_cast<NetworkCm02LinkPtr>(
- xbt_lib_get_or_null(link_lib, elm, SURF_LINK_LEVEL));
-
- xbt_assert(link, "Cannot connect trace %s to link %s: link undefined",
- trace_name, elm);
- xbt_assert(trace,
- "Cannot connect trace %s to link %s: trace undefined",
- trace_name, elm);
-
- link->p_stateEvent = tmgr_history_add_trace(history, trace, 0.0, 0, static_cast<ResourcePtr>(link));
- }
-
- xbt_dict_foreach(trace_connect_list_bandwidth, cursor, trace_name, elm) {
- tmgr_trace_t trace = (tmgr_trace_t) xbt_dict_get_or_null(traces_set_list, trace_name);
- NetworkCm02LinkPtr link = static_cast<NetworkCm02LinkPtr>(
- xbt_lib_get_or_null(link_lib, elm, SURF_LINK_LEVEL));
-
- xbt_assert(link, "Cannot connect trace %s to link %s: link undefined",
- trace_name, elm);
- xbt_assert(trace,
- "Cannot connect trace %s to link %s: trace undefined",
- trace_name, elm);
-
- link->p_power.event = tmgr_history_add_trace(history, trace, 0.0, 0, static_cast<ResourcePtr>(link));
- }
-
- xbt_dict_foreach(trace_connect_list_latency, cursor, trace_name, elm) {
- tmgr_trace_t trace = (tmgr_trace_t) xbt_dict_get_or_null(traces_set_list, trace_name);
- NetworkCm02LinkPtr link = static_cast<NetworkCm02LinkPtr>(
- xbt_lib_get_or_null(link_lib, elm, SURF_LINK_LEVEL));
-
- xbt_assert(link, "Cannot connect trace %s to link %s: link undefined",
- trace_name, elm);
- xbt_assert(trace,
- "Cannot connect trace %s to link %s: trace undefined",
- trace_name, elm);
-
- link->p_latEvent = tmgr_history_add_trace(history, trace, 0.0, 0, static_cast<ResourcePtr>(link));
- }
-}
-
void net_define_callbacks(void)
{
/* Figuring out the network links */
- sg_platf_link_add_cb(net_parse_link_init);
+ sg_platf_link_add_cb(netlink_parse_init);
sg_platf_postparse_add_cb(net_add_traces);
}
p_maxminSystem = lmm_system_new(m_selectiveUpdate);
const char* lb_name = "__loopback__";
- routing_model_create(static_cast<ResourcePtr>(createResource(lb_name,
+ routing_model_create(static_cast<ResourcePtr>(createNetworkLink(lb_name,
498000000, NULL, 0.000015, NULL,
SURF_RESOURCE_ON, NULL,
SURF_LINK_FATPIPE, NULL)));
m_haveGap = false;
}
-NetworkLinkPtr NetworkCm02Model::createResource(const char *name,
+NetworkLinkPtr NetworkCm02Model::createNetworkLink(const char *name,
double bw_initial,
tmgr_trace_t bw_trace,
double lat_initial,
return action;
}
+void NetworkCm02Model::addTraces(){
+ xbt_dict_cursor_t cursor = NULL;
+ char *trace_name, *elm;
+
+ static int called = 0;
+ if (called)
+ return;
+ called = 1;
+
+ /* connect all traces relative to network */
+ xbt_dict_foreach(trace_connect_list_link_avail, cursor, trace_name, elm) {
+ tmgr_trace_t trace = (tmgr_trace_t) xbt_dict_get_or_null(traces_set_list, trace_name);
+ NetworkCm02LinkPtr link = static_cast<NetworkCm02LinkPtr>(
+ xbt_lib_get_or_null(link_lib, elm, SURF_LINK_LEVEL));
+
+ xbt_assert(link, "Cannot connect trace %s to link %s: link undefined",
+ trace_name, elm);
+ xbt_assert(trace,
+ "Cannot connect trace %s to link %s: trace undefined",
+ trace_name, elm);
+
+ link->p_stateEvent = tmgr_history_add_trace(history, trace, 0.0, 0, static_cast<ResourcePtr>(link));
+ }
+ xbt_dict_foreach(trace_connect_list_bandwidth, cursor, trace_name, elm) {
+ tmgr_trace_t trace = (tmgr_trace_t) xbt_dict_get_or_null(traces_set_list, trace_name);
+ NetworkCm02LinkPtr link = static_cast<NetworkCm02LinkPtr>(
+ xbt_lib_get_or_null(link_lib, elm, SURF_LINK_LEVEL));
+
+ xbt_assert(link, "Cannot connect trace %s to link %s: link undefined",
+ trace_name, elm);
+ xbt_assert(trace,
+ "Cannot connect trace %s to link %s: trace undefined",
+ trace_name, elm);
+
+ link->p_power.event = tmgr_history_add_trace(history, trace, 0.0, 0, static_cast<ResourcePtr>(link));
+ }
+
+ xbt_dict_foreach(trace_connect_list_latency, cursor, trace_name, elm) {
+ tmgr_trace_t trace = (tmgr_trace_t) xbt_dict_get_or_null(traces_set_list, trace_name);
+ NetworkCm02LinkPtr link = static_cast<NetworkCm02LinkPtr>(
+ xbt_lib_get_or_null(link_lib, elm, SURF_LINK_LEVEL));
+
+ xbt_assert(link, "Cannot connect trace %s to link %s: link undefined",
+ trace_name, elm);
+ xbt_assert(trace,
+ "Cannot connect trace %s to link %s: trace undefined",
+ trace_name, elm);
+
+ link->p_latEvent = tmgr_history_add_trace(history, trace, 0.0, 0, static_cast<ResourcePtr>(link));
+ }
+}
/************
* Resource *
}
~NetworkCm02Model() {
}
- NetworkLinkPtr createResource(const char *name,
+ NetworkLinkPtr createNetworkLink(const char *name,
double bw_initial,
tmgr_trace_t bw_trace,
double lat_initial,
tmgr_trace_t state_trace,
e_surf_link_sharing_policy_t policy,
xbt_dict_t properties);
+ void addTraces();
void updateActionsStateLazy(double now, double delta);
ActionPtr communicate(RoutingEdgePtr src, RoutingEdgePtr dst,
double size, double rate);
ActionPtr communicate(RoutingEdgePtr src, RoutingEdgePtr dst,
double size, double rate);
void gapRemove(ActionPtr action);
- //FIXME:virtual void addTraces() =0;
};
/************
surf_callback(void, NetworkActionPtr, e_surf_action_state_t, e_surf_action_state_t) networkActionStateChangedCallbacks;
surf_callback(void, NetworkActionPtr, RoutingEdgePtr src, RoutingEdgePtr dst, double size, double rate) networkCommunicateCallbacks;
+void netlink_parse_init(sg_platf_link_cbarg_t link){
+ if (link->policy == SURF_LINK_FULLDUPLEX) {
+ char *link_id;
+ link_id = bprintf("%s_UP", link->id);
+ surf_network_model->createNetworkLink(link_id,
+ link->bandwidth,
+ link->bandwidth_trace,
+ link->latency,
+ link->latency_trace,
+ link->state,
+ link->state_trace, link->policy, link->properties);
+ xbt_free(link_id);
+ link_id = bprintf("%s_DOWN", link->id);
+ surf_network_model->createNetworkLink(link_id,
+ link->bandwidth,
+ link->bandwidth_trace,
+ link->latency,
+ link->latency_trace,
+ link->state,
+ link->state_trace, link->policy, link->properties);
+ xbt_free(link_id);
+ } else {
+ surf_network_model->createNetworkLink(link->id,
+ link->bandwidth,
+ link->bandwidth_trace,
+ link->latency,
+ link->latency_trace,
+ link->state,
+ link->state_trace, link->policy, link->properties);
+ }
+}
+
+void net_add_traces(){
+ surf_network_model->addTraces();
+}
+
/*********
* Model *
*********/
#ifndef SURF_NETWORK_INTERFACE_HPP_
#define SURF_NETWORK_INTERFACE_HPP_
+
/***********
* Classes *
***********/
/*********
* Tools *
*********/
+XBT_PUBLIC(void) netlink_parse_init(sg_platf_link_cbarg_t link);
-void net_define_callbacks(void);
+XBT_PUBLIC(void) net_add_traces();
/*********
* Model *
* @param properties Dictionary of properties associated to this Resource
* @return The created NetworkLink
*/
- virtual NetworkLinkPtr createResource(const char *name,
+ virtual NetworkLinkPtr createNetworkLink(const char *name,
double bw_initial,
tmgr_trace_t bw_trace,
double lat_initial,
e_surf_link_sharing_policy_t policy,
xbt_dict_t properties)=0;
-
virtual void gapAppend(double /*size*/, const NetworkLinkPtr /*link*/, NetworkActionPtr /*action*/) {};
/**
if(!IPV4addr) IPV4addr = xbt_dynar_new(sizeof(char*),free);
- NetworkLinkPtr net_link = surf_network_model->createResource(link->id,
+ NetworkLinkPtr net_link = surf_network_model->createNetworkLink(link->id,
link->bandwidth,
link->bandwidth_trace,
link->latency,
xbt_dict_free(&dict_socket);
}
-NetworkLinkPtr NetworkNS3Model::createResource(const char *name,
+NetworkLinkPtr NetworkNS3Model::createNetworkLink(const char *name,
double bw_initial,
tmgr_trace_t bw_trace,
double lat_initial,
NetworkNS3Model();
~NetworkNS3Model();
- NetworkLinkPtr createResource(const char *name,
+ NetworkLinkPtr createNetworkLink(const char *name,
double bw_initial,
tmgr_trace_t bw_trace,
double lat_initial,
double size, double rate);
double shareResources(double now);
void updateActionsState(double now, double delta);
+ void addTraces(){DIE_IMPOSSIBLE;}
};
/************
* @param attach [description]
* @return The created Storage
*/
- virtual StoragePtr createResource(const char* id,
+ virtual StoragePtr createStorage(const char* id,
const char* type_id,
const char* content_name,
const char* content_type,
storage->content_type,
storage->properties);
- surf_storage_model->createResource(storage->id,
+ surf_storage_model->createStorage(storage->id,
((storage_type_t) stype)->type_id,
storage->content,
storage->content_type,
storage_running_action_set_that_does_not_need_being_checked = NULL;
}
-StoragePtr StorageN11Model::createResource(const char* id, const char* type_id,
+StoragePtr StorageN11Model::createStorage(const char* id, const char* type_id,
const char* content_name, const char* content_type, xbt_dict_t properties, const char* attach)
{
public:
StorageN11Model();
~StorageN11Model();
- StoragePtr createResource(const char* id, const char* type_id,
+ StoragePtr createStorage(const char* id, const char* type_id,
const char* content_name, const char* content_type, xbt_dict_t properties, const char* attach);
+ void addTraces(){DIE_IMPOSSIBLE;}
double shareResources(double now);
void updateActionsState(double now, double delta);
};
}
void surf_vm_workstation_model_create(const char *name, surf_resource_t ind_phys_host){
- surf_vm_workstation_model->createResource(name, ind_phys_host);
+ surf_vm_workstation_model->createWorkstationVM(name, ind_phys_host);
}
surf_action_t surf_network_model_communicate(surf_network_model_t model, sg_routing_edge_t src, sg_routing_edge_t dst, double size, double rate){
s_surf_model_description_t surf_vm_workstation_model_description[] = {
{"default",
"Default vm workstation model.",
- surf_vm_workstation_model_init_current_default},
+ surf_vm_workstation_model_init_HL13},
{NULL, NULL, NULL} /* this array must be NULL terminated */
};
*/
virtual ~Model();
+ virtual void addTraces() =0;
+
/**
* @brief Get the name of the current Model
*
XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(surf_vm_workstation);
-void surf_vm_workstation_model_init_current_default(void){
+void surf_vm_workstation_model_init_HL13(void){
if (surf_cpu_model_vm) {
surf_vm_workstation_model = new WorkstationVMHL13Model();
ModelPtr model = static_cast<ModelPtr>(surf_vm_workstation_model);
/* ind means ''indirect'' that this is a reference on the whole dict_elm
* structure (i.e not on the surf_resource_private infos) */
-void WorkstationVMHL13Model::createResource(const char *name, void *ind_phys_workstation)
+WorkstationVMPtr WorkstationVMHL13Model::createWorkstationVM(const char *name, surf_resource_t ind_phys_workstation)
{
- WorkstationVMHL13Ptr ws = new WorkstationVMHL13(this, name, NULL, static_cast<surf_resource_t>(ind_phys_workstation));
+ WorkstationVMHL13Ptr ws = new WorkstationVMHL13(this, name, NULL, ind_phys_workstation);
xbt_lib_set(host_lib, name, SURF_WKS_LEVEL, static_cast<ResourcePtr>(ws));
/* TODO:
* - check how network requests are scheduled between distinct processes competing for the same card.
*/
+ return ws;
}
static inline double get_solved_value(CpuActionPtr cpu_action)
/* We can assume one core and cas01 cpu for the first step.
* Do xbt_lib_set(host_lib, name, SURF_CPU_LEVEL, cpu) if you get the resource. */
- p_cpu = static_cast<CpuCas01ModelPtr>(surf_cpu_model_vm)->createResource(name, // name
+ p_cpu = static_cast<CpuCas01ModelPtr>(surf_cpu_model_vm)->createCpu(name, // name
sub_cpu->getPowerPeakList(), // host->power_peak,
sub_cpu->getPState(),
1, // host->power_scale,
#define GUESTOS_NOISE 100 // This value corresponds to the cost of the global action associated to the VM
// It corresponds to the cost of a VM running no tasks.
-void surf_vm_workstation_model_init(void);
-
/***********
* Classes *
***********/
class WorkstationVMHL13;
typedef WorkstationVMHL13 *WorkstationVMHL13Ptr;
-/*********
- * Tools *
- *********/
-
/*********
* Model *
*********/
public:
WorkstationVMHL13Model();
~WorkstationVMHL13Model(){};
- void createResource(const char *name, void *ind_phys_workstation);
+
+ WorkstationVMPtr createWorkstationVM(const char *name, surf_resource_t ind_phys_workstation);
double shareResources(double now);
void adjustWeightOfDummyCpuActions() {};
ActionPtr communicate(WorkstationPtr src, WorkstationPtr dst, double size, double rate);
#define GUESTOS_NOISE 100 // This value corresponds to the cost of the global action associated to the VM
// It corresponds to the cost of a VM running no tasks.
-void surf_vm_workstation_model_init(void);
-
/***********
* Classes *
***********/
*/
~WorkstationVMModel(){};
+ WorkstationPtr createWorkstation(const char *name){DIE_IMPOSSIBLE;}
+
/**
* @brief Create a new WorkstationVM
- *
+ *
* @param name The name of the new WorkstationVM
* @param ind_phys_workstation The workstation hosting the VM
- *
+ *
*/
- virtual void createResource(const char *name, void *ind_phys_workstation)=0;
-
+ virtual WorkstationVMPtr createWorkstationVM(const char *name, surf_resource_t ind_phys_workstation)=0;
void adjustWeightOfDummyCpuActions() {};
typedef boost::intrusive::list<WorkstationVM,
public:
/**
* @brief WorkstationVM consrtructor
- *
+ *
* @param model WorkstationModel associated to this Workstation
* @param name The name of the Workstation
* @param props Dictionary of properties associated to this Workstation
/**
* @brief Migrate the VM to the destination host
- *
+ *
* @param ind_vm_ws_dest The destination host
*/
virtual void migrate(surf_resource_t ind_vm_ws_dest)=0;
* CallBacks *
*************/
-static void workstation_new(sg_platf_host_cbarg_t host){
- reinterpret_cast<WorkstationCLM03ModelPtr>(surf_workstation_model)->createResource(host->id);
-}
-
/*********
* Model *
*********/
ModelPtr model = static_cast<ModelPtr>(surf_workstation_model);
xbt_dynar_push(model_list, &model);
xbt_dynar_push(model_list_invoke, &model);
- sg_platf_host_add_cb(workstation_new);
+ sg_platf_host_add_cb(workstation_parse_init);
}
void surf_workstation_model_init_compound()
ModelPtr model = static_cast<ModelPtr>(surf_workstation_model);
xbt_dynar_push(model_list, &model);
xbt_dynar_push(model_list_invoke, &model);
- sg_platf_host_add_cb(workstation_new);
+ sg_platf_host_add_cb(workstation_parse_init);
}
WorkstationCLM03Model::WorkstationCLM03Model()
WorkstationCLM03Model::~WorkstationCLM03Model()
{}
-void WorkstationCLM03Model::parseInit(sg_platf_host_cbarg_t host){
- createResource(host->id);
-}
-
-WorkstationPtr WorkstationCLM03Model::createResource(const char *name){
-
+WorkstationPtr WorkstationCLM03Model::createWorkstation(const char *name){
WorkstationPtr workstation = new WorkstationCLM03(surf_workstation_model, name, NULL,
(xbt_dynar_t)xbt_lib_get_or_null(storage_lib, name, ROUTING_STORAGE_HOST_LEVEL),
(RoutingEdgePtr)xbt_lib_get_or_null(host_lib, name, ROUTING_HOST_LEVEL),
public:
WorkstationCLM03Model();
~WorkstationCLM03Model();
- void parseInit(sg_platf_host_cbarg_t host);
- WorkstationPtr createResource(const char *name);
+ WorkstationPtr createWorkstation(const char *name);
double shareResources(double now);
void updateActionsState(double now, double delta);
surf_callback(void, WorkstationPtr, e_surf_resource_state_t, e_surf_resource_state_t) workstationStateChangedCallbacks;
surf_callback(void, WorkstationActionPtr, e_surf_action_state_t, e_surf_action_state_t) workstationActionStateChangedCallbacks;
+void workstation_parse_init(sg_platf_host_cbarg_t host)
+{
+ surf_workstation_model->createWorkstation(host->id);
+}
+
+void workstation_add_traces(){
+ surf_workstation_model->addTraces();
+}
+
/*********
* Model *
*********/
* Tools *
*********/
extern WorkstationModelPtr surf_workstation_model;
+XBT_PUBLIC(void) workstation_parse_init(sg_platf_host_cbarg_t host);
+XBT_PUBLIC(void) workstation_add_traces();
/*********
* Model *
*/
~WorkstationModel();
+ virtual WorkstationPtr createWorkstation(const char *name)=0;
+ void addTraces(){DIE_IMPOSSIBLE;}
+
/**
* @brief [brief description]
* @details [long description]
static xbt_dict_t ptask_parallel_task_link_set = NULL;
lmm_system_t ptask_maxmin_system = NULL;
+
+/**************************************/
+/*** Resource Creation & Destruction **/
+/**************************************/
+
+static void ptask_netlink_parse_init(sg_platf_link_cbarg_t link)
+{
+ netlink_parse_init(link);
+ current_property_set = NULL;
+}
+
+static void ptask_define_callbacks()
+{
+ sg_platf_host_add_cb(cpu_parse_init);
+ sg_platf_host_add_cb(workstation_parse_init);
+ sg_platf_link_add_cb(ptask_netlink_parse_init);
+ sg_platf_postparse_add_cb(workstation_add_traces);
+}
+
+void surf_workstation_model_init_ptask_L07(void)
+{
+ XBT_INFO("surf_workstation_model_init_ptask_L07");
+ xbt_assert(!surf_cpu_model_pm, "CPU model type already defined");
+ xbt_assert(!surf_network_model, "network model type already defined");
+ ptask_define_callbacks();
+ surf_workstation_model = new WorkstationL07Model();
+ ModelPtr model = surf_workstation_model;
+ xbt_dynar_push(model_list, &model);
+ xbt_dynar_push(model_list_invoke, &model);
+}
+
+
WorkstationL07Model::WorkstationL07Model() : WorkstationModel("Workstation ptask_L07") {
if (!ptask_maxmin_system)
ptask_maxmin_system = lmm_system_new(1);
surf_workstation_model = NULL;
surf_network_model = new NetworkL07Model();
surf_cpu_model_pm = new CpuL07Model();
- routing_model_create(static_cast<ResourcePtr>(surf_network_model->createResource("__loopback__",
+ routing_model_create(static_cast<ResourcePtr>(surf_network_model->createNetworkLink("__loopback__",
498000000, NULL,
0.000015, NULL,
SURF_RESOURCE_ON, NULL,
return static_cast<ActionPtr>(action);
}
-ResourcePtr WorkstationL07Model::createResource(const char *name, double /*power_scale*/,
- double /*power_initial*/,
- tmgr_trace_t /*power_trace*/,
- e_surf_resource_state_t /*state_initial*/,
- tmgr_trace_t /*state_trace*/,
- xbt_dict_t /*cpu_properties*/)
+WorkstationPtr WorkstationL07Model::createWorkstation(const char *name)
{
WorkstationL07Ptr wk = NULL;
xbt_assert(!surf_workstation_resource_priv(surf_workstation_resource_by_name(name)),
return route;
}
-CpuPtr CpuL07Model::createResource(const char *name, xbt_dynar_t powerPeak,
+CpuPtr CpuL07Model::createCpu(const char *name, xbt_dynar_t powerPeak,
int pstate, double power_scale,
tmgr_trace_t power_trace, int core,
e_surf_resource_state_t state_initial,
return cpu;//FIXME:xbt_lib_get_elm_or_null(host_lib, name);
}
-NetworkLinkPtr NetworkL07Model::createResource(const char *name,
+NetworkLinkPtr NetworkL07Model::createNetworkLink(const char *name,
double bw_initial,
tmgr_trace_t bw_trace,
double lat_initial,
XBT_OUT();
return m_remains;
}
-
-/*FIXME:remove static void ptask_finalize(void)
-{
- xbt_dict_free(&ptask_parallel_task_link_set);
-
- delete surf_workstation_model;
- surf_workstation_model = NULL;
- delete surf_network_model;
- surf_network_model = NULL;
-
- ptask_host_count = 0;
-
- if (ptask_maxmin_system) {
- lmm_system_free(ptask_maxmin_system);
- ptask_maxmin_system = NULL;
- }
- }*/
-
-/**************************************/
-/******* Resource Private **********/
-/**************************************/
-
-/**************************************/
-/*** Resource Creation & Destruction **/
-/**************************************/
-
-static void ptask_parse_workstation_init(sg_platf_host_cbarg_t host)
-{
- double power_peak = xbt_dynar_get_as(host->power_peak, host->pstate, double);
- //cpu->power_peak = power_peak;
- xbt_dynar_free(&(host->power_peak)); /* kill memory leak */
- static_cast<WorkstationL07ModelPtr>(surf_workstation_model)->createResource(
- host->id,
- power_peak,
- host->power_scale,
- host->power_trace,
- host->initial_state,
- host->state_trace,
- host->properties);
-}
-
-static void ptask_parse_link_init(sg_platf_link_cbarg_t link)
-{
- if (link->policy == SURF_LINK_FULLDUPLEX) {
- char *link_id;
- link_id = bprintf("%s_UP", link->id);
- static_cast<NetworkL07ModelPtr>(surf_network_model)->createResource(link_id,
- link->bandwidth,
- link->bandwidth_trace,
- link->latency,
- link->latency_trace,
- link->state,
- link->state_trace,
- link->policy,
- link->properties);
- xbt_free(link_id);
- link_id = bprintf("%s_DOWN", link->id);
- static_cast<NetworkL07ModelPtr>(surf_network_model)->createResource(link_id,
- link->bandwidth,
- link->bandwidth_trace,
- link->latency,
- link->latency_trace,
- link->state,
- link->state_trace,
- link->policy,
- NULL); /* FIXME: We need to deep copy the
- * properties or we won't be able to free
- * it */
- xbt_free(link_id);
- } else {
- static_cast<NetworkL07ModelPtr>(surf_network_model)->createResource(link->id,
- link->bandwidth,
- link->bandwidth_trace,
- link->latency,
- link->latency_trace,
- link->state,
- link->state_trace,
- link->policy,
- link->properties);
- }
-
- current_property_set = NULL;
-}
-
-static void ptask_add_traces(){
- static_cast<WorkstationL07ModelPtr>(surf_workstation_model)->addTraces();
-}
-
-static void ptask_define_callbacks()
-{
- sg_platf_host_add_cb(parse_cpu_init);
- sg_platf_host_add_cb(ptask_parse_workstation_init);
- sg_platf_link_add_cb(ptask_parse_link_init);
- sg_platf_postparse_add_cb(ptask_add_traces);
-}
-
-/**************************************/
-/*************** Generic **************/
-/**************************************/
-void surf_workstation_model_init_ptask_L07(void)
-{
- XBT_INFO("surf_workstation_model_init_ptask_L07");
- xbt_assert(!surf_cpu_model_pm, "CPU model type already defined");
- xbt_assert(!surf_network_model, "network model type already defined");
- ptask_define_callbacks();
- surf_workstation_model = new WorkstationL07Model();
- ModelPtr model = static_cast<ModelPtr>(surf_workstation_model);
- xbt_dynar_push(model_list, &model);
- xbt_dynar_push(model_list_invoke, &model);
-}
double shareResources(double now);
void updateActionsState(double now, double delta);
- ResourcePtr createResource(const char *name, double power_scale,
- double power_initial,
- tmgr_trace_t power_trace,
- e_surf_resource_state_t state_initial,
- tmgr_trace_t state_trace,
- xbt_dict_t cpu_properties);
+ WorkstationPtr createWorkstation(const char *name);
ActionPtr executeParallelTask(int workstation_nb,
void **workstation_list,
double *computation_amount,
public:
CpuL07Model() : CpuModel("cpuL07") {};
~CpuL07Model() {surf_cpu_model_pm = NULL;};
- ResourcePtr createResource(const char *name, double power_scale,
- double power_initial,
- tmgr_trace_t power_trace,
- e_surf_resource_state_t state_initial,
- tmgr_trace_t state_trace,
- xbt_dict_t cpu_properties);
- CpuPtr createResource(const char *name, xbt_dynar_t powerPeak,
+ CpuPtr createCpu(const char *name, xbt_dynar_t powerPeak,
int pstate, double power_scale,
tmgr_trace_t power_trace, int core,
e_surf_resource_state_t state_initial,
public:
NetworkL07Model() : NetworkModel() {};
~NetworkL07Model() {surf_network_model = NULL;};
- NetworkLinkPtr createResource(const char *name,
+ NetworkLinkPtr createNetworkLink(const char *name,
double bw_initial,
tmgr_trace_t bw_trace,
double lat_initial,