Skip to main content

Benchmarking weak memory models

Ritson, Carl G. and Owens, Scott (2016) Benchmarking weak memory models. In: Proceedings of the 21st ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming. PPoPP Principles and Practice of Parallel Programming . ACM, New York, USA. ISBN 978-1-4503-4092-2. (doi:10.1145/2851141.2851150) (Access to this publication is currently restricted. You may be able to access a copy if URLs are provided) (KAR id:51638)

PDF (This is the author's version of the work. It is posted here for your personal use. Not for redistribution.) Author's Accepted Manuscript
Language: English

Restricted to Repository staff only
Contact us about this Publication
[img]
Official URL
http://dx.doi.org/10.1145/2851141.2851150

Abstract

To achieve good multi-core performance, modern microprocessors have weak memory models, rather than enforce sequential consistency. This gives the programmer a wide scope for choosing exactly how to implement various aspects of inter-thread communication through the system's shared memory. However, these choices come with both semantic and performance consequences, often in tension with each other. In this paper, we focus on the performance side, and define techniques for evaluating the impact of various choices in using weak memory models, such as where to put fences, and which fences to use. We make no attempt to judge certain strategies as best or most efficient, and instead provide the techniques that will allow the programmer to understand the performance implications when identifying and resolving any semantic/performance trade-offs. In particular, our technique supports the reasoned selection of macrobenchmarks to use in investigating trade-offs in using weak memory models. We demonstrate our technique on both synthetic benchmarks and real-world applications for the Linux Kernel and OpenJDK Hotspot Virtual Machine on the ARMv8 and POWERv7 architectures.

Item Type: Book section
DOI/Identification number: 10.1145/2851141.2851150
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,
Divisions: Faculties > Sciences > School of Computing > Programming Languages and Systems Group
Depositing User: Scott Owens
Date Deposited: 13 Nov 2015 13:54 UTC
Last Modified: 24 Sep 2019 08:00 UTC
Resource URI: https://kar.kent.ac.uk/id/eprint/51638 (The current URI for this page, for reference purposes)
Owens, Scott: https://orcid.org/0000-0002-7437-4780
  • Depositors only (login required):