Applications
programmers do not need to write explicitly parallel programs Moderator: Professor Arvind, MIT Debaters: For the motion: Professor David August, Against the motion: Professor Keshav Pingali, Arvind’s position
statement Microprocessors with small
number of cores have become ubiquitous. The number of cores in a
microprocessor may track Please bring your own darts. Keshav Pingali's position statement: I believe explicitly parallel programming is
a necessary evil for applications programmers. It is true that explicitly
parallel programs are more complex to write, debug and maintain than
implicitly parallel programs (in which parallelism is managed automatically
by compilers, runtime systems and systems software). Nevertheless, I will
argue that there are applications that cannot be parallelized at compile-time
or runtime by automatic techniques; for these types of applications,
programmers must write explicitly parallel code if they want good performance
on multicore processors. I will also present
quantitative arguments to show that it is important to permit applications
programmers to express non-deterministic choice, and that a speculative model
is essential for exploiting parallelism in many programs. David August's position statement: Check back soon. |