Improving GHC Haskell NUMA Profiling

MacGregor, R., Trinder, P. and Loidl, H.-W. (2021) Improving GHC Haskell NUMA Profiling. In: ACM SIGPLAN International Workshop on Functional High-Performance and Numerical Computing (FHPNC 2021), 22 August 2021, pp. 1-12. ISBN 9781450386142 (doi: 10.1145/3471873.3472974)

[img] Text
245275.pdf - Accepted Version

1MB

Abstract

As the number of cores increases Non-Uniform Memory Access (NUMA) is becoming increasingly prevalent in general purpose machines. Effectively exploiting NUMA can significantly reduce memory access latency and thus runtime by 10-20%, and profiling provides information on how to optimise. Language-level NUMA profilers are rare, and mostly profile conventional languages executing on Virtual Machines. Here we profile, and develop new NUMA profilers for, a functional language executing on a runtime system. We start by using existing OS and language level tools to systematically profile 8 benchmarks from the GHC Haskell nofib suite on a typical NUMA server (8 regions, 64 cores). We propose a new metric: NUMA access rate that allows us to compare the load placed on the memory system by different programs, and use it to contrast the benchmarks. We demonstrate significant differences in NUMA usage between computational and data-intensive benchmarks, e.g. local memory access rates of 23% and 30% respectively. We show that small changes to coordination behaviour can significantly alter NUMA usage, and for the first time quantify the effectiveness of the GHC 8.2 NUMA adaption. We identify information not available from existing profilers and extend both the numaprof profiler, and the GHC runtime system to obtain three new NUMA profiles: OS thread allocation locality, GC count (per region and generation) and GC thread locality. The new profiles not only provide a deeper understanding of program memory usage, they also suggest ways that GHC can be adapted to better exploit NUMA architectures.

Item Type:Conference Proceedings
Additional Information:This work was supported by EPSRC grants MaRIONet (EP/P006434) and STARDUST (EP/T014628).
Status:Published
Refereed:Yes
Glasgow Author(s) Enlighten ID:Trinder, Professor Phil and Macgregor, Mr Ruairidh
Authors: MacGregor, R., Trinder, P., and Loidl, H.-W.
College/School:College of Science and Engineering > School of Computing Science
ISBN:9781450386142
Copyright Holders:© 2021 Copyright held by the owner/author(s).
First Published:First published in FHPNC 2021: Proceedings of the 9th ACM SIGPLAN International Workshop on Functional High-Performance and Numerical Computing
Publisher Policy:Reproduced in accordance with the publisher copyright policy
Related URLs:

University Staff: Request a correction | Enlighten Editors: Update this record

Project CodeAward NoProject NamePrincipal InvestigatorFunder's NameFunder RefLead Dept
173366MaRIONet: Manycore Research Interaction and Opportunities NetworkJeremy SingerEngineering and Physical Sciences Research Council (EPSRC)EP/P006434/1Computing Science
306912Session Types for Reliable Distributed SystemsSimon GayEngineering and Physical Sciences Research Council (EPSRC)EP/T014628/1Computing Science