Fork/Join and Akka: parallelizing the Java platform
Abstract
Parallelism and concurrency are hot topics. Everyone has seen the graphs showing that processor clock speeds are stagnating, so performance has to be gained by utilizing multiple cores efficiently. Luckily, the Java platform helps us with that: in Java 7, the Fork/Join framework has been added to the core libraries. This framework helps us as developers to split up large amounts of work and parallelize the execution. Fork/Join relieves us from dealing with painful details such as how these chunks of work should be scheduled and executed, so that all cores are efficiently utilized. In this session we introduce the inner workings of the Fork/Join framework, accompanied with relevant examples to explore the API.
However, Fork/Join is no silver bullet when it comes to scaling computation, and it is somewhat low-level. Therefore we will also look at how it compares to other techniques such as Map-Reduce and of course good-old threads. Additionally, we look at Akka, a cutting edge Scala library (which also comes with an explicitly supported Java API) for highly concurrent systems. Akka 2.0 offers many tools in the concurrency toolbox ranging from actors to dataflow concurrency. After this session you will be up to speed again on concurrency and parallelism on the Java platform!
Speaker: Sander Mak
After getting his master's degree in Software Technology, Sander became a software developer/architect specializing in Java EE and application integration at Info Support, The Netherlands. He loves sharing knowledge, for example by writing for the Dutch Java Magazine and presenting at Java conferences. Sander also was invited to speak at Oracle's Java 7 launch events in The Netherlands in 2011. His passion for Java, alternative JVM languages and related technologies knows no bounds!