Data-driven decomposition of sequential programs for determinate parallel execution.
详细信息   
  • 作者:Allen ; Matthew David.
  • 学历:Doctor
  • 年:2010
  • 导师:Sohi, Gurindar S.,eadvisor
  • 毕业院校:The University of Wisconsin
  • ISBN:9781124551876
  • CBH:3448890
  • Country:USA
  • 语种:English
  • FileSize:6461067
  • Pages:259
文摘
The transition of the microprocessor industry to multi-core processors poses a significant challenge to the information technology industry. Realizing the full potential of these processors requires decomposition of software into units of work amenable to parallel execution. This places an enormous burden on software developers---conventional approaches to parallel programming, such as multithreading, present a programming model that is radically different from sequential programming, and may result in a wide range of execution behaviors that are neither predictable nor repeatable. These problems threaten to greatly increase the time and cost required to develop software applications. This dissertation proposes data-driven decomposition as a mechanism to overcome many of the difficulties associated with deriving parallel execution of software. Data-driven decomposition dynamically decomposes a sequential program according to the data manipulated by its constituent operations. Operations that manipulate disjoint sets of data may execute in parallel, while operations on overlapping data are serialized---executed one-at-a-time in program order---to ensure they produce the same result as a sequential execution of the program. Thus data-driven decomposition both preserves both the intuitive sequential programming interface, as well as its predictable, repeatable execution. This dissertation also describes the design and implementation of PROMETHEUS, a library comprising two components supporting data-driven decomposition of programs written in the C++ language. The first component of PROMETHEUS is a programming interface that allows programmers to express the relationship between computational operations and the data they manipulate via the widespread practices and idioms of object-oriented programming. The second component of PROMETHEUS is runtime support for efficiently orchestrating data-driven decomposition. These mechanisms allow PROMETHEUS programs to realize the benefits of data-driven decomposition, while achieving performance competitive with programs parallelized via conventional, control-driven techniques.

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700