CN101520748A - 一种测试Intel多核CPU加速比的方法 - Google Patents

一种测试Intel多核CPU加速比的方法 Download PDF

Info

Publication number
CN101520748A
CN101520748A CN200910013920A CN200910013920A CN101520748A CN 101520748 A CN101520748 A CN 101520748A CN 200910013920 A CN200910013920 A CN 200910013920A CN 200910013920 A CN200910013920 A CN 200910013920A CN 101520748 A CN101520748 A CN 101520748A
Authority
CN
China
Prior art keywords
cpu
intel
test
configuration
ratio
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN200910013920A
Other languages
English (en)
Inventor
王友升
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Langchao Electronic Information Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Langchao Electronic Information Industry Co Ltd filed Critical Langchao Electronic Information Industry Co Ltd
Priority to CN200910013920A priority Critical patent/CN101520748A/zh
Publication of CN101520748A publication Critical patent/CN101520748A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

一种测试Intel多核CPU加速比的方法,即是测试单CPU上的运行时间与并行算法在多CPU上的运行时间之比,用户可以根据测试的需求灵活设置计算量,从而达到控制测试时间的目的,具有更大的灵活性。单线程应用已经造成了多核CPU资源的严重浪费,而开发多线程应用,充分发挥多核CPU协调运作的优势,CPU用户最关心的一个指标也是CPU加速比。该方法正基于软件,提出了一个高效的测试CPU加速比的方法。

Description

一种测试Intel多核CPU加速比的方法
1、技术领域
本发明涉及服务器应用测试领域,具体涉及一种测试Intel多核CPU加速比的方法。
2、技术背景
加速比定义为串行算法在单CPU上的运行时间与并行算法在多CPU上的运行时间之比。加速比可以告诉我们CPU的运算性能是否与CPU核心数目的增长同步。站在服务器产品在研发角度上看,需要对服务器性能进行评估,譬如使用2颗双核的CPU运算能力强还是使用一颗4核的CPU,为确保开发出性价比更高的产品,其中CPU加速比就是一个很重要的评价指标;PWscf(Plane-Wave Self-Consistent Field)是意大利国际理论物理研究中心主持开发的一个基于平面波的第一性原理计算软件包,目前PWscf是Quantum ESPRESSO(ESPRESSO:Open-SourcePackage for Research in Electron Structure,Simulation and Optimization)的一部分,主要集成了pwscf.cpmd和fpmd这三个模块,可以进行总能相关计算和分子动力学模拟,其次是基于多线程编写的,属于CPU密集型软件,计算量比较大,可以让CPU一致处于饱和状态;最后是用户可以根据测试的需求灵活设置计算量,从而达到控制测试时间的目的,具有更大的灵活性。站在应用角度上讲,单线程应用已经造成了多核CPU资源的严重浪费,而开发多线程应用,充分发挥多核CPU协调运作的优势,CPU用户最关心的一个指标也是CPU加速比。该方法正基于上述软件,提出了一个高效的测试CPU加速比的方法。
3、发明内容
对Intel多核CPU的加速比进行评估测试,必须保证在同一个测试基准下进行,而且每次进行测试前都要进行机器的充启,这样可以避免缓存对测试结果的影响。该测试方案的具体实施包括并行环境的配置、intel编译器的安装,intel MKL库的安装,intel mpi并行软件的安装,pwscf软件的安装运行测试这五大部分组成.
4.附图说明
图1为一种测试Intel多核CPU加速比的方法的加速比折线图
5.具体实施方式
本发明的一种测试Intel多核CPU加速比的方法具体实施详细介绍如下:
1)、并行环境的配置
1.1)、配置rsh,开启用户对所有节点的rsh权限,具体如下:
a)、编辑/etc/hosts,加入所有(包括本机的)节点的ip地址和对应的计算机名;
b)、编辑/root/.rhosts和/etc/hosts.equiv,加入所有节点的计算机名;
c)、开启rsh服务:setup→system services→[*]rsh[*]rlogin[*]rexec;
d)、编辑/etc/securetty,加入rsh,rexec,rlogin;
e)、重起服务service xinetd restart;
上述步骤要重复在各节点配置。
1.2)、配置ssh,实现所有节点之间的无密码互访,具体配置步骤如下:
a)、在每个节点上以root登录,然后运行ssh-keygen-t dsa
b)、在每个节点上将生成的/root/.ssh/id_dsa和/root/.ssh/id_dsa.pub都导入到同一个文件authorized_keys2中;
c)、将生成的包含所有节点信息的authorized_keys2文件拷贝到其他所有节点上;
d)、测试ssh配置是否成功;
1.3)、进行NFS的配置,开启nfs和portmap服务,建立共享文件目录,具体配置如下:
a)、在管理端建立文件/etc/exports,并且设置共享目录属性;
b)、在管理端激活nfs和portmap服务;
c)、在被管理端建立需要挂载的目录,并进行本地挂载;
1.4)、进行NIS配置,建立域名解析服务,具体实施如下:
a)、在管理端开启服务yppasswd和ypserv;
b)、在管理端配置NIS域名;
c)、在被管理端开启服务ypbind:
d)、在被管理端修改/etc/passwd在末尾加入+;
到此并行环境配置完成,如果是在单机下进行intel CPU的多核测试,可以直接跳过并行环境配置这一步。
2)、Intel编译器
我们选用intel编译器主要是一方面是由于PWSCF软件才后期安装时,需要进行调用Intel编译器进行编译,另一个方面也是由于可以使用Intel编译器对Intel的CPU进行不同程度的优化,以获取更高的性能。
a)、Intel C++编译器的安装
解压intel C++编译器压缩包,运行./install.sh文件,按照默认方式进行安装,默认安装路径是/opt/intel/cc/.
b)、Intel Fortran编译器的安装
解压intel Fortran编译器压缩包,运行./install.sh,按照默认方式进行安装,默认安装路径是/opt/intel/fc/.
3)Intel MKL数学核心库安装
PWSCF软件中含有大量的数学运算,Intel MKL库针对数学运算进行了大量的优化,这样可以保证PWSCF软件高效运行。
具体安装步骤如下:
解压Intel MKL库压缩包,运行./install.sh按照默认的安装方式进行安装,默认的安装路径是/opt/intel/mkl.
注意要保证集群上的所有节点的安装目录都相同,这样才保证应用软件运行时出现不必要的错误。
4)、Intel MPI软件
在安装Intel MPI软件时,首先要创建machines.LINUX文件,在该文件中加入所有节点,这样在安装时可以避免每个节点进行安装。在MPI安装完成后,需要进行MPI的测试,启动MPD,配置mpd.host文件,确保MPI运行成功。
5)基准测试软件pwscf
安装PWscf软件时,可以根据测试系统的CPU信息,设置Intel C++和Fortran编译器的优化参数,进行优化编译。编译成功后,进行安装,安装成功后会出现一个PW.x(电子和离子优化)的执行档,我们通过运行PW.x来计算不同的元素来测试CPU的加速比。具体的安装步骤如下:
a)、运行下列命令
./configure  ARCH=ia32  MPIF90=mpiifort  LIBDIRS=”/opt/intel/mkl/
9.1.023/lib/32/usr/lib/math”注意不同的版本可能命令参数不太一样;
b)、设置环境intel编译器,mkl库,mpi环境变量;
c)、编译
使用命令make all;
d)、编译成功进行测试;
6)测试
在测试时,利用MPI的工作原理来控制参与运算的CPU核数,从而得到不同的核数计算相同的元素所需要的CPU时间,进而计算出CPU的加速比。加速比定义为串行算法在单CPU上的运行时间与并行算法在多CPU上的运行时间之比,加速比可以告诉我们性能是否与核心数目的增长同步。
测试时,先要启动mpdboot,如果是集群时需要把所有节点全部启动,mpdboot启动成功后,再运行mpiexe进行测试。
例如:a)启动单个节点
Mpdboot-n1
其中n表示启动的节点数
b)、运行1个核心
mpiexec-n 1 bin/pw.x<mgal2o4-cf.scf.in
其中n表示参与运算的核数pw.x为可执行档,mgal2o4-cf.scf.in包含有相应的配置信息和待计算的元素。
c)、运行2个核心
mpi exec-n 2 bin/pw.x<mgal2o4-cf.scf.in
d)、运行4个核心
mpiexec-n 4 bin/pw.x<mgal2o4-cf.scf.in
测试完成,进行数据的收集。
7)测试数据的收集
数据的收集分为两类:
a)、系统性能数据
系统性能数据主要收集CPU和内存的信息,使用TOP或者VMSTAT命令。
b)、CPU运行数据
CPU运行数据主要是收集cpu time和wall time这两项数据。
8)测试数据的整理
测试数据的整理主要是将数据进行标准化,以便于用户分析。我们主要是借助于excel进行分析。由于测试的次数比较多,收集的数据量比较大,容易造成混淆,可以采用便于记忆的命名规范进行,譬如以参与运算的核数进行命名等。根据系统性能数据的分析,我们可以判定CPU在当前基准下是否运行处于饱和状态。根据cpu time和wall time数据我们计算CPU的加速比。整理后的测试数据应该包括如下内容:硬件信息(CPU,内存,硬盘),软件信息(应用软件,操作系统),负载量,编译信息,CPU Time,加速比等。下面给Intel Xeon 7120为例介绍一下成果数据的展现形式:
a)、图标形式
系统概要信息:
 
配置 详细描述
硬件信息 Intel Xeon 7120*2/2G/SAS 73G
软件信息 OS(Redhat4 update 5,32bit),intel complier 9.1,intel mkl9.1 intel mpi 3.0
负载量 Mgsa.scf.in
CPU测试信息
 
CPU core Nodes Cpu time(s) Speed_up Wall time(s) Idealizedspeed_up
1 1 895.44 1.0000 935.70 1.0000
2 1 484.90 1.8466 539.55 1.7342
4 1 173.86 5.1500 202.09 6.6301
CPU time的加速比speed_up为单核CPU time/多核CPU time的结果;CPU wall time的加速比Indealized speed_up为单核Wall time/多核Wall time的结果。

Claims (2)

1、一种测试Intel多核CPU性能加速比的方法,其特征在于基于多核CPU同时进行多任务处理和多任务计算方面的优势,通过选用多线程、CPU高密集型应用软件,使CPU的多核一直处于饱和的运行状态,真实测试CPU各个核运算性能能力,获得一组准确可靠的加速比数据。
2、根据权利要求1所述的方法,其特征在于该测试方案的具体实施包括并行环境的配置、intel编译器的安装,intel MKL库的安装,intel mpi并行软件的安装,pwscf软件的安装运行测试这五大部分组成,下面就每一部分的具体步骤如下:
1)、并行环境的配置
1.1)、配置rsh,开启用户对所有节点的rsh权限,具体如下:
a)、编辑/etc/hosts,加入所有(包括本机的)节点的ip地址和对应的计算机名;
b)、编辑/root/.rhosts和/etc/hosts.equiv,加入所有节点的计算机名;
c)、开启rsh服务:setup→system services→[*]rsh[*]rlogin[*]rexec;
d)、编辑/etc/securetty,加入rsh,rexec,rlogin;
e)、重起服务service xinetd restart;
上述步骤要重复在各节点配置;
1.2)、配置ssh,实现所有节点之间的无密码互访,具体配置步骤如下:
a)、在每个节点上以root登录,然后运行ssh-keygen-t dsa
b)、在每个节点上将生成的/root/.ssh/id_dsa和/root/.ssh/id_dsa.pub都导入到同一个文件authorized_keys2中;
c)、将生成的包含所有节点信息的authorized_keys2文件拷贝到其他所有节点上;
d)、测试ssh配置是否成功;
1.3)、进行NFS的配置,开启nfs和portmap服务,建立共享文件目录,具体配置如下:
a)、在管理端建立文件/etc/exports,并且设置共享目录属性;
b)、在管理端激活nfs和portmap服务;
c)、在被管理端建立需要挂载的目录,并进行本地挂载;
1.4)、进行NIS配置,建立域名解析服务,具体实施如下:
a)、在管理端开启服务yppasswd和ypserv;
b)、在管理端配置NIS域名;
c)、在被管理端开启服务ypbind;
d)、在被管理端修改/etc/passwd在末尾加入+;
到此并行环境配置完成,如果是在单机下进行intel CPU的多核测试,可以直接跳过并行环境配置这一步;
2)、Intel编译器
我们选用intel编译器主要是一方面是由于PWSCF软件才后期安装时,需要进行调用Intel编译器进行编译,另一个方面也是由于可以使用Intel编译器对Intel的CPU进行不同程度的优化,以获取更高的性能;
a)、Intel C++编译器的安装
解压intel C++编译器压缩包,运行./install.sh文件,按照默认方式进行安装,
默认安装路径是/opt/intel/cc/.
b)、Intel Fortran编译器的安装
解压intel Fortran编译器压缩包,运行./install.sh,按照默认方式进行安装,
默认安装路径是/opt/intel/fc/.
3)Intel MKL数学核心库安装
PWSCF软件中含有大量的数学运算,Intel MKL库针对数学运算进行了大量的优化,
这样可以保证PWSCF软件高效运行;
具体安装步骤如下:
解压Intel MKL库压缩包,运行./install.sh按照默认的安装方式进行安装,默认的安装路径是/opt/intel/mkl.
注意要保证集群上的所有节点的安装目录都相同,这样才保证应用软件运行时出现不必要的错误;
4)、Intel MPI软件
在安装Intel MPI软件时,首先要创建machines.LINUX文件,在该文件中加入所有节点,这样在安装时可以避免每个节点进行安装。在MPI安装完成后,需要进行MPI的测试,启动MPD,配置mpd.host文件,确保MPI运行成功;
5)基准测试软件pwscf
安装PWscf软件时,可以根据测试系统的CPU信息,设置Intel C++和Fortran编译器的优化参数,进行优化编译。编译成功后,进行安装,安装成功后会出现一个PW.x(电子和离子优化)的执行档,我们通过运行PW.x来计算不同的元素来测试CPU的加速比。具体的安装步骤如下:
a)、运行下列命令
/configure  ARCH=ia32  MPIF90=mpiifort LIBDIRS=”/opt/intel/mkl/9.1.023/lib/32/usr/lib/math”注意不同的版本可能命令参数不太一样;
b)、设置环境intel编译器,mkl库,mpi环境变量;
c)、编译
使用命令make all;
d)、编译成功进行测试;
6)测试
在测试时,利用MPI的工作原理来控制参与运算的CPU核数,从而得到不同的核数计算相同的元素所需要的CPU时间,进而计算出CPU的加速比。加速比定义为串行算法在单CPU上的运行时间与并行算法在多CPU上的运行时间之比,加速比可以告诉我们性能是否与核心数目的增长同步;
测试时,先要启动mpdboot,如果是集群时需要把所有节点全部启动,mpdboot启动成功后,再运行mpiexe进行测试;
例如:a)启动单个节点
Mpdboot-n1
其中n表示启动的节点数
b)、运行1个核心
mpiexec-n 1 bin/pw.x<mgal2o4-cf.scf.in
其中n表示参与运算的核数pw.x为可执行档,mgal2o4-cf.scf.in包含有相应的配置信息和待计算的元素;
c)、运行2个核心
mpiexec-n 2 bin/pw.x<mgal2o4-cf.scf.in
d)、运行4个核心
mpiexec-n 4 bin/pw.x<mgal2o4-cf.scf.in
测试完成,进行数据的收集;
7)测试数据的收集
数据的收集分为两类:
a)、系统性能数据
系统性能数据主要收集CPU和内存的信息,使用TOP或者VMSTAT命令;
b)、CPU运行数据
CPU运行数据主要是收集cpu time和wall time这两项数据;
8)测试数据的整理
测试数据的整理主要是将数据进行标准化,以便于用户分析。我们主要是借助于excel进行分析。由于测试的次数比较多,收集的数据量比较大,容易造成混淆,可以采用便于记忆的命名规范进行,譬如以参与运算的核数进行命名等。根据系统性能数据的分析,我们可以判定CPU在当前基准下是否运行处于饱和状态。根据cpu time和wall time数据我们计算CPU的加速比。整理后的测试数据应该包括如下内容:硬件信息(CPU,内存,硬盘),软件信息(应用软件,操作系统),负载量,编译信息,CPU Time,加速比等。
CN200910013920A 2009-01-12 2009-01-12 一种测试Intel多核CPU加速比的方法 Pending CN101520748A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910013920A CN101520748A (zh) 2009-01-12 2009-01-12 一种测试Intel多核CPU加速比的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910013920A CN101520748A (zh) 2009-01-12 2009-01-12 一种测试Intel多核CPU加速比的方法

Publications (1)

Publication Number Publication Date
CN101520748A true CN101520748A (zh) 2009-09-02

Family

ID=41081349

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910013920A Pending CN101520748A (zh) 2009-01-12 2009-01-12 一种测试Intel多核CPU加速比的方法

Country Status (1)

Country Link
CN (1) CN101520748A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102708404A (zh) * 2012-02-23 2012-10-03 北京市计算中心 一种基于机器学习的多核下mpi最优运行时的参数预测方法
CN103019852A (zh) * 2012-11-14 2013-04-03 北京航空航天大学 一种适用于大规模集群的mpi并行程序负载问题三维可视化分析方法
CN103136026A (zh) * 2013-02-22 2013-06-05 浪潮电子信息产业股份有限公司 一种解决虚拟化软件库libvirt的ssh连接验证的方法
CN103329505A (zh) * 2010-12-21 2013-09-25 汤姆逊许可公司 用于多核平台的dns转发器
CN104579853A (zh) * 2015-02-10 2015-04-29 浪潮电子信息产业股份有限公司 一种用于服务器集群系统网络测试的方法
CN105530126A (zh) * 2015-12-11 2016-04-27 浪潮电子信息产业股份有限公司 一种基于Redhat系统系列的nfs服务搭建方法
CN103329505B (zh) * 2010-12-21 2016-11-30 汤姆逊许可公司 用于多核平台的dns转发器
CN106650400A (zh) * 2016-10-21 2017-05-10 郑州云海信息技术有限公司 一种自动化实现虚拟机互信的方法
CN107092778A (zh) * 2017-03-30 2017-08-25 江苏骏龙光电科技股份有限公司 一种基于多核cpu的光纤测量并行计算方法
CN107404524A (zh) * 2017-07-24 2017-11-28 郑州云海信息技术有限公司 一种分布式集群节点访问的方法及装置
CN109495339A (zh) * 2018-11-02 2019-03-19 郑州云海信息技术有限公司 基于Intel-mpi工具测试HCA卡性能的方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103329505B (zh) * 2010-12-21 2016-11-30 汤姆逊许可公司 用于多核平台的dns转发器
CN103329505A (zh) * 2010-12-21 2013-09-25 汤姆逊许可公司 用于多核平台的dns转发器
CN102708404A (zh) * 2012-02-23 2012-10-03 北京市计算中心 一种基于机器学习的多核下mpi最优运行时的参数预测方法
CN102708404B (zh) * 2012-02-23 2016-08-03 北京市计算中心 一种基于机器学习的多核下mpi最优运行时的参数预测方法
CN103019852A (zh) * 2012-11-14 2013-04-03 北京航空航天大学 一种适用于大规模集群的mpi并行程序负载问题三维可视化分析方法
CN103019852B (zh) * 2012-11-14 2015-11-11 北京航空航天大学 一种适用于大规模集群的mpi并行程序负载问题三维可视化分析方法
CN103136026A (zh) * 2013-02-22 2013-06-05 浪潮电子信息产业股份有限公司 一种解决虚拟化软件库libvirt的ssh连接验证的方法
CN104579853A (zh) * 2015-02-10 2015-04-29 浪潮电子信息产业股份有限公司 一种用于服务器集群系统网络测试的方法
CN105530126A (zh) * 2015-12-11 2016-04-27 浪潮电子信息产业股份有限公司 一种基于Redhat系统系列的nfs服务搭建方法
CN106650400A (zh) * 2016-10-21 2017-05-10 郑州云海信息技术有限公司 一种自动化实现虚拟机互信的方法
CN107092778A (zh) * 2017-03-30 2017-08-25 江苏骏龙光电科技股份有限公司 一种基于多核cpu的光纤测量并行计算方法
CN107404524A (zh) * 2017-07-24 2017-11-28 郑州云海信息技术有限公司 一种分布式集群节点访问的方法及装置
CN109495339A (zh) * 2018-11-02 2019-03-19 郑州云海信息技术有限公司 基于Intel-mpi工具测试HCA卡性能的方法

Similar Documents

Publication Publication Date Title
CN101520748A (zh) 一种测试Intel多核CPU加速比的方法
Zhang et al. Refactoring android java code for on-demand computation offloading
Czarnul et al. Energy-aware high-performance computing: survey of state-of-the-art tools, techniques, and environments
Warneke et al. Nephele: efficient parallel data processing in the cloud
Frumkin et al. Nas grid benchmarks: A tool for grid space exploration
El Maghraoui et al. Dynamic malleability in iterative MPI applications
Aronis et al. A scalability benchmark suite for Erlang/OTP
Eichelberger et al. Flexible resource monitoring of Java programs
Mazouz et al. Performance evaluation and analysis of thread pinning strategies on multi-core platforms: Case study of spec omp applications on intel architectures
Kim et al. SCORE: a scalable concolic testing tool for reliable embedded software
WO2015147690A1 (en) System and method for determination of code coverage for software applications in a network environment
Kreku et al. Automatic workload generation for system-level exploration based on modified GCC compiler
Li et al. DroidPerf: profiling memory objects on android devices
Podobas et al. A comparative performance study of common and popular task‐centric programming frameworks
Hocko et al. Reducing performance non-determinism via cache-aware page allocation strategies
Zhang et al. Towards module-based automatic partitioning of java applications
Yan et al. Using memory in the right way to accelerate Big Data processing
Shih et al. A performance-based parallel loop scheduling on grid environments
CN103955423A (zh) 一种国产jvm的测试评估方法
Wei et al. Using sample-based time series data for automated diagnosis of scalability losses in parallel programs
Pabitha et al. An Effective C, C++, PHP, Perl, Ruby, Python Compiler using Cloud Computing
Francesquini et al. Actor scheduling for multicore hierarchical memory platforms
Dichev et al. MPI Support on the Grid
Mann et al. Study of Energy‐Efficient Optimization Techniques for High‐Level Homogeneous Resource Management
Amini Adaptive data migration in load-imbalanced HPC applications

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20090902