Exploiting Amorphous Data Parallelism Through Software and Architecture Co-Design

Abstract

To address serious technology challenges, computer system designers are increasingly turning to a heterogeneous mix of general-purpose multicores and data-parallel accelerators integrated onto a single die. Unfortunately, this heterogeneity clearly increases complexity and costs at all levels of the computing stack. To complicate matters further, emerging application workloads are often exhibit amorphous data-parallelism with irregular control flow, unstructured data accesses, atomic tasks, and dynamic work generation. Significant breakthroughs to address these challenges will not happen by exploring either software or hardware in isolation. Therefore, this project used a cross-layer approach to rethink the software and hardware for heterogeneous systems with specific attention to efficiently supporting amorphous data parallelism. At the heart of our proposal was a new explicit-parallel-call (XPC) architectural design pattern that is based on the concept of explicitly encoding parallel function calls in the software/hardware interface.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Apr 16, 2019
Accession Number
AD1085851

Entities

People

  • Christopher Batten

Organizations

  • Cornell University

Tags

Communities of Interest

  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Air Force Research Laboratories
  • Compilers
  • Computer Architecture
  • Computer Programming
  • Computers
  • Computing System Architectures
  • Demographic Cohorts
  • Energy Efficiency
  • Fish
  • Instruction Set Architecture
  • Instructions
  • Microarchitecture
  • Scientific Research
  • Simulations
  • Simulators
  • Space Exploration
  • Standards

Fields of Study

  • Computer science

Readers

  • Distributed Systems and Data Platform Development
  • Parallel and Distributed Computing.