return cpu;
}
-CpuTiActionPtr CpuTiModel::createAction(double /*cost*/, bool /*failed*/)
-{
- return NULL;//new CpuTiAction(this, cost, failed);
-}
-
double CpuTiModel::shareResources(double now)
{
void *_cpu, *_cpu_next;
e_surf_resource_state_t state_initial,
tmgr_trace_t state_trace,
xbt_dict_t cpu_properties);
- CpuTiActionPtr createAction(double cost, bool failed);
double shareResources(double now);
void updateActionsState(double now, double delta);
void addTraces();
NetworkModelPtr surf_network_model = NULL;
-xbt_dynar_t NetworkModel::getRoute(RoutingEdgePtr src, RoutingEdgePtr dst)
-{
- xbt_dynar_t route = NULL;
- routing_platf->getRouteAndLatency(src, dst, &route, NULL);
- return route;
-}
-
double NetworkModel::latencyFactor(double /*size*/) {
return sg_latency_factor;
}
virtual ActionPtr communicate(RoutingEdgePtr src, RoutingEdgePtr dst,
double size, double rate)=0;
- /**
- * @brief Get the route between two RoutingEdge
- * @details [TODO]
- *
- * @param src [TODO]
- * @param dst [TODO]
- *
- * @return A xbt_dynar_t of [TODO]
- */
- virtual xbt_dynar_t getRoute(RoutingEdgePtr src, RoutingEdgePtr dst); //FIXME: kill field? That is done by the routing nowadays
-
/**
* @brief Function pointer to the function to use to solve the lmm_system_t
*
XBT_DEBUG("File %s doesn't exist",src);
}
-xbt_dict_t StorageN11::getContent()
-{
- /* For the moment this action has no cost, but in the future we could take in account access latency of the disk */
- /*surf_action_t action = storage_action_execute(storage,0, LS);*/
-
- xbt_dict_t content_dict = xbt_dict_new_homogeneous(NULL);
- xbt_dict_cursor_t cursor = NULL;
- char *file;
- sg_size_t *psize;
-
- xbt_dict_foreach(p_content, cursor, file, psize){
- xbt_dict_set(content_dict,file,psize,NULL);
- }
- return content_dict;
-}
-
-sg_size_t StorageN11::getSize(){
- return m_size;
-}
-
/**********
* Action *
**********/
StorageActionPtr open(const char* mount, const char* path);
StorageActionPtr close(surf_file_t fd);
StorageActionPtr ls(const char *path);
- xbt_dict_t getContent();
- sg_size_t getSize();
StorageActionPtr read(surf_file_t fd, sg_size_t size);//FIXME:why we have a useless param ptr ??
StorageActionPtr write(surf_file_t fd, sg_size_t size);//FIXME:why we have a useless param ptr ??
void rename(const char *src, const char *dest);
xbt_dynar_t surf_workstation_model_get_route(surf_workstation_model_t model,
surf_resource_t src, surf_resource_t dst){
- return model->getRoute(get_casted_workstation(src), get_casted_workstation(dst));
+ xbt_dynar_t route = NULL;
+ routing_platf->getRouteAndLatency(get_casted_workstation(src)->p_netElm,
+ get_casted_workstation(dst)->p_netElm, &route, NULL);
+ return route;
}
void surf_vm_workstation_model_create(const char *name, surf_resource_t ind_phys_host){
return;
}
-xbt_dynar_t WorkstationVMHL13Model::getRoute(WorkstationPtr src, WorkstationPtr dst){
- XBT_DEBUG("ws_get_route");
- return surf_network_model->getRoute(src->p_netElm, dst->p_netElm);
-}
-
ActionPtr WorkstationVMHL13Model::communicate(WorkstationPtr src, WorkstationPtr dst, double size, double rate){
return surf_network_model->communicate(src->p_netElm, dst->p_netElm, size, rate);
}
void createResource(const char *name, void *ind_phys_workstation);
double shareResources(double now);
void adjustWeightOfDummyCpuActions() {};
- xbt_dynar_t getRoute(WorkstationPtr src, WorkstationPtr dst);
ActionPtr communicate(WorkstationPtr src, WorkstationPtr dst, double size, double rate);
ActionPtr executeParallelTask(int workstation_nb,
void **workstation_list,
sg_platf_host_add_cb(workstation_new);
}
-WorkstationCLM03Model::WorkstationCLM03Model(const char *name)
- : WorkstationModel(name)
-{}
-
-
WorkstationCLM03Model::WorkstationCLM03Model()
: WorkstationModel("Workstation")
{
return NULL;
}
-/* returns an array of network_link_CM02_t */
-xbt_dynar_t WorkstationCLM03Model::getRoute(WorkstationPtr src, WorkstationPtr dst)
-{
- XBT_DEBUG("ws_get_route");
- return surf_network_model->getRoute(src->p_netElm, dst->p_netElm);
-}
-
ActionPtr WorkstationCLM03Model::communicate(WorkstationPtr src, WorkstationPtr dst, double size, double rate){
return surf_network_model->communicate(src->p_netElm, dst->p_netElm, size, rate);
}
class WorkstationCLM03Model : public WorkstationModel {
public:
- WorkstationCLM03Model(const char *name);
WorkstationCLM03Model();
~WorkstationCLM03Model();
void parseInit(sg_platf_host_cbarg_t host);
double *computation_amount,
double *communication_amount,
double rate);
- xbt_dynar_t getRoute(WorkstationPtr src, WorkstationPtr dst);
ActionPtr communicate(WorkstationPtr src, WorkstationPtr dst, double size, double rate);
};
* Action *
**********/
-class WorkstationCLM03Action : public WorkstationAction {
-public:
- WorkstationCLM03Action(ModelPtr model, double cost, bool failed)
- : WorkstationAction(model, cost, failed) {}
-};
#endif /* SURF_WORKSTATION_CLM03_HPP_ */
double *communication_amount,
double rate)=0;
- /**
- * @brief [brief description]
- * @details [long description]
- *
- * @param src [description]
- * @param dst [description]
- *
- * @return [description]
- */
- virtual xbt_dynar_t getRoute(WorkstationPtr src, WorkstationPtr dst)=0;
-
/**
* @brief [brief description]
* @details [long description]
/**********
* Action *
**********/
+
/** @ingroup SURF_workstation_interface
* @brief SURF workstation action interface class
*/