×

多核上顺序循环的推测并行化。 (英语) Zbl 1183.68208号

摘要:多核的出现为通过并行化加速顺序程序的执行提供了一个很有希望的机会。本文提出了一种新的解决方案,用于有效支持多核处理器上基于软件的序列循环推测并行化。我们使用的执行模型是基于状态分离的,这是一种分别维护并行线程的推测状态和计算的非推测状态的方法。如果推测成功,处于推测状态的并行线程所产生的结果将通过将其复制到计算的非推测状态来提交。如果检测到错误推测,则不需要昂贵的状态恢复机制,因为推测状态可以简单地丢弃。提出了一些技术来降低非推测状态和推测状态之间的数据复制成本,并有效地执行误报检测。我们将上述方法应用于多个顺序程序中循环的推测并行化,这将在带有两个Intel Xeon四核处理器的Dell PowerEdge 1900服务器上显著提高速度。

MSC公司:

68N99型 软件理论
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] Bridges,M.,Vachharajani,N.,Zhang,Y.,Jablin,T.,August,D.:重温多核的顺序编程模型。收录于:MICRO,第69–84页(2007年)
[2] Kulkarni,M.、Pingali,K.、Walter,B.、Ramanarayan,G.、Bala,K.和Paul Chew,L.:乐观的平行性需要抽象。收录于:PLDI,第211-222页(2007年)
[3] Luk,C.、Cohn,R.、Muth,R.,Patil,H.、Klauser,A.、Lowney,G.、Wallace,S.、Reddi,V.J.、Hazelwood,K.:Pin:使用动态工具构建自定义程序分析工具。收录于:PLDI,第190-200页(2005年)
[4] Lattner,C.,Adve,V.:Llvm:终身程序分析和转换的编译框架。收录:CGO,第75-88页(2004年)
[5] 网址:http://www.spec.org
[6] Guthaus,M.R.,Ringenberg,J.S.,Ernst,D.,Austin,T.M.,Mudge,T.,Brown,R.B.:Mibench:一个免费的、具有商业代表性的嵌入式基准套件。收录:IEEE第四届工作负荷特性年度研讨会(2001年)
[7] Cao Minh,C.、Chung,J.、Kozyrakis,C.、Olukotun,K.:印章:斯坦福多处理事务应用程序。收录于:IISWC,第35-46页(2008年)
[8] Dice,D.,Shalev,O.,Shavit,N.:事务锁定ii。收录于:DISC,第194–208页(2006年)
[9] Cintra,M.H.,Martínez,J.F.,Torrellas,J.:共享内存多处理器中可扩展推测并行化的体系结构支持。摘自:ISCA,第13-24页(2000年)
[10] Hammond,L.,Willey,M.,Olukotun,K.:芯片多处理器的数据推测支持。摘自:ASPLOS,第58–69页(1998年)
[11] Vijaykumar T.N.、Gopal S.、Smith J.E.、Sohi G.S.:推测版本缓存。IEEE传输。平行配送系统。12(12), 1305–1317 (2001) ·数字对象标识代码:10.1109/71.970565
[12] Gregory Steffan,J.,Colohan,C.B.,Zhai,A.,Mowry,T.C.:线程级推测的可扩展方法。收录于:ISCA,第1-12页(2000年)
[13] Bhowmik,A.,Franklin,M.:用于推测性多线程的通用编译器框架。收录于:SPAA,第99–108页(2002年)
[14] Marcuello,P.,González,A.:集群推测多线程处理器。In:ICS,第365-372页(1999)
[15] Zilles,C.,Sohi,G.:主从投机并行。收录于:MICRO,第85-96页(2002年)
[16] Ding,C.,Shen,X.,Kelsey,K.,Tice,C.,Huang,R.,Zhang,C.:面向软件行为的并行化。收录于:PLDI,第223-234页(2007年)
[17] Kulkarni,M.、Pingali,K.、Ramanarayanan,G.、Walter,B.、Bala,K.和Paul Chew,L.:乐观并行从数据分区中受益。摘自:ASPLOS,第233-243页(2008年)
[18] Ottoni,G.,Rangan,R.,Stoler,A.,August,D.I.:采用解耦软件流水线的自动线程提取。收录于:MICRO,第105–118页(2005年)
[19] Raman,E.,Ottoni,G.,Raman,A.,Bridges,M.J.,August,D.I.:并行级解耦软件管道。收录:CGO,第114-123页(2008年)
[20] Vachharajani,N.,Rangan,R.,Raman,E.,Bridges,M,J.,Ottoni,G.,August,D.I.:推测解耦软件流水线。收录于:PACT,第49–59页(2007年)
[21] Buck,I.:图形硬件上的流计算。博士论文,斯坦福,加利福尼亚州,美国(2005年)
[22] Fan,K.、Park,H.、Kudlur,M.、Mahlke,S.A.:高度定制数据路径的模调度,以提高硬件的可重用性。收录:CGO,第124-133页(2008年)
[23] Kapasi U.J.、Rixner S.、Dally W.J.,Khailany B.、Ahn J.H.、Mattson P.、Owens J.D.:可编程流处理器。计算机36(8),54–62(2003)·doi:10.1010/MC.2003.1220582
[24] Kudlur,M.,Mahlke,S.:在多核平台上协调流程序的执行。收录于:PLDI,第114-124页(2008年)
[25] Thies,W.,Chandrasekhar,V.,Amarasinghe,S.:一种在c程序中利用粗粒度管道并行性的实用方法。收录于:MICRO,第356–369页(2007年)
[26] Vijaykumar,T.N.,Sohi,G.S.:多标量处理器的任务选择。收录于:MICRO,第81–92页(1998年)
[27] Chu,M.,Ravindran,R.,Mahlke,S.:多核架构上细粒度并行的数据访问分区。收录于:MICRO,第369–380页(2007年)
[28] Adl-Tabatabai,A.-R.,Lewis,B.T.,Menon,V.,Murphy,B.R.,Saha,B.,Shpeisman,T.:高效软件事务内存的编译器和运行时支持。收录于:PLDI,第26-37页(2006年)
[29] Damron,P.、Fedorova,A.、Lev,Y.、Luchangco,V.、Moir,M.、Nussbaum,D.:混合事务内存。摘自:ASPLOS,第336–346页(2006年)
[30] Herlihy,M.,Moss,J.E.B.:事务内存:无锁数据结构的架构支持。收录于:ISCA,第289–300页(1993年)
[31] Moravan M.J.、Bobba J.、Moore K.E.、Yen L.、Hill M.D.、Liblit B.、Swift M.M.、Wood D.A.:支持logtm中的嵌套事务内存。SIGOPS操作。系统。第40版(5),359–370(2006)·数字对象标识代码:10.1145/1168917.1168902
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。