University of Cambridge > > Wednesday Seminars - Department of Computer Science and Technology  > Multi-core programming with automatic parallelisation

Multi-core programming with automatic parallelisation

Add to your list(s) Download to your calendar using vCal

If you have a question about this talk, please contact Timothy G. Griffin.

The “free lunch” of exponentially increasing sequential software performance is said to be over: all major processor manufacturers are chasing increasing degrees of hardware parallelism instead of ever-higher clock speeds. We need parallel software to make good use of these processors, but parallel programming has a notoriously steep learning curve. What can the computer science research community do to make things easier?

One tempting approach is to automatically build parallel implementations from sequential programs. This led to a lot of work in the 1980s in the functional programming community, and the exploration of data-flow processor architectures that could exploit the very fine grained parallelism that was achieved. In this talk I’ll describe some work we’ve been doing returning to this question and investigating whether we can achieve automatic parallelisation of software when using today’s multi-core processors.

Our approach is to (i) profile the execution of a program, (ii) from this to identify pieces of work which are promising sources of parallelism, (iii) use spare processor cores to speculatively perform this work, (iv) detect at run-time any attempt to perform operations that would reveal the presence of speculation. Our results show 10-80% speed-ups on several programs. This is clearly not a replacement for careful manual parallelisation, but may provide a way of squeezing out a little extra performance without much effort: free coffee, if not a free lunch.

This talk is part of the Wednesday Seminars - Department of Computer Science and Technology series.

Tell a friend about this talk:

This talk is included in these lists:

Note that ex-directory lists are not shown.


© 2006-2023, University of Cambridge. Contact Us | Help and Documentation | Privacy and Publicity