Microcomputer Applications V ol.26,No.5,2010
学习园地微型电脑应用2010年第26卷第5期
文章编号:1007-757X(2010)5-0054-03
一种基于动态二进制翻译的硬件支持Profile 技术
杨辉兵,管海兵,梁阿磊
摘要:传统的基于动态二进制翻译器的profiling 策略分为3种:基于基本块、基于跳转边、基于路径跟踪。使用纯软件的profiling 系统一般地说会带来平均30%的性能开销。如果在动态优化中得到硬件的支持,系统的整体性能将得到显著的提高。其中,软硬件协同设计中的难点,就是软硬件之间的通信开销和软硬件划分。该文针对动态二进制翻译中的优化阶段,使用一种硬件支持的运行是profile 收集新方法来取代纯软件的profiling 方法,把软硬件之间的通信开销降到最低,并以此来提高动态二进制翻译的整体性能。此方法可以在运行时准确地,并且以很小的开销收集Profile 信息,从而更好的优化系统。关键词:动态二进制翻译;profile 信息;软硬件协同设计中图分类号:TP311
文献标志码:A
0引言
传统上,软件开发者已经使用profile(程序轮廓)给编译
过程提供反馈。在profile 开销和由于profile 而自然增加的稳定状态下的性能获益之间,存在一个重要的性能权衡。Profile 开销由两部分组成,一是为了放置程序分析探针而需要开始分析程序结构的时间,二是实际收集profile 数据的时间。获益是由于更好的优化代码而减少的执行时间[1]。由于程序的动态行为对程序性能的影响是巨大的,同时动态行为又显著地受到了输入模式的影响,而静态分析是无法预知程序的动态输入模式的,因此有必要对静态编译生成的二进制代码在程序的运行时刻,根据程序的动态输入模式及相关的动态行为进行进一步的优化,从而提高程序的运行效率[2]
。
动态优化技术是在应用程序的运行时刻对程序的信息进行统计和分析,并对程序的关键段进行必要的优化,从而提高程序的性能。由于在动态时刻对程序进行统计、分析、优化等都要耗费时间,所以动态优化必须及时发现程序的关键段,并采用快速而高效的分析、优化方式,以得到理想的优化效果[3]。现在大多数虚拟机的动态优化技术是用纯软件的方式实现的,只有少数的系统级的虚拟机可能使用硬件来实现profiling(可译为”剖分”)技术,如BOA [3]。
1研究的背景
在软硬件协同设计的虚拟机方面,研究的还不多,起步
较晚,直到最近十几年,随着虚拟机的广泛应用和发展,企业界和学术界才开始对硬件支持的虚拟化技术做深入研究。正如IBM 公司Watson 实验室的Leendertvan Doorn 在2006年的ACM Virtual Execution Environment 大会上指出[6],硬件支持的虚拟化技术已经成为一种趋势。2008年召开的国际计算机体系结构会议(ISCA),专门为虚拟机的核心技术-动态二进制翻译设立了一个Workshop [7],其三大主题分别为:翻译和代码发现的硬件支持;优化的硬件支持;运行时管理的硬
件支持。可见,硬件支持的虚拟化技术已经受到学术界越来越多的关注。最著名的软硬件协同设计虚拟机有IBM 公司的
DAISY [5],Intel 公司的VT(Virtualization Technology)[8]和
Transmeta 公司的Crusoe 处理器系统[9][10]。
基于软硬件协同方法的虚拟机设计,结合软硬件协同设计和虚拟机技术,通过在原有的处理器芯片上增加虚拟机协处理器,软件和硬件的紧密耦合来实现进程虚拟机。软硬件协同设计改变了传统基于纯软件的虚拟机的结构和各单元分工,充分发挥软件和硬件各自的优点,用硬件加速来缓解虚拟机的性能瓶颈,从而达到整体系统的更好的性能。相比纯软件实现的虚拟机性能有显著的提高,并提高对用户透明性。
在动态二进制翻译系统中,动态优化对提升系统整体性能是至关重要的。如果在动态优化系统中得到硬件的支持,系统的整体性能将显著的提高。本文针对动态二进制翻译中的优化阶段,使用硬件支持的profiling 技术取代纯软件的profiling 技术来降低整个系统的开销,从而提高动态二进制翻译的整体性能。该课题的研究目标是基于自主开发的进程
虚拟机CrossBit [4]
,采用硬件支持的profiling 技术来降低CrossBit 系统的开销,从而提高系统的整体性能。
2总体设计
在通过调研国内外关于硬件支持Profiling 系统的基础上,本文结合动态二进制翻译技术进行了创新设计,使得我们的Profiling 系统导致的开销非常小,并且保证了收集到得Profile 信息的准确性。同时,我们的系统与传统的基于Instrumentation 的硬件支持的Profiling 系统相比更具有通用性。这样的基于Instrumentation 的方法可以方便的移植到其他的动态二进制翻译系统中去,同时也对以后的使用硬件来支持软件监视功能提供了一个基础平台的作用。2.1基于CrossBit 的硬件支持Profiling 系统的流程
基于CrossBit 的硬件支持Profiling 系统的流程如图1所示:
———————————
基金项目:本文得到了国家自然科学基金(项目编号:60773093,60873209)
作者简介:杨辉兵(),男,上海交通大学软件学院,硕士研究生,主要研究方向为软硬件协同设计,上海
管海兵,上海交通大计算机系,教授,博士生导师,上海梁阿磊,上海交通大学软件学院,副教授,硕士生导师,上海1981-200240
200240
200240
Microcomputer Applications V ol.26,No.5,2010学习园地微型电脑应用2010年第26卷第5期
图1基于CrossBit的硬件支持Profiling系统的流程
2.2总体流程
在图1中,位于系统总线的左边是一个Profiling系统的
软件部分,右边是Profiling系统的硬件部分,通过该总线进
行交互。接下来的是对图1的一个流程的具体步骤描述。
具体的步骤为:
1)加载MIPS体系结构的可执行程序到CrossBit的进
程空间里,获得此可执行程序的入口地址。然后,以基本块
为单位划分程序,一个基本块通常以一条跳转指令或系统调
用指令所指向地址的指令为开始,以下一条跳转指令为结
束。完成基本块的划分之后,在每个基本块中插入一条目标
体系结构的存储指令。其中,源寄存器域的值为装载每个基
本块首地址源体系结构程序计数器值的本地寄存器号,地址
寄存器域的值为装载有缓冲区模块首地址值的寄存器号,偏
移量的值为零。具体在基本块的什么位置插入储存指令是由
CrossBit在获得了装载有基本块的首地址源体系结构程序
计数器值的寄存器号后确定的,此储存指令插入到含有基本
块的首地址源体系结构程序计数器值的寄存器号的指令之
后的第一条指令位置处。此寄存器号通过CrossBit里的寄存
器分配来满足。
2)在CrossBit中,分配一块内存区域存放一个计数器
映射表,计数器映射表如图2所示,计数器映射表包含有源
体系结构程序计数器和传统计数器两项,源体系结构程序计
数器项是存放每个基本块首地址源体系结构程序计数器值
的项,传统计数器项存放的是计数器值。在翻译基本块之前,
在CrossBit中嵌入一小段汇编代码序列来传递计数器映射
表的首地址值,该段代码只执行一次,该小段汇编代码的最
后一条是目标体系结构的储存指令,其中源寄存器域的值为
计数器映射表的首地址。
图2计数器映射表
其中传统计数器_变量存放了计数器映射表
的首地址值,FIFO_变量存放了FIFO缓冲区的首
地址。这段嵌入汇编代码为:
__asm__(
“:lwz%%r9,%0\n\t”
“:stw%%r9,%1\n\t”
:
:”m”(mt_baseaddr),“m”(FIFO_baseaddr)
)
通过profiling模块获得此计数器映射表的首地址值,
profiling模块如图3所示,profiling模块第一次从缓冲区模
块取到的值就是计数器映射表的首地址,在profiling模块内
保存此值到一个寄存器里,从而可以保证接下来的源体系结
构程序计数器值的查操作。
3)当程序执行到插入的储存指令时,此指令触发缓冲
区模块,把每个基本块的首地址源体系结构程序计数器值存
储在缓冲区模块中。profiling模块从缓冲区模块中取出此源
体系结构程序计数器值,存放在第一寄存器中,根据一个取
每个源体系结构程序计数器值的后16位的哈希函数值,加
上计数器映射表首地址的值来查计数器映射表中对应的
源体系结构程序计数器值,是否与从缓冲区模块中取到的源
体系结构程序计数器值相等;如果相等,则更新第二寄存器
中值对应的寄存器映射表中的计数器值;如果不相等,再比
较第一寄存器和第二寄存器中的源体系结构程序计数器值
的后16位值,如果后16位值不相等,则没有冲突发生,把
此第一寄存器中的源体系结构程序计数器值写入计数器映
射表的相应表项中,并设置相应计数器的值为1,如果比较
的两源体系结构程序计数器值的后16位相等,则冲突发生,
写入到本地内存中的下一个计数器值的后16位值不相等的
内存中。
图3专用Profiling硬件模块
4)程序执行过程中,当一个基本块的profile
信息收集完毕后,将计数器映射表中的对应基本块的计
数器值和设定的阈值相比较,如果比阈值小,则跳到后面基
本块继续执行,如果变量超过阈值,则生成相应的超级块或
路径跟踪,从而集中进行程序的动态优化。
3实验方案和数据
评测依据是采用SPEC2000基准测试程序。评测范畴主
要针对两个方面:
Profiling的开销分析
收集到的Profile信息的准确性
试验硬件平台为XILINX ML300开发板(VIRTEX-II
Pro):
CPU:PowerPC405硬核,300MHz(无浮点运算单元)
内存:256MB
磁盘:GB的F(F)卡
其中,GB的F卡分为3个区,分别是F T6格式的mt baseaddr
baseaddr
1C Compact lash
1C A1
100MB,500MB的LINUX根分区和400MB的SW AP分区。因为该开发板只有256MB的DDR内存,对动态二进制翻译器CrossBit来说,最少需要512MB的内存才能跑起来。所以,定制操作系统内核时,就需要把支持SW AP分区的工程编译进去。根文件系统制作的时候也需要把swapon、swapoff等命令编译进去。
软件环境:
本试验采用的测试程序为SPEC CPU2000,SPEC CPU2000是SPEC组织推出的一套CPU子系统评估软件。
操作系统内核采用的是Linux-xlnx-2.6.26(专门针对此开发板的内核)。
3.1Profiling开销分析
收集Profile信息后做的优化能够带来整体性能的提升,同时自身也有一定的开销,性能的提升减去开销就是热路径优化的最终效果。我们主要对Profiling系统的开销和收集到得Profile信息的准确性很关心。这一节主要对SPEC2000中整数测试,集中于gzip,mcf,parser,bzip,twolf,crafty进行测试,观察最终的效果。由于CrossBit的PowerPC后端实现的还不是很完善,有些SPEC程序还跑不通,所以我们有针对性的选择了其中的6个作为我们实验的测试程序。而且它们的输入集都是test input(因为CPU的频率只有300MHz,如果跑reference input,需要很长的时间,由于内存的限制,有的时候可能会出现内存不够的情况),结果见表1。
从表1可以看出,测试集合代表了6种不同类型的程序,涵盖了大部分程序运行的特性。由此可见,只有bzip2的开销大于3.0%,可能是因为需要很大的内存空间,而开发板只有256MB的内存,其它的空间需要通过SW AP从CF卡中交换过来。这样交换的时间久占据了很大部分,从而导致开销不断增大。如果采用512MB的内存,那么由于更少的交换分区操作的原因Profiling系统的开销可能还会更少。其它的SPEC程序都小于等于3.0%,平均也只有2.7%。这对于一般的Profiling系统是一个非常小的开销。在这样的开销下,做Profiling系统是非常有应用前景的。因为一般不做软件Profiling的原因就是因为开销太大。如果需要再进一步分析的话,需要跑通更多的SPEC程序来验证开销结果。
与用纯软件在CrossBit上的实现相比,使用软硬件协同设计的Profiling系统开销更小。但是,这样的比较是在不用硬件平台下进行的,一个是通用的PC机,而另一个是嵌入式开发板,比较的意义不大。但是,在我们的设计中可以在IP核内对Profile信息进行更多的处理。这样,对基于边的和基于路径跟踪的Profiling系统就可以节省更多的开销。这样,就更具有可执行性。
相比于吴佑峰和李永丰做的系统[11]的开销0.6%来说,本文开发的系统开销是平均2.7%,都是一个非常小的开销。但是,[11]中的系统需要修改IA32的体系结构,虽然加的指令不多,但是那样就失去了通用性。而本文设计开发的系统具有通用性,可以很容易的移植到其他虚拟机系统中,只需要修改一些具体的体系结构相关的设计。
表1有硬件支持Profili ng系统与原始无Profiling系统的开销比较
B ench-m
ark 无硬件、无
Profil ing(s)
有硬件、有
Profiling(s)
P rofiling开
销比率
Mcf34.8235.88 3.0% Gzi p394.34399.15 1.3% bzip2811.76857.93 5.7% Twolf301.20310.28 3.0% parser2271.292290.290.8% Crafty2539.032601.30 2.5%3.2Profiling的准确性分析
Profiling的开销来自翻译过的基本块中插入代码的执行。收集到的Profile信息放在了一个计数器映射表中,可以通过打印出其中的SPC值和计数值来对比使用纯软件获得的Profile信息。与纯软件Profiling系统收集到的Profile 信息进行比较可以有一个较直接的数据比较。在我们的硬件支持的Profiling系统中,通过在每个基本块中插入一条目标体系结构存储指令可以使收集到的Profile信息准确,因为只要程序正常执行就可以保证每个基本块都可以被记录。但是计数器映射表的大小有限,从而使收集到的Profile信息与理想收集到的信息有一些不一致。
通过对比,可以看到我们使用软硬件协同设计获得的Profile信息和使用纯软件获得的Profile信息绝大部分一致。我们只需要在IP核中加入一些必要的寄存器,就可以完全传递形成超级块或路径tracing的信息,而且全部可以在硬件IP核中实现。这样,就可以节省更多的开销。
4结论
通过实验,我们已经收集到了准确的profile信息,并且是以非常低的开销来收集profile信息。从而,以此技术实现的有超级快的profiling系统可以获得更好的性能。如果需要做更进一步的扩展,可以使用硬件实现怎么利用这些信息进行超级块或路径tracing的工作。
参考文献
[1]Smith J E and Nair R.V irtual Machines:V ersatile Platforms
for Systems and Process,Morgan Kaufman,2005.
[2]胡坤,动态二进制翻译中的热路径优化[D].上海交通大学
工学硕士论文,2008.12.
[3]Altman E,,BOA:The Architecture of a
Binary Translation Processor,T echnical Report RC2166S, T J Watson Research Center,2000.
[4]包云程,构建基于动态二进制翻译技术的进程虚拟机
[D].上海交通大学工学硕士论文,2006.12.
[5]Ebcioglu K,Altman E.DAISY:Dynamic Compilation for
100%Architectural Compatibility,Proc.of the24th Int’ Computer Architecture,pp.26-37,Jun.1997. [6]Leendertvan Doorn,Hardware V irtualization Trends,
ACM VEE2006.
[7]1st Workshop on Architectural and Microarchitectural
Support for Binary Translation,Held in conjunction with the35th Int'l Symposium on Computer Architecture,2008.
[8]Rich Uhlig,Gil Neiger,Dion Rodgers,Intel virtualization
technology,IEEE Comupter V olume:38,2005.
[9]Klaiber A.The Technology Behind Crusoe Processors,
Transmeta Technical Brief,2000.
[10]Dehnert J C.et al.The Transmeta Code Morphing
Software:Using Speculation,Recovery,and Adaptive Retranslation to Address Real-Life Challenges,Proc.of the1st Int’ Code Generation and Optimizations,pp.15-24,Mar.2003.
[11]Youfeng Wu,Y ongFong Lee.Hardware-Software
Collaborative Techniques for Runtime Profiling and Phase Transition Detection,Journal of Computer Science and Technology,2005.
(收稿日期:5)
2010-02-2
pro cess,part o f the program code,experiment results are g iven in this pap er and MATLAB as a tool is used to design fo r the p rogram code.
Key wor ds:Pills Detection;Image Enhancement;Image Segmentatio n;Feature Extractio n
Rea lization of Sensor Auto-Detective System Ba sed on Vir tual Instr ument (45)
Li Bo,He Liming,W a ng Lin(Sha nghai Jia otong University,Sha ngha i200240,China)
Abstract:The detective of sensor depen ds on the performance under different work ing situation.It need s setting up the ambient temperature and pressure of environment and data acquisition every setting time.These th in gs are all done manually in present testing system and it has not b een meeting the gro wing n eeds of workload.An auto-detective system based on LavVIEW is introdu ced,which has realized the fun ctional test of the sen sor.The s y stem accomplishes good effects,and can s tead ily impro ve the test efficiency.
Key wor ds:Virtu al Instruments;LabVIEW;Sensor Detected
The Intelligent System Of Asset Ma nagem ent Ba sed On R FID Technology (47)
X i Y unting,Hu Zhiping(College of A utomotive Engineering,South China Univer sity of Technology,Guangzhou510640,China) Abstract:Asset management is very importan t to corporation;it beco m es an inevitable part in modern corporation manag emen t.This paper introduces the basic concept an d th e operating principle o f RFID technology,analyzes the advan tages o f ap plication of RFID technology in asset m anagement sy s tem. The technologies of composin g asset manag ement using RFID,JSP and J2EE are discussed in detail.So an effective approach to solve the pro blems of asset management is given based on this system.
Key wor ds:Asset Management;Tag;In tellig ence;RFID;JSP
Design of Super Remote Sensing I mage Da tabase (50)
P an Hongya n(School of Physics a nd Electronic,Infor mation a nd Engineer ing,W enzhou Univer sity,W enzhou325000,China)
Abstract:Aiming at complex TIF/TIFF format remote sensing super images,we design ed and realized the min iature-extraction-based imag e database by using lib tif function library by connecting Delphi and In terbase via firebird databas e en gine.The con tribution is as follows:linking the original image and miniature through foreig n key;dynamic display of the original images;module based architecture design increase the ex tensibility and reusability so as to facilitate the managem ent;impro ved th e im age processin g metho d of program by accelerate the speed by more than twenty times.The result turned out well.
Key wor ds:Lib tif;Fast Miniature-extraction;Remote Sensing Image;Datab ase
profile是什么意思中文翻译Study on F uzzy P I Time-delay Com pensation Algor ithm of Networ ked Contr ol System (53)
Qian Chunying,Zhou Zhijian(Depa rtment of Informa tion Engineer ing,W uxi Institute of Commerce,W
uxi214063,China)
Abstract:Using networked control system,a netwo rk-indu ced time-delay is generated,which causes advert effects on the closed-loop network ed co ntrol system such as performance degradation and system destabilization.In this paper,contraposing the time-delay commonly existing in the remote co ntrol system,an intelligent fuzzy logic co m p ensato r is intro duced to design the traditional networked PI co ntrol sy stem.One of the advantages of this fuzzy PI tim e-delay compensation algorithm is that it is not needed to completely redesig n the existing PI controller,but simply modulates the PI controller action with the output of the intelligent fuzzy compensation.Us ing the fuzzy PI time-delay compensation to modulate the output of the PI controller.Sim u lation results of a networked contro lled Bru s h less DC motor is used to illustrate the effectiveness and feasibility of the proposed fuzzy PI control sch eme,and the use of the method makes th e clo sed-lo op system posses favorable dyn amic and static perform ance and free from lo ad disturbance.
Key wor ds:Networked Control System;Fuzzy PI Control;Time-delay Compensation
LEAR NERS’S GAR DEN
A R untime P rofile Method for Dyna mic Binar y Tr anslation Using Har dwar e-Suppor t Technique (56)
Y a ng Huibing,Gua n Haibing,Lia ng A lei(Depa rtment of Computer Science,Shanghai Jia oT ong Univer sity,Shanghai200240,China) Abstract:The traditional profiling strategy in dy namic binary translator is based on the basic b lock,th e edge jump and the path tracing.In gen eral,the method u sing s o ftware-only profilin g typ ically incurs about30%overhead of ov erall system.By hardware-suppo rt,dynamic optimization system can improve overall performance prominently.Moreover,the difficulty in HW/SW co-design is the comm u nication overheads and partition between hardware an d software.To the optimization process of DBT,This paper replaces the traditional software-o nly profiling by hardware-supp ort p rofiling technique to reduce system ov erh ead and to improve the overall performance of DBT system.It can obtain the better performance by red ucing communication overhead to the minimum.This article design and implement our idea on Dynamic Bin ary Translato r,Cro ssBit.
Key wor ds:Dynam ic Bin ary Translation;Profilin g;Hardware-Software Co-design
Design and I mplem enta tion of F ir e Br igade Da ta Ba ckup System (59)
Ding X iangguo(Shanghai Fire Br igade,Shanghai200051,China)
Abstract:This papers analyzes pres ent co ndition of data backup for sh anghai fire brigade information system and requirem ents of data backup.Combined with advanced storag e technology,fire brig ade backup system framework is established,data backup sofeware is choiced,d ata b ackup strategy is presented. Key wor ds:Fire Brigade;In formation Sy s tem;Data Backup
Resear ch of Data Mining Ba sed on the User Access Pa tter ns in the Lar ge-Scale of Libr ar y Web Site (62)
W ang Y ujie,Qia o Cong(Infor mation Center,Beijing Jia otong Univ er sity,Beijing100044,China)
Abstract:Branch of data minin g,among other things,based on user access p atterns mining(also k nown as Web lo g mining or use of records of m ining) sites for the constructio n of an enterprise of great significance.In this paper,the construction of a large book website,to research is b ased on user access patterns of data minin g in large-scale web app lication.Firstly,m ining the basic pro cesses of the user access patterns(Web usage records)are introdu ced. Secondly,the d ata stru cture in detail are introduced in the design,data p rep rocessing,mining algorithms in the application of the rule of gen eration of key data mining technology.Finally,the produ ction ap plication of the rules are present.
Key wor ds:User Access Patterns;Data Mining;Bo ok Website
Address:1954Huashan R d.,Shanghai,P.R.China
Zip Code:200030
Tel:86-21-62933230Fax:86-21-62933230
Email:smcaa@online.sh URL:http//wxdy.chinajournal
IP:202.96.210.198Publisher:Shanghai Microcomputer Application Association
Code Number:M6329Distributor:International Book Trading Corporation(P.0.Box399,Beijing)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论