We design architectures and system software that coordinate CPUs, accelerators, networks, and storage so that large-scale HPC systems can execute workloads efficiently under power constraints.
Our group studies how to build high-performance, reliable, and energy-efficient computing systems, from supercomputers to cloud platforms and embedded systems. We take a cross-layer approach covering hardware architecture, operating systems, compilers, and algorithms.
Computing
Research Overview
We aim at “high-quality computing” that balances performance, reliability, and energy efficiency.
Our key questions include:
- How can we run supercomputers and cloud systems faster with less energy?
- How can we make accelerators (GPU / FPGA / DSA) easier to use for programmers?
- How can OS and network stacks cooperate with microservice-based cloud applications?
Research Topics
Modern web services are often built from many small microservices running in Linux containers. We study OS, container runtimes, and network stacks to reduce their overhead and improve performance and efficiency.
Domain-specific architectures provide custom hardware for specific application domains such as machine learning, shortest-path search, or network processing. We work on accelerator design as well as compilers and runtimes that make them usable in real systems.