Quick link: Guy Steele talk on design for parallel processing

View: New views
1 Messages — Rating Filter:   Alert me  

Quick link: Guy Steele talk on design for parallel processing

by Kevin Reid-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

"Organizing Functional Code for Parallel Execution
or, foldl and foldr Considered Slightly Harmful"

<http://research.sun.com/projects/plrg/Publications/ICFPAugust2009Steele.pdf 
 >

First three slides:

> The Big Messages
>
> • Effective parallelism uses trees.
> • Associative combining operators are good.
> • MapReduce is good. Catamorphisms are good.
> • There are systematic strategies for parallelizing superficially  
> sequential code.
> • We must lose the “accumulator” paradigm and emphasize “divide-and-
> conquer.”

> This Talk Is about Performance
>
> The bag of programming tricks that has served us so well for the  
> last 50 years is the wrong way to think going forward and must be  
> thrown out.

> Why?
>
> • Good sequential code minimizes total number of operations.
> > Clever tricks to reuse previously computed results.
> > Good parallel code often performs redundant operations to reduce  
> communication.
> • Good sequential algorithms minimize space usage.
> > Clever tricks to reuse storage.
> > Good parallel code often requires extra space to permit temporal  
> decoupling.
> • Sequential idioms stress linear problem decomposition.
> > Process one thing at a time and accumulate results.
> > Good parallel code usually requires multiway problem decomposition  
> and multiway aggregation of results.

--
Kevin Reid                                  <http://switchb.org/kpreid/>




_______________________________________________
e-lang mailing list
e-lang@...
http://www.eros-os.org/mailman/listinfo/e-lang