Computer Sciences Dept.

Joe Meehean

Former Graduate Student

I am a professor at Lynchburg College in Lynchburg, Virginia. My current web page can be found here.

In August of 2011, I received my PhD from the Computer Sciences Department at University of Wisconsin-Madison. My area of research is systems, with a focus on CPU scheduling under overload. Prior to earning a PhD, I received my BS in Comprehensive Computer Science from University of Wisconsin-Eau Claire in 2003 and my Masters Degree in Computer Sciences from University of Wisconsin-Madison in 2005. I was a member of the Condor Team 2004 to 2011 and a member of the ADSL from 2007 to 2011.

Dissertation Research

CPU Futures

CPU Futures is a system designed to enable application control of scheduling for server workloads, even during system overload. CPU Futures contains two components: a novel in-kernel herald that anticipates application CPU performance degradation and a user-level feedback controller that responds to these predictions on behalf of the application. In combination, these two subsystems enable fine-grained application control of scheduling; with this control applications can define their own policies for avoiding or mitigating performance degradation under overload. We implement CPU Futures within two different Linux schedulers, and show its utility by building two case studies on top of the system: Empathy, which limits the CPU interference caused by low-importance batch programs, and SheepDog, which prevents web requests from starving on a heavily-loaded web server. Through experiment, we find that CPU Futures are not only useful, but also have a low-overhead. [TechReport]


Harmony is a technique for extracting the multiprocessor scheduling policy from commodity operating systems. This technique combines high-level synthetic workloads with low-level instrumentation to fingerprint an operating system's multiprocessor scheduling policy. Harmony can be used to detect simple aspects of multiprocessor scheduling policy, like the expected latency in detecting processor load imbalances. This tool can also be used to infer information about more complex multiprocessor scheduling behavior, such as how heterogeneous workloads are distributed amongst processors. We demonstrate Harmony's ability to extract multiprocessor scheduling policy by performing an analysis of three Linux schedulers: O(1), CFS, and BFS. Using Harmony, we discover some interesting facets of multiprocessor scheduling policy under Linux. Most intriguing, perhaps, is BFS's policy of providing increased processor affinity to low priority processes.

Computer Sciences | UW Home