Research

I currently research in the UC Berkeley Network Systems laboratory. My previous and current work deal mainly with distributed systems and its optimization and stability. During the summer I will also be looking at topics in congestion control.

Most of my work is implemented in Python, Javascript, and Go, althought I have additionally used C and Ruby. Service level knowledge include Docker, Kubernetes, and AWS.

ThrottleBot

The ThrottleBot project aims to minimize the cost to deploy a distributed system by minimizing resource allocation while maintaining or even improving performance. It automatically cuts down on overprovisioned resources and alleviates underprovisioned ones, packing the system into the minimum number of nodes required. Currently under submission @ OSDI.

Triggers

Operators running a distributed system can enforce properties (i.e. fault tolerance of a distributed database) specifying a set of even driven triggers that perform an action (i.e. move worker if more than 50% of workers on same machine) when activated. When systems become complex, these triggers may have unintended and troublesome effects when used together, most notably nonconvergence or unbounded growth. The triggers project aims to detect these before deployment.

Performance-orientated Congestion Control

PCC is a new online learning algorithm for congestion control that uses gradient ascent to converge to the opimtal sending rate. The goal of this project is to study the behavior of PCC under environemnts with variable non-uniform random loss.