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
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.
|