{}
AsCluster::~AsCluster()
{
- xbt_dynar_free(&upDownLinks_);
+ xbt_dynar_free(&privateLinks_);
}
void AsCluster::getRouteAndLatency(NetCard *src, NetCard *dst, sg_platf_route_cbarg_t route, double *lat)
if (! src->isRouter()) { // No specific link for router
if((src->id() == dst->id()) && has_loopback_ ){
- info = xbt_dynar_get_as(upDownLinks_, src->id() * nb_links_per_node_, s_surf_parsing_link_up_down_t);
+ info = xbt_dynar_get_as(privateLinks_, src->id() * nb_links_per_node_, s_surf_parsing_link_up_down_t);
route->link_list->push_back(info.link_up);
if (lat)
*lat += info.link_up->getLatency();
if (has_limiter_){ // limiter for sender
- info = xbt_dynar_get_as(upDownLinks_, src->id() * nb_links_per_node_ + has_loopback_, s_surf_parsing_link_up_down_t);
+ info = xbt_dynar_get_as(privateLinks_, src->id() * nb_links_per_node_ + has_loopback_, s_surf_parsing_link_up_down_t);
route->link_list->push_back((Link*)info.link_up);
}
- info = xbt_dynar_get_as(upDownLinks_, src->id() * nb_links_per_node_ + has_loopback_ + has_limiter_, s_surf_parsing_link_up_down_t);
+ info = xbt_dynar_get_as(privateLinks_, src->id() * nb_links_per_node_ + has_loopback_ + has_limiter_, s_surf_parsing_link_up_down_t);
if (info.link_up) { // link up
route->link_list->push_back(info.link_up);
if (lat)
}
if (! dst->isRouter()) { // No specific link for router
- info = xbt_dynar_get_as(upDownLinks_, dst->id() * nb_links_per_node_ + has_loopback_ + has_limiter_, s_surf_parsing_link_up_down_t);
+ info = xbt_dynar_get_as(privateLinks_, dst->id() * nb_links_per_node_ + has_loopback_ + has_limiter_, s_surf_parsing_link_up_down_t);
if (info.link_down) { // link down
route->link_list->push_back(info.link_down);
*lat += info.link_down->getLatency();
}
if (has_limiter_){ // limiter for receiver
- info = xbt_dynar_get_as(upDownLinks_, dst->id() * nb_links_per_node_ + has_loopback_, s_surf_parsing_link_up_down_t);
+ info = xbt_dynar_get_as(privateLinks_, dst->id() * nb_links_per_node_ + has_loopback_, s_surf_parsing_link_up_down_t);
route->link_list->push_back(info.link_up);
}
}
if (! src->isRouter()) {
previous = new_xbt_graph_node(graph, src->name(), nodes);
- info = xbt_dynar_get_as(upDownLinks_, src->id(), s_surf_parsing_link_up_down_t);
+ info = xbt_dynar_get_as(privateLinks_, src->id(), s_surf_parsing_link_up_down_t);
if (info.link_up) { // link up
info.link_up = sg_link_by_name(link_id);
info.link_down = info.link_up;
}
- xbt_dynar_set(upDownLinks_, position, &info);
+ xbt_dynar_set(privateLinks_, position, &info);
xbt_free(link_id);
}
virtual void create_links_for_node(sg_platf_cluster_cbarg_t cluster, int id, int rank, int position);
virtual void parse_specific_arguments(sg_platf_cluster_cbarg_t cluster) {}
- xbt_dynar_t upDownLinks_ = xbt_dynar_new(sizeof(s_surf_parsing_link_up_down_t),NULL);
+ xbt_dynar_t privateLinks_ = xbt_dynar_new(sizeof(s_surf_parsing_link_up_down_t),NULL);
Link* backbone_ = nullptr;
void *loopback_ = nullptr;
* note that position rankId*(xbt_dynar_length(dimensions)+has_loopack?+has_limiter?)
* holds the link "rankId->rankId"
*/
- xbt_dynar_set(upDownLinks_, position + j, &info);
+ xbt_dynar_set(privateLinks_, position + j, &info);
dim_product *= current_dimension;
xbt_free(link_id);
}
return;
if ((src->id() == dst->id()) && has_loopback_) {
- s_surf_parsing_link_up_down_t info = xbt_dynar_get_as(upDownLinks_, src->id() * nb_links_per_node_, s_surf_parsing_link_up_down_t);
+ s_surf_parsing_link_up_down_t info = xbt_dynar_get_as(privateLinks_, src->id() * nb_links_per_node_, s_surf_parsing_link_up_down_t);
route->link_list->push_back(info.link_up);
if (lat)
s_surf_parsing_link_up_down_t info;
if (has_limiter_) { // limiter for sender
- info = xbt_dynar_get_as(upDownLinks_, nodeOffset + has_loopback_, s_surf_parsing_link_up_down_t);
+ info = xbt_dynar_get_as(privateLinks_, nodeOffset + has_loopback_, s_surf_parsing_link_up_down_t);
route->link_list->push_back(info.link_up);
}
- info = xbt_dynar_get_as(upDownLinks_, linkOffset, s_surf_parsing_link_up_down_t);
+ info = xbt_dynar_get_as(privateLinks_, linkOffset, s_surf_parsing_link_up_down_t);
if (use_lnk_up == false) {
route->link_list->push_back(info.link_down);
void AsVivaldi::getRouteAndLatency(NetCard *src, NetCard *dst, sg_platf_route_cbarg_t route, double *lat)
{
- s_surf_parsing_link_up_down_t info;
-
- XBT_DEBUG("vivaldi_get_route_and_latency from '%s'[%d] '%s'[%d]",
- src->name(), src->id(), dst->name(), dst->id());
+ XBT_DEBUG("vivaldi_get_route_and_latency from '%s'[%d] '%s'[%d]", src->name(), src->id(), dst->name(), dst->id());
if(src->isAS()) {
char *src_name = ROUTER_PEER(src->name());
if(src->isHost()){
tmp_src_name = HOST_PEER(src->name());
- if ((int)xbt_dynar_length(upDownLinks_)>src->id()) {
- info = xbt_dynar_get_as(upDownLinks_, src->id(), s_surf_parsing_link_up_down_t);
+ if ((int)xbt_dynar_length(privateLinks_) > src->id()) {
+ s_surf_parsing_link_up_down_t info = xbt_dynar_get_as(privateLinks_, src->id(), s_surf_parsing_link_up_down_t);
if(info.link_up) { // link up
route->link_list->push_back(info.link_up);
if (lat)
- *lat += static_cast<Link*>(info.link_up)->getLatency();
+ *lat += info.link_up->getLatency();
}
}
src_ctn = (xbt_dynar_t) simgrid::s4u::Host::by_name_or_create(tmp_src_name)->extension(COORD_HOST_LEVEL);
if(dst->isHost()){
tmp_dst_name = HOST_PEER(dst->name());
- if ((int)xbt_dynar_length(upDownLinks_)>dst->id()) {
- info = xbt_dynar_get_as(upDownLinks_, dst->id(), s_surf_parsing_link_up_down_t);
+ if ((int)xbt_dynar_length(privateLinks_)>dst->id()) {
+ s_surf_parsing_link_up_down_t info = xbt_dynar_get_as(privateLinks_, dst->id(), s_surf_parsing_link_up_down_t);
if(info.link_down) { // link down
route->link_list->push_back(info.link_down);
if (lat)
- *lat += static_cast<Link*>(info.link_down)->getLatency();
+ *lat += info.link_down->getLatency();
}
}
- dst_ctn = (xbt_dynar_t) simgrid::s4u::Host::by_name_or_create(tmp_dst_name)
- ->extension(COORD_HOST_LEVEL);
+ dst_ctn = (xbt_dynar_t) simgrid::s4u::Host::by_name_or_create(tmp_dst_name)->extension(COORD_HOST_LEVEL);
if (dst_ctn == nullptr)
- dst_ctn = (xbt_dynar_t) simgrid::s4u::Host::by_name_or_create(dst->name())
- ->extension(COORD_HOST_LEVEL);
+ dst_ctn = (xbt_dynar_t) simgrid::s4u::Host::by_name_or_create(dst->name())->extension(COORD_HOST_LEVEL);
}
else if(dst->isRouter() || dst->isAS()){
tmp_dst_name = ROUTER_PEER(dst->name());
info_loop.link_down = info_loop.link_up;
free(tmp_link);
auto as_cluster = static_cast<AsCluster*>(current_routing);
- xbt_dynar_set(as_cluster->upDownLinks_, rankId*as_cluster->nb_links_per_node_, &info_loop);
+ xbt_dynar_set(as_cluster->privateLinks_, rankId*as_cluster->nb_links_per_node_, &info_loop);
}
//add a limiter link (shared link to account for maximal bandwidth of the node)
info_lim.link_down = info_lim.link_up;
free(tmp_link);
auto as_cluster = static_cast<AsCluster*>(current_routing);
- xbt_dynar_set(as_cluster->upDownLinks_, rankId*(as_cluster)->nb_links_per_node_ + as_cluster->has_loopback_ , &info_lim);
+ xbt_dynar_set(as_cluster->privateLinks_, rankId*(as_cluster)->nb_links_per_node_ + as_cluster->has_loopback_ , &info_lim);
}
// If dynar is is greater than netcard id and if the host_link is already defined
auto as_cluster = static_cast<simgrid::surf::AsCluster*>(current_routing);
- if((int)xbt_dynar_length(as_cluster->upDownLinks_) > netcard->id() &&
- xbt_dynar_get_as(as_cluster->upDownLinks_, netcard->id(), void*))
+ if((int)xbt_dynar_length(as_cluster->privateLinks_) > netcard->id() &&
+ xbt_dynar_get_as(as_cluster->privateLinks_, netcard->id(), void*))
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(), netcard->id());
- xbt_dynar_set_as(as_cluster->upDownLinks_, netcard->id(), s_surf_parsing_link_up_down_t, link_up_down);
+ xbt_dynar_set_as(as_cluster->privateLinks_, netcard->id(), s_surf_parsing_link_up_down_t, link_up_down);
}