当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于事务存储器程序的软件回放器制造技术

技术编号:13831454 阅读:71 留言:0更新日期:2016-10-14 09:29
本文公开了包括处理器和动态随机存取存储器(DRAM)的系统。处理器包括混合事务存储器(HyTM),其包括硬件事务存储器(HTM)以及回放程序的程序调试器,程序包括HTM指令并且已使用HyTM执行。程序调试器包括将通过HTM的仿真来回放HTM指令的软件仿真器。本文也公开和声明了其它实施例。

【技术实现步骤摘要】
【国外来华专利技术】
实施例与事务存储器有关。
技术介绍
硬件事务存储器(HTM)系统可在不远的将来对广泛采用可用。与经测试和可靠的软件事务存储器系统组合,HTM系统可在可编程性和性能方面可以是比基于锁的并行编程更具吸引力的备选方案。混合事务存储器(TM)系统(“HyTM”)是采用HTM和软件事务存储器(STM)的系统。诸如断点和自组织I/O调试的传统调试技术不应用到HyTM,这是因为在调试技术使用对硬件事务非法的某些指令(例如,中断、I/O、上下文切换等)时,传统调试技术能够使硬件事务中止。因此,随HyTM系统产生的问题是如何调试执行一些硬件事务的事务存储器程序。附图说明图1是根据本专利技术的实施例的记录和回放(RnR)系统的框图。图2是根据本专利技术的实施例的回放器(replayer)/事务调试器的框图。图3是根据本专利技术的实施例的促进事务程序的调试的方法的流程图。图4是根据本专利技术的实施例的处理器核的框图。图5是根据本专利技术的实施例的系统的框图。具体实施方式本文中呈现包括记录和回放(RnR)软件回放器的RnR系统。RnR系统可提供对使用HTM的HyTM系统(本文中也称为“HyTM”)的调试支持。在本文中呈现的记录和回放系统(RnR系统)中,事务存储器(TM)程序由硬件系统执行和记录,并且然后由使用基础硬件的仿真和HyTM系统的软件部分的实施的组合的软件系统回放。使用基于硬件的记录,本文中呈现的RnR系统使TM程序的争用特征标记完整,从而允许记录正确性TM缺陷(例如,编程错误)和性能TM缺陷(例如,效率有关的问题)。使用基于软件的回放,能够使用STM和HTM的仿真的组合来回放记录的TM程序,以便提供有用的正确性和性能调试分析。本文中呈现的RnR事务调试器(TDB)系统可精确地记录和回放TM程序,具有对TM程序的执行可忽略不计的干扰。本文中呈现的方法和设备不改变有缺陷TM程序的争用特征特制标记。RnR TDB系统可捕捉事务中止的确切位置和原因,这可使程序员能够分析TM程序以确定执行失败的原因。图1是根据本专利技术的实施例的RnR系统100的框图。系统100包括硬件记录逻辑102、存储装置106和包括软件事务调试器(TDB)回放软件110和虚拟机插装(instrumentation)工具112的软件回放器108。在操作中,(硬件)记录逻辑102可记录在TM程序104的执行期间发生的事件。事件可包括但不限于事务起始、事务结束和事务中止。事件可在存储装置106中记录为记录的日志文件。软件回放器108可配置成仿真记录逻辑102,其包括在程序记录中使用的硬件事务存储器(HTM)。虚拟机插装工具112可配置成插装和回放应用二进制码。软件回放器108可回放TD程序104并且分析结果,例如,识别正确性错误和性能错误。TM系统通常不支持完全转义(full escape)动作,并且因此硬件事务的上下文内执行的指令能够变成该硬件事务的执行的一部分。如果回放器108要使用硬件记录逻辑102(例如,包括HTM),则协调程序线程的排序的所有管理操作将出现在硬件事务内,并且会导致原始记录的程序的行为的改变。也就是,硬件事务会包括另外的指令,所述指令会可能更改硬件事务的执行行为。另外,即使支持逸出动作,诸如上下文切换和输入/输出(I/O)操作的一些操作可能对于事件事务仍是非法的。如果此类非法操作在硬件事务内执行,则硬件事务可能立即中止。上下文切换、中断和I/O命令是在回放记录的程序中可考虑的操作。例如,通常通过停止一个线程的执行以恢复另一线程的执行(例如,上下文切换),在回放器中管理在线程之间共享的存储器交叉存取。带有精确错误代码的事务中止再现包括在HTM仿真中,这是因为此类错误代码可由争用管理器使用,导致对每个错误代码的不同的争用管理行为。也可出于如上所述关于事务中止的类似原因,仿真事务提交再现。对于任何尽力而为型HTM,一般存在软件回退。因此,软件回退使HTM能够向前前进。因此,为回放记录的基于HTM的程序,软件事务存储器(STM)可用于记录程序执行和回放记录的程序两者。只要在回放中使用在记录中使用的STM,程序便能够正确回放。图2是根据本专利技术的实施例的回放器/事务调试器系统200的框图。系统200的组件包括回放器引擎202、非事务执行204、事务执行206、STM实施208、HTM仿真210、事务后(post-transaction)指令处理程序212及HyTM争用管理器216。(基于块(chunk)的)回放器引擎202回放TM程序,并且确定每个指令是事务指令还是非事务指令。如果确定指令为非事务性,则在204回放指令(例如,正常执行)。通过用于正确性调试的强STM隔离,可执行非事务执行。如果正常回放执行204检测到被中止的指令,则可将该指令发送到HyTM争用管理器216。如果在回放器引擎202回放的指令是事务指令,则将指令发送到事务执行206。如果指令是与软件事务关联的事务指令,则回放使用STM(STM实施)208来执行。如果事务指令与硬件事务关联,则将指令发送到HTM仿真210。事务后指令处理程序212能够确定有关已引发的一个或多个冲突的信息,并且包括精确的冲突检测组件212以分析冲突和确定每个冲突的原因。如果指令中止或提交,则可将指令发送到混合事务存储器(HyTM)争用管理器216以便进行解析。混合事务存储器争用管理器(HyTM CM) 216将仿真在程序记录中使用的HyTM CM,使得提交和中止的再现与记录的程序相同。如果HyTM CM未重复,则存在的可能性是在输出中回放的程序将与记录的程序不相同。HyTM CM 216决定哪些事物要中止以及哪些事物要提交,以及在事务中止时什么时候应重新执行硬件事务或软件事务。如果HyTM CM 216不仿真在程序记录中使用的HyTM CM,则能够违反事务中止和提交顺序,这可导致与原始记录的可能不同的最后回放状态。对于HTM,争用管理的中止决策部分由基础硬件自动提供。因此,HTM指令的中止决策由HTM仿真206处理。剩余HyTM CM部分可在软件中实施,并且取决于HyTM CM 216是否支持动态争用管理策略,可在STM实施208的范围之外,在此情况下,可在辅助库中找到STM争用管理器。出于至少此原因,HyTM CM 216显示为与STM实施208分开的组件。回放器引擎202回放指令块内的指令,块由可识别的开始标志和可识别的结束标志定义。例如,块可在事务的起始处开始,并且可在事务的结束处,或者在冲突发生时,或者在发现不支持的指令时等结束。回放器引擎202将回放指令,使得在并发执行线程的共享存储器存取之间的因果顺序在回放中被保持,并且包括所有类型的共享存储器同步机制,包括获得和释放锁,执行原子指令等。另外,回放引擎202将正确地回放在它们被记录时的非确定性输入系统事件(OS级别)。由于基于块的记录,回放器引擎202可基于块。在没有基于块的回放的情况下,记录的程序会不正确地回放。基于块的回放器引擎202可包括用于记录的非确定性存储器事件的解析器、用于记录的非确定性输入事件的解析器和逐指令回放引擎。回放器引擎202可执行非HTM指令的仿真,并且也可回放宏指令原子性违反。事务后指令处理程序210包括本文档来自技高网...

【技术保护点】
一种系统,包括:处理器,包括:混合事务存储器(HyTM),其包括硬件事务存储器(HTM);以及回放程序的程序调试器,所述程序包括硬件事务存储器指令并且已使用所述HyTM执行,其中所述程序调试器包括软件仿真器以通过所述HTM的仿真来回放所述HTM指令;以及存储所述程序的动态随机存取存储器(DRAM)。

【技术特征摘要】
【国外来华专利技术】2014.03.26 US 14/2263121.一种系统,包括:处理器,包括:混合事务存储器(HyTM),其包括硬件事务存储器(HTM);以及回放程序的程序调试器,所述程序包括硬件事务存储器指令并且已使用所述HyTM执行,其中所述程序调试器包括软件仿真器以通过所述HTM的仿真来回放所述HTM指令;以及存储所述程序的动态随机存取存储器(DRAM)。2.如权利要求1所述的系统,其中所述程序调试器还通过软件事务存储器(STM)的使用,回放所述程序的软件事务指令。3.如权利要求1所述的系统,其中所述程序调试器还通过强软件事务存储器(STM)隔离,回放所述程序的非事务指令。4.如权利要求1到3任一项所述的系统,其中所述程序调试器将识别所述程序中的性能错误。5.如权利要求1到3任一项所述的系统,其中所述程序调试器将识别所述程序中的正确性错误。6.至少一种计算机可读存储介质,其上存储有用于使系统执行以下操作的指令:回放已由包括硬件事务存储器(HTM)的混合事务存储器(HyTM)执行的程序;以及其中所述回放至少部分通过所述HTM的软件仿真来执行。7.如权利要求6所述的至少一种计算机可读存储介质,其中所述HyTM也包括软件事务存储器(STM)。8.如权利要求7所述的至少一种计算机可读存储介质,其中在要回放的程序指令是与软件事务关联的事务指令时,所述回放使用所述STM来执行。9.如权利要求6所述的至少一种计算机可读存储介质,还包括经由包括识别正确性错误的指令的所述程序的所述回放,识别所述程序中一个或更多个冲突的指令。10.如权利要求6所述的至少一种计算机可读存储介质,还包括经由所述程序的所述回放,识别所述程序中一个或更多个性能错误的指令。11.如权利要求6所述的至少一种计算机可读存储介质,其中所述回放完全仿真由所述HyTM执行的所述程序的执行的记录。12.如权利要求6所述的至少一种计算机可读存储介质,其中回放所述程序的...

【专利技术属性】
技术研发人员:JE戈特施利奇GA波坎胡世亮R卡萨吴佑峰I卡尔丘
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1