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
چکیده
معماریهای چند هستهای کنونی با توجه به کارایی آنها، و پردازش همزمان کارآمد وظایف چندگانه محبوبیت یافتند. الگوریتمهای موازی امروزه برروی سیستمهای چند هستهای تمرکز کردهاند. طراحی الگوریتمهای موازی و سنجش کارایی، مسئله اصلی محیطهای چند هستهای میباشد. اگر خواهان اجرای سریعتر یک نرمافزار باشیم، نرمافزار باید به زیر وظایفی از نخها برای ارائه نتیجه مطلوب تقسیم شود. مسائل عددی، به خصوص حل سیستم معادلات خطی، نرمافزارهای علمی و مهندسی فراوانی دارند. این مقاله الگوریتم موازی را برای محاسبه حل سیستم متراکم معادلات خطی و برای محاسبات تقریبی مقدار π بااستفاده از واسط OpenMP شرح میدهد و تحلیل میکند. کارایی (افزایش سرعت) الگوریتمهای موازی برروی سیستمهای چند هستهای ارائه شدهاست. نتایج آزمایشی برروی یک پردازنده چند هستهای نشان میدهد که الگوریتم موازی ارائهشده کارایی خوبی (افزایش سرعت) در مقایسه با الگوریتمهای ترتیبی بدست آوردهاند.
1-مقدمه
برای مشاهده حالت موازی در نرمافزارهای توسعه یافته، تعدادی از ابزارها در دسترس هستند. چندنخی بودن یک تکنیک است که اجازه اجرای نخهای متعدد را به صورت موازی صادر میکند. معماری کامپیوتری به دو گروه تقسیم شدهاست: سطح داده و سطح دستورالعمل. این گروهبندی توسط طبقهبندی Flynn [1] ارائه شدهاست. کارایی نرمافزارهای موازی میتواند بااستفاده از تکنولوژی چند هستهای بدستآید.
تکنولوژی چند هستهای به معنی این است که بیش از یک هسته در یک چپپ واحد وجود دارد. این راهی را به سمت محاسبات موازی؛ جایی که بخشهای متعدد یک برنامه به صورت موازی در یک زمان اجرا میشوند، باز میکند. فاکتور تحریککننده طراحی الگوریتم موازی برای سیستمهای چند هستهای "کارایی" است. کارایی الگوریتم موازی نسبت به تعداد هستههای در دسترس در سیستم، تاخیر از هستهای به هسته دیگر، طراحی سلسله مراتب حافظه، و هزینههای همگامسازی حساس است. ابزار توسعه نرمافزار باید تغییراتی را اعمال کنند لذا کارایی نرمافزار برای بدستآوردن مزایایی از قانون Moore ادامه مییابد...