سیستم پردازش موازی به چه صورتی عمل می کند؟
پردازش موازی یک روش مهم در بهبود عملکرد سیستمهای محاسباتی است که برای انجام وظایف پیچیده و حجیم بسیار موثر میباشد. این روش از چندین پردازنده یا هسته بهره میبرد تا وظایف را همزمان انجام دهد و زمان اجرای آنها را به طور چشمگیری کاهش دهد. با تقسیم کار بین پردازندهها، زمان انجام کارها به شکل چشمگیری کاهش مییابد و عملکرد سیستم بهبود مییابد. این روش برای کارهایی که به دلیل پیچیدگی و حجم بالای داده، با استفاده از یک پردازنده معمولی زمانبر هستند، موثر است. علاوه بر این، افزایش تعداد پردازندهها یا هستهها میتواند به راحتی انجام شود که این امر به مقیاسپذیری سیستم کمک میکند. از آنجا که کارها همزمان انجام میشوند، این روش بهبود کارآیی سیستم را نیز فراهم میکند.
هنگامی که پردازش به صورت موازی و همزمان صورت میگیرد، یک کار بزرگ به چندین کار کوچکتر تقسیم می شود که برای تعداد، اندازه و نوع واحدهای پردازشی موجود مناسب تر است. در گام بعد، پردازندهها در قسمت خود بدون تداخل با بقیه پردازندهها آغاز به کار می کنند. به منظور ارتباط با یکدیگر، آنها از نرم افزار مدیریت کننده استفاده می کنند تا از نحوه انجام وظایف خود مطلع شوند. پس از پردازش تمام بخشهای برنامه، نتیجه یک بخش برنامه کاملاً پردازش شده است.
دو نوع پردازش موازی وجود دارد: دانه ریز و دانه درشت. وظایف چندین بار در ثانیه در موازی سازی دانه ریز با یکدیگر ارتباط برقرار می کنند تا نتایج را در زمان واقعی یا بسیار نزدیک به زمان واقعی ارائه دهند. سرعت آهسته تر فرآیندهای موازی دانه درشت ناشی از ارتباط کم آنهاست.
یک سیستم پردازش موازی می تواند داده ها را به طور همزمان پردازش کند تا وظایف را با سرعت بیشتری انجام دهد. برای مثال، سیستم می تواند فرمان بعدی را از حافظه بگیرد، زیرا فرمان فعلی توسط واحد حسابی-منطقی پردازنده مرکزی (ALU) پردازش می شود. هدف اصلی پردازش موازی افزایش قدرت پردازش کامپیوتر و افزایش توان عملیاتی یا افزایش حجم کاری است که در یک زمان مشخص انجام می شود. می توان از بسیاری از واحدهای عملکردی برای ایجاد یک سیستم پردازش موازی با انجام فعالیت های مشابه یا غیرمشابه به طور همزمان بهره جست.
هر CPU معمولاً هنگام خواندن داده ها از حافظه رایانه، طبق دستور عمل می کند و وظایف موازی را انجام می دهد. پردازنده ها همچنین از نرم افزار مدیریت کننده برای برقراری ارتباط و پیگیری تغییرات در مقادیر داده ها استفاده خواهند کرد. پس از انجام یک کار، نرم افزار تمام قطعات داده را با هم قرار می دهد، با این فرض که همه پردازنده ها هماهنگ هستند. اگر کامپیوترها برای تشکیل یک خوشه به شبکه متصل شده باشند، می توان از آنهایی که چندین پردازنده ندارند برای محاسبات موازی استفاده کرد.
.
نحوه عملکرد سیستم پردازش موازی
سیستم پردازش موازی به صورتی عمل میکند که یک کار پیچیده به چندین بخش تقسیم شده و هر بخش به یک پردازنده اختصاص داده میشود. سپس هر پردازنده بخش مربوطه را به صورت موازی حل میکند. هر پردازنده به طور همزمان کار میکند و عملیاتها را طبق دستورالعمل انجام میدهد و دادهها را از حافظه سیستم بیرون میکشد. همچنین، برای برقراری ارتباط میان پردازندهها، نرمافزار متخصصی به کار گرفته میشود تا بتواند تغییرات در دادهها را همگام کند. در صورتی که همه پردازندهها با یکدیگر هماهنگ باشند، در پایان عملیات، نرمافزار مذکور تمامی اجزای داده را بهطور کامل گردآوری و ترکیب میکند.
انواع پردازش موازی
- SIMD (Single Instruction, Multiple Data): در این نوع سیستم پردازش موازی، چندین پردازنده دستورات یکسانی را اجرا کرده و بر روی دادههای مختلف عمل میکنند. این روش معمولا برای پردازش مجموعه دادههای بزرگی که به یک الگوی مشترک میتوانند تجزیه و تحلیل شوند، استفاده میشود.
- MIMD (Multiple Instruction, Multiple Data): در MIMD، هر پردازنده دارای دستورات و دادههای مستقلی است. این نوع پردازش موازی برای مواقعی که دستورات و دادهها متنوع و مستقل از هم هستند، مناسب است. هر پردازنده میتواند دادهها را از جریانهای داده مختلف دریافت و پردازش کند.
- MISD (Multiple Instruction, Single Data): در این حالت، هر پردازنده از الگوریتمها یا دستورات متفاوتی برای یک مجموعه داده ورودی استفاده میکند. این نوع پردازش موازی کمتر معمول است و در موارد خاصی مورد استفاده قرار میگیرد.
کاربردهای پردازش موازی
امروزه پردازش موازی کاربرد وسیعی در اکثر فعالیتهای ما انسانها دارد. پرادزش موازی در طیف گسترده ای از صنایع، از جمله علوم، مهندسی، تحقیقات، تجاری و خرده فروشی مورد استفاده قرار می گیرد. چند مثال از کاربردهای آن به شرح زیر است:
رایانه های شخصی: پشتیبانی از عملکردهای روزانه مثل ویرایش ویدئو، موتور جستجو و جلسات ویدیویی
مدلسازی مالی: فراهم آوردن شرایط ارزیابی ریسک، شبیهسازی مالی سریعتر و پیچیدهتر و کشف تقلب در بخش مالی
پیش بینی آب و هوا: تفکیک یک ناحیه جغرافیایی به نواحی و بخشهای کوچکتر به منظور است بهره گیری از دینامیک سیالات محاسباتی (CFD)
تصویربرداری در پزشکی: پردازش تصاویر پزشکی مانند اشعه ایکس، ام آر آی و سی تی اسکن برای تشخیص و تجزیه و تحلیل و همچنین نتایج سریعتر و دقیق تر
تحقیقات علمی: استفاده از سیستم های محاسباتی موازی برای انجام عملیات روی مجموعه داده های بزرگ در سریع ترین زمان ممکن
داده های بزرگ: ردیابی، پردازش و نگه داری حجم زیادی از داده ها
رمزنگاری: ایجاد و کشف الگوریتم های رمزگذاری، کاهش زمان محاسبات و افزایش امنیت
سایر کاربردها: موتورهای جستجوی وب، هوش مصنوعی، اکتشاف نفت، شبیه سازی، طراحی دارویی و ...
سخن آخر
در طول تاریخ، توسعه سیستم پردازش موازی از مراحل مختلفی عبور کرده است. در این مسیر، انواع مختلفی از پردازش موازی معرفی شدند، از جمله SIMD، MIMD و MISD که هرکدام کاربردها و مزایا و معایب خاص خود را دارند. با پیشرفت فناوری و رشد نیازهای محاسباتی، انتظار میرود که پردازش موازی به عنوان یکی از راهکارهای اصلی برای بهبود کارایی و عملکرد سیستمهای محاسباتی، به صورت مداوم در آینده نیز توسعه یابد و نقش مهمی را ایفا کند.