Analysis of Parallelization Techniques and Tools
暂无分享,去创建一个
Parallel Computing solves computationally large problems by partitioning into multiple tasks and running simultaneously on multicore or multiprocessor environment based on shared or distributed memory architectures. New multicore era demands software programmer to develop parallel programs to completely utilize the hardware parallelism. Writing parallel program manually for complex problem is a tedious and time consuming process. Hence, automatic parallelization tools were evolved to automate the process of converting sequential code to parallel. Parallelization techniques like Dependency Analysis and Loop Parallelization plays a major role in parallelization process. This paper aims at providing brief survey of existing OpenMP based parallelization tools and also the anlaysis on the performance of two such tools on typical problems. The OpenMP directives based tools Cetus and Par4all are taken for our case studies. The performance of the automated parallelization on sample program were studied and analyzed in terms of execution time and speedup. The study revealed the conditions under which they could effectively parallelize the code and the conditions they could not handle as effectively as manual parallelization. Also many of the available parallelization tools are meant for shared memory hardware architecture and relatively a very few automated tools based on MPI are available for distributed memory architectures. The paper underscores the need for efficient parallelization tools supporting different parallel processing environments, with the ability to identify and exploit the parallelism by inserting parallel directives or APIs in serial programs. S. Prema & R. Jehadeesan 472
[1] Ronan Keryell,et al. Par4All: From Convex Array Regions to Heterogeneous Computing , 2012, HiPEAC 2012.
[2] Nadya Bliss,et al. Addressing the Multicore Trend with Automatic Parallelization , 2007 .
[3] Rudolf Eigenmann,et al. Cetus: A Source-to-Source Compiler Infrastructure for Multicores , 2009, Computer.
[4] David Kaeli,et al. Introduction to Parallel Programming , 2013 .