网格中比较CPU计算能力的一种方法

发布者:芳华逝水最新更新时间:2012-04-06 来源: 吉林大学学报关键字:网格  CPU  计算能力  发现服务 手机看文章 扫描二维码
随时随地手机看文章

引 言 

在网格计算中,常常需要使用多台计算机协同工作完成一台超级计算机才能完成的计算任务,为实现上述目标,首先应通过网格信息服务获得网格中各台主机CPU计算能力的指标,然后进行判断选择,决定由哪些主机参与计算。 

当前,已有的网格信息服务模块、网格监控模块,如MDS2将系统平均负载作为反映CPU状态的动态指标提供给用户;另外,通过系统命令或系统调用也可以获得 CPU使用率这个动态指标。系统平均负载是在特定时间间隔内运行队列中的平均进程数,CPU使用率表示CPU使用程度的指标,能够反映出CPU的工作状态,但由于网格中CPU型号性能的差异,因此,无法用它们直接比较网格中CPU的计算能力。 

为直接比较网格中主机 CPU的计算能力,获得具有可比性的反映CPU计算能力的指标,我们采用计算量动态选择算法,在各台主机上周期性地瞬间执行计算量适中的Whestone 基准计算,通过PAPI接口编程对CPU所完成的浮点数计算进行精确计数,用得到的每秒百万浮点数MFLOPS作为比较主机CPU计算能力的指标,定义为 WMFLOPS。得到WMFLOPS后,通过Globus提供的监控和发现服务(Monitoring and Discovery Service,MDS),将该指标作为资源信息进行发布,作为比较网格节点CPU计算能力的依据,为用户选择计算节点提供参考。我们编写了程序 WfpSensor用于上述方法的实现。WfpSensor作为传感器工作于网格中的各个节点,周期性地对CPU进行计算测试,获得WMFLOPS的返回值,同时,WfpSensor也是MDS服务中的本地信息提供者,定时将最新的WMFLOPS值传递给MDS系统,供用户查阅。 

计算测试子程序 


CPU 的计算能力主要体现在浮点数计算能力、定点数计算能力和矩阵计算能力等方面,其中某一类程序在CPU上运行的效果并不能全面地反映CPU的计算能力,所以许多国际基准组织开发了测试CPU计算能力的基准测试程序,在这类程序中进行的操作和运算可以相对全面客观地考察CPU的计算能力。本文方法采用综合型基准测试程序Whestone作为WfpSensor的计算测试子程序,Whestone程序中主要包括浮点运算、整数运算、涉及到数组下标索引、子程序调用、参数传递、条件转移和三角/超越函数等,可以综合考察CPU提供的计算能力。 

返回指标WM FLOPS 

WfpSensor 进程对CPU进行计算测试后,取出CPU在测试过程中的指标来反映CPU的计算能力。绝大多数网格计算都是科学计算,而浮点计算是科学计算程序中最主要的计算,所以选用每秒百万浮点数MFLOPS作为反映CPU计算能力的指标。MFLOPS反映了CPU的浮点计算能力,并且MFLOPS是基于操作而非指令的,可以用它来比较两种不同CPU的计算能力。由于是调用Whestone程序进行测试所得的结果,因此定义该指标为WMFLOPS。 

指标精确计数 

指标确定后,如何在WfpSensor中精确得到Whestone计算结束后的WMFLOPS值成为问题的关键。由美国田纳西大学计算机学院创新计算实验室开发的标准应用编程接口PAPI( portable application programming interface)能够满足上述要求。该软件通过CPU上的硬件计数器,对CPU运行时产生的某些事件进行计数,并建立了一个标准应用编程接口方便用户读出计数器的值,通过这些值就可以了解当前CPU的工作状态。由于CPU生产厂商及型号的不同,CPU硬件计数器所计数的硬件事件会有所不同,为标准化指标的名称,使同一工具可以计数相似的可比较事件,促进跨平台调试程序的能力,PAPI开发者选择了一套和调试应用程序相关的硬件事件称为预定义事件,作为反映CPU当前工作状态的指标。这些指标是跨平台的通用事件,包括了大部分主流RISC类事件,并且尽可能把这些预定义事件映射到给定CPU的硬件计数器事件中。在本文方法中,使用了PAPI_FP_INS这个PAPI预定义事件,它表示进程执行过程中完成的浮点数计算。PAPI提供了精确的计时器,精确到微秒,能够准确地对进程的执行时间进行计时,如果经计数,PAPI_FP_INS事件总数为n,计算执行时间为t(单位:μs) ,那么WMFLOPS=n/t。 [page]

计算量动态选择 

采用计算测试CPU的计算能力,必须保证以下两点: 

(1) 测试进程应尽可能不影响CPU的正常工作,当然由于测试进程的引入必将影响到CPU正常运行,应设法让这种影响降到一个可以接受的程度,并且使计算给系统带来的开销尽可能小。 

(2) 测试进程要有一定的计算量,如果计算量过小,会使初始化、函数调用等操作消耗的时间在进程的执行时间t中占有较大的比重,从而使WMFLOPS的值比真实值小,影响测试结果的精确性。 

为同时保证(1)需要较小的计算量和(2)需要较大的计算量,选择合适的测试计算量十分重要,为此,提出采用计算量动态选择的算法确定计算量。 

计算量的大小控制可以通过改变WfpSensor中调用Whestone程序的次数(NUM_LOOPS)实现。假定使计算执行时间t(单位:s)在 0.5~1.5的计算量是合理值,计算量调节系数为xs。WfpSensor启动时,NUM_LOOPS赋初值。调用Whestone计算结束后,如果: 

(1) 0.5≤t≤1.5,在合理区间内,NUM_LOOPS的值保持不变。 

(2) t>1.5,计算量偏大,下次测试应减小Whestone的调用次数,则NUM_LOOPS=NUM_LOOPS/xs。xs为t四舍五入后的整数值。 

(3) t<0.5,计算量偏小,下次测试应增加Whestone的调用次数,则NUM_LOOPS=NUM_LOOPS3xs。xs为(1/t)四舍五入后的整数值。 

具体算法如下:
start_usec=PAPI_get_real_usec();//通过PAPI函数获得计算开始时的时刻
do_wst(NUM_LOOPS);//Whestone写成函数,对它进行调用,NUM_LOOPS是调用次数
end_usec=PAPI_get_real_usec();//通过PAPI函数获得计算结束时的时刻
t=(end_usec-start_usec);//获得计算执行的时间
if(t>1.5)//根据本次计算执行时间决定下次测试的调用次数
{
 if((t-floor(t))>0.5)//取最靠近t的整数
  xs=floor(t)+1;
 else
  xs=floor(t)
  NUM_LOOPS=NUM_LOOPS/xs;//修改调用次数
}
else
 if(t<0.5)
 {
  if((1/t-floor(1/t))>0.5)//取最靠近1/t的整数
   xs=floor(1/t)+1;
  else
   xs=floor(1/t);
   NUM_LOOPS =NUM_LOOPS3xs;//修改调用次数


性能评价 

为证实本文方法检测CPU计算能力的效果,在使用Intel赛扬1.3 GHz CPU的主机上(操作系统为WindowsXP),运行WfpSensor,做以下实验。在实验中,使用计算π值的科学计算软件Superπ和另一基准测试软件Linpack作为主机的计算任务,WfpSensor设置为每10s采样一次。为使检测效果具有可比性,我们编写了检测CPU使用率的另一程序 CPUusage对CPU的使用率进行记录,CPUusage也是每10s采样一次。在同样的计算条件下,分别由WfpSensor和CPUusage对 CPU的计算能力进行测试。 

稳定性 

本实验检测WfpSensor和 CPUusage测试数据的稳定性,机器启动后,不运行任何程序,分别用WfpSensor和CPUusage进行5min测试,所得 WMFLOPS,NUM_LOOPS和CPU使用率如图1所示,NUM_LOOPS初始值为4000。 

由图1可见,在未运行任何用户程序时,与CPUusage所测数据一样,WfpSensor所测数据是稳定的,都可以反映出CPU的计算能力。 



 图1 

灵敏性 

检测WfpSensor和CPUusage对CPU计算负载变化的灵敏性。在监控程序启动35s后,运行Superπ(计算1M位π值),再过45s运行 Linpack。5min15s结束测试,所得WMFLOPS,NUM_LOOPS和CPU使用率如图2所示。 [page]



图2 

由图2可见,WfpSensor能够根据CPU当前状态自动选择计算量,WMFLOPS的值能够反映出CPU计算能力的动态变化情况,而CPU使用率的值则不能动态反映CPU的计算能力。 

测试开销 

用测试计算的运行时间说明这个问题。在图2(A)的实验中,记录了测试计算的执行时间如图3所示。在设计算法时,已假定测试计算执行时间在0.5~1.5 s范围内是合理值,即为可以接受的测试开销。如图3所示,除4个拐点的测试计算执行时间值外,其他测试计算执行时间值稳定于1s左右,符合要求。当然,如果认为1 s的测试执行时间开销较大,还可以根据实际情况修改算法,设置合理的测试计算执行时间的区间。 



图3 

实验结论 

以上实验数据证明,WfpSensor将PAPI和Whestone结合使用测试CPU计算能力的方法是可行的,而且准确、有效。动态计算量的选择保证了 WfpSensor的测试计算开销保持在合理的范围内,PAPI提供的独立于硬件和操作系统的编程接口保证了返回指标计数的精确性。 

WfpSensor的网格应用 

WfpSenor跨平台使用的可行性 

WfpSensor 的返回指标WMFLOPS可以反映出一台主机CPU不同时刻的计算能力,可以用于相同平台或不同平台主机CPU计算能力的比较。首先,WMFLOPS是 Whestone程序结束后返回的MFLOPS值,浮点计算是基于操作而非指令的,所以它可以用来比较不同CPU的计算能力。其次,WMFLOPS是使用 PAPI编程接口通过CPU硬件计数器对PAPI_FP_INS事件进行计数的值除以测试进程的执行时间t得到的,PAPI具有跨平台性,这为 WfpSensor应用于具有较大物理异构性的网格环境提供了极大的支持;同时,PAPI_FP_INS是PAPI定义的标准化预定义事件,对于不同 CPU的比较更具参考性。 

WfpSensor数据的发布 

采用Globus中的监控和发现服务(MDS)将WfpSensor测得的WMFLOPS值发布出来,供用户查询和订阅。MDS的功能包括信息的发现、注册、查询、修改、注销等。WfpSensor作为WMFLOPS信息的提供者通过软状态注册协议向MDS进行注册,并定期向MDS提供数据,用户可以通过MDS系统查询网格中各主机CPU的WMFLOPS值,用户也可以向MDS订阅WMFLOPS信息,从而了解WMFLOPS值的更新和变化。 

CPU计算能力的比较 

WMFLOPS 值反映了某一时刻主机CPU所能提供给新进程的计算能力,因此WMFLOPS值越大,则说明主机CPU所能提供的计算能力越强。例如,用户需要选取网格中的几个节点进行网格计算,通过MDS查询得到网格中5个节点A,B,C,D,E的最新WMFLOPS值分别为 150.78,89.65,225.38,50.22,189.62,如果仅从CPU计算能力方面考虑,则节点选择的顺序依次为C,E,A,B,D。也可以将WMFLOPS值结合MDS提供的内存使用率等系统信息综合考虑选择计算节点。 

综上可见,本文提出了一种对网格中各节点CPU计算能力进行直接比较的方法。基准计算测试程序的应用保证了测试的全面性、客观性;计算量动态选择算法保证了测试进程既能精确地进行测试,又不至于给系统带来过多的开销;通过PAPI接口,利用CPU计数器对指标精确计数,保证了数据的准确性;PAPI的跨平台性保证了本方法可以应用于软硬件差别较大的网格环境中。实验证明,本文方法能够稳定、灵敏地反映CPU的计算能力,用其比较不同CPU的计算能力正确、有效。

关键字:网格  CPU  计算能力  发现服务 引用地址:网格中比较CPU计算能力的一种方法

上一篇:TMS320C6000系列二次Bootloader的设计与实现
下一篇:基于SAA6752HS 的嵌入式视频监控和传输系统的设计

推荐阅读最新更新时间:2024-03-16 12:57

联想扬天商用电脑猛降2000元 成CPU降价前兆
  6月16日消息,英特尔与AMD的处理器大战硝烟未起,整机价格率先开始波动,价格一降再降。   本月15日,天极Chinabyte记者从中关村联想经销商处了解到,采用AMD处理器的扬天M5700C售价仅为6000元,而不久前这款机器的价格还高于8000元,降价幅度达到2000元。   经销商告诉天极Chinabyte记者,扬天M5700C采用了AMD Athlon64 3200+处理器、512M DDR内存、160GB SATA硬盘、16XDVD光驱、独立显卡、17寸液晶显示器,预装了正版Windows XP操作系统,同时还三年有限免费保修、三年有限免费上门服务。   该经销商认为, 作为一款定位于商用市场的电脑,扬天M5
[焦点新闻]
高通首款八核CPU解析:64位/A53架构
    2014年移动世界大会(MWC2014)刚刚落幕,本次大会上,很多厂商都推出了新产品,作为移动芯片行业的领军者,高通也不例外,2月24日, 高通公布了3款全新的处理器,分别是骁龙800的升级版——骁龙801,以及两枚64位处理器,骁龙610和骁龙615。其中,最引人注目的当属支持八核芯的骁龙615。   高通骁龙615芯片集成LTE和64位功能,拥有八核CPU,是高通旗下的首款八核芯片组。这颗八核芯片的发布引起了业界的高度关注,同时也带来了 很多疑问。高通为何食言,推出八核处理器?骁龙615采用的是什么架构?以及64位处理器到底有什么优势?等等,今天,笔者就围绕这些问题,和大家聊 一聊。   关键字一:64  
[手机便携]
不仅是CPU或者GPU,企业级人工智能需要更全面的方法
本文作者:Naveen Rao 英特尔公司全球副总裁兼人工智能产品事业部总经理 在5月23日旧金山举行的英特尔人工智能开发者大会上,我们介绍了有关英特尔人工智能产品组合与英特尔Nervana™神经网络处理器的最新情况。这是令人兴奋的一周,英特尔人工智能开发者大会汇集了人工智能领域的顶尖人才。我们意识到,英特尔需要与整个行业进行协作,包括开发者、学术界、软件生态系统等等,来释放人工智能的全部潜力。因此,我很兴奋能够与众多业内人士同台。这包括与我们共同参与演示、研究和实践培训的开发者,也包括来自谷歌*、AWS*、微软*、Novartis*、C3 IoT*的诸多支持者。正是这种广泛的合作帮助我们一起赋能人工智能社区,为加快人工
[嵌入式]
不仅是<font color='red'>CPU</font>或者GPU,企业级人工智能需要更全面的方法
苹果自主GPU之路并不容易:GPU比CPU更难开发
eeworld网消息 据国外网站MarketWatch北京时间4月6日报道,苹果据称正计划自主研发GPU,这或将进一步提升该公司的设备性能和服务,但也可能导致该公司被告上法庭。最重要的是,自主研发GPU并不容易。 本周一,苹果芯片设计合作伙伴,英国公司Imagination表示,该公司已经获其最大客户苹果通知,自未来15至24个月起,将不再于新产品中使用Imagination的设计。该消息确认了过去数月的传闻,即苹果正致力自主研发图形处理器,或GPU。 GPU是一个复杂但迅速增长的领域,近期以来的关注度持续上升。作为该市场的领头羊,英伟达正使用其设计进军无人机、自动驾驶汽车和机器人等市场。如果GPU成为深度学习和机器学习应用的主力
[手机便携]
没有芯片厂商的硬件支持,还想玩转真4K UHD?
4K UHD电视在2014年CES上盛装亮相,但却没有展示什么实际内容。对于2014年的圣诞季来说,有一个好消息就是该行业已经开始务实得把精力放在一组显示、接口和编码标准上,所以消费者应该不会再在这个3DTV的炒作周期内遭遇轮番轰炸了。虽然距离每个人都可以看到4K还有很长一段路要走,但业界已经有了显著的进步。 首先,什么是4K UHD?显然,消费电子协会在协调拉拢和跑马圈地上做了出色的工作,防止了各种竞争性的超高清晰度电视标准之间足以毁掉整个产业链的恶性竞争。要满足4K HD的标准,显示上必须至少支持3840 x 2160像素,许多文献中描述为2160P,逻辑上它是1080P的演进,播放像素基本上是1080P的四倍。 “嘿
[嵌入式]
Imagination 发布硬件虚拟化技术的CPU IP 内核
2014 年 2 月 28 日 —— Imagination Technologies宣布,推出全球第一款内置硬件虚拟化技术的微控制器(MCU)级 CPU IP 内核 —— 可为各种入门级应用带来全新的灵活性、安全性与可靠性。这款低功耗、小巧、即时的 MIPS M-class M51xx 内核是入门级 MIPS Series5 Warrior CPU 的首批成员,能达到 MCU 级处理器的最高 CoreMark/MHz 基准测试分数。M51xx 内核是工业控制、物联网(IoT)、可穿戴设备、云计算、无线通信、汽车、存储和其他应用的理想选择。 Imagination 市场营销执行副总裁 Tony Kin
[单片机]
Imagination 发布硬件虚拟化技术的<font color='red'>CPU</font> IP 内核
智能电视:不可忽视的CPU之乱
当电视不再是电视,电脑不再是电脑:人们用电脑欣赏各家卫视的连续剧,更在用电视上网聊QQ,在淘宝上网购……一场PC厂商和TV企业的战争,彩电与电脑功能“混搭”风潮的出现,就已经不可避免! 2012年年初,中国最大的电脑企业联想,推出了自己的首款智能电视产品。少帅杨元庆更是颇有所指的宣告:智能电视就是PC!与此同时,全球彩电市场份额第一的三星,则宣称2012年智能电视(Smart TV)要占到其彩电出货量的75%! 智能电视的快速普及已经成为必然:仅以国内市场为例,2010年,智能电视的销量还几乎为零;2011年则超过250万台;2012年更是有望突破800-1000万台的销量。据IDC预计,2011年至2015年,中国智
[家用电子]
智能电视:不可忽视的<font color='red'>CPU</font>之乱
演播室照明设计及网格式布光法应用分析
说起小型演播室,你是不是觉得应该是这样的?   你觉得后面真的会有大型的 LED 屏幕负责把那些炫酷的裸眼3D布景飞来飞去?而实际上,小型演播室通常格局是这样的:   锵锵三人行的演播室是这样的:   你在电视上看到的所有布景其实都是后期加上去的,那么你就想问,就像锵锵这样的节目,涉及好几台机器在拍,不同嘉宾的镜头轮流切换,这种小型演播室应该怎么样布灯,才能符合录制的要求呢?   先给大家看看照片,留意顶上的布灯:   本文所讲述的 网格式 布光法其中一种典型应用,就适用于需要多个角度兼顾的小型演播室。   网格式布光法的优点:    1、布光的精确性   由于舞台被严格划分成若干区域,每个区域又相
[电源管理]
演播室照明设计及<font color='red'>网格</font>式布光法应用分析
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved