public:
void show_info(boost::unordered_map <std::string, simgrid::s4u::Storage*> const&mounts) {
- XBT_INFO("Storage info on %s:",
- simgrid::s4u::Host::current()->name().c_str());
+ XBT_INFO("Storage info on %s:", simgrid::s4u::Host::current()->cname());
for (const auto&kv : mounts) {
const char* mountpoint = kv.first.c_str();
});
if (TRACE_msg_vm_is_enabled()) {
- container_t container = PJ_container_get(vm->name().c_str());
+ container_t container = PJ_container_get(vm->cname());
PJ_container_remove_from_parent(container);
PJ_container_free(container);
}
});
if (TRACE_msg_vm_is_enabled()) {
- container_t vm_container = PJ_container_get(vm->name().c_str());
+ container_t vm_container = PJ_container_get(vm->cname());
type_t type = PJ_type_get("MSG_VM_STATE", vm_container->type);
val_t value = PJ_value_get_or_new("start", "0 0 1", type); // start is blue
new_pajePushState(MSG_get_clock(), vm_container, type, value);
PJ_container_new(vm->cname(), INSTR_MSG_VM, PJ_container_get(ms->dst_pm->cname()));
// end link
- msg = PJ_container_get(vm->name().c_str());
+ msg = PJ_container_get(vm->cname());
type = PJ_type_get("MSG_VM_LINK", PJ_type_get_root());
new_pajeEndLink(MSG_get_clock(), PJ_container_get_root(), type, msg, "M", key);
}
{
simgrid::simix::kernelImmediate([vm]() {
if (static_cast<simgrid::s4u::VirtualMachine*>(vm)->pimpl_vm_->getState() != SURF_VM_STATE_SAVED)
- THROWF(vm_error, 0, "VM(%s) was not saved", vm->name().c_str());
+ THROWF(vm_error, 0, "VM(%s) was not saved", vm->cname());
- XBT_DEBUG("restore VM(%s), where %d processes exist", vm->name().c_str(),
- xbt_swag_size(sg_host_simix(vm)->process_list));
+ XBT_DEBUG("restore VM(%s), where %d processes exist", vm->cname(), xbt_swag_size(sg_host_simix(vm)->process_list));
/* jump to vm_ws_restore() */
static_cast<simgrid::s4u::VirtualMachine*>(vm)->pimpl_vm_->restore();
xbt_assert(cpu, "cpu-less host");
double solved_value = ws_vm->pimpl_vm_->action_->getVariable()->value;
- XBT_DEBUG("assign %f to vm %s @ pm %s", solved_value, ws_vm->name().c_str(),
- ws_vm->pimpl_vm_->getPm()->name().c_str());
+ XBT_DEBUG("assign %f to vm %s @ pm %s", solved_value, ws_vm->cname(), ws_vm->pimpl_vm_->getPm()->cname());
// TODO: check lmm_update_constraint_bound() works fine instead of the below manual substitution.
// cpu_cas01->constraint->bound = solved_value;
/* Initialize the VM parameters */
params_.ramsize = 0;
- XBT_VERB("Create VM(%s)@PM(%s)", piface->name().c_str(), hostPM_->name().c_str());
+ XBT_VERB("Create VM(%s)@PM(%s)", piface->cname(), hostPM_->cname());
}
extern "C" int
/* Update the physical host of the given VM */
void VirtualMachineImpl::migrate(s4u::Host* host_dest)
{
- const char* vm_name = piface_->name().c_str();
- const char* pm_name_src = hostPM_->name().c_str();
- const char* pm_name_dst = host_dest->name().c_str();
+ const char* vm_name = piface_->cname();
+ const char* pm_name_src = hostPM_->cname();
+ const char* pm_name_dst = host_dest->cname();
/* update net_elm with that of the destination physical host */
piface_->pimpl_netcard = host_dest->pimpl_netcard;
{
onDestruction(*this);
- XBT_DEBUG("destroy %s", name().c_str());
+ XBT_DEBUG("destroy %s", cname());
/* FIXME: this is really strange that everything fails if the next line is removed.
* This is as if we shared these data with the PM, which definitely should not be the case...
static int hostcmp_voidp(const void* pa, const void* pb)
{
- return strcmp((*static_cast<simgrid::s4u::Host* const*>(pa))->name().c_str(),
- (*static_cast<simgrid::s4u::Host* const*>(pb))->name().c_str());
+ return strcmp((*static_cast<simgrid::s4u::Host* const*>(pa))->cname(),
+ (*static_cast<simgrid::s4u::Host* const*>(pb))->cname());
}
xbt_dynar_t sg_hosts_as_dynar()
{
smx_actor_t process = nullptr;
- XBT_DEBUG("Start process %s on host '%s'", name, host->name().c_str());
+ XBT_DEBUG("Start process %s on host '%s'", name, host->cname());
if (host->isOff()) {
- XBT_WARN("Cannot launch process '%s' on failed host '%s'", name, host->name().c_str());
+ XBT_WARN("Cannot launch process '%s' on failed host '%s'", name, host->cname());
return nullptr;
}
else {
void Host::turnOn()
{
for (auto arg : boot_processes) {
- XBT_DEBUG("Booting Process %s(%s) right now", arg->name.c_str(), arg->host->name().c_str());
+ XBT_DEBUG("Booting Process %s(%s) right now", arg->name.c_str(), arg->host->cname());
simix_global->create_process_function(arg->name.c_str(),
arg->code,
nullptr,
void SIMIX_vm_suspend(sg_host_t vm, smx_actor_t issuer)
{
if (static_cast<simgrid::s4u::VirtualMachine*>(vm)->pimpl_vm_->getState() != SURF_VM_STATE_RUNNING)
- THROWF(vm_error, 0, "VM(%s) is not running", vm->name().c_str());
+ THROWF(vm_error, 0, "VM(%s) is not running", vm->cname());
- XBT_DEBUG("suspend VM(%s), where %d processes exist", vm->name().c_str(), xbt_swag_size(sg_host_simix(vm)->process_list));
+ XBT_DEBUG("suspend VM(%s), where %d processes exist", vm->cname(), xbt_swag_size(sg_host_simix(vm)->process_list));
/* jump to vm_ws_suspend. The state will be set. */
static_cast<simgrid::s4u::VirtualMachine*>(vm)->pimpl_vm_->suspend();
void SIMIX_vm_resume(sg_host_t vm)
{
if (static_cast<simgrid::s4u::VirtualMachine*>(vm)->pimpl_vm_->getState() != SURF_VM_STATE_SUSPENDED)
- THROWF(vm_error, 0, "VM(%s) was not suspended", vm->name().c_str());
+ THROWF(vm_error, 0, "VM(%s) was not suspended", vm->cname());
- XBT_DEBUG("resume VM(%s), where %d processes exist",
- vm->name().c_str(), xbt_swag_size(sg_host_simix(vm)->process_list));
+ XBT_DEBUG("resume VM(%s), where %d processes exist", vm->cname(), xbt_swag_size(sg_host_simix(vm)->process_list));
/* jump to vm_ws_resume() */
static_cast<simgrid::s4u::VirtualMachine*>(vm)->pimpl_vm_->resume();
void SIMIX_vm_shutdown(sg_host_t vm, smx_actor_t issuer)
{
if (static_cast<simgrid::s4u::VirtualMachine*>(vm)->pimpl_vm_->getState() != SURF_VM_STATE_RUNNING)
- THROWF(vm_error, 0, "VM(%s) is not running", vm->name().c_str());
+ THROWF(vm_error, 0, "VM(%s) is not running", vm->cname());
- XBT_DEBUG("shutdown VM %s, that contains %d processes",
- vm->name().c_str(),xbt_swag_size(sg_host_simix(vm)->process_list));
+ XBT_DEBUG("shutdown VM %s, that contains %d processes", vm->cname(), xbt_swag_size(sg_host_simix(vm)->process_list));
smx_actor_t smx_process, smx_process_safe;
xbt_swag_foreach_safe(smx_process, smx_process_safe, sg_host_simix(vm)->process_list) {
s_mount_t mnt;
unsigned int cursor;
- XBT_DEBUG("Search for storage name '%s' on '%s'", mount, piface_->name().c_str());
+ XBT_DEBUG("Search for storage name '%s' on '%s'", mount, piface_->cname());
xbt_dynar_foreach (storage_, cursor, mnt) {
XBT_DEBUG("See '%s'", mnt.name);
if (!strcmp(mount, mnt.name)) {
}
}
if (!st)
- xbt_die("Can't find mount '%s' for '%s'", mount, piface_->name().c_str());
+ xbt_die("Can't find mount '%s' for '%s'", mount, piface_->cname());
return st;
}
if (xbt_lib_get_level(xbt_lib_get_elm_or_null(storage_lib, key), SURF_STORAGE_LEVEL) != nullptr) {
simgrid::surf::Storage* storage = static_cast<simgrid::surf::Storage*>(
xbt_lib_get_level(xbt_lib_get_elm_or_null(storage_lib, key), SURF_STORAGE_LEVEL));
- if (!strcmp((const char*)storage->attach_, piface_->name().c_str())) {
+ if (!strcmp((const char*)storage->attach_, piface_->cname())) {
xbt_dynar_push_as(result, void*, (void*)storage->getName());
}
}
char* file_mount_name = nullptr;
char* mount_name = nullptr;
- XBT_DEBUG("Search for storage name for '%s' on '%s'", fullpath, piface_->name().c_str());
+ XBT_DEBUG("Search for storage name for '%s' on '%s'", fullpath, piface_->cname());
xbt_dynar_foreach (storage_, cursor, mnt) {
XBT_DEBUG("See '%s'", mnt.name);
file_mount_name = (char*)xbt_malloc((strlen(mnt.name) + 1));
path[strlen(fullpath) - longest_prefix_length] = '\0';
mount_name[longest_prefix_length] = '\0';
} else
- xbt_die("Can't find mount point for '%s' on '%s'", fullpath, piface_->name().c_str());
+ xbt_die("Can't find mount point for '%s' on '%s'", fullpath, piface_->cname());
XBT_DEBUG("OPEN %s on disk '%s'", path, st->getName());
Action* action = st->open((const char*)mount_name, (const char*)path);
{
}
-Cpu::Cpu(Model *model, simgrid::s4u::Host *host, lmm_constraint_t constraint,
- std::vector<double> * speedPerPstate, int core)
- : Resource(model, host->name().c_str(), constraint)
- , coresAmount_(core)
- , host_(host)
+Cpu::Cpu(Model* model, simgrid::s4u::Host* host, lmm_constraint_t constraint, std::vector<double>* speedPerPstate,
+ int core)
+ : Resource(model, host->cname(), constraint), coresAmount_(core), host_(host)
{
- xbt_assert(core > 0, "Host %s must have at least one core, not 0.", host->name().c_str());
+ xbt_assert(core > 0, "Host %s must have at least one core, not 0.", host->cname());
speed_.peak = speedPerPstate->front();
speed_.scale = 1;
host->pimpl_cpu = this;
- xbt_assert(speed_.scale > 0, "Speed of host %s must be >0", host->name().c_str());
+ xbt_assert(speed_.scale > 0, "Speed of host %s must be >0", host->cname());
// Copy the power peak array:
for (double value : *speedPerPstate) {
void Cpu::setStateTrace(tmgr_trace_t trace)
{
- xbt_assert(stateEvent_==nullptr,"Cannot set a second state trace to Host %s", host_->name().c_str());
+ xbt_assert(stateEvent_ == nullptr, "Cannot set a second state trace to Host %s", host_->cname());
stateEvent_ = future_evt_set->add_trace(trace, 0.0, this);
}
void Cpu::setSpeedTrace(tmgr_trace_t trace)
{
- xbt_assert(speed_.event==nullptr,"Cannot set a second speed trace to Host %s", host_->name().c_str());
+ xbt_assert(speed_.event == nullptr, "Cannot set a second speed trace to Host %s", host_->cname());
speed_.event = future_evt_set->add_trace(trace, 0.0, this);
}
void sg_instr_new_host(simgrid::s4u::Host& host)
{
container_t father = currentContainer.back();
- container_t container = PJ_container_new(host.name().c_str(), INSTR_HOST, father);
+ container_t container = PJ_container_new(host.cname(), INSTR_HOST, father);
if ((TRACE_categorized() || TRACE_uncategorized() || TRACE_platform()) && (! TRACE_disable_speed())) {
type_t speed = PJ_type_get_or_null ("power", container->type);
std::vector<Link*> *route = new std::vector<Link*>();
- XBT_IN("(%s,%s,%g,%g)", src->name().c_str(), dst->name().c_str(), size, rate);
+ XBT_IN("(%s,%s,%g,%g)", src->cname(), dst->cname(), size, rate);
src->routeTo(dst, route, &latency);
xbt_assert(!route->empty() || latency,
"You're trying to send data from %s to %s but there is no connecting path between these two hosts.",
- src->name().c_str(), dst->name().c_str());
+ src->cname(), dst->cname());
for (auto link: *route)
if (link->isOff())
"Using a model with a gap (e.g., SMPI) with a platform without links (e.g. vivaldi)!!!");
gapAppend(size, route->at(0), action);
- XBT_DEBUG("Comm %p: %s -> %s gap=%f (lat=%f)", action, src->name().c_str(), dst->name().c_str(), action->senderGap_,
+ XBT_DEBUG("Comm %p: %s -> %s gap=%f (lat=%f)", action, src->cname(), dst->cname(), action->senderGap_,
action->latency_);
}
IBNode* act = new IBNode(id);
id++;
- xbt_dict_set(((NetworkIBModel*)surf_network_model)->active_nodes,
- host.name().c_str(), act, nullptr);
-
+ xbt_dict_set(((NetworkIBModel*)surf_network_model)->active_nodes, host.cname(), act, nullptr);
}
static void IB_action_state_changed_callback(
{
simgrid::surf::NetworkIBModel* ibModel = (simgrid::surf::NetworkIBModel*)surf_network_model;
- simgrid::surf::IBNode* act_src =
- (simgrid::surf::IBNode*)xbt_dict_get_or_null(ibModel->active_nodes, src->name().c_str());
+ simgrid::surf::IBNode* act_src = (simgrid::surf::IBNode*)xbt_dict_get_or_null(ibModel->active_nodes, src->cname());
xbt_assert(act_src, "could not find src node active comms !");
- simgrid::surf::IBNode* act_dst =
- (simgrid::surf::IBNode*)xbt_dict_get_or_null(ibModel->active_nodes, dst->name().c_str());
+ simgrid::surf::IBNode* act_dst = (simgrid::surf::IBNode*)xbt_dict_get_or_null(ibModel->active_nodes, dst->cname());
xbt_assert(act_dst, "could not find dst node active comms !");
ibModel->active_comms[action]=std::make_pair(act_src, act_dst);
XBT_DEBUG(
"[update_energy of %s] period=[%.2f-%.2f]; current power peak=%.0E flop/s; consumption change: %.2f J -> %.2f J",
- host->name().c_str(), start_time, finish_time, host->pimpl_cpu->speed_.peak, previous_energy, energy_this_step);
+ host->cname(), start_time, finish_time, host->pimpl_cpu->speed_.peak, previous_energy, energy_this_step);
}
HostEnergy::HostEnergy(simgrid::s4u::Host *ptr) : host(ptr), last_updated(surf_get_clock())
if (host->properties() != nullptr) {
char* off_power_str = (char*)xbt_dict_get_or_null(host->properties(), "watt_off");
if (off_power_str != nullptr) {
- char *msg = bprintf("Invalid value for property watt_off of host %s: %%s",host->name().c_str());
+ char* msg = bprintf("Invalid value for property watt_off of host %s: %%s", host->cname());
watts_off = xbt_str_parse_double(off_power_str, msg);
xbt_free(msg);
}
double HostEnergy::getWattMinAt(int pstate)
{
- xbt_assert(!power_range_watts_list.empty(), "No power range properties specified for host %s", host->name().c_str());
+ xbt_assert(!power_range_watts_list.empty(), "No power range properties specified for host %s", host->cname());
return power_range_watts_list[pstate].min;
}
double HostEnergy::getWattMaxAt(int pstate)
{
- xbt_assert(!power_range_watts_list.empty(), "No power range properties specified for host %s", host->name().c_str());
+ xbt_assert(!power_range_watts_list.empty(), "No power range properties specified for host %s", host->cname());
return power_range_watts_list[pstate].max;
}
/** @brief Computes the power consumed by the host according to the current pstate and processor load */
double HostEnergy::getCurrentWattsValue(double cpu_load)
{
- xbt_assert(!power_range_watts_list.empty(), "No power range properties specified for host %s", host->name().c_str());
+ xbt_assert(!power_range_watts_list.empty(), "No power range properties specified for host %s", host->cname());
/* min_power corresponds to the idle power (cpu load = 0) */
/* max_power is the power consumed at 100% cpu load */
/* retrieve the power values associated with the current pstate */
xbt_dynar_t current_power_values = xbt_str_split(xbt_dynar_get_as(all_power_values, i, char*), ":");
xbt_assert(xbt_dynar_length(current_power_values) == 3,
- "Power properties incorrectly defined - could not retrieve idle, min and max power values for host %s",
- host->name().c_str());
+ "Power properties incorrectly defined - could not retrieve idle, min and max power values for host %s",
+ host->cname());
/* min_power corresponds to the idle power (cpu load = 0) */
/* max_power is the power consumed at 100% cpu load */
- char *msg_idle = bprintf("Invalid idle value for pstate %d on host %s: %%s", i, host->name().c_str());
- char *msg_min = bprintf("Invalid min value for pstate %d on host %s: %%s", i, host->name().c_str());
- char *msg_max = bprintf("Invalid max value for pstate %d on host %s: %%s", i, host->name().c_str());
+ char* msg_idle = bprintf("Invalid idle value for pstate %d on host %s: %%s", i, host->cname());
+ char* msg_min = bprintf("Invalid min value for pstate %d on host %s: %%s", i, host->cname());
+ char* msg_max = bprintf("Invalid max value for pstate %d on host %s: %%s", i, host->cname());
PowerRange range(
xbt_str_parse_double(xbt_dynar_get_as(current_power_values, 0, char*), msg_idle),
xbt_str_parse_double(xbt_dynar_get_as(current_power_values, 1, char*), msg_min),
return;
HostEnergy *host_energy = host.extension<HostEnergy>();
host_energy->update();
- XBT_INFO("Total energy of host %s: %f Joules", host.name().c_str(), host_energy->getConsumedEnergy());
+ XBT_INFO("Total energy of host %s: %f Joules", host.cname(), host_energy->getConsumedEnergy());
}
/* **************************** Public interface *************************** */
simgrid::s4u::Host* host;
unsigned int cursor;
xbt_dynar_foreach(all_hosts,cursor, host) {
- xbt_strbuff_append(msg,host->name().c_str());
+ xbt_strbuff_append(msg, host->cname());
xbt_strbuff_append(msg,"', '");
if (msg->used > 1024) {
msg->data[msg->used-3]='\0';
arg->kill_time = kill_time;
arg->properties = current_property_set;
- XBT_DEBUG("Process %s@%s will be started at time %f",
- arg->name.c_str(), arg->host->name().c_str(), start_time);
+ XBT_DEBUG("Process %s@%s will be started at time %f", arg->name.c_str(), arg->host->cname(), start_time);
SIMIX_timer_set(start_time, [=]() {
simix_global->create_process_function(
arg->name.c_str(),
if (as_cluster->privateLinks_.find(netcard->id()) != as_cluster->privateLinks_.end())
surf_parse_error("Host_link for '%s' is already defined!",hostlink->id);
- XBT_DEBUG("Push Host_link for host '%s' to position %d", netcard->name().c_str(), netcard->id());
+ XBT_DEBUG("Push Host_link for host '%s' to position %d", netcard->cname(), netcard->id());
as_cluster->privateLinks_.insert({netcard->id(), {linkUp, linkDown}});
}
sg_host_t host;
xbt_dynar_foreach(hosts, it, host) {
simgrid::kernel::routing::NetCard * nc = host->pimpl_netcard;
- printf(" - Seen: \"%s\". Type: %s\n", host->name().c_str(), nc->isRouter() ? "router" : (nc->isAS()?"AS":"host"));
+ printf(" - Seen: \"%s\". Type: %s\n", host->cname(), nc->isRouter() ? "router" : (nc->isAS() ? "AS" : "host"));
}
xbt_dynar_free(&hosts);