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

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

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

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

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

علاقه به پردازش موازی در دهه نود با طرح ILLIAC IV ، که معمولاً به دلیل اولین ابر رایانه جهان تشخیص داده می شود، آغاز شد. دستگاه 64 پردازنده، که بعداً از طریق شرکت Burroughs Corporation ساخته و راه اندازی شد، دارای یک حرکت غیر آماده-ناپیوسته، بیش از یک رکورد-ساختار حرکت، به طور خلاصه SIMD بود  که از یک واحد اجرایی آماده سازی ناپیوسته، با هر آماده سازی به بیش از یک شیء به طور همزمان اجرا می شود. از ظرافت غالب متفاوت معماری های موازی به عنوان MIMD یاد می شود، که در آن بیش از یک جریان آماده سازی مشابه با بیش از یک جریان رکوردها وجود دارد. ابر رایانه های مدرن، با احتساب حداکثر ورودی ها در لیست فوق500  رایانه های برتر، که دو بار در سال بروز است، تمایل به 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، به عنوان دارایی محاسباتی استفاده می کنند.

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

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

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

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

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

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

سخن پایانی

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

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