Home

Chair's Message

Making High-Speed Networks Faster

Diane Pozefsky Named to WITI Hall of Fame

How You Can Support the CS Department

Alumni Fellowship Recipient

Alumni News

Department News

Family Matters

Recent Publications

The Back Page

Alumni Fellowship Recipient - Stephen Olivier

Stephen Olivier

 

Stephen Olivier is the recipient of the 2011-2012 Computer Science Alumni Fellowship. This fellowship is awarded annually to a Ph.D. candidate in his or her final year of study, allowing the student to work full time on dissertation research. Generous contributions by alumni and friends help to make this fellowship possible.

Power and speed-of-light limitations have given us processors that offer multiple computing cores instead of a single, but faster, processor. Hence parallel execution is now the principal route to increased performance. However parallel programming models are still quite rudimentary and oriented toward details of the parallel processor architectures rather than addressing parallelism in a problem-centric framework. Task parallel programming is a high-level shared memory programming paradigm well suited to the construction of adaptive and recursive algorithms in scientific computing and other areas. The computation to be performed is presented in the form of interdependent tasks created in the course of program execution in an input-dependent fashion that often cannot be analyzed a priori.

Stephen is working with Professor Jan Prins to develop efficient task scheduling strategies that balance load among the processors while preserving locality of reference among tasks on modern shared memory systems, with their complex cache hierarchies and non-uniform memory access characteristics. A subset of these strategies is transparent to the programmer, while others allow the programmer to express explicit locality constraints to inform the scheduler. Working with Alan Porterfield at RENCI, Stephen has implemented his task schedulers using the open-source Qthreads multi-threading library, distributed by Sandia National Laboratories, to run full-size task parallel applications expressed using the OpenMP standard.

Evaluations demonstrate improvement in parallel speedup on benchmark OpenMP task parallel applications over existing state-of-the-art schedulers in the Intel and GNU OpenMP run time systems. Stephen has also developed performance analysis techniques to measure run time overheads, non-local data access costs, and load imbalance. His Unbalanced Tree Search (UTS) benchmark evaluates the scalability of dynamic load balancing strategies on a wide range of parallel systems, from multi-core machines to clusters of thousands of processors.