Dr. Vince Weaver
Assistant Professor of Electrical and Computer Engineering
University of Maine
Tracking the sources of Performance Measurement Variation
For years computer software developers depended on "Moore's Law" (yearly increases in processor speed) to boost the performance of their programs. This is starting to change as hardware designers hit fundamental physical laws that have slowed the speed increases.
Instead of relying on improved hardware, performance improvements must instead come from analysis of program behavior followed by code optimization.
In order to properly optimize code, one must first understand the code's behavior. This is difficult on modern complex multi-processor systems. One powerful tool for this task is hardware performance counters: small registers available on most modern CPUs that report low-level system behavior. In order to properly utilize the counters one must validate their accuracy. In this talk I will describe sources of variation and non-determinism found at all levels of the computing stack that interfere with code analysis, from the programs themselves, performance analysis libraries, the operating system interface, and the performance counters themselves.
Vince Weaver obtained his B.S. in Electrical Engineering from the University of Maryland, College Park, in 2000. He went on to work at a start-up that made tablet PCs; this lasted until the dot-com crash of 2001.
After a brief time spent writing web-interfaces for legacy Fortran models for the US Army he returned to school and obtained his Ph.D. in Electrical and Computer Engineering from Cornell University in 2010, where he focused on Computer Architecture. He spent two years as a post-doctoral researcher at the University of Tennessee, Knoxville, working in Jack Dongarra's Innovative Computing Laboratory, where he was a primary developer of the widely-used PAPI performance analysis library. Currently he is an Assistant Professor of Electrical and Computer Engineering at the University of Maine where his research focuses on hardware performance counters, embedded systems, and high performance computing.
Invited by Professor Sebastian Fischmeister