Studies on the energy and deep memory behaviour of a cache-oblivious, task-based hyperbolic PDE solver
Studies on the energy and deep memory behaviour of a cache-oblivious, task-based hyperbolic PDE solver
复制标题
研究缓存无关、基于任务的双曲 PDE 求解器的能量和深度内存行为
DOI:
10.1177/1094342019842645
复制
发表时间:
2018
期刊:
影响因子:
--
通讯作者:
T. Weinzierl
中科院分区:
文献类型:
--
作者:
D. E. Charrier;B. Hazelwood;Ekaterina Tutlyaeva;M. Bader;M. Dumbser;A. Kudryavtsev;A. Moskovsky;T. Weinzierl
We study the performance behaviour of a seismic simulation using the ExaHyPE engine with a specific focus on memory characteristics and energy needs. ExaHyPE combines dynamically adaptive mesh refinement (AMR) with ADER-DG. It is parallelized using tasks, and it is cache efficient. AMR plus ADER-DG yields a task graph which is highly dynamic in nature and comprises both arithmetically expensive tasks and tasks which challenge the memory’s latency. The expensive tasks and thus the whole code benefit from AVX vectorization, although we suffer from memory access bursts. A frequency reduction of the chip improves the code’s energy-to-solution. Yet, it does not mitigate burst effects. The bursts’ latency penalty becomes worse once we add Intel Optane technology, increase the core count significantly or make individual, computationally heavy tasks fall out of close caches. Thread overbooking to hide away these latency penalties becomes contra-productive with noninclusive caches as it destroys the cache and vectorization character. In cases where memory-intense and computationally expensive tasks overlap, ExaHyPE’s cache-oblivious implementation nevertheless can exploit deep, noninclusive, heterogeneous memory effectively, as main memory misses arise infrequently and slow down only few cores. We thus propose that upcoming supercomputing simulation codes with dynamic, inhomogeneous task graphs are actively supported by thread runtimes in intermixing tasks of different compute character, and we propose that future hardware actively allows codes to downclock the cores running particular task types.