عنوان مقاله
تحلیل کارایی الگوریتمهای موازی برروی سیستمهای چند هستهای با استفاده از OpenMP
فهرست مطالب
مقدمه
کارهای مرتبط
برنامه نویسی درOpenMP
روش های ارائه شده
نتیجه گیری
بخشی از مقاله
ایجاد یک برنامه OpenMP
دستورات OpenMP میتواند در برنامهای که به کامپایلر میگویند که کدام دستورالعمل در حالت موازی اجرا شود و چگونه در میان نخها توزیع شود استفاده میشود. گام اول در ایجاد برنامه موازی، استفادهOpenMP از الگوریتم ترتیبی، شناسایی موازی بودن آن است. این نیازمند یافتن دستورالعملها، ترتیب دستورالعملها، یا بخش بزرگی از کدهایی است که میتواند به طور همزمان توسط پردازندههای متفاوت اجرا شوند.
کلمات کلیدی:
Performance Analysis of Parallel Algorithms on Multi-core System using OpenMP Sanjay Kumar Sharma1 , Dr. Kusum Gupta2 1Departemtne of Computer Science, Banasthali University, Rajasthan, India skumar2.sharma@gmail.com 1Departemtne of Computer Science, Banasthali University, Rajasthan, India gupta_kusum@yahoo.com Abstract The current multi-core architectures have become popular due to performance, and efficient processing of multiple tasks simultaneously. Today’s the parallel algorithms are focusing on multi-core systems. The design of parallel algorithm and performance measurement is the major issue on multi-core environment. If one wishes to execute a single application faster, then the application must be divided into subtask or threads to deliver desired result. Numerical problems, especially the solution of linear system of equation have many applications in science and engineering. This paper describes and analyzes the parallel algorithms for computing the solution of dense system of linear equations, and to approximately compute the value of π using OpenMP interface. The performances (speedup) of parallel algorithms on multi-core system have been presented. The experimental results on a multi-core processor show that the proposed parallel algorithms achieves good performance (speedup) compared to the sequential. Keyword Multi-core Architecture, OpenMP, Parallel algorithms, Performance analysis. 1. Introduction To see the parallelism in the developed applications, a number of tools available for them. Multithreading is the technique which is allow to execute multiple threads in parallel. The computer architecture has been classified into two categories: instruction level and data level. This classification is given by Flynn’s taxonomy [1]. Performance of parallel application can be achieved using Multi-core technology. Multi-core technology means having more than one core inside a single chip. This opens a way to the parallel computation, where multiple parts of a program are executed in parallel at same time [2]. The factor motivated the design of parallel algorithm for multi-core system is the performance. The performance of parallel algorithm is sensitive to number of cores available in the system, core to core latencies, memory hierarchy design, and synchronization costs. The software development tools must abstract these variations so that software performance continues to obtain the benefits of the Moore’s law. In multi-core environment the sequential computing paradigm is not good and inefficient, while the usual parallel computing may be suitable. One of the most important numerical problems is solution of system of linear equations. Systems of linear equations arise in the science domain