Many researchers have contributed their brilliance to the group, and I couldn’t be more appreciative. See a description of their research below. This represents a snapshot of their contributions, but they’ve all gone on to do even more amazing things after the lab.
The lab has been lucky enough that some have maintained tight contact, and continued contributing to the lab and to future researchers. For example:
If you’re interested in interacting with or contributing to the lab in any way, please contact Gabe!
Post-docs and Visiting researchers:
Gedare Bloom (PhD, ’12; Post-Doc ’13). Gedare taught the OS class before I was at GWU, and contributed significantly to its success. As a PhD student, he innovated the concept of hardware data-structures that are a potential answer to what to spend transistors on in the post-moore’s law world. He was the primary research on the Lockdown OS that provided fine-grained principal of least privilege. He is now a tenure-track professor at University of Colorado at Colorado Springs
Vlad Nitu (Visiting researcher, ’18). Vlad worked on the system support for Network Function Virtualization (NFV), and the concept of Feather-Weight Processes (FWPs) for very fast, per-client instantiating (on the order of 50 microseconds). His contributions were integral in the success of EdgeOS. He was co-advised with Tim Wood and Alain Tchana, did a Post-Doc @ ETHZurich, and is now an amazing Junior Researcher at The French National Centre for Scientific Research.
Doctoral:
Runyu Pan (PhD, ’21). Runyu was the first researcher in the lab to focus on microcontrollers (i.e. small systems with on the order of 128KiB SRAM and 2MiB of Flash). He brought an extensive background to the lab and did deep work on increasing the security of microcontrollers. His goal was to show that even on these very resource constrained systems, heightened isolation can be provided without overheads over bare-metal RTOSes. He showed this by
As such, he has shown that from performance and predictability perspectives, bare-metal RTOSes with no isolation are antiquated. He created what is, at the time, the only capability-based microkernel running on microcontrollers!
Runyu is now an Assistant Professor at the Foshan University.
Phani Kishore Gadepalli (PhD, ’20). Phani worked on a huge number of complex systems. They all revolved around providing facilities for increased isolation for heightened system security and predictability. These include:
He is now a researcher at VMWare working on the ESX kernel.
Yuxin Ren (PhD, ’19). Yuxin is capable of extreme debugging feats, while deeply understanding a great many different fields. He has a unique mind that can master both breadth and depth. His research was broad and included:
Bounded Incoherence that provides an alternative to hardware cache coherency on massive systems that is based on RCU-like programming, and a quescence model based on the selective and explicit flushing of cache-lines. He performed this work on massive systems provided by collaborators at HPE (thanks Dejan Milojicic!). This is, by far the hardest system to simply get working that I’ve been involved with, and it is a massive testament to Yuxin’s will and capability that he got it working.
He took the idea one further, and implemented the Ch’i microkernel extensions on Composite. These enable a microkernel to execute across non-coherent racks (think: rackscale) with a single-system image. Specifically, we enabled the capability-based access control to be consistent and shared between nodes.
He improved on some of Qi’s work with predictable and scalable memory reclamation. This enabled multiple versions of quescence that all provided guarantees in the time it takes to quesce, and the amount of memory being quesced, while scaling to an increasing number of cores. He demonstrated scalabilities for memcached far beyond that of the stock implementation, and made his code public in parsec.
He created a novel OS architecture designed for the edge called EdgeOS. This system enables throughputs and latencies significantly better than Linux, while providing exceedingly strong per-client (not per-tenant) isolation. Performance is high enough to support Network Function (NF) computations. This prevents, by design, the security issues that come from compromising processes. It uses a unique design with a memory copy accelerator to copy memory between NFs, thus eliding any shared memory.
His first project was cbufs, a high-performance shared memory system to pass arguments between isolated components in a generic manner. It uses full-system garbage collection to support multiple borrow/reference models.
Yuxin was co-advised with Tim Wood, and is now a Senior Researcher at FutureWei Research Lab.
Jiguo Song (PhD ’17). Jiguo’s thesis fairly exhaustively studied how we could implement micro-reboots (of single components in the system) upon their failure, while still enabling the overall system to continue execution. This is quite challenging as a system-level component (e.g. scheduler, memory manager, or file system) that reboots knows nothing about how the other components in the system were interacting with it. A failed scheduler must somehow know about the threads that area already executing in the system! As such, Jiguo studied the computational crash cart which tracked inter-component communication to rebuild a rebooting component’s state automatically. He created a language to declaratively program the smart interfaces (superglue) that conducted this recovery. Finally, he created a system, C’Mon that logged and timestamped all component interactions, and processed them versus a model of acceptable system execution to detect latent faults. This was a strong, and cohesive set of research that, I believe, redefined the boundaries of fault recovery in system services. Jiguo is one of the hardest working researchers I’ve met, and his willingness to push into and adapt to unknown areas (network calculus, modelling atmospheric ionization, and compilers) is spectacular.
Jiguo is now a researcher at Ford Research.
Qi Wang (PhD ’15). Qi is one of the strongest system designers and implementers I’ve had the pleasure to work with. His research focused around OS design for predictable, scalable systems. Multi-core scalability enables functionality to increase in aggregate performance in proportion to an added number of cores. Most systems cannot achieve this as shared, modified cache-lines (i.e. for locks) cause coherence overheads. Qi’s work makes a stronger statement that in the worst-case execution pattern, the system will still scale and individual operations will demonstrate predictable overheads.
Qi is now a researcher at Facebook.
James Taylor (PhD ’18). James work on time-consistent simulation, though his thesis was on other topics. I was the co-advisor with Evan Drumwright as his main advisor. James is thankfully an amazing Professor of Practice at GWU whom is integral in preparing our CS Freshmen for the latter years.
James Marshall (PhD, ’19). James has done stellar work on POSIX modular redundancy, and on hardware fault modeling and analysis. I was his co-advisor with Rahul Simha as his main advisor. James is now sending his ideas into space at NASA Goddard.
I’ve worked with many researchers at the Masters and Undergraduate levels, and eventually I’ll get around to spelling out their many contributions, but for now I have to list a terse summary.
Masters:
Undergraduates:
If you’re on this list, and would like me to link your name to a site, let me know.