Monday, May 24, 2010

Qualitative Evaluation Criteria for Parallel Programming Models

by Christopher D. Krieger, Andrew Stone, Michelle Mills Strout, Colorado State University


  1. Programming parallel machines has always been difficult, but the new multicore reality has triggered significant research projects such as those part of the DARPA HPCS challenge that put forth programmer productivity as on par with performance. Since programming models are crucial in supporting the programming of parallel machines, this raises the question of how the PLDI community should evaluate programming models along the productivity and performance dimensions. We argue that there is a rough correlation between tangling and reduced programmer productivity and between programmer control and performance. To encourage the separation of algorithm and implementation details, we propose programmer control and tangling as two qualitative measures for evaluating programming model constructs. We show example categories within the tradeoff space of programmer control and tangling, and we suggest a methodology for using these qualitative measures for comparing programming models.