Rethinking Parallel Execution for Future Multicore Processors

Date and Time:

January 28, 2011 - 1:00pm - 2:00pm

Keynote Presentation

Presentation Abstract:

Parallel computers, once limited to a very small number of machines in dedicated server rooms, are now becoming ubiquitous; in a couple of years many cell phones will also have multicore processors. Both the research community and industry are desperately looking for ways in which to program and make effective use of multiple processors. The prevailing wisdom, based upon several decades of experience in high-end parallel machines, is that a static parallel program is required to achieve parallel execution. Yet as we look at the most successful commercial example of microprocessors, we see that they extract parallelism (albeit at an instruction level) from a statically sequential program. What are the lessons from the past for the future? This talk will argue that statically parallel programs are a poor choice for future parallel computing environments where there is expected to be diversity and anonymity in the hardware platforms on which the application is expected to run in parallel. We will present a novel model for parallel execution, one dynamically executes a statically sequential program in parallel (in a dataflow fashion) on multiple processors. We will present results that demonstrate its effectiveness obtained by executing benchmarks as per the model on existing commercial machines using stock compilers and operating systems.