My research centers on the interplay of software and hardware in post-Moore systems — specialized systems comprising tightly integrated and co-designed hardware and software components. I am interested in the nascent challenges in designing, implementing, and maintaining post-Moore systems in different application domains; starting with data center network communication and machine learning systems. My research develops abstractions, tooling, and methodology for building efficient post-Moore systems and applications with manageable complexity and cost, through modular and re-usable components.
In my long-term research agenda, I envision a future where specialized, tightly integrated, and efficient post-Moore hardware-software systems can be rapidly and efficiently prototyped and evaluated.
My research is practical in nature, taking ideas all the way to full prototype implementations, building concrete solutions to problems in several domains, and resulting in top-tier operating systems, networking, and architecture publications (OSDI'20 distinguished artifact award, EuroSys'19, OSDI'18, NSDI'17, 2x ASPLOS'16) alongside substantial open source releases.
As processor performance in the post-Moore era continues to stagnate, satisfying the growing demand for more compute going forward requires radical changes throughout the systems stack. A proven strategy for continuing to achieve the required order-of-magnitude improvements is to move from today's general purpose platforms to post-Moore systems designed and optimized for specific problem domains. Currently, designing, implementing, and maintaining these systems is a complex, laborious, and risky process, accessible to few and only practical for the most computing intensive applications. I believe this is not fundamental, and have started to explore these challenges in the context of data centers before generalizing to other areas in the future.
I have structured my main research agenda into three complementary directions addressing different post-Moore systems challenges:
- Designing post-Moore systems to explore the design space for two application domains.
- Streamlining the evaluation of post-Moore systems.
- Enabling portability and modularity in the post-Moore era.