A Java Fork-Join Framework- Divideand- conquer Algorithm
Abdourahmane SENGHOR, Karim KONATE
Journal of Information Technology Review, Vol. 4, No. 1, 2013.
DOI: 
Link: http://www.dline.info/jitr/fulltext/v4n1/1.pdf
Abstract:
Before Java Fork-Join framework implementation, the only way to parallelize recursive application in java was done in a naÃƒÂ¯ve way, which consists of creating as many threads as existing tasks. However, javar introduced the cutdepth parameter that consists of limiting the creations of the number of threads, but does not allow benefiting from fine-grain parallelism. The purpose of this article is to design and implement a performing compiler for parallelizing Java application with divideand- conquer algorithm. The compiler includes directives and environment variables. It is built around Java ForkJoin framework, which is directly integrated within Java 1.7 version and imported as archive library in Java 1.6 and 1.5 versions. This compiler tends to make easier and less error-prone the parallelization of recursive applications. Although in Java ForkJoin Framework there are two user-level performance parameters , which are the number of threads and the threshold, our compiler introduces another user-level performance parameter which is the MaxDepth corresponding to the maximum of depth before which parallel execution is enforced and after which sequential execution is enforced. This allows balancing between fine-grain and coarse-grain parallelisms. Experimental results are presented and discussed.