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) loop = asyncio.get_event_loop() all_thruput_records = [] pktgens = [] if not args.emulate_io: for host, port in args.pktgen: pktgens.append(PktGenRunner(host, port)) if args.combine_cpu_gpu: base_conf_name, ext = os.path.splitext( os.path.basename(args.element_config_to_use)) conf_names = [ base_conf_name + '-cpuonly' + ext, base_conf_name + '-gpuonly' + ext ] else: conf_names = [args.element_config_to_use] combinations = product(conf_names, args.io_batch_sizes, args.comp_batch_sizes, args.coproc_ppdepths, args.pkt_sizes) print('{0} {1}'.format(args.sys_config_to_use, args.element_config_to_use))
self._comp_batch_size = cond_comp self._comp_ppdepths = cond_ppdepths self._io_core_util_usr = result_io_usr self._io_core_util_sys = result_io_sys self._comp_core_util_usr = result_comp_usr self._comp_core_util_sys = result_comp_sys def print_result(self): print('Maximum throughput: {0:10}'.format(self._thruput)) print('CPU utils: {0:6.2f} {1:6.2f} {2:6.2f} {3:6.2f}'.format(self._io_core_util_usr, self._io_core_util_sys, self._comp_core_util_usr, self._comp_core_util_sys)) print('Conditions: {0:5} {1:5} {2:5}'.format(self._io_batch_size, self._comp_batch_size, self._comp_ppdepths)) if __name__ == '__main__': env = ExperimentEnv(verbose=False) marcel = PktGenRunner('shader-marcel.anlab', 54321) #iobatchsizes = [8, 16, 32, 64, 128, 256] #compbatchsizes = [1, 8, 16, 32, 64, 128] #compppdepths = [1, 8, 16, 32, 64, 128] iobatchsizes = [32] compbatchsizes = [32] compppdepths = [16] no_port = [2] no_cpu = [8] no_node = [2] packetsize = [64]#, 128, 256, 512, 1024, 1500] branch_lv = [0,1,2,3,4,5] speed = [1,2,4,8] #,16,32,40,80] #coprocppdepths = [16, 32, 64, 128]
self._comp_batch_size = cond_comp self._comp_ppdepths = cond_ppdepths self._io_core_util_usr = result_io_usr self._io_core_util_sys = result_io_sys self._comp_core_util_usr = result_comp_usr self._comp_core_util_sys = result_comp_sys def print_result(self): print('Maximum throughput: {0:10}'.format(self._thruput)) print('CPU utils: {0:6.2f} {1:6.2f} {2:6.2f} {3:6.2f}'.format(self._io_core_util_usr, self._io_core_util_sys, self._comp_core_util_usr, self._comp_core_util_sys)) print('Conditions: {0:5} {1:5} {2:5}'.format(self._io_batch_size, self._comp_batch_size, self._comp_ppdepths)) if __name__ == '__main__': env = ExperimentEnv(verbose=False) marcel = PktGenRunner('shader-marcel.anlab', 54321) iobatchsizes = [32] compbatchsizes = [32] compppdepths = [16] no_port = [4] no_cpu = [8] no_node = [2] packetsize = [64, 1500]#, 128, 256, 512, 1024, 1500] speed = [2,4,8,16] #,32,40,80] coprocppdepths = [16, 32, 64, 128] loadbalancers = ['CPUOnlyLB', 'GPUOnlyLB'] print('NOTE: You should be running packet generators manually!')
self._comp_ppdepths = cond_ppdepths self._io_core_util_usr = result_io_usr self._io_core_util_sys = result_io_sys self._comp_core_util_usr = result_comp_usr self._comp_core_util_sys = result_comp_sys def print_result(self): print('Maximum throughput: {0:10}'.format(self._thruput)) print('CPU utils: {0:6.2f} {1:6.2f} {2:6.2f} {3:6.2f}'.format(self._io_core_util_usr, self._io_core_util_sys, self._comp_core_util_usr, self._comp_core_util_sys)) print('Conditions: {0:5} {1:5} {2:5}'.format(self._io_batch_size, self._comp_batch_size, self._comp_ppdepths)) if __name__ == '__main__': env = ExperimentEnv(verbose=False) marcel = PktGenRunner('shader-marcel.anlab', 54321) lahti = PktGenRunner('shader-lahti.anlab', 54321) #iobatchsizes = [8, 16, 32, 64, 128, 256] #compbatchsizes = [1, 8, 16, 32, 64, 128] iobatchsizes = [64] compbatchsizes = [64] coprocppdepths = [32] num_ports = [1, 2, 4] num_cores = [1, 2, 4, 8] num_nodes = [1, 2] packetsize = [60, 64, 128, 256, 512, 1024, 1500] #coprocppdepths = [16, 32, 64, 128] loadbalancers = ['CPUOnlyLB']
self._comp_core_util_sys = result_comp_sys def print_result(self): print('Maximum throughput: {0:10}'.format(self._thruput)) print('CPU utils: {0:6.2f} {1:6.2f} {2:6.2f} {3:6.2f}'.format( self._io_core_util_usr, self._io_core_util_sys, self._comp_core_util_usr, self._comp_core_util_sys)) print('Conditions: {0:5} {1:5} {2:5}'.format(self._io_batch_size, self._comp_batch_size, self._comp_ppdepths)) if __name__ == '__main__': env = ExperimentEnv(verbose=False) marcel = PktGenRunner('shader-marcel.anlab', 54321) lahti = PktGenRunner('shader-lahti.anlab', 54321) pktgens = [marcel, lahti] iobatchsizes = [32] compbatchsizes = [32] compppdepths = [16] packetsize = [64] #, 128, 256, 512, 1024, 1500] #branch_configs = ["l2fwd-echo-branch-lv1.click"]#, "l2fwd-echo-branch-lv2.click", "l2fwd-echo-branch-lv3.click"] branch_configs = ["l2fwd-echo-skewed-branch-lv3.click"] #branch_ratio = [50, 40, 30, 20, 10, 5, 1] branch_ratio = [99, 95, 90, 80, 70, 60, 50, 40, 30, 20, 10, 5, 1] print( 'Params: io-batch-size comp-batch-size comp-ppdepth pkt-size branch-lvl branch-ratio' )
self._comp_core_util_sys = result_comp_sys def print_result(self): print('Maximum throughput: {0:10}'.format(self._thruput)) print('CPU utils: {0:6.2f} {1:6.2f} {2:6.2f} {3:6.2f}'.format( self._io_core_util_usr, self._io_core_util_sys, self._comp_core_util_usr, self._comp_core_util_sys)) print('Conditions: {0:5} {1:5} {2:5}'.format(self._io_batch_size, self._comp_batch_size, self._comp_ppdepths)) if __name__ == '__main__': env = ExperimentEnv(verbose=False) marcel = PktGenRunner('shader-marcel.anlab', 54321) lahti = PktGenRunner('shader-lahti.anlab', 54321) #iobatchsizes = [8, 16, 32, 64, 128, 256] #compbatchsizes = [1, 8, 16, 32, 64, 128] iobatchsizes = [64] compbatchsizes = [64] coprocppdepths = [32] num_ports = [1, 2, 4] num_cores = [1, 2, 4, 8] num_nodes = [1, 2] packetsize = [60, 64, 128, 256, 512, 1024, 1500] #coprocppdepths = [16, 32, 64, 128] loadbalancers = ['CPUOnlyLB']