Energy-Driven Computing
My research is rethinking the design of power-constrained embedded systems, where the available energy, its dynamics, and its consumption, are a primary design parameter. Much of my research in this area is concerned with managing IoT-like devices powered from energy harvested from the environment (e.g. solar), and more recently has focussed on 'intermittently' powered systems which are unintentionally off for much of the time.
Embedded Machine Learning
Machine learning enables computers to learn from data they have previously observed, building models and using them to make decisions or predictions in the future. Embedding this into everyday objects - such as the Internet of Things (IoT) - requires processing data on electronic devices, but the computing power needed to cater for these machine learning models is too great for current low-energy handheld devices to manage. My research is addressing this, and enabling energy-efficient computation for intelligence.
Multi-Core Resource Management
Power- and energy-efficiency continues to be a primary concern in the design and management of computing systems, through from mobile devices (battery life and temperature) to HPC (electricity bills and temperature). Managing this is an increasingly complex task, as systems shift from having a single processing element to multi- and many-core computing platforms with numerous cores of differing types. My research is investigating runtime management (RTM) approaches to tackle this challenge.