Learned Components in Computer Systems

Lead Research Organisation: University of Oxford
Department Name: Computer Science

Abstract

This project falls within the EPSRC Information and Communication (ICT) research area.

The project "Learned Components in Computer Systems" aims to investigate methods to accelerate computer systems by replacing hand-coded heuristics and data structures with those which better exploit the observed data distribution, and hence accelerate the computer system. We see hand-coded heuristics in many system components to accelerate performance: file system prefetching, process scheduling, branch prediction and page replacement are all examples. However, it is difficult for humans to write optimal heuristics: even when the data is available ahead of time, it can be difficult to identify subtle patterns. In other cases, the data obtained at runtime can vastly impact the predictive power of a heuristic.

Although some early work in this area shows promise, there are still significant challenges that must be investigated before these techniques will be adopted widely. One major barrier to adoption is inference latency: at present it is too high to make these approaches usable, and existing work only shows that the concepts are viable in theory. Another major challenge is the problem of runtime adaptation, as maximal efficiency can only be obtained by utilising the true runtime distribution, rather than the distribution assumed at training time. In some cases it may be possible to train the network with sensible default behaviour, but in other cases this may not be possible at all. Finally, only the very surface of potential applications have been investigated.

To address these issues, the following areas of research could be explored:

1. To reduce latency, reframing recent work on running machine learning algorithms on resource constrained devices.
2. Exploring techniques for incorporating learned components into programs. This could involve the development of domain specific languages, and novel compiler optimisations to support them.
3. Algorithmic improvements. There has been work on meta-learning and online learning in the wider community, but comparatively little attention has been paid to how the proposed techniques perform when methods for reducing their computational and memory footprint are applied.
4. New applications. For example, page replacement is one area where it makes sense to incorporate sophisticated logic as handling a page fault can take several milliseconds.

Significant work has already been devoted to optimising systems for running machine learning (ML) workloads. This work involves the inverse concept: applying ML to systems, to automatically optimise systems for their usage patterns. Given the imminent failure of Moore's Law, this is an important subject to research as it has the potential to allow us to utilise existing hardware more efficiently.

The project aligns with the Artificial Intelligence EPSRC ICT research direction; no industrial collaborations are planned at this stage.

Publications

10 25 50

Studentship Projects

Project Reference Relationship Related To Start End Student Name
EP/N509711/1 01/10/2016 30/09/2021
2219651 Studentship EP/N509711/1 01/10/2019 30/09/2020 Shyam Tailor
EP/R513295/1 01/10/2018 30/09/2023
2219651 Studentship EP/R513295/1 01/10/2019 30/09/2020 Shyam Tailor