/** * Generates the matrices used internally to set latency and bandwidth between elements. */ private static void generateMatrices() { // creates the delay matrix delayMatrix = new DelayMatrix_Float(graph, false); // creates the bw matrix bwMatrix = createBwMatrix(graph, false); networkEnabled = true; }
/** * Gets the network delay associated to the sent of a message from a given source to a given * destination. * * @param src source of the message * @param dst destination of the message * @return delay to send a message from src to dst * @pre src >= 0 * @pre dst >= 0 */ private double getNetworkDelay(int src, int dst) { if (NetworkTopology.isNetworkEnabled()) { return NetworkTopology.getDelay(src, dst); } return 0.0; }
NetworkTopology.buildNetworkTopology("topology.brite"); NetworkTopology.mapNode(datacenter0.getId(),briteNode); NetworkTopology.mapNode(broker.getId(),briteNode);
NetworkTopology.addLink(src.getId(), dest.getId(), entry.getBandwidth(), entry.getLatency()); } else { //destination is a customer DatacenterBroker dest = brokers.get(destinationName); NetworkTopology.addLink(src.getId(), dest.getId(), entry.getBandwidth(), entry.getLatency()); NetworkTopology.addLink(src.getId(), dest.getId(), entry.getBandwidth(), entry.getLatency()); } else { //destination is a customer DatacenterBroker dest = brokers.get(destinationName); NetworkTopology.addLink(src.getId(), dest.getId(), entry.getBandwidth(), entry.getLatency());
/** * Creates the network topology if the file exists and can be successfully parsed. File is * written in the BRITE format and contains topological information on simulation entities. * * @param fileName name of the BRITE file * @pre fileName != null * @post $none */ public static void buildNetworkTopology(String fileName) { Log.printConcatLine("Topology file: ", fileName); // try to find the file GraphReaderBrite reader = new GraphReaderBrite(); try { graph = reader.readGraphFile(fileName); map = new HashMap<Integer, Integer>(); generateMatrices(); } catch (IOException e) { // problem with the file. Does not simulate network Log.printLine("Problem in processing BRITE file. Network simulation is disabled. Error: " + e.getMessage()); } }
NetworkTopology.buildNetworkTopology("topology.brite"); NetworkTopology.mapNode(datacenter0.getId(),briteNode); NetworkTopology.mapNode(datacenter1.getId(),briteNode); NetworkTopology.mapNode(broker1.getId(),briteNode); NetworkTopology.mapNode(broker2.getId(),briteNode);
NetworkTopology.addLink(datacenter0.getId(), broker.getId(),10.0,10);
NetworkTopology.buildNetworkTopology("topology.brite"); NetworkTopology.mapNode(datacenter0.getId(),briteNode); NetworkTopology.mapNode(datacenter1.getId(),briteNode); NetworkTopology.mapNode(broker.getId(),briteNode);