An asymmetric distributed shared memory model for heterogeneous parallel systems

Isaac Gelado, Javier Cabezas, Nacho Navarro, John E. Stone, Sanjay Patel, Wen Mei W. Hwu

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Heterogeneous computing combines general purpose CPUs with accelerators to efficiently execute both sequential control-intensive and data-parallel phases of applications. Existing programming models for heterogeneous computing rely on programmers to explicitly manage data transfers between the CPU system memory and accelerator memory. This paper presents a new programming model for heterogeneous computing, called Asymmetric Distributed Shared Memory (ADSM), that maintains a shared logical memory space for CPUs to access objects in the accelerator physical memory but not vice versa. The asymmetry allows light-weight implementations that avoid common pitfalls of symmetrical distributed shared memory systems. ADSM allows programmers to assign data objects to performance critical methods. When a method is selected for accelerator execution, its associated data objects are allocated within the shared logical memory space, which is hosted in the accelerator physical memory and transparently accessible by the methods executed on CPUs. We argue that ADSM reduces programming efforts for heterogeneous computing systems and enhances application portability. We present a software implementation of ADSM, called GMAC, on top of CUDA in a GNU/Linux environment. We show that applications written in ADSM and running on top of GMAC achieve performance comparable to their counterparts using programmer-managed data transfers. This paper presents the GMAC system and evaluates different design choices. We further suggest additional architectural support that will likely allow GMAC to achieve higher application performance than the current CUDA model.

Original languageEnglish (US)
Title of host publicationASPLOS XV - 15th International Conference on Architectural Support for Programming Languages and Operating Systems
Pages347-358
Number of pages12
DOIs
StatePublished - May 19 2010
Externally publishedYes
Event15th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS XV - Pittsburgh, PA, United States
Duration: Mar 13 2010Mar 17 2010

Publication series

NameInternational Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS

Other

Other15th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS XV
CountryUnited States
CityPittsburgh, PA
Period3/13/103/17/10

Fingerprint

Computer systems
Data storage equipment
Particle accelerators
Program processors
Data transfer
Computer programming

Keywords

  • Asymmetric distributed shared memory
  • Data-centric programming models
  • Heterogeneous systems

ASJC Scopus subject areas

  • Software
  • Information Systems
  • Hardware and Architecture

Cite this

Gelado, I., Cabezas, J., Navarro, N., Stone, J. E., Patel, S., & Hwu, W. M. W. (2010). An asymmetric distributed shared memory model for heterogeneous parallel systems. In ASPLOS XV - 15th International Conference on Architectural Support for Programming Languages and Operating Systems (pp. 347-358). (International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS). https://doi.org/10.1145/1736020.1736059

An asymmetric distributed shared memory model for heterogeneous parallel systems. / Gelado, Isaac; Cabezas, Javier; Navarro, Nacho; Stone, John E.; Patel, Sanjay; Hwu, Wen Mei W.

ASPLOS XV - 15th International Conference on Architectural Support for Programming Languages and Operating Systems. 2010. p. 347-358 (International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Gelado, I, Cabezas, J, Navarro, N, Stone, JE, Patel, S & Hwu, WMW 2010, An asymmetric distributed shared memory model for heterogeneous parallel systems. in ASPLOS XV - 15th International Conference on Architectural Support for Programming Languages and Operating Systems. International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS, pp. 347-358, 15th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS XV, Pittsburgh, PA, United States, 3/13/10. https://doi.org/10.1145/1736020.1736059
Gelado I, Cabezas J, Navarro N, Stone JE, Patel S, Hwu WMW. An asymmetric distributed shared memory model for heterogeneous parallel systems. In ASPLOS XV - 15th International Conference on Architectural Support for Programming Languages and Operating Systems. 2010. p. 347-358. (International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS). https://doi.org/10.1145/1736020.1736059
Gelado, Isaac ; Cabezas, Javier ; Navarro, Nacho ; Stone, John E. ; Patel, Sanjay ; Hwu, Wen Mei W. / An asymmetric distributed shared memory model for heterogeneous parallel systems. ASPLOS XV - 15th International Conference on Architectural Support for Programming Languages and Operating Systems. 2010. pp. 347-358 (International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS).
@inproceedings{62b1696973a742879ae7b39201e6b4ba,
title = "An asymmetric distributed shared memory model for heterogeneous parallel systems",
abstract = "Heterogeneous computing combines general purpose CPUs with accelerators to efficiently execute both sequential control-intensive and data-parallel phases of applications. Existing programming models for heterogeneous computing rely on programmers to explicitly manage data transfers between the CPU system memory and accelerator memory. This paper presents a new programming model for heterogeneous computing, called Asymmetric Distributed Shared Memory (ADSM), that maintains a shared logical memory space for CPUs to access objects in the accelerator physical memory but not vice versa. The asymmetry allows light-weight implementations that avoid common pitfalls of symmetrical distributed shared memory systems. ADSM allows programmers to assign data objects to performance critical methods. When a method is selected for accelerator execution, its associated data objects are allocated within the shared logical memory space, which is hosted in the accelerator physical memory and transparently accessible by the methods executed on CPUs. We argue that ADSM reduces programming efforts for heterogeneous computing systems and enhances application portability. We present a software implementation of ADSM, called GMAC, on top of CUDA in a GNU/Linux environment. We show that applications written in ADSM and running on top of GMAC achieve performance comparable to their counterparts using programmer-managed data transfers. This paper presents the GMAC system and evaluates different design choices. We further suggest additional architectural support that will likely allow GMAC to achieve higher application performance than the current CUDA model.",
keywords = "Asymmetric distributed shared memory, Data-centric programming models, Heterogeneous systems",
author = "Isaac Gelado and Javier Cabezas and Nacho Navarro and Stone, {John E.} and Sanjay Patel and Hwu, {Wen Mei W.}",
year = "2010",
month = "5",
day = "19",
doi = "10.1145/1736020.1736059",
language = "English (US)",
isbn = "9781605588391",
series = "International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS",
pages = "347--358",
booktitle = "ASPLOS XV - 15th International Conference on Architectural Support for Programming Languages and Operating Systems",

}

TY - GEN

T1 - An asymmetric distributed shared memory model for heterogeneous parallel systems

AU - Gelado, Isaac

AU - Cabezas, Javier

AU - Navarro, Nacho

AU - Stone, John E.

AU - Patel, Sanjay

AU - Hwu, Wen Mei W.

PY - 2010/5/19

Y1 - 2010/5/19

N2 - Heterogeneous computing combines general purpose CPUs with accelerators to efficiently execute both sequential control-intensive and data-parallel phases of applications. Existing programming models for heterogeneous computing rely on programmers to explicitly manage data transfers between the CPU system memory and accelerator memory. This paper presents a new programming model for heterogeneous computing, called Asymmetric Distributed Shared Memory (ADSM), that maintains a shared logical memory space for CPUs to access objects in the accelerator physical memory but not vice versa. The asymmetry allows light-weight implementations that avoid common pitfalls of symmetrical distributed shared memory systems. ADSM allows programmers to assign data objects to performance critical methods. When a method is selected for accelerator execution, its associated data objects are allocated within the shared logical memory space, which is hosted in the accelerator physical memory and transparently accessible by the methods executed on CPUs. We argue that ADSM reduces programming efforts for heterogeneous computing systems and enhances application portability. We present a software implementation of ADSM, called GMAC, on top of CUDA in a GNU/Linux environment. We show that applications written in ADSM and running on top of GMAC achieve performance comparable to their counterparts using programmer-managed data transfers. This paper presents the GMAC system and evaluates different design choices. We further suggest additional architectural support that will likely allow GMAC to achieve higher application performance than the current CUDA model.

AB - Heterogeneous computing combines general purpose CPUs with accelerators to efficiently execute both sequential control-intensive and data-parallel phases of applications. Existing programming models for heterogeneous computing rely on programmers to explicitly manage data transfers between the CPU system memory and accelerator memory. This paper presents a new programming model for heterogeneous computing, called Asymmetric Distributed Shared Memory (ADSM), that maintains a shared logical memory space for CPUs to access objects in the accelerator physical memory but not vice versa. The asymmetry allows light-weight implementations that avoid common pitfalls of symmetrical distributed shared memory systems. ADSM allows programmers to assign data objects to performance critical methods. When a method is selected for accelerator execution, its associated data objects are allocated within the shared logical memory space, which is hosted in the accelerator physical memory and transparently accessible by the methods executed on CPUs. We argue that ADSM reduces programming efforts for heterogeneous computing systems and enhances application portability. We present a software implementation of ADSM, called GMAC, on top of CUDA in a GNU/Linux environment. We show that applications written in ADSM and running on top of GMAC achieve performance comparable to their counterparts using programmer-managed data transfers. This paper presents the GMAC system and evaluates different design choices. We further suggest additional architectural support that will likely allow GMAC to achieve higher application performance than the current CUDA model.

KW - Asymmetric distributed shared memory

KW - Data-centric programming models

KW - Heterogeneous systems

UR - http://www.scopus.com/inward/record.url?scp=77952251540&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=77952251540&partnerID=8YFLogxK

U2 - 10.1145/1736020.1736059

DO - 10.1145/1736020.1736059

M3 - Conference contribution

AN - SCOPUS:77952251540

SN - 9781605588391

T3 - International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS

SP - 347

EP - 358

BT - ASPLOS XV - 15th International Conference on Architectural Support for Programming Languages and Operating Systems

ER -