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 [1], benchmark suites [2], or datasets.

[1] MARS framework: Middleware for Adaptive Reflective Systems
[2] Chauffeur: Benchmark Suite for Design and End-to-End Analysis of Self-Driving Vehicles on Embedded Systems

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 [1][2].

[1] Donyanavard et al., CODES+ISSS’16
[2] Hernández et al., IROS’21

Runtime Decision-making

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 [1] or resource sharing [2][3][4].

[1] Shahhosseini et al., TECS’22
[2] Rahmani et al., ASPLOS’18
[3] Donyanavard et al., MICRO’19
[4] Maity et al., TECS’21