Page Placement Strategies for GPUs within Heterogeneous Memory Systems
Authors:
Open Access
- 14 March 2015
- conference paper
- Published by Association for Computing Machinery (ACM)
- p. 607-618
Abstract
Systems from smartphones to supercomputers are increasingly heterogeneous, being composed of both CPUs and GPUs. To maximize cost and energy efficiency, these systems will increasingly use globally-addressable heterogeneous memory systems, making choices about memory page placement critical to performance. In this work we show that current page placement policies are not sufficient to maximize GPU performance in these heterogeneous memory systems. We propose two new page placement policies that improve GPU performance: one application agnostic and one using application profile information. Our application agnostic policy, bandwidth-aware (BW-AWARE) placement, maximizes GPU throughput by balancing page placement across the memories based on the aggregate memory bandwidth available in a system. Our simulation-based results show that BW-AWARE placement outperforms the existing Linux INTERLEAVE and LOCAL policies by 35% and 18% on average for GPU compute workloads. We build upon BW-AWARE placement by developing a compiler-based profiling mechanism that provides programmers with information about GPU application data structure access patterns. Combining this information with simple program-annotated hints about memory placement, our hint-based page placement approach performs within 90% of oracular page placement on average, largely mitigating the need for costly dynamic page tracking and migration.Keywords
Funding Information
- US Department of Energy
- NSF (CCF- 0845157)
This publication has 35 references indexed in Scilit:
- Optimizing GPU energy efficiency with 3D die-stacking graphics memory and reconfigurable memory interfaceACM Transactions on Architecture and Code Optimization, 2013
- Traffic managementACM SIGPLAN Notices, 2013
- Software Design Space Exploration for Exascale Combustion Co-design2013
- Addressing shared resource contention in multicore processors via schedulingACM SIGPLAN Notices, 2010
- Disaggregated memory for expansion and sharing in blade serversACM SIGARCH Computer Architecture News, 2009
- Thread clusteringACM SIGOPS Operating Systems Review, 2007
- Design and analysis of static memory management policies for CC-NUMA multiprocessorsJournal of Systems Architecture, 2002
- Operating system support for improving data locality on CC-NUMA compute serversACM SIGOPS Operating Systems Review, 1996
- Evaluation of NUMA memory management through modeling and measurementsIEEE Transactions on Parallel and Distributed Systems, 1992
- Simple but effective techniques for NUMA memory managementACM SIGOPS Operating Systems Review, 1989