My current research focus is on resource-aware autonomy. My goal is to enable practical deployment of realtime applications requiring environmental knowledge, such as fully autonomous mobile devices or extended reality devices, on commodity hardware. I plan to achieve this by utilizing next-generation wireless networking to connect end-edge-cloud systems, and adding cross-layer intelligence to balance system constraints, like energy efficiency, with application requirements, like latency or safety. I categorize the process to conduct this research into three pillars, outlined below.
Instrumentation and Data Collection
The first pillar consists of instrumenting applications and systems in order to measure their behavior, collect data, and ultimately evaluate solutions. We achieve this by modifying existing applications or operating systems, or generating standalone applications in Python or C++. Typical outcomes include open-source tools , benchmark suites , or datasets.
Data Analysis and Modeling
The second pillar builds on the data collected from the instrumentations. We use statistical methods to identify useful patterns in the data collected to understand the relationship between inputs, application, system, and measured behavior. Typical outcomes include predictive models of application behavior .
The third pillar builds on the behavioral models and analysis. We define optimization problems based on application goals and system constraints, and solve them at runtime in order to operate the system and application in the most efficient and effective way, given dynamic inputs and environments. Typical outcomes include runtime policies for computational offloading  or resource sharing .