|
SimGrid
3.14.159
Versatile Simulation of Distributed Systems
|
NetZone with an explicit routing (abstract class)
This abstract class factorizes code between its subclasses: Full, Dijkstra and Floyd.
| DijkstraZone | FloydZone | FullZone | |
| Platform-file content | Only 1-hop routes (rather small) | Only 1-hop routes (rather small) | Every path, explicitly (very large) |
| Initialization time | Almost nothing | Floyd-Warshall algorithm: O(n^3) | Almost nothing |
| Memory usage | 1-hop routes (+ cache of routes) | O(n^2) data (intermediate) | O(n^2) + sum of path lengths (very large) |
| Lookup time | Dijkstra Algo: O(n^3) | not much (reconstruction phase) | Almost nothing |
| Expressiveness | Only shortest path | Only shortest path | Everything |
#include <RoutedZone.hpp>
Public Member Functions | |
| RoutedZone (NetZone *father, const char *name) | |
| void | getGraph (xbt_graph_t graph, xbt_dict_t nodes, xbt_dict_t edges) override |
| virtual sg_platf_route_cbarg_t | newExtendedRoute (RoutingMode hierarchy, sg_platf_route_cbarg_t routearg, int change_order) |
Public Member Functions inherited from simgrid::kernel::routing::NetZoneImpl | |
| simgrid::s4u::Host * | createHost (const char *name, std::vector< double > *speedPerPstate, int coreAmount) |
| Make an host within that NetZone. More... | |
| void | addBypassRoute (sg_platf_route_cbarg_t e_route) override |
| Creates a new route in this NetZone. More... | |
Public Member Functions inherited from simgrid::s4u::NetZone | |
| virtual void | seal () |
| Seal your netzone once you're done adding content, and before routing stuff through it. More... | |
| char * | name () |
| NetZone * | father () |
| xbt_dict_t | children () |
| xbt_dynar_t | hosts () |
| std::unordered_map< std::string, std::string > * | properties () |
| Get the properties assigned to a host. More... | |
| const char * | property (const char *key) |
| Retrieve the property value (or nullptr if not set) More... | |
| void | setProperty (const char *key, const char *value) |
| virtual int | addComponent (kernel::routing::NetCard *elm) |
| virtual void | addRoute (sg_platf_route_cbarg_t route) |
Protected Member Functions | |
| void | getRouteCheckParams (NetCard *src, NetCard *dst) |
| void | addRouteCheckParams (sg_platf_route_cbarg_t route) |
Protected Member Functions inherited from simgrid::kernel::routing::NetZoneImpl | |
| NetZoneImpl (NetZone *father, const char *name) | |
| virtual | ~NetZoneImpl () |
| virtual void | getLocalRoute (NetCard *src, NetCard *dst, sg_platf_route_cbarg_t into, double *latency)=0 |
| Probe the routing path between two points that are local to the called NetZone. More... | |
| bool | getBypassRoute (routing::NetCard *src, routing::NetCard *dst, std::vector< surf::Link *> *links, double *latency) |
| retrieves the list of all routes of size 1 (of type src x dst x Link) More... | |
Protected Member Functions inherited from simgrid::s4u::NetZone | |
| NetZone (NetZone *father, const char *name) | |
| virtual | ~NetZone () |
Additional Inherited Members | |
Public Types inherited from simgrid::kernel::routing::NetZoneImpl | |
| enum | RoutingMode { RoutingMode::unset = 0, RoutingMode::base, RoutingMode::recursive } |
Static Public Member Functions inherited from simgrid::kernel::routing::NetZoneImpl | |
| static void | getGlobalRoute (routing::NetCard *src, routing::NetCard *dst, std::vector< surf::Link *> *links, double *latency) |
Public Attributes inherited from simgrid::kernel::routing::NetZoneImpl | |
| RoutingMode | hierarchy_ = RoutingMode::unset |
Static Public Attributes inherited from simgrid::s4u::NetZone | |
| static simgrid::xbt::signal< void(bool symmetrical, kernel::routing::NetCard *src, kernel::routing::NetCard *dst, kernel::routing::NetCard *gw_src, kernel::routing::NetCard *gw_dst, std::vector< Link * > *link_list)> | onRouteCreation |
Protected Attributes inherited from simgrid::s4u::NetZone | |
| std::vector< kernel::routing::NetCard * > | vertices_ |
|
explicit |
|
overridevirtual |
Implements simgrid::kernel::routing::NetZoneImpl.
|
virtual |
|
protected |
|
protected |