期刊文献+

一种数据结构制导的线程划分方法与执行模型 被引量:2

Data Structure Directed Thread Partitioning Method and Execution Model
下载PDF
导出
摘要 在对程序进行并行化时,为了保证结果的正确性,并行编译器只能采取一种保守的策略,也就是,如果它不能确定两段代码在并行执行时是否会发生冲突,它就不允许这两段代码并行执行.虽然这种做法保证了正确性,但同时也限制了对并行性的开发.在这种背景下,许多推测多线程方法被提了出来,这些方法通过允许可能冲突的代码段并行执行来把握更多的并行机会,同时,通过从冲突中恢复来保证结果的正确性.然而,传统推测多线程方法所使用的"沿控制流将串行程序划分为多个线程"的做法并不适合不同数据结构上的操作在控制流中相互交错的情况,因为如果沿控制流将程序线性地划分为多个线程,则同一个数据结构上的操作将被分到不同的线程中,从而非常容易发生冲突.为了有效地对这些程序进行并行化,提出了一种基于数据结构的线程划分方法与执行模型.在这种方法中,程序中的对象被划分成多个组,同一组中对象上的操作被分派到同一个线程中去执行,从而降低了在同一个数据结构上发生冲突的可能性. While parallelizing a program, to ensure the correctness of the result, a parallel compiler can only adopt a conservative policy that if it cannot accurately determine whether two pieces of code will conflict while being executed in parallel, it does not permit them to be executed in parallel. Although this approach can ensure correctness, it also limits the amount of parallelism that can be exploited. A number of speculative multithreading (SpMT) approaches gained wide popularity because they can get more parallelism by allowing two pieces of potentially conflicting code to execute in parallel while ensuring the correctness of the results by recovering from conflicts. However, the dividing-along-the-control-flow-path method employed by the traditional SpMT approach is unsuitable for a number of programs in which operations on different data structures are interleaved in the control flow path. If the program is linearly divided into threads along the control flow path, the operations on the same data structure will be divided among the different threads that are doomed to be prone to conflict when being executed concurrently. To effectively parallelize these programs, this paper proposes a data structure centric approach, in which the objects of a program are organized into different groups and the operations on the objects within the same group are dispatched to the same thread for execution, thereby reducing the likelihood of conflict on the same data structure.
出处 《软件学报》 EI CSCD 北大核心 2013年第10期2432-2459,共28页 Journal of Software
基金 国家自然科学基金(61173040) 国家高技术研究发展计划(863)(2008AA01Z136)
关键词 推测多线程 并行化 数据结构 划分方法 执行模型 speculative multithreading parallelization data structure partitioning method execution model
  • 相关文献

参考文献1

二级参考文献13

  • 1J Gregory Steffan, Christopher B Colohan, Antonia Zhai, et al. A scalable approach to thread-level speculation[C]. Proceedings of the 27th International Symposium on 2000, 1-12.
  • 2Antonia Zhai, Christopher B Colohan, J Gregory Steffan, et al. Compiler optimization of memory-resident value communication between speculative threads[C]. Code Generation and Optimization, 2004. CGO 2004. International Symposium on 2004, 39- 50.
  • 3Steffan J G, Colohan C B, Zhai A, et al. Improving value communication for thread-level speeulation[C]. High-Performance Computer Architecture, 2002. Proceedings. Eighth International Symposium on 2-6 Feb. 2002, 65-75.
  • 4http ://www. gnu. org/software/binutils/manual/gprof-2. 9.1/ html--mono/gprof, html[EB/OL], 1997,
  • 5Shiwen Hu, Ravi Bhargava, Lizy Kurian John. The role of return value prediction in exploiting speculative method-level parallelism[J]. Journal of Instruction-Level Parallelism, 2003, 5: 1-21.
  • 6A J KleinOsowski, John Flynn, Nancy Meares, et al. Adapting the SPEC 2000 benchmark suite for simulation-based computer architecture research[C]. Workshop on Workload Characterization, International Conference on Computer Design, September, 2000.
  • 7Christopher J F. Pickett and clark verbrugge, Compiler Analyses for Improved Return Value Prediction[R]. Sable Technical Report No. 2004-6, October 21, 2004, (not published).
  • 8Manjikinn N. Multiproeessor enhancements of the SimpleScalar tool set [J]. ACM SIGAREII Computer Architecture News, 2001, 29(1): 8-15.
  • 9Gurindar S Sohi, Scott E Breach, Vijaykumar T N, et al. Multiscalar processors. Computer Architecture, 1995[C]. Proceedings. 22nd Annual International Symposium on 22-24 Jun 1995, 414-425.
  • 10Vijaykumar T N, Gurindar S Sohi. Task selection for a multiscalar processor. Microarchitecture. 1998. MICRO-31 [C]. Proceedings. 31st Annual ACM/IEEE International Symposium on 30 Nov.-2 Dec. 1998, 81-92.

共引文献5

同被引文献13

引证文献2

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部