⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 benchmarks.py

📁 linux下基于c++的处理器仿真平台。具有处理器流水线
💻 PY
字号:
from m5 import *from Config import *TestBox = None# default to no testenv.setdefault('TEST', 'NONE')env.setdefault('NAT', 'False')env.setdefault('SINIC', 'False')## no test#if env['TEST'] == 'NONE':    pass## netperf stream benchmark configuration#elif env['TEST'] == 'NETPERF_STREAM':    TestBox = 'Client'    if env['NAT']:        env['SERVER_SCRIPT'] = script('nat-netperf-server.rcS')        env['CLIENT_SCRIPT'] = script('nat-netperf-stream-client.rcS')        env['NATBOX_SCRIPT'] = script('natbox-netperf.rcS')    else:        env['SERVER_SCRIPT'] = script('netperf-server.rcS')        env['CLIENT_SCRIPT'] = script('netperf-stream-client.rcS')## netperf stream no-touch benchmark configuration#elif env['TEST'] == 'NETPERF_STREAM_NT':    TestBox = 'Client'    if env['NAT']:        panic('no NAT')    else:        env['SERVER_SCRIPT'] = script('netperf-server.rcS')        env['CLIENT_SCRIPT'] = script('netperf-stream-nt-client.rcS')## netperf maerts benchmark configuration#elif env['TEST'] == 'NETPERF_MAERTS':    TestBox = 'Client'    if env['NAT']:        env['SERVER_SCRIPT'] = script('nat-netperf-server.rcS')        env['CLIENT_SCRIPT'] = script('nat-netperf-maerts-client.rcS')        env['NATBOX_SCRIPT'] = script('natbox-netperf.rcS')    else:        env['SERVER_SCRIPT'] = script('netperf-server.rcS')        env['CLIENT_SCRIPT'] = script('netperf-maerts-client.rcS')## netperf request/response benchmark configuration#elif env['TEST'] == 'NETPERF_RR':    TestBox = 'Client'    if env['NAT']:        panic('do not have netperf_rr on nat yet - make yer own rcS!')    else:        env['SERVER_SCRIPT'] = script('netperf-server.rcS')        env['CLIENT_SCRIPT'] = script('netperf-rr.rcS')## standard surge benchmark configuration#elif env['TEST'] == 'SURGE_STANDARD':    TestBox = 'Server'    env['CLIENT_MEMSIZE'] = '256MB'    env['SERVER_MEMSIZE'] = '512MB'    MyTsunami.disk2.raw_image.image_file = disk('surge-fileset.img')    if env['NAT']:        panic('do not have standard surge on nat yet - make yer own rcS!')    else:        env['SERVER_SCRIPT'] = script('surge-server.rcS')        env['CLIENT_SCRIPT'] = script('surge-client.rcS')## specweb99-like surge benchmark configuration#elif env['TEST'] == 'SURGE_SPECWEB':    TestBox = 'Server'        env['CLIENT_MEMSIZE'] = '256MB'    env['SERVER_MEMSIZE'] = '512MB'    if env['NAT']:        env['SERVER_SCRIPT'] = script('nat-spec-surge-server.rcS')        env['CLIENT_SCRIPT'] = script('nat-spec-surge-client.rcS')        env['NATBOX_SCRIPT'] = script('natbox-spec-surge.rcS')    else:        env['SERVER_SCRIPT'] = script('spec-surge-server.rcS')        env['CLIENT_SCRIPT'] = script('spec-surge-client.rcS')## NFS/nhfsstone benchmark configuration#elif env['TEST'] == 'NHFS':    TestBox = 'Server'    env['SERVER_MEMSIZE'] = '512MB'    if env['NAT']:        panic('do not have nfs/bonnie on NAT yet!  make yer own rcS!')    else:        env['SERVER_SCRIPT'] = script('nfs-server-nhfsstone.rcS')        env['CLIENT_SCRIPT'] = script('nfs-client-nhfsstone.rcS')## NFS/bonnie++ benchmark configuration#elif env['TEST'] == 'NFS':    TestBox = 'Server'    env['SERVER_MEMSIZE'] = '900MB'    if env['NAT']:        panic('do not have nfs/bonnie on NAT yet!  make yer own rcS!')    else:        env['SERVER_SCRIPT'] = script('nfs-server.rcS')        env['CLIENT_SCRIPT'] = script('nfs-client.rcS')## NFS/bonnie++ small block size benchmark configuration#elif env['TEST'] == 'NFS_SB':    TestBox = 'Server'    env['SERVER_MEMSIZE'] = '1024MB'    if env['NAT']:        panic('No NFS/NAT config file')    else:        env['SERVER_SCRIPT'] = script('nfs-server.rcS')        env['CLIENT_SCRIPT'] = script('nfs-client-smallb.rcS')## NFS/bonnie++ benchmark configuration with TCP#elif env['TEST'] == 'NFS_TCP':    TestBox = 'Server'    env['SERVER_MEMSIZE'] = '1024MB'    if env['NAT']:        panic('do not have nfs/bonnie on NAT yet!  make yer own rcS!')    else:        env['SERVER_SCRIPT'] = script('nfs-server.rcS')        env['CLIENT_SCRIPT'] = script('nfs-client-tcp.rcS')## NFS/bonnie++ small block size benchmark configuration#elif env['TEST'] == 'NFS_TCP_SB':    TestBox = 'Server'    env['SERVER_MEMSIZE'] = '1024MB'    if env['NAT']:        panic('No NFS/NAT config file')    else:        env['SERVER_SCRIPT'] = script('nfs-server.rcS')        env['CLIENT_SCRIPT'] = script('nfs-client-tcp-smallb.rcS')## NFS/dbench benchmark configuration#elif env['TEST'] == 'NFS_DBENCH':    TestBox = 'Server'    env['SERVER_MEMSIZE'] = '900MB'    if env['NAT']:        panic('do not have nfs/dbench on NAT yet!  make yer own rcS!')    else:        env['SERVER_SCRIPT'] = script('nfs-server.rcS')        env['CLIENT_SCRIPT'] = script('nfs-client-dbench.rcS')## ISCSI/dbench benchmark configuration#elif env['TEST'] == 'ISCSI_INIT_DBENCH':    TestBox = 'Client'    env['SERVER_MEMSIZE'] = '900MB'    if env['NAT']:        panic('do not have iscsi/dbench on NAT yet!  make yer own rcS!')    else:        env['SERVER_SCRIPT'] = script('iscsi-server.rcS')        env['CLIENT_SCRIPT'] = script('iscsi-client.rcS')## ISCSI/dbench benchmark configuration#elif env['TEST'] == 'ISCSI_TARGET_DBENCH':    TestBox = 'Server'    env['SERVER_MEMSIZE'] = '900MB'    if env['NAT']:        panic('do not have iscsi/dbench on NAT yet!  make yer own rcS!')    else:        env['SERVER_SCRIPT'] = script('iscsi-server.rcS')        env['CLIENT_SCRIPT'] = script('iscsi-client.rcS')## Tests for validation#elif env['TEST'] == 'VAL_ACC_DELAY':    env['SERVER_MEMSIZE'] = '512MB'    env['SERVER_SCRIPT'] = script('devtime.rcS')elif env['TEST'] == 'VAL_ACC_DELAY2':    env['SERVER_MEMSIZE'] = '512MB'    env['SERVER_SCRIPT'] = script('devtimewmr.rcS')elif env['TEST'] == 'VAL_MEM_LAT':    env['SERVER_MEMSIZE'] = '512MB'    env['SERVER_SCRIPT'] = script('micro_memlat.rcS')elif env['TEST'] == 'VAL_MEM_LAT2MB':    env['SERVER_MEMORY_SIZE'] = '512MB'    env['SERVER_SCRIPT'] = script('micro_memlat2mb.rcS')elif env['TEST'] == 'VAL_MEM_LAT8MB':    env['SERVER_MEMORY_SIZE'] = '512MB'    env['SERVER_SCRIPT'] = script('micro_memlat8mb.rcS')elif env['TEST'] == 'VAL_MEM_LAT8':    env['SERVER_MEMORY_SIZE'] = '512MB'    env['SERVER_SCRIPT'] = script('micro_memlat8.rcS')elif env['TEST'] == 'VAL_TLB_LAT':    env['SERVER_MEMORY_SIZE'] = '512MB'    env['SERVER_SCRIPT'] = script('micro_tlblat.rcS')elif env['TEST'] == 'VAL_SYS_LAT':    env['SERVER_MEMSIZE'] = '512MB'    env['SERVER_SCRIPT'] = script('micro_syscall.rcS')elif env['TEST'] == 'VAL_CTX_LAT':    env['SERVER_MEMORY_SIZE'] = '512MB'    env['SERVER_SCRIPT'] = script('micro_ctx.rcS')elif env['TEST'] == 'VAL_STREAM':    env['SERVER_MEMORY_SIZE'] = '512MB'    env['SERVER_SCRIPT'] = script('micro_stream.rcS')elif env['TEST'] == 'VAL_STREAMSCALE':    env['SERVER_MEMORY_SIZE'] = '512MB'    env['SERVER_SCRIPT'] = script('micro_streamscale.rcS')elif env['TEST'] == 'VAL_STREAMCOPY':    env['SERVER_MEMORY_SIZE'] = '512MB'    env['SERVER_SCRIPT'] = script('micro_streamcopy.rcS')elif env['TEST'] == 'PING':    TestBox = 'Server'    env['SERVER_MEMORY_SIZE'] = '512MB'    if env['NAT']:        panic('No NFS/NAT config file')    else:        env['SERVER_SCRIPT'] = script('ping-server.rcS')        env['CLIENT_SCRIPT'] = script('ping-client.rcS')## No configuration defined!#else:    panic('must define a valid test!')env.setdefault('MEMSIZE', '128MB')env.setdefault('CLIENT_MEMSIZE', env['MEMSIZE'])env.setdefault('SERVER_MEMSIZE', env['MEMSIZE'])env.setdefault('NATBOX_MEMSIZE', env['MEMSIZE'])if 'CKPT_FILE' not in env and 'CKPT_NUM' in env \    and 'CKPT_DIR' in env and 'CKPT_JOB' in env:    import re    from os import listdir    from os.path import isdir, join as joinpath    if 'CKPT_DIR' not in env:        panic("CKPT_DIR not set!")    if 'CKPT_JOB' not in env:        panic("CKPT_JOB not set!")    cptdir = joinpath(env['CKPT_DIR'], env['CKPT_JOB'])    if not isdir(cptdir):        panic('checkpoint dir %s does not exist' % cptdir)    dirs = listdir(cptdir)    expr = re.compile('cpt.([0-9]*)')    cpts = []    for dir in dirs:        match = expr.match(dir)        if match:            cpts.append(match.group(1))    cpts.sort(lambda a,b: cmp(long(a), long(b)))    number = int(env['CKPT_NUM'])    if number > len(cpts):        panic('Checkpoint %s not found' % number)    env['CKPT_FILE'] = joinpath(cptdir, 'cpt.%s' % cpts[number - 1])

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -