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
class DifferentInjectRateTest: def __init__(self,linkRate=1,maxStep=gobalMaxStep,injectRate=0.5,\ factory=gobalGridNetworkFactory): 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() self.packetFactory = PacketFactory() self.simulator = \ Simulator(network,maxStep,ConstLinkRateGenerator(linkRate),self.packetFactory) def run(self): self.simulator.run(flag=False) def getStaticsInfo(self): return self.simulator.getStaticsInfo()
class DifferentInjectRateTest: def __init__(self,linkRate=1,maxStep=gobalMaxStep,injectRate=0.5,\ factory=gobalGridNetworkFactory): 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() self.packetFactory = PacketFactory() self.simulator = \ Simulator(network,maxStep,ConstLinkRateGenerator(linkRate),self.packetFactory) def run(self): self.simulator.run(flag = False) def getStaticsInfo(self): return self.simulator.getStaticsInfo()