I have accepted an assistant professor position at Swarthmore College starting in Fall 2013!
You can find up to date information about me at my new homepage.
I'm a sixth-year Ph.D. student in Computer Science working in the Systems and Networking Group at the University of California, San Diego. My advisors are Alex Snoeren and Ken Yocum. I earned my Master of Science in Computer Science from UCSD in 2010 and my Bachelor of Science in Computer Science from Georgia Tech in 2007.
My CV contains a summary of the information here.
I'm the Master TA for the CSE department this academic year (2012-2013).
I'm the instructor of record for CSE 91 (Perspectives in Computer Science), winter 2013. (Moodle Page)
I was the head TA for CSE120 (Operating Systems), fall 2012.
I was the instructor of record for CSE120 (Operating Systems) in summer session 1, 2012.
I was a TA for CSE120 (Operating Systems), winter 2012.
I was a TA for CSE223b (Distributed Systems), spring 2011.
I was a TA for CS4270 (Internet Lab) at Georgia Tech in the spring of 2007.
My general research interests are in software defined networks, distributed systems, cloud computing, operating systems, and parallel computation.
I'm also interested in computer science education research, specifically in assessment and interactive teaching methods.
Blender / Topology Switching
Current data center networks present a one-size-fits-all forwarding scheme to applications. Topology switching aims to give applications more control over their network resources without relying on a full traffic matrix. For additional information, see our workshop paper or contact me!
We've implemented the idea in a system called Blender, which enables mixing multiple network performance isolation models on a shared physical infrastructure. The corresponding paper is currently under review.
Operating Systems Concept Inventory
Operating systems courses frequently present students with multiple approaches to solve a problem, often with opposing trade-offs. While students are more than capable of memorizing the details of competing approaches, we built an assessment tool that shows that they often struggle to recommend a specific approach and analyze its implications when presented with a conceptual scenario. We're preparing a paper of our results for submission to ICER in 2013.
Cloud Tenant Segregation
In the summer of 2011, I did an internship at HP Labs with Jean Tourrilhes and other members of the NCL lab on a system for tenant segregation in cloud networks.
Distributed Rate Limiting (DRL)
Provisioning and accounting for resource usage in cloud computing environments is a challenging technical problem. Distributed Rate Limiting provides a cost control mechanism whereby multiple traffic limiters work together to enforce a global rate limit across multiple sites. My work has been in building a fully-functional implementation of DRL for use in the PlanetLab research testbed. Many production Planetlab nodes are now using DRL to enforce their site-wide rate limits!
I previously worked on the Continuous Bulk Processing (CBP) project, whose goal is to build support for incremental data processing into large-scale distributed processing systems like MapReduce.
As an intern for Microsoft Research, I worked on the Fluxo service compiler project. Fluxo aims to construct a large, scalable Internet service from a high-level specification in a manner that is analogous to traditional program compilation.
Mace Model Checker
Mace is a language that simplifies the development of distributed systems by allowing developers to specify their system as a event-driven state machine. One of the compelling tools in the Mace package is the model checker, which is capable of detecting safety and liveness violations in the logic of Mace programs. I helped to extend the Mace model checker to run in parallel on large clusters and supercomputers.
Disruption Tolerant Networking (DTN)
As an undergrad, I worked with Ellen Zegura on her Disruption Tolerant Networking project. The goal of DTN is to provide reliable network connectivity in the absence of typical communication infrastructure. I was responsible for building a cross-platform DTN implementation for use on PDAs, phones, and other hand-held equipment.
K. Webb, B. Vattikonda, K. Yocum, and A. Snoeren. "Wide-Area Group Membership for Tightly-Coupled Services". UC San Diego Technical Report CS2012-0973, February 2012. (pdf)
D. Logothetis, C. Trezzo, K. Webb, and K. Yocum. "In-situ MapReduce for Log Processing". USENIX Annual Technical Conference (ATC), June 2011. (pdf)
K. Webb, A. Snoeren, and K. Yocum. "Topology Switching for Data Center Networks". Workshop on Hot Topics in Management of Internet, Cloud and Enterprise Networks and Services (Hot-ICE), March 2011. (pdf)
E. Kiciman, B. Livshits, M. Musuvathi, and K. Webb. "Fluxo: A System for Internet Service Programming by Non-expert Developers". ACM Symposium on Cloud Computing (SOCC), June 2010. (pdf)
D. Logothetis, C. Olston, B. Reed, K. Webb, and K. Yocum. "Stateful Bulk Processing for Incremental Algorithms". ACM Symposium on Cloud Computing (SOCC), June 2010. (pdf)
My hobbies include cactus gardening, woodworking, wheel-thrown ceramics, and strategy games. I built the arcade machine that's now in the UCSD CSE grad student lounge!
Department of Computer Science & Engineering
University of California, San Diego
9500 Gilman Drive, MC 0404
La Jolla, Ca 92093-0404
Office: 3146 CSE