Repository logo
Log In(current)
  1. Home
  2. Colleges & Schools
  3. Graduate School
  4. Doctoral Dissertations
  5. Programming Models' Support for Heterogeneous Architecture
Details

Programming Models' Support for Heterogeneous Architecture

Date Issued
May 1, 2017
Author(s)
Wu, Wei  
Advisor(s)
Jack Dongarra
Additional Advisor(s)
James Plank
Michael Berry
Yingkui Li
Permanent URI
https://trace.tennessee.edu/handle/20.500.14382/25738
Abstract

Accelerator-enhanced computing platforms have drawn a lot of attention due to their massive peak computational capacity. Heterogeneous systems equipped with accelerators such as GPUs have become the most prominent components of High Performance Computing (HPC) systems. Even at the node level the significant heterogeneity of CPU and GPU, i.e. hardware and memory space differences, leads to challenges for fully exploiting such complex architectures. Extending outside the node scope, only escalate such challenges.


Conventional programming models such as data- ow and message passing have been widely adopted in HPC communities. When moving towards heterogeneous systems, the lack of GPU integration causes such programming models to struggle in handling the heterogeneity of different computing units, leading to sub-optimal performance and drastic decrease in developer productivity. To bridge the gap between underlying heterogeneous architectures and current programming paradigms, we propose to extend such programming paradigms with architecture awareness optimization.

Two programming models are used to demonstrate the impact of heterogeneous architecture awareness. The PaRSEC task-based runtime, an adopter of the data- ow model, provides opportunities for overlapping communications with computations and minimizing data movements, as well as dynamically adapting the work granularity to the capability of the hardware.

To fulfill the demand of an efficient and portable Message Passing Interface (MPI) implementation to communicate GPU data, a GPU-aware design is presented based on the Open MPI infrastructure supporting efficient point-to-point and collective communications of GPU-residential data, for both contiguous and non-contiguous memory layouts, by leveraging GPU network topology and hardware capabilities such as GPUDirect. The tight integration of GPU support in a widely used programming environment, free the developers from manually move data into/out of host memory before/after relying on MPI routines for communications, allowing them to focus instead on algorithmic optimizations.

Experimental results have confirmed that supported by such a tight and transparent integration, conventional programming models can once again take advantage of the state-of-the-art hardware and exhibit performance at the levels expected by the underlying hardware capabilities.

Subjects

Heterogeneous system

HPC

GPUs

MPI

Task Runtime

Programming Model

Disciplines
Numerical Analysis and Scientific Computing
Programming Languages and Compilers
Software Engineering
Systems Architecture
Degree
Doctor of Philosophy
Major
Computer Science
Embargo Date
January 1, 2011
File(s)
Thumbnail Image
Name

my_dissertation.pdf

Size

1.49 MB

Format

Adobe PDF

Checksum (MD5)

a93e3f059987f28762dacce57a3d04d9

Built with DSpace-CRIS software - Extension maintained and optimized by 4Science

  • Privacy policy
  • End User Agreement
  • Send Feedback
  • Contact
  • Libraries at University of Tennessee, Knoxville
Repository logo COAR Notify