Research and Academic Activities
While at KTH, my research focused on the benchmarking and performance analysis of Edge Computing infrastructures and the applications deployed on them, in particular with respect to human-in-the-loop applications and cyber-physical systems. Specifically, my activities can be described along three main tracks:
The modeling and performance evaluation of immersive, highly-interactive human-in-the-loop applications such as Wearable Cognitive Assistance deployed on Edge Computing infrastructure. This track was developed in tight collaboration with the Elijah Group in the Computer Science Dept. at Carnegie Mellon University, Pittsburgh, PA, led by professors Mahadev Satyanarayanan, Ph.D. and Roberta L. Klatzky, Ph.D.
The modeling and performance evaluation of critical, latency-bound cyber-physical systems such as closed-loop control, and the feasibility of deploying these systems on Edge Computing setups. This track was developed within the context of the Trustworthy Edge Computing Systems and Applications (TECoSA) collaboration, primarily in the Predictability Focus Group.
The design, development, and implementation of the Experimental Platform for Edge Computing Applications (ExPECA) testbed, the first highly reprogrammable wireless networking and edge computing testbed in Sweden. You can find more details about this project below.
My doctoral advisor was Prof. James Gross.
This work culminated in my Ph.D. dissertation titled "An Emulation-Based Performance Evaluation Methodology for Edge Computing and Latency Sensitive Applications". An online version of this publication can be found at KTH's official database..
Experimental Platform for Edge Computing Applications (ExPECA)
ExPECA is an SSF-funded infrastructure project targeting the development and provisioning of an edge computing infrastructure for research into novel applications and network architectures. It is owned and developed by Dr. James Gross' group at the division of Information Science and Engineering of the School of Electrical Engineering and Computer Science at KTH. The project has preliminary run-time from 2019 to 2022.
Today's data networks and cloud-computing infrastructure are highly optimized toward common applications with downlink-dominant network traffic characteristics, such as web-browsing and video- and music streaming, that prioritize bandwidth over responsiveness. However, they are unsuitable for novel emerging closed-loop applications, such as networked control systems or immersive AR, which have completely different traffic characteristics and require extremely low round-trip latencies. This has led to the emergence of a new distributed computing paradigm which aims to deploy networked computing resources as close to the application as possible. Known as Edge Computing, this paradigm is quickly becoming reality together with new networking technologies (5G, beyond-5G) which further benefit these highly latency-constrained applications.
However, while it is widely understood that Edge Computing brings much-needed improvements in performance, little is known yet about the detailed characteristics of these systems and their implications for applications. Essentially, there is a gap between theoretical work and the achievable performance of edge computing systems in practice, a gap that must be bridged before these systems can become a widespread reality.
Our goal with the ExPECA testbed is to bridge this gap. We provide a cluster of hardware-reconfigurable general-purpose computing nodes interconnected using managed switches and Software-Defined Radios. This allows us to quickly, on-the-fly, and in an automated fashion change the characteristics of the cluster and the network, in order to study different Edge- and Cloud-computing deployments and the applications that run on them.
My responsibilities within the development of the ExPECA project can be described as:
Main responsible for the development of the upper software layer of the testbed. Broadly speaking, the software architecture of ExPECA can be split into two main layers:
- The lower layer, which operates close to the hardware, managing components such as switching equipment and the Software-Defined Radios.
- The aforementioned upper layer, which operates on the hardware configuration deployed by the lower layer, and handles the configuration of the computing nodes and deployment of containerized applications to the testbed.
In this context, I wrote software for automated configuration of the Linux networking stack on the compute nodes, instantiation of cloud resources, establishment of VPN connections, and deployment of containers on a Docker Swarm cluster.
Co-architect of the testbed. This includes computing devices and auxiliary management devices (logging servers, remote access, etc), as well as network equipment and layout design (switching, routing, DNS, etc).
Main responsible for the development of application use-cases for the testbed. This goes in hand with my main track of research relating to the modeling and performance evaluation of immersive, highly-interactive human-in-the-loop and closed-loop applications on Edge Computing infrastructure.
Past Academic Activities
Lecturer and TA duties
- Spring 2022:
- EQ2443/EQ2444/EQ2445 Project in Information Engineering/Communication Engineering/Multimedia Processing and Analysis.
CC4303 Computer Networks (remote)
2018 - 2019: EQ1120 Discrete Time Signals and Systems.