DataSys: Data-Intensive Distributed Systems LaboratoryData-Intensive Distributed Systems Laboratory

Illinois Institute of Technology
Department of Computer Science

Project -- Operating Systems & Computer Architecture (Kyle Hale)

Coalescent Computing: The increased prevalence of edge systems and mobile devices, along with the development of disaggregated hardware present a unique opportunity for users to leverage on-demand, ephemeral, virtual infrastructure to augment their mobile devices. We call this vision Coalescent Computing, and Hale’s lab is currently working to realize it. This project involves extensive experimentation of existing single-system image (SSI) based operating systems, experimentation with cloud offloading frameworks, and wireless experimentation, as well as development of novel OS, virtualization, and hardware technologies. We will leverage CHI@Edge for wireless experimentation of Coalescent Computing systems.

Hardware Acceleration for Serverless Computing: Current serverless platforms leverage lightweight container systems for fielding application function invocations. However, these systems typically rely on commodity software stacks not optimized for single-function execution. Hale’s group has been investigating custom software frameworks based on novel virtualization techniques to create fully isolated, low-latency serverless functions. This project involves expanding on these systems and additionally developing hardware accelerators for serverless infrastructure. There is significant opportunity for synergy between this effort and the funcX platform developed by PI Chard.

These projects, while ambitious, will be appropriate for undergraduates with general computer systems experience, but especially in computer architecture and operating systems. Students will leverage existing OS and architecture expertise present both in Hale's HExSA lab and at institutions with which the lab collaborates. It is expected that students working on these projects will develop a deep and practical understanding of low-level computer systems.