27-12-2017, 01:16 AM
رایانش موازی یا محاسبات موازی به اجرای همزمان یک برنامه (که به بخشهای کوچکتری تقسیم شدهاست) بر روی چند پردازنده به منظور دستیابی به سرعت بیشتر اطلاق میشود. ایدهٔ اصلی این است که فرایند حل یک مسئله را معمولاً میتوان به زیروظایف خردتری تقسیم کرد که با اجرای همزمان این زیروظایف و هماهنگ کردن آنها مسئله اصلی در زمان کوتاهتری حل میشود.
تعریف[ویرایش]
یک سیستم محاسبات موازی رایانه ایست با بیش از یک پردازنده که برای پردازش موازی استفاده میشود. در گذشته، در یک سیستم چندپردازنده هر پردازنده در یک بستهبندی جداگانه قرار داشت، اما امروزه با معرفی تراشههای چندهستهای، چندین پردازنده در کنار یکدیگر در یک بسته قرار میگیرند. در حال حاضر انواع بسیار گوناگونی از رایانههای موازی وجود دارند که بر اساس نوع اتصالات بین پردازندهها و حافظه از یکدیگر متمایز میشوند. ردهبندی Flynn که یکی از پذیرفتهشدهترین ردهبندیها برای رایانههای موازی است، رایانههای موازی را بر این اساس طبقهبندی میکند که آیا شامل پردازندههایی هستند که همگی همزمان یک دستور یکسان را روی دادههای متفاوتی اجرا میکنند (یک دستور چند داده SIMD: Single Instruction Multiple Data) و یا هر پردازنده دستور متفاوتی را روی دادههایی متفاوت اجرا میکند (چند دستور چند داده MIMD: Multiple Instruction Multiple Data).
تفاوت پردازش موازی با پردازش همروندی و چندکارگی[ویرایش]
مفهوم همروندی به معنی این است که چند عمل وجود دارند و آنها به طور همزمان باهم درحال اجرا هستند و میتوان وقفه ای در یک عمل صورت بگیرد و به طور کلی عمل متوقف شود.همروندی در علوم رایانه در سامانههایی پیش میآید که در آنها چند پردازش محاسباتی همزمان اجرا میشوند و با یکدیگر اندرکنش دارند (ناحیه بحرانی دارند). مطالعه همروندی محدوده وسیعی از سامانهها را دربرمیگیرد، از سامانههای رایانش موازی سخت-درگیر و بسیار همزمان گرفته تا سامانههای توزیعشده ناهمزمان سست-درگیر. حال آنکه در پردازش موازی ، عمل اصلی وقتی به چند عمل کوچک تر تقسیم میشود ، این عمل ها میتوانند از هم مستقل باشند.به عنوان مثال اگر دو نخ یا دو پردازه همزمان درحال اجرا روی یک هسته پردازنده باشند، این مفهوم همروندی ست اما اگر دو نخ یا دو پردازه همزمان درحال اجرا روی دو هسته پردازنده باشند، این مفهوم موازیست.
چندکارگی یا چندوظیفگی اجرای همزمان دو یا چند کار و وظیفهٔ رایانهای از سوی واحد پردازش مرکزی است.
مراحل کار به صورت زیر میباشد: ۱- پردازنده یک سیگنال وقفه دریافت مینماید. ۲- پس از دریافت سیگنال وقفه توسط پردازنده، پردازنده کاری را که در حال انجامش است را متوقف نموده و تا آن نقطهای که آن کار را انجام داده ذخیره مینماید تا در زمان مقتضی به ادامه کار قبلی از همان نقطه توقف یافته بازگردد. ۳- پردازنده به سراغ دستگاه یا برنامه درخواست کننده وقفه رفته و دستور را برای پردازش فراخوانی مینماید. ۴- بعد از پردازش یک دستور از مرحله قبل، وقفه برای زمانبندی فراخوان میدهد
تعریف[ویرایش]
یک سیستم محاسبات موازی رایانه ایست با بیش از یک پردازنده که برای پردازش موازی استفاده میشود. در گذشته، در یک سیستم چندپردازنده هر پردازنده در یک بستهبندی جداگانه قرار داشت، اما امروزه با معرفی تراشههای چندهستهای، چندین پردازنده در کنار یکدیگر در یک بسته قرار میگیرند. در حال حاضر انواع بسیار گوناگونی از رایانههای موازی وجود دارند که بر اساس نوع اتصالات بین پردازندهها و حافظه از یکدیگر متمایز میشوند. ردهبندی Flynn که یکی از پذیرفتهشدهترین ردهبندیها برای رایانههای موازی است، رایانههای موازی را بر این اساس طبقهبندی میکند که آیا شامل پردازندههایی هستند که همگی همزمان یک دستور یکسان را روی دادههای متفاوتی اجرا میکنند (یک دستور چند داده SIMD: Single Instruction Multiple Data) و یا هر پردازنده دستور متفاوتی را روی دادههایی متفاوت اجرا میکند (چند دستور چند داده MIMD: Multiple Instruction Multiple Data).
تفاوت پردازش موازی با پردازش همروندی و چندکارگی[ویرایش]
مفهوم همروندی به معنی این است که چند عمل وجود دارند و آنها به طور همزمان باهم درحال اجرا هستند و میتوان وقفه ای در یک عمل صورت بگیرد و به طور کلی عمل متوقف شود.همروندی در علوم رایانه در سامانههایی پیش میآید که در آنها چند پردازش محاسباتی همزمان اجرا میشوند و با یکدیگر اندرکنش دارند (ناحیه بحرانی دارند). مطالعه همروندی محدوده وسیعی از سامانهها را دربرمیگیرد، از سامانههای رایانش موازی سخت-درگیر و بسیار همزمان گرفته تا سامانههای توزیعشده ناهمزمان سست-درگیر. حال آنکه در پردازش موازی ، عمل اصلی وقتی به چند عمل کوچک تر تقسیم میشود ، این عمل ها میتوانند از هم مستقل باشند.به عنوان مثال اگر دو نخ یا دو پردازه همزمان درحال اجرا روی یک هسته پردازنده باشند، این مفهوم همروندی ست اما اگر دو نخ یا دو پردازه همزمان درحال اجرا روی دو هسته پردازنده باشند، این مفهوم موازیست.
چندکارگی یا چندوظیفگی اجرای همزمان دو یا چند کار و وظیفهٔ رایانهای از سوی واحد پردازش مرکزی است.
مراحل کار به صورت زیر میباشد: ۱- پردازنده یک سیگنال وقفه دریافت مینماید. ۲- پس از دریافت سیگنال وقفه توسط پردازنده، پردازنده کاری را که در حال انجامش است را متوقف نموده و تا آن نقطهای که آن کار را انجام داده ذخیره مینماید تا در زمان مقتضی به ادامه کار قبلی از همان نقطه توقف یافته بازگردد. ۳- پردازنده به سراغ دستگاه یا برنامه درخواست کننده وقفه رفته و دستور را برای پردازش فراخوانی مینماید. ۴- بعد از پردازش یک دستور از مرحله قبل، وقفه برای زمانبندی فراخوان میدهد