Mor Harchol-Balter,
Dr. Bruce J. Nelson Professor of Computer Science

Department of Computer Science
Carnegie Mellon University
Pittsburgh, PA 15213

Office: Gates Hall 7207
Phone: (412) 268-7893
Fax: (412) 268-5576

Exec. Assistant: Patricia Loring (GHC 7025)

      Finally Here!



CV (in pdf)


Introduction for students: Link to my upcoming IC talk slides 2021

I am interested in the performance analysis and design of computer systems, particularly distributed systems. I use analytical models to capture the important characteristics of a computer system, and then I prove theorems about these models that allow me to redesign the system to improve its performance. Here "performance" might denote response time, energy use, throughput, capacity, etc. Most of my research involves inventing new analytical techniques in the area of performance analysis, as well as new algorithms for resource allocation.

Unlike many theoretical computer scientists, my analysis is based on stochastic (probabilistic) models of computer systems. There is no "adversary" sending us worst-case inputs. By contrast, there is a stream of requests, whose arrival times and service demands come from empirically fitted distributions. These distributions might be correlated, and they often exhibit heavy tailed service demands and high variability.

I believe that many conventional wisdoms on which we base computer system designs are not well understood and sometimes false, leading to inferior designs. My research revisits very classic questions in system design. Here are a few examples of commonly-held beliefs that my research challenges:

Research Specifics:

I work on the design and performance analysis of computer systems including both theory and implementation:

Theoretical work on Algorithms and Analysis: Queueing behavior and stochastic analysis of resource allocation in distributed computer systems. Load sharing policies, routing policies, cycle stealing, replication algorithms, power-efficient policies, threshold policies, and multi-class/multi-server prioritization. Fairness metrics in scheduling. Correlated arrival processes, and analysis under high-variability workloads. Known for ``All-Can-Win Theorem'', demonstrating that scheduling policies which are biased towards favoring small jobs can also be preferable to large jobs.

Stochastic Analysis & Queueing Techniques: : Developing new methods for stochastic analysis. Examples include: (i) Recursive Dimensionality Reduction (RDR), a technique that allows one to reduce a Markov chain that grows unboundedly in many dimensions to a Markov chain that grows unboundedly in only one dimension, by using the idea of busy period transitions; (ii) Recursive Renewal Reward (RRR) and Clearing Analysis on Phases (CAP) , techniques that allow one to obtain closed-form solutions for many one-dimensional infinite repeating Markov chains, including the M/M/k with setup chain; (iii) Exact analysis of Replication Systems: the first exact solution (in product-form) for replication systems, involving any number of servers, and number of classes, and any degree of replication.

Computer systems implementation: Resource management in data centers and other distributed systems. Implementation of QoS tail latency guarantees for flows in networked storage systems, based on techniques from Deterministic Network Calculus and Stochastic Network Calculus (PriorityMeister and SNC-Meister). Online scheduling of jobs with heterogeneous preferences in data centers with heterogeneous servers (TetriSched). Dynamic power management in multi-tier data centers (AutoScale). Scheduling of Memory Controllers (ATLAS). Pricing and queueing optimizations for cloud services. Kernel-level connection scheduling in Web servers. Solutions for coping with transient overload in Web servers. QoS for e-commerce applications involving the backend database. Prioritization mechanisms for OLTP transactions in database servers. Job scheduling in supercomputing centers.

Modeling and Workload characterization: Known for the discovery of Pareto heavy-tailed distribution of UNIX process CPU lifetimes. Statistical characterization of workloads including UNIX processes, web, OLTP, supercomputing, memory workloads, and parallel jobs.




Graduated PhD STUDENTS



QTNA 2019, YEQT 2018, 40th Dutch Queueing Colloquium 2018, MIT LIDS Student Conference 2017, CanQueue 2016, ACM SIGMETRICS 2016, ICDCS 2015, GreenMetrics 2014, MASCOTS 2008, SIPEW 2008, Lunteren Conference 2007, ORSIS 2007.

ANNUAL TALK on Applying to Ph.D. Programs in Computer Science (pdf) .