Speaker Thomas Ball and Ganesh Gopalakrishnan
Affiliation MSR, University of Utah
Host Judith Bishop
Date recorded 13 April 2011
Multicore computers are now the norm. Taking advantage of multiple cores requires parallel and concurrent programming. There is therefore a pressing need for courses that teach effective programming on multicore architectures. We believe that such courses should emphasize high-level abstractions for performance and correctness and be supported by tools. We present a set of freely available course materials for parallel and concurrent programming, along with a testing tool for performance and correctness concerns called Alpaca (A Lovely Parallelism And Concurrency Analyzer). These course materials can be used for a comprehensive parallel and concurrent programming course, a la carte throughout an existing curriculum, or as starting points for in-depth graduate special topics courses. We also discuss tradeoffs we made in terms of what to include in course materials.
©2011 Microsoft Corporation. All rights reserved.