parser = argparse.ArgumentParser( epilog= 'NOTE: 1. You must check pspgen-servers when you get ConnectionRefusedError!\n' ' They should be running in the pspgen directory\n' ' (e.g., ~/Packet-IO-Engine/samples/packet_generator$ ~/nba/scripts/pspgen-server.py)\n' ' at the packet generator servers.\n' ' 2. Packet size argument is only valid in emulation mode.\n\n' 'Example: sudo ./scriptname default.py ipv4-router.click\n ', formatter_class=argparse.RawDescriptionHelpFormatter) # TODO: Restrict program option: packet size argument is only valid in emulation mode. parser.add_argument('sys_config_to_use') parser.add_argument('element_config_to_use') parser.add_argument('-p', '--pkt-sizes', type=comma_sep_numbers(64, 1500), metavar='NUM[,NUM...]', default=[64]) parser.add_argument('--io-batch-sizes', type=comma_sep_numbers(1, 256), metavar='NUM[,NUM...]', default=[64]) parser.add_argument('--comp-batch-sizes', type=comma_sep_numbers(1, 256), metavar='NUM[,NUM...]', default=[64]) parser.add_argument('--coproc-ppdepths', type=comma_sep_numbers(1, 256), metavar='NUM[,NUM...]', default=[32]) parser.add_argument('--pktgen',
parser = argparse.ArgumentParser( epilog= 'NOTE: 1. You must check pspgen-servers when you get ConnectionRefusedError!\n' ' They should be running in the pspgen directory\n' ' (e.g., ~/Packet-IO-Engine/samples/packet_generator$ ~/nba/scripts/pspgen-server.py)\n' ' at the packet generator servers.\n' ' 2. Packet size argument is only valid in emulation mode.\n\n' 'Example: sudo ./scriptname default.py ipv4-router.click\n ', formatter_class=argparse.RawDescriptionHelpFormatter) parser.add_argument('sys_config_to_use') parser.add_argument('element_config_to_use') parser.add_argument('-p', '--pkt-sizes', type=comma_sep_numbers(64, 1500), metavar='NUM[,NUM...]', default=[64]) parser.add_argument('--pktgen', type=host_port_pair(54321), metavar='HOST:PORT[,HOST:PORT...]', default=[('shader-marcel.anlab', 54321), ('shader-lahti.anlab', 54321)]) parser.add_argument('--emulate-io', action='store_true', default=False, help='Use IO emulation mode.') parser.add_argument('-v', '--verbose', action='store_true', default=False) args = parser.parse_args() env = ExperimentEnv(verbose=args.verbose)
from pspgen import PktGenRunner if __name__ == '__main__': parser = argparse.ArgumentParser(epilog='NOTE: 1. You must check pspgen-servers when you get ConnectionRefusedError!\n' ' They should be running in the pspgen directory\n' ' (e.g., ~/Packet-IO-Engine/samples/packet_generator$ ~/nba/scripts/pspgen-server.py)\n' ' at the packet generator servers.\n' ' 2. Packet size argument is only valid in emulation mode.\n\n' 'Example: sudo ./scriptname default.py ipv4-router.click\n ', formatter_class=argparse.RawDescriptionHelpFormatter) # TODO: Restrict program option: packet size argument is only valid in emulation mode. parser.add_argument('sys_config_to_use') parser.add_argument('element_config_to_use') parser.add_argument('-p', '--pkt-sizes', type=comma_sep_numbers(64, 1500), metavar='NUM[,NUM...]', default=[64]) parser.add_argument('--io-batch-sizes', type=comma_sep_numbers(1, 256), metavar='NUM[,NUM...]', default=[64]) parser.add_argument('--comp-batch-sizes', type=comma_sep_numbers(1, 256), metavar='NUM[,NUM...]', default=[64]) parser.add_argument('--coproc-ppdepths', type=comma_sep_numbers(1, 256), metavar='NUM[,NUM...]', default=[32]) parser.add_argument('--pktgen', type=host_port_pair(54321), metavar='HOST:PORT[,HOST:PORT...]', default=[('shader-marcel.anlab', 54321), ('shader-lahti.anlab', 54321)]) parser.add_argument('--emulate-io', action='store_true', default=False, help='Use IO emulation mode.') parser.add_argument('-t', '--transparent', action='store_true', default=False, help='Pass-through the standard output instead of parsing it. No default timeout is applied.') parser.add_argument('--timeout', type=int, default=None, help='Set a forced timeout for transparent mode.') parser.add_argument('--combine-cpu-gpu', action='store_true', default=False, help='Run the same config for CPU-only and GPU-only to compare.') parser.add_argument('-v', '--verbose', action='store_true', default=False) args = parser.parse_args() env = ExperimentEnv(verbose=args.verbose) thruput_reader = AppThruputReader(begin_after=25.0) env.register_reader(thruput_reader)
from pspgen import PktGenRunner if __name__ == '__main__': parser = argparse.ArgumentParser(epilog='NOTE: 1. You must check pspgen-servers when you get ConnectionRefusedError!\n' ' They should be running in the pspgen directory\n' ' (e.g., ~/Packet-IO-Engine/samples/packet_generator$ ~/nba/scripts/pspgen-server.py)\n' ' at the packet generator servers.\n' ' 2. Packet size argument is only valid in emulation mode.\n\n' 'Example: sudo ./scriptname default.py ipv4-router.click\n ', formatter_class=argparse.RawDescriptionHelpFormatter) parser.add_argument('sys_config_to_use') parser.add_argument('element_config_to_use') parser.add_argument('-p', '--pkt-sizes', type=comma_sep_numbers(64, 1500), metavar='NUM[,NUM...]', default=[64]) parser.add_argument('--pktgen', type=host_port_pair(54321), metavar='HOST:PORT[,HOST:PORT...]', default=[('shader-marcel.anlab', 54321), ('shader-lahti.anlab', 54321)]) parser.add_argument('--emulate-io', action='store_true', default=False, help='Use IO emulation mode.') parser.add_argument('--timeout', type=int, default=None, help='Set a forced timeout for transparent mode.') parser.add_argument('-v', '--verbose', action='store_true', default=False) args = parser.parse_args() env = ExperimentEnv(verbose=args.verbose) ppc_reader = PPCReader(env) env.register_reader(ppc_reader) loop = asyncio.get_event_loop() pktgens = [] if not args.emulate_io: for host, port in args.pktgen:
if __name__ == '__main__': parser = argparse.ArgumentParser(epilog='NOTE: 1. You must check pspgen-servers when you get ConnectionRefusedError!\n' ' They should be running in the pspgen directory\n' ' (e.g., ~/Packet-IO-Engine/samples/packet_generator$ ~/nba/scripts/pspgen-server.py)\n' ' at the packet generator servers.\n' ' 2. Packet size argument is only valid in emulation mode.\n\n' 'Example: sudo ./scriptname default.py ipv4-router.click\n ', formatter_class=argparse.RawDescriptionHelpFormatter) # TODO: Restrict program option: packet size argument is only valid in emulation mode. parser.add_argument('hw_config') parser.add_argument('element_configs', type=comma_sep_str(1), metavar='NAME[,NAME...]') parser.add_argument('-b', '--bin', type=str, metavar='PATH', default='bin/main') parser.add_argument('--io-batch-sizes', type=comma_sep_numbers(1, 256), metavar='NUM[,NUM...]', default=[32]) parser.add_argument('--comp-batch-sizes', type=comma_sep_numbers(1, 256), metavar='NUM[,NUM...]', default=[64]) parser.add_argument('--coproc-ppdepths', type=comma_sep_numbers(1, 256), metavar='NUM[,NUM...]', default=[32]) parser.add_argument('--num-cores', type=comma_sep_numbers(1, 64), metavar='NUM[,NUM...]', default=[64]) parser.add_argument('--no-record', action='store_true', default=False, help='Skip recording the results.') parser.add_argument('--timeout', type=float, default=32.0, help='Running time in seconds. (default: 32 sec)') parser.add_argument('--cut', type=float, default=None, help='Take the last N seconds of measurement values. (default: all samples)') parser.add_argument('--prefix', type=str, default=None, help='Additional prefix directory name for recording.')