CSE Seminar, A Case for Runtime Adaptation using Cross-Layer Approaches
Add to Google Calendar
Modern computer system designers must consider many more factors than raw
performance of individual applications. Thermal output, power consumption,
reliability, heterogeneity, and dynamic resource contention have become
first-order concerns. Yet many of these issues are transient in nature, are
difficult to predict, and are expensive to completely avoid. These
observations point toward the potential benefits of adaptive systems that
detect and react to changing conditions as they arise.
An effective runtime adaptation framework can directly benefit from
information gathered by various system layers. Unfortunately, research
efforts in optimizing computer systems have historically targeted a single
logical layer in the system stack, whether it has been optimization of the
hardware (microarchitectures or circuits), the middleware (operating systems
and virtual machines), or the software (static and dynamic compilation). A
true adaptive system requires coordination of all layers to be effective, as
these cross-layer solutions leverage the strengths of each layer. While
hardware is ideal for detecting thermal emergencies, for instance, the
middleware has a global view of the runtime environment, including resource
contention and observed process heterogeneity, and the software has a global
view of the opportunities for permanent code-based solutions that leverage
In this talk, I will make a case for dynamic adaptation as a solution for
several modern architectural and system challenges, such as voltage noise,
heterogeneity, and resource contention. I will discuss our research efforts
in integrating the strengths of each design layer to provide cohesive,
symbiotic solutions to these challenges. At the core of this work is the Pin
dynamic instrumentation system, which we use to collate information gathered
from the various system layers and to perform run-time code transformations.
I will therefore discuss the myriad of implementation challenges we
encountered when developing, optimizing, and supporting Pin. Finally, I
will highlight the numerous benefits of runtime adaptation moving forward.
Kim Hazelwood is an Assistant Professor of Computer Science at the
University of Virginia. She works at the boundary between hardware and
software, with research efforts focusing on computer architecture, run-time
optimizations, and the implementation and applications of virtual execution
environments. She received a Ph.D. from Harvard University in 2004. Since
then, she has become widely known for her active contributions to the Pin
dynamic instrumentation system, which allows users to easily inject
arbitrary code into existing program binaries at run time (www.pintool.org).
Pin is widely used throughout industry and academia to investigate new
approaches to program introspection, optimization, security, and
architectural design. It has been downloaded over 50,000 times and cited in
over 800 publications since it was released in July 2004. Kim has published
over 40 peer-reviewed articles related to computer architecture and
virtualization. She has served on two dozen program committees, including
ISCA, PLDI, MICRO, and PACT, and was the program chair of CGO 2010. Kim is
the recipient of numerous awards, including the FEST Distinguished Young
Investigator Award for Excellence in Science and Technology, an NSF CAREER
Award, a Woodrow Wilson Career Enhancement Fellowship, the Anita Borg Early
Career Award, and MIT Technology Review's Top 35 Innovators under 35 award.
She has received research awards from Microsoft, Google, NSF, and the SRC.
Her research has been featured in Computer World, ZDNet, EE Times, Slashdot,
and Technology Review.