Parallelism patterns for Multi-core in Java
Version 1.0b2 of the Skandium Java Multi-core Library has been released at: http://skandium.niclabs.cl/
Skandium is a Java based Algorithmic Skeleton library for high-level parallel programming of multi-core architectures. Skandium provides basic nestable parallelism patterns, which can be composed to program more complex applications. The supported parallelism patterns are: farm (master-slave), pipe, for, while, if, map, fork, and divide and conquer.
To use the Skandium Library you should follow these steps (detailed in a Tutorial):
Identify the required skeleton patterns .
For example, the Map skeleton.
Fill the skeleton patterns with the application's functional (ie business) codes.
For Map this corresponds to three types of functions: Split, Execute, and Merge.
Define the data types, used to move data from one muscle to the next.
For example, we can define an Interval type used to represent the start and end positions. For the result of the computation we could use a standard Java type such as BigDecimal to represent the computation's result.
Input the data and wait for the results.
Which corresponds to the main thread's execution.