跳至主要內容

PARSEC测试套件 3.0 介绍和安装

Chiichen大约 2 分钟Linux内核Linux内核性能测试

转载信息

转载自parsec3.0 介绍和安装open in new window

依赖安装

安装 gcc g++ m4

# 如果是 Ubuntu 请使用 yum install gcc gcc-c++ m4 -y
yum install gcc gcc-c++ m4 -y

parsec3.0 下载和安装

相关信息

以下内容是针对 Centos 等发行版的,Ubuntu 系统即 Debian 系(其它发行版没测过)请转至Parsec-3.0open in new window

wget http://parsec.cs.princeton.edu/download/3.0/parsec-3.0-core.tar.gz
# 2023/12/06日测试该网站被关闭了,可以通过archive下载
# http://web.archive.org/web/20230902151148/http://parsec.cs.princeton.edu/download/3.0/parsec-3.0-core.tar.gz
# http://web.archive.org/web/20160809002339/http://parsec.cs.princeton.edu/download/3.0/parsec-3.0-input-sim.tar.gz
# http://web.archive.org/web/20160809000537/http://parsec.cs.princeton.edu/download/3.0/parsec-3.0-input-native.tar.gz
tar -zxvf parsec-3.0-core.tar.gz                                    #解压压缩包
cd parsec3.0
source env.sh                                                   #更新环境变量
parsecmgmt -a build -p streamcluster                               #单独编译benchmark streamcluster
parsecmgmt -a run -p streamcluster                                 #单独测试benchmark streamcluster
parsecmgmt -a fulluninstall -p streamcluster                       #清除streamcluster文件
#到这里后建议先建议先看一看本文后面的参数配置和benchmark说明,然后再下载安装parsec3.0
#一次性编译所有benchmark,正常情况下大约7分钟编译完,如果编译报错,可以参考本文后面列出的错误描述及解决方法
parsecmgmt -a build -p all
parsecmgmt -a run -p all  -i simdev                                #采用所有benchmark进行测试

参数配置和 benchmark 说明

测试集

parsec3.0 有 6 个测试集,分别是 Test,Simdev,Simsmall,simmedium,Simlarge,Native,如果不指定测试集,parsec3.0 会默认使用 Test。这 6 个测试集具体信息如下表:

Alt text
Alt text

查看测试集

parsec3.0 压缩包不一定都包含这 6 个测试集,可以通过如下方式查看自己下载的 parsec3.0 源码包含的测试集:

cd ./pkgs/kernels/dedup/inputs/
ls

benchmark 介绍

parsec3.0 有自身的 benchmark 和集成第三方的,下标所列是自身的 benchmark 和用途,第三方有 splash2、splash2x。

Alt text
Alt text

通过命令 parsecmgmt -a info 可以查看具体 benchmark 信息。

错误及解决方法

错误 1

错误描述:

No package 'xext found'

解决方法:

yum install libXext-devel libXfixes-devel libX11-devel libXt-devel libXmu-devel libXi-devel -y

错误 2

错误描述:

/usr/include/wchar.h:94:3: error: conflicting types for ‘._mbstate_t’

解决方法:

vim ./pkgs/libs/uptcpip/src/include/sys/bsd__types.h
# 注释bsd_types.h的102行到105行代码
# typedef union {
# char __mbstate8[128];
# __int64_t _mbstateL; /* for alignment */
# } __mbstate_t;

错误 3

错误描述:

[PARSEC] Error: 'env version=tbb /usr/bin/make' failed.

解决方法:

yum install -y tbb tbb-devel

错误 4

错误描述:

POD document had syntax errors at /usr/bin/pod2man line 69.

解决方法:

rm -f /usr/bin/pod2man