On Aug 21st, I’ll give a keynote talk at IEEE HPCC 2014
Title: Parallel patterns, data-centric concurrency, and heterogeneous computing
Abstract: The shift toward multicore and many-core technologies has many drivers that are likely to sustain this trend for several years to come. Software technology is consequently changing: in the long term, writing parallel programs that are efficient, portable, and correct must be no more onerous than writing sequential programs. For many years parallel programming has not embraced much more than low-level synchronisation and communication libraries (and this scenario still persists for heterogeneous platforms). Algorithmic skeletons and parallel patterns have been proposed (in different communities) as a way to lift parallel programming in the hierarchy of abstractions. With, among the others, Google MapReduce and Intel TBB/CnC, they are becoming mainstream approaches for a number of platforms and applicative areas. We believe that pattern-based applications can be more or equally efficient as their low-level counterparts, provided they are supported by an efficient run-time support, able to efficiently address the weakness of parallel platforms: data movements.