Maldikar, Pranita2014-09-092014-09-092014-06https://hdl.handle.net/11299/165565University of Minnesota M.S. thesis. June 2014. Major: Electrical Engineering. Advisor: David Lilja. 1 computer file (PDF); vii, 45 pages.Many improvements have been made in developing better prefetchers. Improvements in prefetching usually starts by coming up with a new heuristic. The static threshold values for prefetching modules might become obsolete in near future. Given the huge amount of hardware performance counters we can examine, we would like to find out if it is possible to derive a heuristic by applying machine learning to the data we routinely monitor. We propose an adaptive solution that can be implemented by monitoring the performance of system at run-time. Machine learning makes system smarter by enabling it with ability to make decisions. So for future complex problem instead of running lot of experiments to figure out optimal heuristic for a hardware prefetcher we can have the data speak for itself, and the machine will choose a heuristic that is good for it. We will train the system to create predictive models that will predict prefetch options at run-time.en-USHardware prefetchingMachine learningPrefetchingAdaptive cache prefetching using machine learning and monitoring hardware performance countersThesis or Dissertation