DCAILGMar 1, 2022

Learning Intermediate Representations using Graph Neural Networks for NUMA and Prefetchers Optimization

arXiv:2203.00611v119 citationsh-index: 21
AI Analysis

This work addresses performance optimization for computer systems by reducing profiling costs, though it is incremental as it builds on prior dynamic profiling methods.

The paper tackled the problem of optimizing NUMA and hardware prefetcher configurations without costly performance profiling by using static Intermediate Representations (IR) of code, achieving 80% of the performance gains from dynamic profiling strategies and reducing profiling to 30% of programs with a hybrid model.

There is a large space of NUMA and hardware prefetcher configurations that can significantly impact the performance of an application. Previous studies have demonstrated how a model can automatically select configurations based on the dynamic properties of the code to achieve speedups. This paper demonstrates how the static Intermediate Representation (IR) of the code can guide NUMA/prefetcher optimizations without the prohibitive cost of performance profiling. We propose a method to create a comprehensive dataset that includes a diverse set of intermediate representations along with optimum configurations. We then apply a graph neural network model in order to validate this dataset. We show that our static intermediate representation based model achieves 80% of the performance gains provided by expensive dynamic performance profiling based strategies. We further develop a hybrid model that uses both static and dynamic information. Our hybrid model achieves the same gains as the dynamic models but at a reduced cost by only profiling 30% of the programs.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes