[发明专利]一种应用于线程级推测并行的限制性值传递方法和装置有效
申请号: | 201210133066.9 | 申请日: | 2012-04-28 |
公开(公告)号: | CN102681890A | 公开(公告)日: | 2012-09-19 |
发明(设计)人: | 安虹;邓博斌;李颀;李功明;毛梦捷 | 申请(专利权)人: | 中国科学技术大学 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 北京科迪生专利代理有限责任公司 11251 | 代理人: | 许玉明;贾玉忠 |
地址: | 230026 安*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 应用于 线程 推测 并行 限制性 传递 方法 装置 | ||
技术领域
本发明属于计算机微处理器结构设计领域,特别涉及一种可有效地提高多线程系统性能的轻量级值传递方法和装置。
背景技术
推测多线程技术和事务存储技术
随着多核芯片(Chip Multi-Processor,CMP)时代的到来,如何将传统上难以并行化的串行程序线程化以加速单个程序的执行,同时也为片上越来越多的计算核心提供更多的可并行执行的计算任务以提高片上资源的利用率,已成为学术界和工业界共同关注的热点研究问题。
为了开发更多的多核芯片上可利用的线程级并行性,解决并行程序正确性维护给并行编程带来的复杂性和对性能的制约问题,学术界从不同的角度分别提出了线程级推测(Thread-Level Speculation,TLS)和事务存储(Transactional Memory,TM)两种技术。TLS旨在打破线程间依赖对线程并行执行的限制,增加程序并行执行的机会。当编译器或者程序员无法确定线程候选者间完备的依赖关系时,不需要采用保守的策略放弃并行或是加入大量冗余的同步保护机制,可以无视可能存在的依赖直接并行化,串行语义的维护由运行时支持推测执行的硬件机制来保证,从而具有最大程度地挖掘程序中的并行性的技术潜力。TM旨在为显式的锁同步机制寻找替代方案,通过运行时系统提供的隐式同步机制,实现无锁的共享存储编程。由于不需要请求锁和解锁,因此这也是一种非阻塞的同步方式,既解决了锁机制中存在的死锁、优先级倒置等正确性问题,也解决了锁粒度可能对性能造成的影响。TM由系统自动维护来自多个线程或执行单元的并发操作对共享存储结构状态修改时的语义一致性。TLS和TM的共同点在于都能够降低并行编程的难度,增加线程并行执行的机会;在硬件方面也提出了类似的支持推测访问、数据缓存、冲突取消的要求。
为了扩大这两种技术的应用范围,研究者们提出了一些TM和TLS的混合模型,其中比较典型的有斯坦福大学的TCC,伊利诺伊香槟分校的Bulk,还有中国科学技术大学提出的LogSPoTM。其中,LogSPoTM是基于LogTM的基础上实现的,给原有的TM系统增加了对TLS语义的支持。LogSPoTM的执行模式如附图1所示,分成并行(灰线)和串行(黑线)两个部分。对于串行部分,为了保证程序的正确性,线程必须按照优先级从高到低按序提交。LogSPoTM是基于网络互连的结构(TCC和Bulk都是基于总线互连),可扩放性较好。在系统硬件复杂度方面,LogSPoTM比较适中,适合系统功能的进一步扩展。
推测多线程技术和事务存储技术的存在问题
正如上面提到的,当程序间的数据冲突依赖比例较低的时候,TLS和TM技术在多核平台上都能够获得比较好的性能。但是当程序中存在较多的数据冲突依赖时,系统性能会变得非常糟糕。由此看来,TLS和TM系统的程序适用范围是比较有限的,这也是通用处理器制造商为什么一直都不采用这两种技术进行实际生产的主要原因。
为了缓解这个问题,有一些学者已经提出了一些值传递方法来加速冲突依赖比较多的并行多线程程序,比如意识依赖事务存储技术(DATM)。这是一种激进的值传递技术;也就是说,只要一个事务触发了数据依赖,它就可以从上一个事务中接收到所需要的数据并继续执行。在一些测试程序中虽然DATM取得比较好的加速比,但是它的实用性并不好。首先,DATM是基于总线一致性协议实现的,对于可扩放性比较好的目录一致性协议并不能直接适用,需要进行大量的协议改进和验证。其次,DATM对MSI总线一致性协议进行了大规模的修改,把原来只有3个状态状态机猛增到了13个状态,并伴有复杂状态转换机制。如果想要把这种思想完整地移植到一般的目录结构中,状态转换图将会变得比总线结构更加复杂,这在现实的系统基本是不可能实现的。最后,DATM在一般的事务存储系统上添加了比较大的硬件代价,这也是处理器制造商所不愿意接受的。
本发明是以提高系统性能为目标,在程序数据冲突依赖严重时,通过限制性值传递的方法来缓解性能差的矛盾。在改进的过程中还要重点考虑硬件代价的问题,尽量少去修改硬件结构。另外还可以借助值传递技术来解决一些TLS&TM混合模型(如LogSPoTM)的假共享问题,可以进一步提高系统性能。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学技术大学,未经中国科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210133066.9/2.html,转载请声明来源钻瓜专利网。