def oneRoundDelay(step = 10000): injectRate = 0.9 factory = GridNetworkFactory(makeSimpleNode(),Queues) factory.constructNetwork(6,6)\ .setFlow(Flow((0,0),(0,5),injectRate))\ .setFlow(Flow((5,0),(5,5),injectRate))\ .setFlow(Flow((2,0),(3,5),injectRate)) network = factory.getNetwork() packetFactory = PacketFactory() simulator = \ Simulator(network,step,ConstLinkRateGenerator(1),packetFactory) simulator.run() #simulator.printNetwork() stat = simulator.getStaticsInfo() print stat['aveDelay'] packetPool = sorted(stat['packetPool'],key=lambda p: p.getID) py.subplot(211) py.vlines([p.getCreateTime() for p in packetPool],[1],[p.getDelay() for p in packetPool],'r') py.xlabel('Packet create time(bp with $\lambda$ = 0.9)') py.ylabel('delay') py.grid(True) injectRate = 0.9 factory = GridNetworkFactory(makeMNode(2),Queues) factory.constructNetwork(6,6)\ .setFlow(Flow((0,0),(0,5),injectRate))\ .setFlow(Flow((5,0),(5,5),injectRate))\ .setFlow(Flow((2,0),(3,5),injectRate)) network = factory.getNetwork() packetFactory = PacketFactory() simulator = \ Simulator(network,step,ConstLinkRateGenerator(1),packetFactory) simulator.run() #simulator.printNetwork() stat = simulator.getStaticsInfo() print stat['aveDelay'] packetPool = sorted(stat['packetPool'],key=lambda p: p.getID) py.subplot(212) py.vlines([p.getCreateTime() for p in packetPool],[1],[p.getDelay() for p in packetPool],'b') py.xlabel('Packet create time (m=2 with $\lambda$ = 0.9)') py.ylabel('delay') py.grid(True) py.savefig('packetDelayInOneRound_09') py.show()
def oneRoundDelay(step=10000): injectRate = 0.9 factory = GridNetworkFactory(makeSimpleNode(), Queues) factory.constructNetwork(6,6)\ .setFlow(Flow((0,0),(0,5),injectRate))\ .setFlow(Flow((5,0),(5,5),injectRate))\ .setFlow(Flow((2,0),(3,5),injectRate)) network = factory.getNetwork() packetFactory = PacketFactory() simulator = \ Simulator(network,step,ConstLinkRateGenerator(1),packetFactory) simulator.run() #simulator.printNetwork() stat = simulator.getStaticsInfo() print stat['aveDelay'] packetPool = sorted(stat['packetPool'], key=lambda p: p.getID) py.subplot(211) py.vlines([p.getCreateTime() for p in packetPool], [1], [p.getDelay() for p in packetPool], 'r') py.xlabel('Packet create time(bp with $\lambda$ = 0.9)') py.ylabel('delay') py.grid(True) injectRate = 0.9 factory = GridNetworkFactory(makeMNode(2), Queues) factory.constructNetwork(6,6)\ .setFlow(Flow((0,0),(0,5),injectRate))\ .setFlow(Flow((5,0),(5,5),injectRate))\ .setFlow(Flow((2,0),(3,5),injectRate)) network = factory.getNetwork() packetFactory = PacketFactory() simulator = \ Simulator(network,step,ConstLinkRateGenerator(1),packetFactory) simulator.run() #simulator.printNetwork() stat = simulator.getStaticsInfo() print stat['aveDelay'] packetPool = sorted(stat['packetPool'], key=lambda p: p.getID) py.subplot(212) py.vlines([p.getCreateTime() for p in packetPool], [1], [p.getDelay() for p in packetPool], 'b') py.xlabel('Packet create time (m=2 with $\lambda$ = 0.9)') py.ylabel('delay') py.grid(True) py.savefig('packetDelayInOneRound_09') py.show()
def OrdTest(): injectRate = 0.5 factory = GridNetworkFactory(makeMNode(1), ShadowQueues) factory.constructNetwork(8,8)\ .setFlow(Flow((2,0),(2,7),injectRate),Flow((4,0),(4,7),injectRate),\ Flow((0,2),(7,2),injectRate),Flow((0,4),(7,4),injectRate),\ Flow((1,1),(5,1),injectRate),Flow((6,1),(6,6),injectRate),\ Flow((5,6),(1,6),injectRate),Flow((1,5),(1,2),injectRate)) network = factory.getNetwork() packetFactory = PacketFactory() simulator = \ Simulator(network,gobalMaxStep,ConstLinkRateGenerator(1),packetFactory) simulator.run() stat = simulator.getStaticsInfo() print stat
def CounterTest(step=10000): injectRate = 1 factory = GridNetworkFactory(makeCNode(0), Queues) factory.constructNetwork(8,8)\ .setFlow(Flow((0,0),(0,7),injectRate))\ .setFlow(Flow((7,0),(7,7),injectRate)) network = factory.getNetwork() packetFactory = PacketFactory() simulator = \ Simulator(network,step,ConstLinkRateGenerator(1),packetFactory) simulator.run() #simulator.printNetwork() stat = simulator.getStaticsInfo() print stat
def CounterTest(step = 10000): injectRate = 1 factory = GridNetworkFactory(makeCNode(0),Queues) factory.constructNetwork(8,8)\ .setFlow(Flow((0,0),(0,7),injectRate))\ .setFlow(Flow((7,0),(7,7),injectRate)) network = factory.getNetwork() packetFactory = PacketFactory() simulator = \ Simulator(network,step,ConstLinkRateGenerator(1),packetFactory) simulator.run() #simulator.printNetwork() stat = simulator.getStaticsInfo() print stat
def OrdTest(): injectRate = 0.5 factory = GridNetworkFactory(makeMNode(1),ShadowQueues) factory.constructNetwork(8,8)\ .setFlow(Flow((2,0),(2,7),injectRate),Flow((4,0),(4,7),injectRate),\ Flow((0,2),(7,2),injectRate),Flow((0,4),(7,4),injectRate),\ Flow((1,1),(5,1),injectRate),Flow((6,1),(6,6),injectRate),\ Flow((5,6),(1,6),injectRate),Flow((1,5),(1,2),injectRate)) network = factory.getNetwork() packetFactory = PacketFactory() simulator = \ Simulator(network,gobalMaxStep,ConstLinkRateGenerator(1),packetFactory) simulator.run() stat = simulator.getStaticsInfo() print stat
dstHopPair=dstIDandQueue) def __statProcess(self, packets, **params): for packet in packets: packet.addHopNum() #print 'params', params if packet.getDst() == params['nbr']: #print '----recved' self.packetPool.append(packet.setDelay(self.currentStep)) if __name__ == "__main__": factory = GridNetworkFactory(Node, Queues) factory.constructNetwork(8,8)\ .setFlow(Flow((0,0),(2,2),1),\ Flow((0,1),(2,1),1)) network = factory.getNetwork() packetFactory = PacketFactory() network[(0,0)].queues[(1,1)] = \ [packetFactory.getPacket(currentTime=0, src=(0,0),dst=(1,1)),\ packetFactory.getPacket(currentTime=0, src=(0,0),dst=(1,1)),\ packetFactory.getPacket(currentTime=0, src=(0,0),dst=(1,1))] network[(0,1)].queues[(0,2)] = \ [packetFactory.getPacket(currentTime=0,src=(0,1),dst=(0,2)),\ packetFactory.getPacket(currentTime=0,src=(0,1),dst=(0,2))] simulator = Simulator(network, 100, ConstLinkRateGenerator(1), packetFactory)
for packet in packets: packet.addHopNum() #print 'params', params if packet.getDst() == params['nbr']: #print '----recved' self.packetPool.append(packet.setDelay(self.currentStep)) if __name__ == "__main__": factory = GridNetworkFactory(Node,Queues) factory.constructNetwork(8,8)\ .setFlow(Flow((0,0),(2,2),1),\ Flow((0,1),(2,1),1)) network = factory.getNetwork() packetFactory = PacketFactory() network[(0,0)].queues[(1,1)] = \ [packetFactory.getPacket(currentTime=0, src=(0,0),dst=(1,1)),\ packetFactory.getPacket(currentTime=0, src=(0,0),dst=(1,1)),\ packetFactory.getPacket(currentTime=0, src=(0,0),dst=(1,1))] network[(0,1)].queues[(0,2)] = \ [packetFactory.getPacket(currentTime=0,src=(0,1),dst=(0,2)),\ packetFactory.getPacket(currentTime=0,src=(0,1),dst=(0,2))] simulator = Simulator(network,100,ConstLinkRateGenerator(1),packetFactory) simulator.run()