PARSEC测试集需要在gem5的 FS 下模拟。
继承我 上一篇 博文里的目录结构,在同一级目录中再创建一个文件夹 parsec,然后执行以下步骤:
1. 下载 Kernel Image文件至 fs-image/binaries 目录
wget http://www.cs.utexas.edu/~parsec_m5/x86_64-vmlinux-2.6.28.4-smp
2. 下载PAL Code文件至 fs-image/binaries 目录
wget http://www.cs.utexas.edu/~parsec_m5/tsb_osfpal
3. 下载Disk Image文件并解压至 fs-image/disks 目录
wget http://www.cs.utexas.edu/~parsec_m5/linux-parsec-2-1-m5-with-test-inputs.img.bz2
bzip2 -d linux-parsec-2-1-m5-with-test-inputs.img.bz2
4. 下载额外配置文件并解压至 parsec 目录
wget http://www.cs.utexas.edu/~parsec_m5/TR-09-32-parsec-2.1-alpha-files.tar.gz
tar zxvf TR-09-32-parsec-2.1-alpha-files.tar.gz
为了方便,将 TR-09-32-parsec-2.1-alpha-files 里的文件全部移动到 parsec 根目录下:
mv TR-09-32-parsec-2.1-alpha-files/* ./
rm -rf TR-09-32-parsec-2.1-alpha-file
5. 生成运行脚本
在 parse 目录执行此命令以生成 script
./writescripts.pl <benchmark> <nthreads>
其中,benchmark共有13种:
以第一种为例:
./writescripts.pl blackscholes 3
5. 使用刚刚生成的script运行gem5
build/X86/gem5.opt configs/example/fs.py --script=../parsec/blackscholes_4c_test.rcS --disk-image linux-parsec-2-1-m5-with-test-inputs.img --kernel x86_64-vmlinux-2.6.28.4-smp --caches --l2cache -F 5000000000
6. 重新打开一个终端进行连接测试
telnet localhost 3456
参考文献
https://www.jianshu.com/p/af2efe552a11
http://www.cs.utexas.edu/~cart/parsec_m5/
http://www.cs.utexas.edu/~parsec_m5/TR-09-32.pdf