لگو وب سایت هوشمندان
جستجو

تکنیک های برنامه نویسی موازی

تکنیک های برنامه نویسی موازی برای پردازش داده های بزرگ

امروزه در دنیای مجازی، میزان پیشرفت در پردازش موازی و همچنین سرعت آن اهمیت فراوانی دارد. پردازش موازی مزایای زیادی از جمله کمک به کاهش زمان محاسبه، حل مسائل پیچیده در زمان کوتاه، غلبه بر محددیت های حافظه و از همه مهم تر صرفه اقتصادی دارد که این مزایا باعث شده که شرکت های زیادی در حال رقابت با یکدیگر باشند تا در این زمینه به موفقیت برسند و از همه مهم تر، بتوانند روز به روز، سرعت پردازش موازی را افزایش دهند. برای برنامه نویسی موازی ابتدا به روندهای پردازش موازی می پردازیم و سپس به بررسی مشکلاتی که در روند پردازش موازی با آن رو به رو هستیم، می پردازیم و شبکه های اتصال در سیستم های رایانه ای موازی را بررسی می کنیم و در پایان، به نگاشت، زمان بندی و مجازی سازی در پردازش موازی پرداخته می شود. با ما همراه باشید. 

روندهای پردازش موازی

کار با پردازش موازی در دهه نود با طرح ILLIAC IV، آغاز شد. دستگاه 64 پردازنده، که بعدها از طریق شرکت Burroughs Corporation ساخته و راه اندازی شد که دارای پردازنده هایی است که می تواند به طور همزمان یک دستور یکسان را روی داده های متفاوتی اجرا کند(SIMD:Signal Instruction Multiple Data) و همچنین هر پردازنده ای دستور متفاوتی را روی داده های متفاوت اجرا می کند( MIMD:Multiple Instruction Multiple Data). ابر رایانه های مدرن، که بیشترین ورودی داده ها را دارا هستند و دو بار در سال بروز می شوند، تمایل به استفاده از مدل MIMD DMMP دارند، به این معنی که از سطح بالایی از پیاده سازی مدل یکپارچه(رایانش خوشه ای) با دستورات متفاوت استفاده می کنند. همچنین از حافظه توزیع شده استفاده می کنند که در آن پردازنده ها دارای اجزای متفاوتی از فضای حافظه هستند. از ابر رایانه های برتر، برای انجام محاسبات عددی گسترده مربوط به اعداد ضریب شناور استفاده زیادی می شود. بنابراین، عملکرد کلی آن ها در عملیات عامل شناور مطابق با FLOPS اندازه گیری می شود. تا اواخر سال 2017، ابر رایانه برتر در سراسر جهان دارای عملکرد کلی ارتفاع صد و بیست و پنج PFLOPS (Peta FLOPS) و عملکرد کلی پایدار در 75 درصد ارتفاع بود.

بررسی مشکلات در روند پردازش موازی 

معماری های پردازش موازی طیف قابل توجهی از مشاغل را شامل می شود. در طول سال ها، بسیاری از مدهای پردازش موازی ارائه شده است تا افراد بتوانند به طور مناسب دارایی های پردازشی، پایانه و تبادل شفاهی را در کنار تعاملات آن ها ایجاد کنند 

موازی سازی داده ها شامل تقسیم بندی یک رکورد عظیم است که در بین بیش از یک گره پردازشی تنظیم شده است، و هر یک از آن ها قبل از همکاری با روش مخلوط کردن نتایج جزئی، بر روی تعداد زیادی رکورد اجرا می شوند. معمولاً در برنامه های گوناگون ضبط این مورد وجود دارد که مجموعه یکسانی از عملیات باید در هر مورد رکورد اجرا شود و پردازش SIMD را به بهترین جایگزین کارآمد تبدیل کند.

با این حال، در عمل، همگام سازی طیف وسیعی از گره های پردازشی، سربار و ناکارآمدی هایی را ایجاد می کند که باعث افزایش نرخ می شود. بنابراین، احتمالاً هدایت گره های پردازشی برای اجرای یک نرم افزار بر روی بیش از یک قطعه رکورد به صورت ناهموار، با هماهنگی پراکنده، باعث ایجاد نیروی رو به بالا به نسخه پردازش موازی SPMD می شود. Google’s MapReduce حداکثر گجت برجسته کاملاً مبتنی بر ابر برای پردازش موازی SPMD است. در مرحله نگاشت، پرونده ها در داخل مسئولیت های بی طرفانه روی گره های پردازش منحصر به فرد ارسال می شوند.

هر پروژه مرحله نگاشت یک خروجی سخت و سریع از کلیدهای قیمت تولید می کند. سپس این خروجی ها برای کاهش مسئولیت های مرحله ای تغذیه می شوند، که در آن ها ممکن است به طور مستقیم، به مجموعه ای بزرگتر از جفت های کلید بها(نرخ) که آخرین خروجی را نشان می دهند، جمع شوند.

Hadoop یک برنامه منبع باز گسترده MapReduce در سرورهای Apache است. این شامل مدل Hadoop از MapReduce ، گجت سند توزیع شده Hadoop است، که به شخص اجازه می دهد تا اسناد سوابق بزرگ را در بیش از یک گره حتی در صورت حفظ عکس یک فایل با موقعیت مرکزی ( ذخیره شده در یک قطعه)  و Hadoop YARN، که دارایی های محاسباتی را مدیریت می کند و اجازه می دهد تا مسئولیت ها بر روی آن ها برنامه ریزی شود.

 نرم افزار آپاچی اسپارک کاملاً متن باز است و در بسیاری از روش ها بسیار شبیه به MapReduce است، با تغییرات اصلی که از یک موتور متحد برای بروز رسانی بسیاری از زیرسیستم های مختلف مورد نیاز استفاده می کند، به همین دلیل برنامه نویسی را به یک تلاش تبدیل می کند. به طور کلی بسیار کار آمدتر است و کمتر دچار خطا می شود و با توجه به سابقه آن، "مجموعه رکوردهای توزیع شده انعطاف پذیر" یا RDD ها، به طور قابل توجهی برای بارهای مثبت کارآمدتر است.

 در طرح های دستکاری موازی، که می تواند به طور گسترده ای از موازی سازی رکوردها ارتباط بیشتری داشته باشد، بیش از یک گره به طور مستقل بر روی مشکلات فرعی کار می کنند و از طریق راه های ارسال پیام های اطلاعاتی و همگام سازی، با هر یک از آن ها همگام سازی می کنند. این استقلال، اجازه می دهد تا ویژگی های نا همگن و مخصوص نرم افزار مورد استفاده قرار گیرد، بدون اینکه ویژگی های متقابل یا کندتر مانع توسعه دارایی های سریع تر شوند.

یک مدل فرعی جذاب برای دستکاری موازی، برای کاهش سربارهای ورودی/خروجی، پردازش همزمان موازی انبوه، یا پردازش BSP است. محاسبات BSP شامل ارتباطات و همگام سازی با مراحل فوق العاده است که به طور مستقل و زودتر از هرگونه مبادله یا همگام سازی شفاهی انجام می شود. ابزار Pregel گوگل یک پیاده سازی معقول از BSP برای اجرای الگوریتم های نمودار تکراری است، حتی در حالی که یک گراف عظیم در یادآوری، در بسیاری از گره ها، در راه جلوگیری از ورود دیسک به تأخیر باز می شود. نمونه های دیگری از پارادایم دستکاری-موازی در پردازش مناسبت ها و ساختارهای پردازش حرکت که معمولاً در رسانه های اجتماعی و برنامه های مختلف تحت فشار اعلان استفاده می شود، قابل مشاهده است .

فراتر از 2 شکل بزرگ پردازش موازی، منعکس شده در پرونده ها، طرح های موازی و کنترل موازی، اشکال مختلف متعددی از موازی کاری وجود دارد که ممکن است به عنوان تکنیک های رقابتی یا مکمل مورد استفاده قرار گیرند. این موارد شامل موازی سازی مرحله آماده سازی، موازی سازی زیر کلمه، موازی سازی جریان داده و موازی سازی چند رشته ای هم زمان است 

شبکه های اتصال در سیستم های رایانه ای موازی

سیستم های رایانه ای موازی مدرن از پردازنده های تولیدی، به طور منظم چند هسته ای، چند رشته ای یا GPU، به عنوان دارایی محاسباتی استفاده می کنند.

این کار اجازه می دهد تا پیشرفت های سریع در سرعت پردازش و بهره وری قدرت همانطور که در حال حاضر به ساختارهای موازی نیاز دارند ظاهر شود. از این رو، تفاوت بین ساختارهای پردازش موازی متعدد، تا حد بسیار زیادی، از طریق شبکه های اتصال به یکدیگر که برای اجازه تجارت پرونده ها بین گره های محاسباتی استفاده می شود، تعیین می شود. جامعه ای که دارایی های پردازشی را به هم متصل می کند می تواند تولیدی باشد که از اترنت تشکیل شده است.

با این حال، به طور منظم می توان برای طرح یک جامعه سفارشی، یا حداقل از پیکربندی سفارشی سوئیچ های کالا، متناسب با نیازهای مبادله کلامی هزینه کرد. در طول این سال ها، چندین ساختار ارتباط متقابل پیشنهاد شده و برای مقیاس های گجت منحصر به فرد مورد استفاده قرار گرفته است. هنگامی که گره های محاسباتی در تراشه دیجیتالی یکسان قرار دارند، ممکن است از طریق ابزار یک مجموعه آن چیپ به یکدیگر متصل شوند، که طرح آن ها به طور منظم از نظر موانع در مجاورت و برق محدودتر است.

 اتصال گره های پردازشی در داخل یک ابزار اصلی بزرگ یا ابر رایانه شرایط سختی را در سیم کشی و بسته بندی فراهم می کند، زیرا بسیاری از توپولوژی های پیشرفته تئوریک به دلیل این واقعیت که نمی توانند در کنار محدودیت های بدنی اعمال شده از طریق پارتیشن بندی، بسته بندی و علامت اعمال شوند، غیر عملی می شوند. 

نگاشت، زمان بندی و مجازی سازی در پردازش موازی

یک مشکل اساسی در پردازش موازی، نگاشت محاسبات نسبت به امکانات سخت افزار است. در حالت ایده آل، این نگاشت باید رایانه ای و شفاف باشد تا بتواند مشتریان را از پرداختن به اطلاعات سخت افزاری و تغییرات پیکربندی رهایی دهد. برنامه ریزی یک نوع نگاشت حیاتی است، که ریشه های آن زودتر از سیستم های رایانه ای مورد بررسی در محل بازگشت، بررسی می شود. برای پردازش موازی، برنامه ریزی به چالش فرعی وظایف محاسباتی برای پردازش گره ها حتی با رعایت محدودیت های متعدد اشاره می کند، به این ترتیب که ویژگی هدف، بهینه می شود. همچنین مجازی سازی می تواند با استفاده از دارایی ها و ویژگی های گجت، امنیت را برای مشتریان به ارمغان بیاورد. مانیتورهای دستگاه مجازی مشتریان را از اطلاعات سخت افزاری، نوسانات و تغییرات پیکربندی جدا می کند، به همین دلیل اجازه می دهند اطلاعات بیشتری در مورد صحت نرم افزار و مبادلات سطح بالا داشته باشند.

به همین دلیل قابلیت اطمینان نیز افزایش می یابد زیرا که اشکالات نرم افزار در ماشین های دیجیتال از راه دور خارج می شوند و باز شدن آن ها متوقف می شود و به دلیل این واقعیت که هر گونه نقص سخت افزاری تشخیص داده شده ممکن است از طریق برنامه ریزی مجدد، مسئولیت های آسیب دیده در ماشین های مختلف دیجیتال عملیاتی را بپذیرد.

سخن پایانی

در حالی که فناوری پردازش موازی بیش از پنج سال است که رشد کرده است. تغییرات در معماری های موازی و استراتژی های مجازی سازی مربوطه هر کدام از طریق تکامل ساختارهای محاسبات ابری را تحت فشار قرار می دهند. با افزایش حجم سوابق و گسترش دامنه، دارایی های سخت افزاری برای پردازش عظیم اسناد، بهره وری از قدرت، که در حال حاضر طرح اولیه است، اهمیت پیدا می کند.

داستان عجیب دو تریدر برتر تاریخ که شما را شوکه میکندبهترین از نظر کاربران
داستان عجیب دو تریدر برتر ...
چرا باید یک عکاس شویمآخرین پست
چرا باید یک عکاس شویم