Swarthmore College Department of Computer Science

Talk by Saturnino Garcia, University of California, San Diego

Helping Programmers Unlock the Parallelism in Existing Sequential Programs
Tue, February 7, 2012
SCI 240, 4:00 pm (refreshments at 3:45)


Abstract

For decades, programmers enjoyed a free lunch: their programs would become exponentially faster as new generations of processors were released, all with little-to-no changes. That free lunch is now over. The recent introduction of multi-core processors has shifted much of the burden onto programmers to ensure that their programs continue to get exponentially faster.

Multi-core processors derive a large part of their performance from exploiting parallelism, requiring today's programmers to be well-versed in parallel programming. Unfortunately, parallel programming is a notoriously difficult task, and many programmers struggle to introduce parallelism into their existing sequential (non-parallel) programs. Researchers have developed tools to ease parts of this task but they often overlook the critical, early stages where the programmer must locate parallelism and decipher if it can be profitably exploited. In this talk, I will talk about my research in creating automated tools to address these previously overlooked aspects of parallel programming. These tools employ dynamic program analysis to help programmers understand the potential benefit of creating a parallel version of their existing software and provide targeted advice about where they should focus on introducing parallelism.