JavaZone 2011 - Breaking the [Amdahl's] law! Effective use of the fork-join framework in Java SE 7
The reality of today's chip architectures s that rather than seeing ever increasing clock speeds we now see ever increasing core counts. This has a significant impact on how we write efficient code since we now need to design for parallel operations to get the best from our hardware. Concurrent programming is hard to get right, especially when faced with early Java support in the form of the sleep, interrupt, wait and notify methods along with synchronised blocks and methods with a single monitor per object. Java SE 5 started the process of enhancing Java's support for parallel programming with the concurrency APIs. Java SE 7 includes the latest revisions to this in the form of the fork-join framework (also known as JSR-166y).
This session will look at how the fork-join framework can greatly simplify the code required to process a set of tasks that can be distributed among a number of parallel processing units. We'll look at some good examples for effective use of the framework as well as one that is not suited and provide some hints on what to do in this case.
Simon Ritter
Simon Ritter is a Java Technology Evangelist at Oracle Corporation. Simon has been in the IT business since 1984 and holds a Bachelor of Science degree in Physics from Brunel University in the U.K.
Originally working in the area of UNIX development for AT&T UNIX System Labs and then Novell, Simon moved to Sun in 1996. At this time he started working with Java technology and has spent time working both in Java technology development and consultancy. Having moved to Oracle as part of the Sun acquisition he now specialises in looking at emerging technologies including cloud computing, wireless sensor networks, and gestural interfaces.
