NetZone with an explicit routing (abstract class)
This abstract class factorizes code between its subclasses: Full, Dijkstra and Floyd.
Comparison of the RoutedZone subclasses
| 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 |
|
| | 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, bool change_order) |
| |
| simgrid::s4u::Host * | createHost (const char *name, std::vector< double > *speedPerPstate, int coreAmount, std::unordered_map< std::string, std::string > *props) |
| | 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...
|
| |
| virtual void | seal () |
| | Seal your netzone once you're done adding content, and before routing stuff through it. More...
|
| |
| char * | name () |
| |
| NetZone * | father () |
| |
| std::vector< NetZone * > * | children () |
| |
| void | hosts (std::vector< s4u::Host *> *whereto) |
| |
| 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::NetPoint *elm) |
| |
| virtual void | addRoute (sg_platf_route_cbarg_t route) |
| |