This Article 
 Bibliographic References 
 Add to: 
Programming Multicores: Do Applications Programmers Need to Write Explicitly Parallel Programs?
May/June 2010 (vol. 30 no. 3)
pp. 19-33
Arvind, Massachusetts Institute of Technology
David August, Princeton University
Keshav Pingali, University of Texas at Austin
Derek Chiou, University of Texas at Austin
Resit Sendag, University of Rhode Island
Joshua J. Yi, University of Texas School of Law

In this panel discussion from the 2009 Workshop on Computer Architecture Research Directions, David August and Keshav Pingali debate whether explicitly parallel programming is a necessary evil for applications programmers, assess the current state of parallel programming models, and discuss possible routes toward finding the programming model for the multicore era.

1. M. Kulkarni et al., "Optimistic Parallelism Requires Abstractions," Proc. ACM SIGPLAN Conf. Programming Language Design and Implementation (PLDI 07), ACM Press, 2007, pp. 211-222.
2. M. Bridges et al., "Revisiting the Sequential Programming Model for Multi-Core," Proc. 40th Ann. IEEE/ACM Int'l Symp. Microarchitecture, IEEE CS Press, 2007, pp. 69-84.
3. L. Paul Chew, "Guaranteed-Quality Mesh Generation for Curved Surfaces," Proc. 9th Ann. Symp. Computational Geometry (SCG 93), ACM Press, 1993, pp. 274-280.
4. L. Hendren and A. Nicolau, "Parallelizing Programs with Recursive Data Structures," IEEE Trans. Parallel and Distributed Systems, vol. 1, no. 1, Jan. 1990, pp. 35-47.
5. M. Sagiv, T. Reps, and R. Wilhelm, "Solving Shape-Analysis Problems in Languages with Destructive Updating," ACM Trans. Programming Languages and Systems, vol. 20, no. 1, Jan. 1998, pp. 1-50.
6. M. Kulkarni et al., "Optimistic Parallelism Benefits from Data Partitioning," Proc. Conf. Architectural Support for Programming Languages and Operating Systems (ASPLOS 08), ACM Press, 2008, pp. 233-243.
7. M. Kulkarni et al., "Scheduling Strategies for Optimistic Parallel Execution of Irregular Programs," Proc. Symp. Parallelism in Algorithms and Architectures (SPAA 08), ACM Press, 2008, pp. 217-228.
8. D. Mehta ed., Handbook of Data Structures and Applications, Chapman and Hall, 2004.

Index Terms:
multicore programming, parallel programming, explicit parallelism, implicit parallelism, parallelizing compilers, dynamic parallelization, multiprocessors, multicores, hardware
Arvind , David August, Keshav Pingali, Derek Chiou, Resit Sendag, Joshua J. Yi, "Programming Multicores: Do Applications Programmers Need to Write Explicitly Parallel Programs?," IEEE Micro, vol. 30, no. 3, pp. 19-33, May-June 2010, doi:10.1109/MM.2010.54
Usage of this product signifies your acceptance of the Terms of Use.