SPA Conference session: Exploring parallel programming in Java

One-line description:Using Java 7's fork-join framework to develop multicore-friendly software
Session format: Long tutorial (330 mins) [read about the different session types]
Abstract:In order to gain performance improvements from multicore processors, software needs to use multiple threads or multiple processes. With the fork-join framework, Java 7 introduces an addition to the Java concurrency package that supports parallel programming in Java.

When developing software using a parallel framework, the resulting design is likely to differ from a solution that has been developed in a single-threaded style. This session explores how parallel programming affects the design of software. It also allows participants to reflect on the impact of parallel programming on unit testing and test driven development.

After an introduction into the new concurrency classes coming with Java 7, participants work on three exercises. One of the exercises is about refactoring an existing single-threaded design to take advantage of the fork-join framework.
Audience background:Participants should have a working knowledge of Java and come along with Java 7 installed on their machines.
Benefits of participating:Participants will gain hands-on experience with Java's new fork-join framework and understand its impact on unit testing and test driven development.
Materials provided:Introductory slides and exercises with proposed solutions.
Process:After an introduction into the new Java concurrency classes, participants form small groups or pairs to explore the exercises collaboratively.
Detailed timetable:00:00 - 00:30 : Introduction into Java 7's fork-join framework
00:30 - 01:00 : Installing Java 7 and the exercises

01:00 - 01:45 : Exercise 1
01:45 - 02:00 : Break

02:00 - 02:45 : Exercise 2
02:45 - 03:00 : Break

03:00 - 03:45 : Exercise 3
03:45 - 04:00 : Break

04:00 - 05:00 : Participants discuss their solutions and share observations
05:00 - 05:15 : Wrap up
History:This session has been held at the HerbstCampus 2011 conference in Nuremberg, Germany.
1. Wolf Schlegel
2. Fabian Koehler