About me
I am an Assistant Professor of Computer Science at Caltech where I am a member of the Lee Center for Advanced Networking, the Center for the Mathematics of Information (CMI), and the Social and Information Sciences Laboratory (SISL). These three centers are all part of the Information Science and Technology (IST) program at Caltech.
I received my Ph.D. in Computer Science from Carnegie Mellon in 2007, under the supervision of Mor Harchol-Balter. I have also served as a visiting researcher at the EURANDOM Institute, located at the Eindhoven University of Technology in the Netherlands.
My research
I am a member of the Rigorous System Design Group (RSRG, pronounced "resurge") at Caltech. RSRG is not your ordinary systems group -- it is distinguished by it's rigorous/analytic approach to design. Everyone in the group both derives new theory and builds systems.
My particular focus is best described as:
"Better design through modeling and measurement"
My research focuses on using mathematical models to provide insight into the design of computer systems. I apply analytic models and tools that are traditionally used in the operations research community in order to evaluate the impact of design decisions in systems such as web servers, server farms, routers, databases, and beyond. My work applies and often extends techniques in stochastic modeling, queueing theory, scheduling theory, and game theory.
Here are some examples of the problems I work on:
-
When balancing energy usage and performance, how fast should the server run?
No longer is "faster" always "better." Modern systems must trade off speed and energy concerns: running faster lowers delays but increases power usage. So, the question is, how fast should the system run? and how much improvement does dynamic speed scaling provide? Our answers... -
How do the load balancer and the back-end scheduler interact in server farms?
Server farms are now ubiquitous and almost all use some form of load balancing dispatcher. But, how far is load balancing from optimal dispatching, and how does the answer depend on the back-end scheduler? Further, how should the server farm architecture change depending on the back-end scheduler? Our answers... -
How unfairly are large jobs treated when small jobs are given priority?
Modern designs for web servers, routers, etc often improve user response times by giving priority to small job sizes. But, this leads to worries about whether large job sizes receive fair performance. So, we need to ask: How much does giving priority to requests for small files starve large files? Our answers... -
Can we benefit from taking a non-cooperative approach to cooperative control problems?
Distributed cooperative control problems are everywhere, and are especially important in wireless and sensor network applications. Designing robust distributed control algorithms is especially challenging. We propose an inherently robust approach to distributed control that is based on formulating the distributed agents as selfish players in a non-cooperative, engineered game. But, then the question is how to design the game so that the performance of the system is near-optimal? Our answers... How many servers are optimal in a multiserver system?
Given the choice between many (cheap) slow servers and a few (expensive) fast servers, how can you decide which is better? What properties of the workload determine the answer? Our answers...Should I use an open or closed workload generator?
Workload generators are an invaluable resource for evaluating the performance of new designs, and you probably use one all the time. Do you know whether the one you use is open or closed? How big a difference does this make? And, how can you decide whether to use an open, closed, or partly-open model? Our answers...
For more information about these and other current projects go here.
Professional service
Program Committee and Related
- Program Committee: Newton Institute SCS
- Conference Chair: YEQT-III
- Program Committee: ACM HotMetrics 2009
- Program Committee: ACM GreenMetrics 2009
- Program Committee: Net-COOP 2009
- Program Committee: IEEE ITC 2009
- Program Chair: IEEE ICCCN 2009 Network Algorithms and Performance Evaluation Track
- Program Committee: IEEE MASCOTS 2009
- Conference Webmaster: ACM/IFIP SIGMETRICS/Performance 2009
- Program Committee: ACM/IFIP SIGMETRICS/Performance 2009
- Discussant: ACM HotMetrics 2008
- Program Committee: ACM SIGMETRICS 2008
- Publicity Chair: ACM SIGMETRICS 2008
- Program Committee: IEEE MASCOTS 2008
- Conference Webmaster ACM SIGMETRICS 2007
- Program Committee: ACM SIGMETRICS 2007
- Best Paper Committee: ACM SIGMETRICS 2007
Invited Journal Referee (each journal listed only once)
- Journal of the ACM (JACM)
- IEEE Trans. on Networking (ToN)
- Operations Research (OR)
- J. of Algorithms (JoA)
- J. of Scheduling (JoS)
- Performance Evaluation (PEVA)
- Queuing Systems: Theory and Applications (QUESTA)
- Computer Networks (COMNET)
- J. of Parallel and Distributed Computing (JPDC)
- Operations Research Letters
- Applied Mathematics Letters
- Performance Evaluation Review (PER)
- Wiley Encyclopedia of Operations Research and Management Science
Invited Conference Referee (each conference listed only once)