- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅析基于隐马尔可夫模子的热途径猜测算法研究
摘要:基于热途径的动态优化技能是动态二进制翻译器中进步软件运行服从的一种有用要领。怎样使用根本块中已有的有限汗青运行信息来识别热途径并进步它的猜测掷中率,同时保持盘算开销没有增长是研究的重点。已有的热途径识别算法中基于模子举行猜测的要领非常少,算法实现比力庞大。基于隐马尔可夫模子提出一种革新的热途径猜测算法。由于状态转移序列惟一,该算法实现简朴,可以进步热途径的掷中率,在必然程度上改进动态二进制翻译器的性能。末了通过实行对所提出算法的有用性举行验证。
关键词:动态二进制翻译;动态优化;热途径;隐马尔可夫模子
algrithfrhtpathspreditinusinghiddenarkvdel
(1.shlfputeruniatin,hunanuniversity,hangsha410082,hina;2.shlfputer,natinaluniversityfdefensetehnlgy,hangsha410073,hina)
keyrds:dynaibinarytranslatin;dynaiptiizatin;htpath;hiddenarkvdel(h)
0弁言
动态二进制翻译技能是一种即时编译技能,它在步伐的运行历程中将针对源体系布局编译天生的二进制代码(源呆板码)动态翻译为可以在目的体系布局上运行的代码(目的码),此历程对用户来说是透明的。整个动态翻译历程分为两个阶段,即产生当地代码的翻译阶段和实行阶段。在代码的实行阶段,动态优化器会举行必然的优化。大多数的步伐将大部门的时间消耗在很小的一部门代码段上,识别并优化这一部门代码将从本质上改进软件的团体性能。
频仍实行的代码块称之为热块。代码块就是一个操纵转移(如一个分支、调用或跳转指令)竣事的指令序列,代码块也称为根本块[1]。当一个代码块变热时,其四周的一些代码块也将变热,由这些热块构成的实行序列称之为热途径。一个热途径就是一个指令序列。热途径是研究职员在方案dyna[2]体系时提出来的观点,热途径的优化技能是如今动态二进制翻译器重要接纳的技能。常见的热途径识别要领重要有别离基于根本块、边和途径的识别要领。这三种要领的猜测正确度递增,但是庞大度也随之增长,尤其是基于途径的猜测,随着步伐的运行,负载急剧增长反而会低落软件的运行服从[3,4]。
热途径的产生必然与循环实行有关,因此猜测重要针对循环举行,只有热途径优化带来的收益大于开销时才气从团体上进步体系的服从。因此,在热途径的优化历程中既要只管进步热途径的猜测正确率,同时又要操纵猜测历程的开销,而且优化越早启动越好。已有的热途径猜测算法出于盘算庞大度的思量都没有基于模子举行猜测,如spanningtree算法[5]、bittraing算法[3]、net算法[3]、编码算法[6],大多只是盘算途径的实行次数,并取实行次数最多的作为热途径,研究的重点是怎样更便利、更高效地记载热途径以及更新途径计数器的要领,尤其是当候选热途径的实行次数近似大概实行平衡时,更是很难作出公正的选择。本文基于隐马尔可夫模子(h),提出了革新的热途径猜测算法,该算法实现简朴,在猜测耽误不显着增长的环境下,进步了热途径的掷中率,从而淘汰了热途径在ahe中的替入替出斲丧,必然程度上提拔了软件在动态二进制翻译器上的运行服从。
1总体思绪
本文的总体头脑是以步伐的根本块为单元,将步伐的流程布局成一个满意隐马尔可夫模子(h)[7]的有向图,并以图中自上至下的每层为一个状态,每层中的一个代码块可视为一个不雅察值,热途径即为模子的一个不雅察序列,步伐的流变化为状态的转移,同时,任何时候每个状态的转移只与前一个状态相干,而与时间以及其他状态无关。很显然,此时基于块的热途径猜测历程满意马尔可夫性,是一个马尔可夫历程,即马尔可夫链;而且一个状态中有多个不雅察值,通过扩展后(详见1.2节),一个不雅察序列不克不及直接确定状态的转移序列,因此该历程又是一个隐马尔可夫历程。根据h的估算要领,一旦循环步伐段的入口代码块的计数器unter到达阈值trigger时,就启动基于该模子的热途径猜测,并拔取候选热途径andihp中估算概率最大的途径作为热途径。总体思绪如图1所示。
1.1隐马可夫模子先容
h的状态是不确定或不成见的,只有通过不雅察序列的随机历程才气表现出来。不雅察到的不雅察序列与状态不是逐一对应的,而是通过一组概率漫衍相接洽。h是一个双重随机历程(图2),有两个构成部门:马尔可夫链和一样平常随机历程。前者形貌状态的转移,用转移概率形貌;后者形貌状态与不雅察序列间的干系,用不雅察值概率形貌。
1.2基于步伐的图解及扩展
基于模子λ的概率估算只在循环入口代码块a的实行次数
文档评论(0)