Exploiting Amorphous Data Parallelism Through Software and Architecture Co-Design
Abstract
In order to make the most efficient use of multicore systems, data parallelism is employed. Data parallelism is a form of parallelization of computing across multiple processors in parallel computing environments. Data parallelism focuses on data distribution across different parallel computing nodes. Algorithms can be regular (meaning more predictable in the quality of schedule) or irregular (unpredictable quality schedule) as opposed to dynamic versus static (which involve the way in which the schedules are obtained). Thus, an irregular application has more communication costs. Until recently, relatively little was known about how to parallelize irregular applications systematically, in spite of their central role in many problem domains. Irregular applications use pointer-based data structures like graphs and trees; examples of these applications are finite-element mesh generators and partitioners, SAT solvers, maxflow algorithms, and event-driven simulation. Amorphous Data-Parallelism (ADP) captures the patterns of parallelism in irregular applications, and which includes the data-parallelism found in regular algorithms. As systems become more complex, irregular applications become more commonplace; however, problems with respect to irregularity still exists. This proposal s objective is to tackle the issue with respect to investigating a crosslayer approach regarding both software and hardware for heterogeneous systems with specific attention to efficiently supporting ADP. In order to do this, a new explicit-parallel-call (XPC) architectural design pattern will be created which will incorporate both the architecture and software.
Document Details
- Document Type
- DoD Grant Award
- Publication Date
- Mar 23, 2016
- Source ID
- FA95501510194
Entities
People
- Christopher Batten
Organizations
- Air Force Office of Scientific Research
- Cornell University
- United States Air Force