Although data partitioning is required to enable parallelism on distributed memory systems, datapartitions are not firstclass objects in most distributed programming models. As a result, automatic parallelizers and ...
详细信息
ISBN:
(数字)9781450362290
ISBN:
(纸本)9781450362290
Although data partitioning is required to enable parallelism on distributed memory systems, datapartitions are not firstclass objects in most distributed programming models. As a result, automatic parallelizers and application writers encode a particular partitioning strategy in the parallelized program, leading to a program not easily configured or composed with other parallel programs. We present a constraint-based approach to automatic data partitioning. By introducing abstractions for first-class data partitions, we express a space of correct partitioning strategies. Candidate partitions are characterized by partitioning constraints, which can be automatically inferred from data accesses in parallelizable loops. Constraints can be satisfied by synthesized partitioning code or user-provided partitions. We demonstrate that programs auto-parallelized in our approach are easily composed with manually parallelized parts and have scalability comparable to hand-optimized counterparts.
暂无评论