Machine learning for fine-grained hardware prefetcher control

Document Type

Conference Proceeding

Publication Date



Department of Computer Science


Modern architectures provide hardware memory prefetching capabilities which can be configured at runtime. While hardware prefetching can provide substantial performance improvements for many programs, prefetching can also increase contention for shared resources such as last-level cache and memory bandwidth. In turn, this contention can degrade performance in multi-core workloads. In this paper, we model fine-grained hardware prefetcher control as a contextual bandit, and propose a framework for learning prefetcher control policies which adjust hardware prefetching usage at runtime according to workload performance behavior. We train our policies on profiling data, wherein hardware memory prefetchers are enabled or disabled randomly at regular intervals over the course of a workload's execution. The learned prefetcher control policies provide up to a 4.3% average performance improvement over a set of memory bandwidth intensive workloads.

Publisher's Statement

© 2019 Association for Computing Machinery. Publisher’s version of record:

Publication Title

ICPP 2019 Proceedings of the 48th International Conference on Parallel Processing