I gave an 80-minute "tech talk" and a 3-hour tutorial on parallel programming last week at SPLASH 2013 in Indianapolis. The audiences were modest but enthusiastic.
The tech talk was entitled:
This tutorial will introduce attendees to the various paradigms for creating algorithms that take advantage of the growing number of multicore processors, while avoiding the overhead of excessive synchronization overhead. Many of these approaches build upon the basic divide-and-conquer approach, while others might be said to use a multiply-and-conquer paradigm. Attendees will also learn the theory and practice of "work stealing," a multicore scheduling approach which is being adopted in numerous multicore languages and frameworks, and how classic work-list algorithms can be restructured to take best advantage of the load balancing inherent in work stealing. Finally, the tutorial will investigate some of the tradeoffs associated with different multicore storage management approaches, including task-local garbage collection and region-based storage management.
The tech talk was entitled:
Living without Pointers: Bringing Value Semantics to Object-Oriented Parallel Programming
Here is the summary:
The heavy use of pointers in modern object-oriented programming
languages interferes with the ability to adapt computations to the new
distributed and/or multicore architectures. This tech talk will
introduce an alternative pointer-free approach to object-oriented
programming, which dramatically simplifies adapting computations to the
new hardware architectures. This tech talk will illustrate the
pointer-free approach by demonstrating the transformation of two popular
object-oriented languages, one compiled, and one scripting, into
pointer-free languages, gaining easier adaptability to distributed
and/or multicore architectures, while retaining power and ease of use.
Here is a link to the presentation: http://bit.ly/sp13pf
The tutorial was entitled:
Multicore Programming using Divide-and-Conquer and Work Stealing
Here is the summary for the tutorial:
This tutorial will introduce attendees to the various paradigms for creating algorithms that take advantage of the growing number of multicore processors, while avoiding the overhead of excessive synchronization overhead. Many of these approaches build upon the basic divide-and-conquer approach, while others might be said to use a multiply-and-conquer paradigm. Attendees will also learn the theory and practice of "work stealing," a multicore scheduling approach which is being adopted in numerous multicore languages and frameworks, and how classic work-list algorithms can be restructured to take best advantage of the load balancing inherent in work stealing. Finally, the tutorial will investigate some of the tradeoffs associated with different multicore storage management approaches, including task-local garbage collection and region-based storage management.
Here is a link to the presentation: http://bit.ly/sp13mc
Comments welcome!
-Tuck
No comments:
Post a Comment