Automatic and transparent offloading of computation to near-data processing units

Lead Research Organisation: University of Edinburgh
Department Name: Sch of Informatics


A lot of energy and time is wasted in modern computer systems on moving data to be processed between the memory hierarchy (which include main memory and storage) or input/output devices and the processor. Near-data processing (NDP) architectures have emerged, where there are specialized processing units located near to where the data is stored, e.g., smart SSD, smart memory, or where the data is received/sent, e.g. on a Network Interface Controller - smartNIC. NDP can access the data quicker and with a lot lower energy cost than requesting it from the central processor in the system, but adapting existing applications to these architectures requires considerable effort and often has to be reworked for each new system configuration.

The goal of my research project is to find an efficient solution for automatically transforming programs to run on near-data processing systems with minimal to no effort required from the programmer, hence transparently. It expands upon established techniques such as just-in-time compilation, data flow analysis and performance analysis to compute answers to questions: Which parts of a program would benefit from running on a given NDP processing units?, How to move the execution of the program with minimum time overhead to and from the NDP accelerator?

The approaches will be tested on existing commercially-available NDP hardware, like system memory and solid state disks with built-in processors. The process will involve benchmarking software ported manually to this hardware to determine which parts benefit most from offloading, characterizing those parts and implementing automatic detection and offloading of them, and then testing on a wider array of software to test the benefits of the discovered approaches.


10 25 50

Studentship Projects

Project Reference Relationship Related To Start End Student Name
EP/T517884/1 30/09/2020 29/09/2025
2425203 Studentship EP/T517884/1 31/08/2020 29/02/2024 Jakub Krzysztof Szewczyk