def main(exp, samples, nants, nprocs, prior, sched, T_T, T_P, N_P): arrts = [] for idx, nant in enumerate(range(nants)): fname = '../log/exp%s_samp%d_trans%d_prior%d_sched%s_nant%d_nproc%d.log'%(exp, samples, idx, prior,sched, nants, nprocs) if not os.path.isfile(fname): print 'File %s does not exist'%fname raise ValueError else: arr = read_log_timing([fname]) utils.write_pickle(arr, '../dump/gstat_exp%s_samp%d_trans%d_prior%d_sched%s_nant%d_nproc%d_T_T%d_T_P%d_N_P%d'%(exp, samples, idx, prior, sched,nants, nprocs, T_T, T_P, N_P)) arrts.append(arr) print 'avg transport duration radio %d is %f us %f'%(idx, np.mean(arr['duration']), np.std(arr['duration'])) arrps, arros = [],[] avg_procs, avg_offloads = [], [] for idx, nproc in enumerate(range(nprocs)): fname = '../log/exp%s_samp%d_proc%d_prior%d_sched%s_nant%d_nproc%d.log'%(exp, samples, idx, prior, sched, nants, nprocs) fname_o = '../log/exp%s_samp%d_offload%d_prior%d_sched%s_nant%d_nproc%d.log'%(exp, samples, idx, prior, sched, nants, nprocs) if (not os.path.isfile(fname)) or (not os.path.isfile(fname_o)): print 'File %s does not exist'%fname raise ValueError else: arrp = read_proc_log_timing([fname]) arro = read_off_log_timing([fname_o]) utils.write_pickle(arrp, '../dump/gstat_exp%s_samp%d_proc%d_prior%d_sched%s_nant%d_nproc%d_T_T%d_T_P%d_N_P%d'%(exp, samples, idx, prior, sched,nants, nprocs, T_T, T_P, N_P)) utils.write_pickle(arro, '../dump/gstat_exp%s_samp%d_offload%d_prior%d_sched%s_nant%d_nproc%d_T_T%d_T_P%d_N_P%d'%(exp, samples, idx, prior, sched,nants, nprocs, T_T, T_P, N_P)) # analyse the logs res, arrp, arro, avg_proc, avg_offload = time_analysis(arrp, arro) arrps.append(arrp) arros.append(arro) avg_procs.append(avg_proc) avg_offloads.append(avg_offload) res_u = util_analysis(arrps) return res_u, np.mean(avg_procs), np.mean(avg_offloads)
arrps, arros = [], [] for idx, nproc in enumerate(range(nprocs)): arrp = utils.read_pickle('../dump/gstat_exp%s_samp%d_proc%d_prior%d_sched%s_nant%d_nproc%d_T_T%d_T_P%d_N_P%d'%(exp, samples, idx, prior, sched,nants, nprocs, T_T, T_P, N_P)) arro = utils.read_pickle('../dump/gstat_exp%s_samp%d_offload%d_prior%d_sched%s_nant%d_nproc%d_T_T%d_T_P%d_N_P%d'%(exp, samples, idx, prior, sched,nants, nprocs, T_T, T_P, N_P)) # analyse the logs res, arrp, arro, _, _ = time_analysis(arrp, arro) arrts.append([arrt['duration']]) arrps.append(arrp) arros.append(arro) res_u = util_analysis(arrps) res_us.append(res_u) cpu_u_orig.append(sum(res_u[1])) dead_miss_orig.append(np.mean(res_u[2])) avg_procs.append(avg_proc) avg_offloads.append(avg_offload) # utils.write_pickle(res_us, '../dump/res_us_%d.pkl'%n_ants) # utils.write_pickle(arrts, '../dump/trans_%d.pkl'%n_ants) utils.write_pickle([avg_procs, avg_offloads], '../dump/proc_offload_%d.pkl'%n_ants)
print "File %s does not exist" % fname raise ValueError fnames.append(fname) ress = {} # analyse the logs to get deadline misses and cpu utilization arrps = read_proc_log(fnames) exp_str = "exp%s_var%d_nbss%d_nants%d_ncores%d_Lmax%d_snr%d_mcs%d_delay%d" % ( exp, var, num_bss, num_ants, cores, lmax, snr, mcs, rtt, ) res = time_analysis(arrps, rtt) ress[exp_str] = res print exp_str print "Miss rate = %.3e, thru = %2.2f mbps" % (res[0], res[1]) print "----------------------------------------------------" utils.write_pickle(ress, "../dump/ress11_%s.pkl" % (exp_str)) # ress.append(res) # res_us.append(res_u)