Low latency data processing
Big data is everywhere, and the underlying platforms must be able to support efficient data query and movement. This requires redesigning different layers of the data processing stack to extract…
Causality in distributed systems
Diagnosing problems in large systems has always been a challenging problem due to their complexity. Our project designs abstractions for tracking causal relationships between system states and their changes, and …
Today’s systems are filled with diversifying applications. Theoretically, application performance could be optimized by leveraging target specific software frameworks and domain specific hardware. However, these attempts rely on domain expertise …
Programmable in-network security
Our vision is to transform a programmable network into a “programmable defense infrastructure”, which supports security as naturally as it does routing. In this design, a switch not only forwards …
Runtime programmable networks
Programmable network devices are reconfigurable without hardware upgrades. However, deploying new network features requires expensive maintenance procedures (e.g., to isolate, reflash, and redeploy network devices), which take careful planning over …