Friday, February 12, 2010
2:00 PM
Computer Studies Bldg. 703
Chen Ding
Three Examples of Parallel Programming without Concurrency Constructs
Luke's recent proposal presentation (which all of the systems group should have attended) is a comprehensive examination of the semantics and implementation of concurrent programming using transactions. As a sequel, I will highlight the research in our BOP project on parallel programming without concurrency constructs such as barriers, transactions, critical sections, and (conditional) monitors. The benefit is sequential semantics but the challenge is parallel efficiency, a problem we address through the use of asynchronous, speculative, and possibly distributed implementation. I'll show the use of the basic BOP suggestion language to write high-level parallel code such as the safe version of Thies' pipeline (MIT, MICRO 2007) and Li-Wannacott time skewing (late 1990s). Since we are all good programmers, the talk will be organized through a series of three examples culminating in a non-trivial parallelization of a clustering algorithm.