Exemplo n.º 1
0
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)
Exemplo n.º 2
0

                        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)
Exemplo n.º 3
0
                                                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)