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.
perfLab@caltech
"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:
-
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? Do analytical results about scheduling hold in practice?
The policies used in real systems often differ significantly from the idealized policies studied analytically. Thus, the results proven about idealized policies cannot be immediately applied to real systems. So, we need to understand: How close is the performance of the policies used in practice to the performance of the idealized policies studied analytically?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?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?
For more information about these and other current research projects in my group, go here.
Professional service
Program Committee and Related
- 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)
Invited Conference Referee (each conference listed only once)