Skip to main content

Research Repository

Advanced Search

HRF-relaxed: Adapting HRF to the complexities of industrial heterogeneous memory models

Gaster, Benedict; Hower, Derek; Howes, Lee

HRF-relaxed: Adapting HRF to the complexities of industrial heterogeneous memory models Thumbnail


Authors

Benedict Gaster Benedict.Gaster@uwe.ac.uk
Associate Professor in Physical Computing

Derek Hower

Lee Howes



Abstract

© 2015 ACM. Memory consistency models, or memory models, allow both programmers and program language imple-menters to reason about concurrent accesses to one or more memory locations. Memory model specifications balance the often conflicting needs for precise semantics, implementation flexibility, and ease of understanding. Toward that end, popular programming languages like Java, C, and C++ have adopted memory models built on the conceptual foundation of Sequential Consistency for Data-Race-Free programs (SC for DRF). These SC for DRF languages were created with general-purpose homogeneous CPU systems in mind, and all assume a single, global memory address space. Such a uniform address space is usually power and performance prohibitive in heterogeneous Systems on Chips (SoCs), and for that reason most heterogeneous languages have adopted split address spaces and operations with nonglobal visibility. There have recently been two attempts to bridge the disconnect between the CPU-centric assumptions of the SC for DRF framework and the realities of heterogeneous SoC architectures. Hower et al. proposed a class of Heterogeneous-Race-Free (HRF) memory models that provide a foundation for understanding many of the issues in heterogeneous memory models. At the same time, the Khronos Group developed the OpenCL 2.0 memory model that builds on the C++ memory model. The OpenCL 2.0 model includes features not addressed by HRF: primarily support for relaxed atomics and a property referred to as scope inclusion. In this article, we generalize HRF to allow formalization of and reasoning about more complicated models using OpenCL 2.0 as a point of reference. With that generalization, we (1) make the OpenCL 2.0 memory model more accessible by introducing a platform for feature comparisons to other models, (2) consider a number of shortcomings in the current OpenCL 2.0 model, and (3) propose changes that could be adopted by future OpenCL 2.0 revisions or by other, related, models.

Journal Article Type Article
Publication Date Apr 1, 2015
Deposit Date Aug 12, 2015
Publicly Available Date Apr 11, 2016
Journal ACM Transactions on Architecture and Code Optimization
Print ISSN 1544-3566
Electronic ISSN 1544-3973
Publisher Association for Computing Machinery (ACM)
Peer Reviewed Peer Reviewed
Volume 12
Issue 1
Pages 1-26
DOI https://doi.org/10.1145/2701618
Keywords memory models, semantics, programming languages, opencl, gpgpu
Public URL https://uwe-repository.worktribe.com/output/836447
Publisher URL http://dx.doi.org/10.1145/2701618
Additional Information Additional Information : © ACM, 2015. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in ACM Transactions on Architecture and Code Optimization, {12, 1, (April 2015)} http://doi.acm.org/10.1145/2701618
Contract Date Apr 11, 2016

Files






You might also like



Downloadable Citations