Sunday, September 27, 2009

Java Parallel Programming (Java 7.0)

Moore's law of computational power, that it will double every two years. It has been happening but by not same phenomenon of more transistors per CPU. Five years back, per CPU speed got stagnated to max 3.3GHrtz and since then computational giants are relying on more CPUs per CPU chip with brand name "Multi-Core". This hardware level change cant be ignored in VM language abstractions, instead developer has to wake up to this reality if they wish to utilize all computational power available to them. Coarse-grained thread model has worked excellent in mono-core to utilize mutli-core a fine-grained approach is must. Java SE 7 has a fantastic plan to bring it into a nice fashion for developers. Here is my take on it:

Fork and Join:
Fork and Join has been introduce in Java SE 7 to utilize multi-core capable machines of today. For this, basic is parallel computing where programmer needs to decompose application into units of work that can be executed concurrently. This decomposition can be based on either data or computing logic.


ParallelArray and Closure
Larger Data can benefit from parallel programming, smaller are fine with sequential approach. Parallel Programing Comping both at Enterprise and per Computing level. Similar concept is applied in MapReduce framework implemented in Hadoop and Gridgain.


References: 
ToDo:

0 comments:

Post a Comment