پردازش موازی یک تکنیک محاسباتی است که به عنوان محاسبات موازی هم شناخته میشود. با این پردازش میتوان مسائل بزرگ را به مسائل کوچک تر تقسیم کرد سپس همزمان آن ها را حل نمود. محاسبات موازی نوعی رایانش است که در آن اکثر محاسبات یا فرایندها به طور همزمان انجام می شود. این مقاله کاربرد پردازش موازی و نمونههایی از عملکرد آن در دنیای واقعی را توضیح میدهد. این پردازش دو یا چند وظیفه را به طور همزمان بر روی چندین پردازنده اجرا میکند تا زمان پردازش های عظیم داده کاهش یابد.
پردازش موازی چیست؟
این پردازش روشی برای اجرای همزمان وظایف بر روی چندین ریز پردازنده به منظور افزایش سرعت علمکرد است. پردازش موازی ممکن است با یک کامپیوتر که دارای دو یا چند پردازنده CPU است، یا با چندین پردازنده کامپیوتری متصل از طریق یک شبکه کامپیوتری انجام شود. عمده کاربرد پردازش موازی این است که به افراد و همچنین مدیران شبکه و مراکز داده اجازه میدهد تا از رایانههای رومیزی و لپتاپ معمولی برای حل مشکلات پیچیدهای که زمانی به کمک یک ابر رایانه قدرتمند نیاز داشتند، استفاده کنند.
تا اواسط دهه 1990، رایانهها فقط میتوانستند دادهها را به صورت سریال پردازش کنند. اما امروزه اکثر سیستم عاملها نحوه کار چندین پردازنده را با هم مدیریت میکنند. اهمیت محاسبات موازی همراه با افزایش نیاز به نتایج فوری توسط نقاط پایانی اینترنت اشیا در حال رشد است. دسترسی آسان امروزی به پردازندهها و واحدهای پردازشگر گرافیکی (GPU) از طریق سرویسهای ابری، کاربرد پردازش های موازی را به یک ملاحظات مهم برای هر عرصه میکروسرویس تبدیل میکند.
پردازش موازی چگونه کار میکند؟
به طور کلی، این پردازش به تقسیم یک کار بین حداقل دو ریز پردازنده اشاره دارد. این ایده بسیار ساده است: یک دانشمند کامپیوتر از نرم افزار تخصصی ایجاد شده برای این کار استفاده میکند تا یک مشکل پیچیده را با اجزای آن تجزیه کند. سپس برای هر قسمت یک پردازنده خاص تعیین میکنند. برای تکمیل تمام مشکلات محاسباتی، هر پردازنده بخش خود را تکمیل میکند. نرم افزار دوباره دادهها را جمع میکند تا چالش اولیه پیچیده را حل کند. در پردازشموازی، یک کار پیچیده به چندین کار کوچکتر تقسیم میشود. پس از تقسیم کار، هر پردازنده به استثنای ارتباط مداوم، از طریق نرم افزار به منظور به روز ماندن، پردازندهها به طور مستقل از یکدیگر در قسمت خود شروع به کار میکند.
معماریهای پردازش موازی
• چند هستهای: مدار مجتمع (IC) دستگاه دارای دو یا چند هسته پردازش جداگانه است. که هر کدام میتوانند دستور العملهای برنامه را به صورت موازی اجرا کنند. معماریهای چند هستهای میتوانند همگن و دارای هستههای یکسان، یا ناهمگن و دارای هستههایی باشند که یکسان نیستند.
• متقارن: دو یا چند پردازنده مستقل و همگن توسط یک نمونه سیستم عامل کنترل میشوند که با همه پردازندهها به طور یکسان رفتار میکند.
• توزیع شده: پردازندهها بر روی دستگاههای مختلف شبکه قرار دارند که از طریق HTTP یا صفهای پیام، اقدامات لازم را با هم هماهنگ میکنند.
• انبوه محاسبات موازی: تعداد زیادی از پردازندههای کامیپوتری به طور همزمان مجموعهای از محاسبات را به صورت موازی اجرا میکنند.
• Loosely Coupled Multiprocessing: پردازندههای جداگانه با حافظه خود پیکربندی شدهاند و میتوانند برخی از دستور العملهای کاربر و سیستم عامل را به صورت مستقل از یکدیگر جدا کنند.
انواع پردازش موازی
در حال حاضر سه نوع پردازش موازی وجود دارد که بر اساس منبع دادهها و نوع پردازش آن دسته بندی میشوند.
پردازش دادههای چندگانه (MIMD):
هر مجموعه از پردازندهها دادههایی را که از منابع مختلف به دست میآیند، با پیروی از دستور العملها و الگوریتمهای منبع داده اجرا میکنند. یک کامپیوتر MIMD قادر است چندین کار را به طور همزمان اجرا کند. رایانههای MIMD نسبت به رایانههای SIMD سازگارتر هستند، توسعه الگوریتمهای پیچیدهای که این ماشینها را نیرو میدهند چالش برانگیزتر است.
دستور العملهای چندگانه، دادههای چندگانه یا MIMD، رایانهها با وجود پردازندههای متعدد مشخص میشوند که هر یک به طور مستقل میتوانند جریان دستور العمل خود را بپذیرند. این نوع کامپیوترها دارای پردازندههای زیادی هستند.
پردازش دادههای تک دستورالعمل چندگانه (MISD):
چندین پردازنده مجموعه دادههای یکسانی را دریافت میکنند اما به آنها دستور داده میشود که آنها را متفاوت پردازش کنند تا نتایج متنوعتری تولید کنند. در این نوع از پردازش موازی از چندین الگوریتم استفاده میشود که همه پردازندهها دادههای ورودی یکسانی را به اشتراک میگذارند. رایانههای MISD میتوانند به طور همزمان چندین عملیات را روی یک دسته از دادهها انجام دهند. همانطور که انتظار میرود، تعداد عملیات تحت تاثیر تعداد پردازندههای موجود است. ساختار MISD از واحدهای پردازش بسیاری تشکیل شده است که هر یک تحت دستور العملهای خود و بر روی یک جریان داده قابل مقایسه عمل میکنند.
پردازش دادههای چندگانه تک دستورالعمل (SIMD):
چندین پردازنده با استفاده از دستورالعملهای یکسان، کار یکسانی را برای تایید نتایج انجام میدهند. کامپیوترهایی که از معماری Single Instruction، Multiple Data (SIMD) استفاده میکنند دارای چندین پردازنده هستند که دستورالعملهای یکسانی را انجام میدهند. با این حال، هر پردازنده دستورالعملها را با مجموعه منحصر به فرد خود از دادهها ارائه میکند.
کامپیوترهای SIMD الگوریتم یکسانی را برای چندین مجموعه داده اعمال میکنند. معماری SIMD دارای اجزای پردازشی متعددی است. همه این اجزا تحت نظارت یک واحد کنترل قرار میگیرند. در حین پردازش تعداد زیادی داده، هر پردازنده دستور العمل یکسانی را از واحد کنترل دریافت میکند.
فرق پردازش موازی و پردازش همزمان
محاسبات موازی و پردازش همزمان اغلب با یکدیگر اشتباه گرفته میشوند زیرا هر دو بر روی پردازش چندین کار به طور همزمان کار میکنند. پردازش همزمان مشابه multitasking واقعی است، اما کارها به صورت همزمان تکمیل نمیشوند. اما در پردازش موازی کارها به صورت هم زمان انجام و تکمیل میشوند.
کاربردهای فعلی و آتی پردازش موازی
پردازش موازی در دستاوردهای بیشماری از اکتاشافات علمی، مانند: ساخت مدلهای کامپیوتری پیچیده برای ترسیم چگونگی گردش جرم به دور سیاه چاله تا پیش بینیهایی که به اقتصاد کمک میکنند، نقش دارد. در سال 2019، محققان دانشگاه ایلینویز از پردازش موازی استفاده کردند تا به وزارت کشاورزی ایالات متحده کمک کنند که با ترکیب دادههای بیشتر از قبل و پردازش آن در زمانهای بیسابقه، ویژگیهای محصول را با دقت بیشتری پیش بینی کنند. پردازش موازی نقش مهمی در توسعه و پیاده سازی الگوریتمهای یادگیری ماشین و برنامههای هوش مصنوعی ایفا میکند، زیرا به آنها اجازه میدهد سریعتر اجرا شوند، نقاط داده بیشتری را پردازش کنند و بینشهای دقیق و مفید بیشتری تولید کنند.
نمایش تصویری پردازش موازی و مشخص کردن عملکرد آن
پردازش موازی از دو یا چند پردازنده یا CPU به طور همزمان برای مدیریت اجزای مختلف یک فعالیت واحد استفاده میکند. سیستمها میتوانند زمان اجرای یک برنامه را با تقسیم بسیاری از بخشهای یک کار بین چندین پردازنده کاهش دهند. پردازندههای چند هستهای که اغلب در رایانههای مدرن یافت میشوند که هر سیستمی با بیش از یک CPU قادر به انجام پردازش موازی هست.
هدف اصلی پردازش موازی چیست؟
یک سیستم پردازش موازی میتواند دادهها را به صورت همزمان پردازش کند تا وظایف را با سرعت بیشتری انجام دهد. به عنوان مثال: سیستم میتواند دستور العمل بعدی را از حافظه دریافت کند، زیرا دستور العمل فعلی توسط CPUپردازش میشود. هدف اصلی پردازش موازی، افزایش قدرت پردازش کامپیوتر و افزایش توان عملیاتی یا افزایش حجم کاری است که میتوان در یک زمان معین انجام داد. میتوان از بسیاری از واحدهای عملکردی برای ایجاد یک سیستم پردازش موازی با انجام فعالیتهای مشابه یا غیر مشابه به طور همزمان استفاده کرد.
نتیجه گیری
پردازش موازی برای عملیات سیستم معاصر ضروری است و از جریانهای متعدد وظایف پردازش دادهها از طریق چندین CPU که به طور همزمان کار میکنند پشتیبانی میکند. دانشمند کامپیوتر معمولا از یک ابزار نرم افزاری استفاده میکند تا یک کار پیچیده را به قسمتهای کوچکتر تقسیم کند و هر قسمت را به یک پردازنده اختصاص دهد. سپس هر پردازنده مسئله بخش خود را حل میکند و دادهها توسط یک ابزار نرم افزاری برای خواندن پاسخ یا انجام عملیات دوباره کنار هم قرار میگیرند.