Partitioning Strategies for Concurrent Programming
Name
Devadas_Partitioning strategies.pdf
Size
373.41 KB
Format
Adobe PDF
Checksum (MD5)
0724c4b9e23d6cc97b8fc79139e54e68
Author(s) • •
Hoffmann, Henry Christian
Agarwal, Anant
Devadas, Srinivas
Date Issued
2009
Citation
Devadas, Srinivas, Anant Agarwal, and Henry Hoffmann. "Partitioning Strategies for Concurrent Programming."
Version
Author's final manuscript
Abstract
This work presents four partitioning strategies, or design patterns, useful for decomposing a serial application
into multiple concurrently executing parts. These partitioning strategies augment the commonly used task and data
parallel design patterns by recognizing that applications are spatiotemporal in nature. Therefore, data and instruction
decomposition are further distinguished by whether the partitioning is done in the spatial or in temporal dimension.
Thus, this work describes four decomposition strategies: spatial data partitioning (SDP), temporal data partitioning
(TDP), spatial instruction partitioning (SIP), and temporal instruction partitioning (TIP), while cataloging the benefits
and drawbacks of each. These strategies can be combined to realize the benefits of multiple patterns in the same
program. The practical use of the partitioning strategies is demonstrated through a case study which implements
several different parallelizations of a multicore H.264 encoder for HD video. This case study illustrates the application of the patterns, their effects on the performance of the encoder, and the combination of multiple strategies in a single program.
MIT Department
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Terms of Use
Attribution-Noncommercial-Share Alike 3.0 Unported
Persistent DSpace Link