Skip to main content

Advanced Ecosystem for Broad Heterogeneous Memory Usage

Periodic Reporting for period 1 - ECO-H-MEM (Advanced Ecosystem for Broad Heterogeneous Memory Usage)

Reporting period: 2018-03-01 to 2020-02-29

"Supercomputers are a key tool for professionals from many disciplines to address society challenges, enabling them to perform, e.g. climate change simulations or genome analysis. EC’s HPC Strategy, implemented in H2020, devises the need to bring Europe's high-performance computing technology to the exascale era, being energy efficiency one of the major challenges. Since providing the required amount of memory for upcoming exascale applications is non-viable by means of top-performance technology only, due to energy consumption and dissipation constraints, vendors are incorporating a variety of additional memory subsystems built upon different technologies, which provide diverse features and limitations (e.g. Intel’s Knights Landing processor). Deciding what data to host in each memory subsystem is far from trivial and poses notable performance implications. Recent research has focused on their use for specific purposes such as resilience or to host selected data objects based on some basic criteria. The aim of this project is to move a big step forward and develop technology to build an innovative generic software ecosystem to facilitate the efficient use of heterogeneous memory systems, what will be crucial to leverage the full potential of exascale platforms. While the developed ecosystem improves performance upon the hardware-based state-of-the-art solution in production ""memory mode"" in a wide range of cases while reducing the DRAM capacity requirement, future work will grant a broader reach."
"1.- Adaptation of BSC profiling technology. During his appointment at Argonne National Laboratory (ANL), the candidate developed EVOP, an open source profiler based on the Valgrind instrumentation framework and a memory object distributor for this purpose. To overcome this tool’s large profiling overhead (which limited its practical use to analyse a few main loop iterations) and accuracy limitations (due to the use of a cache simulator), the fellow combined those techniques into BSC’s Extrae, based on sampling of hardware counters.

2.- Investigation on metrics. After extensive research including a variety of metrics, the current heterogeneous memory advisor (hmem_advisor) component of the developed ecosystem features is equipped with 3 different algorithms and 2 different metrics deemed appropriate in different use cases. Algorithms comprise a precise 0/1 knapsack, a greedy approach, and a top-% algorithm, whereas metrics include ""misses"" and ""latencies"". To adapt to the brand-new Persistent Memory technology, store information has been incorporated across all algorithms and metrics with respect to previous approaches based on the MCDRAM memory subsystem of the Intel KNL platform.

3.- Transparent runtime system. The FLEXMALLOC runtime allocator interposer has been developed in collaboration with Intel as part of the ECO-H-MEM framework. This piece of software intercepts allocation calls and places them in the most appropriate memory subsystem as deemed by the hmem_advisor component. The key of this component is its very low runtime overhead on linking allocation calls upon unmodified binaries with the output of the hmem_advisor from an offline analysis pass. This low overhead comes from a novel idea which is pending publication.

4.- Integration with Intel's software stack. The developed ecosystem is made of 4 pieces: BSC's Extrae profiling tool, BSC's hmem_advisor (derived from ANL's dmem_advisor), BSC's hmem_visualizer, and Intel's FLEXMALLOC (developed explicitly for the ECO-H-MEM framework). Intel's VTune may be used as a replacement for Extrae.

The main paper resulting from this project is about to be submitted for publication and Intel is deeply involved and showing strong interest on adopting the developments of the project. A PRACE Advanced Centre Training (PATC) course is already at its second edition at BSC, and the 1st edition of the HMEM workshop, co-organized by the fellow and Intel, will be co-located with ICS 2020, a top-tier conference. The fellow has given several talks in this topic, some of them sponsored by Intel. After the developed ecosystem undergoes final refinements, there is plan for a joint software release under Open Source license, which should happen in the next coming weeks. Follow-up and spin-off project proposals are already submitted for consideration."
The developed methodology is the most advanced effort toward a production-ready system for heterogeneous memory management. The allocation identification algorithm in FLEXMALLOC is novel and the entire framework is able, for the first time in the literature, to handle complex applications competitively with the hardware-based memory mode baseline on Optane systems, including a great reduction on the required energy-hungry DRAM memory subsystem. Potentially this ecosystem will become the de-facto standard for Optane systems adopted by Intel, or at least it will influence Intel's own developed management software. The democratization of the use of heterogeneous memories will greatly help developing computers with lower energy footprint.
Illustration of memory placement in DRAM + PMEM configurations
Actors involved in performance projections