مدلهای رایانشی موازی توزیعی پردازشگر گرافیکی
مدلهای رایانشی موازی توزیعی پردازشگر گرافیکی – ایران ترجمه – Irantarjomeh
مقالات ترجمه شده آماده گروه کامپیوتر
مقالات ترجمه شده آماده کل گروه های دانشگاهی
مقالات
قیمت
قیمت این مقاله: 88000 تومان (ایران ترجمه - Irantarjomeh)
توضیح
بخش زیادی از این مقاله بصورت رایگان ذیلا قابل مطالعه می باشد.
شماره | ۱۷۳ |
کد مقاله | COM173 |
مترجم | گروه مترجمین ایران ترجمه – irantarjomeh |
نام فارسی | مدل های رایانشی موازی و توزیعی در یک واحد پردازشگر گرافیکی جهت شتاب دهی شبیه سازی سیستم های غشایی |
نام انگلیسی | Parallel and distributed computing models on a graphics processing unit to accelerate simulation of membrane systems |
تعداد صفحه به فارسی | ۷۶ |
تعداد صفحه به انگلیسی | ۱۹ |
کلمات کلیدی به فارسی | رایانش غشایی, واحد پردازش گر گرافیکی, سیستم های غشایی, رایانش توزیعی, پردازش موازی, شبکه وزن دار |
کلمات کلیدی به انگلیسی | Membrane Computing, Graphics processing unit, Membrane systems, Distributed computing, Parallel processing, Weighted network |
مرجع به فارسی | مدل سازی شبیه سازی – راهکارها و تئوریمرکز تحقیقاتی فناوری و مدیریت نرم افزار، کالج فناوری و علوم اطلاعات، دانشگاه ملی مالزی، سلنگور، مالزی، الزویر |
مرجع به انگلیسی | Simulation Modelling Practice and Theory ; Research Center for Software Technology and Management, Faculty of Technology and Information Science, National University of Malaysia, Bangi, Selangor, Malaysia; Elsevier |
کشور | مالزی |
مدل های رایانشی موازی و توزیعی در یک واحد پردازشگر گرافیکی جهت شتاب دهی شبیه سازی سیستم های غشایی
چکیده
سیستم های غشایی به عنوان مدل های رایانشی موازی توزیعی به شمار می آیند که در نواحی گسترده ای به کار گرفته می شوند. استفاده از ماشین ترتیبی جهت شبیه سازی سیستم های غشایی قابلیت بهره گیری از مزیت موازی گری در رایانش غشایی را فراهم نمی آورد. در این مقاله، یک الگوریتم رده بندی نوآورانه بر مبنای شبکه وزن دار ارائه می گردد. دو الگوریتم جدید به منظور شبیه سازی مدل های سیستم های غشایی در یک واحد پردازش گر گرافیکی (GPU) پیشنهاد شده است. برقراری ارتباط و هم زمان سازی / همگام سازی بین ریسه ها و بلوک های ریسه ای در یک GPU به عنوان فرایندی زمان بر تلقی می گردد. در مطالعات قبلی، فرآیند تخصیص آبجکت های وابسته به ریسه های مختلف مد نظر بوده است. چنین موردی سبب افزایش نیاز ارتباطاتی بین ریسه ها و در نتیجه کاهش عملکرد می گردد. در مطالعات قبلی، غشاهای وابسته به بلوک های ریسه ای مختلفی تخصیص یافته که نیازمند ارتباطات بین بلوکی بوده اند، موردی که سبب کاهش عملکرد می شود. سرعت الگوریتم پیشنهادی در یک GPU که در آن اقدام به دسته بندی آبجکت ها یا موضوعات وابسته با استفاده از یک رویکرد ترتیبی می شود، به طور مثال با ۵۱۲ آبجکت در هر غشا، به میزان ۸۲ برابر حاصل می شود، در حالی که برای رویکرد قبلی (الگوریتم ۱)، سرعت ۲/۸ برابر گزارش شده است. برای یک سیستم غشایی با وابستگی بالا در بین غشاها، این شتاب گیری یا سرعت الگوریتم پیشنهادی ثانویه (الگوریتم ۳) به میزان ۱۲ برابر گزارش شده است، در حالی که برای رویکرد قبلی (الگوریتم ۱) و اولین الگوریتم پیشنهادی (الگوریتم ۲) که اقدام به تخصیص هر غشا در یک بلوک ریسه می شود، این میزان ۸/۱ برابر گزارش شده است.
کلمات کلیدی: رایانش غشایی، واحد پردازش گر گرافیکی، سیستم های غشایی، رایانش توزیعی، پردازش موازی، شبکه وزن دار
مدلهای رایانشی موازی توزیعی پردازشگر گرافیکی
۱- مقدمه
در خلال دهه های اخیر، رایانش طبیعی به عنوان یک ناحیه تحقیقاتی مهم در عرصه علوم کامپیوتر مطرح شده است. رایانش غشایی [۱] یک شاخه نوظهور مرتبط با رایانش طبیعی به شمار می آید که از نقطه نظر مدل محاسباتی توزیعی موازی از ساختارها و عملکردهای بیولوژی سلولی الهام گرفته است. رایانش غشایی در سال ۱۹۹۸ به وسیله Paun ارائه شد [۲]. وی نسبت به تعریف خدمات محاسباتی متشکل از تعدادی از غشاها، آبجکت ها و قواعد اقدام نمود. غشاها در یک غشای اصلی که تحت عنوان پوسته خوانده می شود جاسازی می گردند. مجموعه های متعددی از آبجکت ها در غشاها وجود داشته که بر مبنای قواعد مرتبط تکامل می یابند [۳].
سیستم های غشایی قابلیت حل مشکلات در یک روش توزیعی را دارند [۴،۵]. بعلاوه، آن ها جهت ارتقای الگوریتم های هوشمند مورد استفاده قرار می گیرند [۶،۷] تا قابلیت حل مشکلات سخت نظیر مسئله سه – رنگ [۸]، مسئله تخصیص کوآدراتیک / درجه دوم [۹] و مدل سازی فرایندهای اقتصادی [۱۰] وجود داشته باشد. سیستم های غشایی را می توان به صورت موفقی در مواردی مورد استفاده قرار داد که در آن ها رویکردهای شبیه سازی کلاسیک نظیر معادلات دیفرانسیل معمولی را نمی توان به خوبی به کار گرفت [۱۱، ۱۲]. آن ها جهت مدل سازی چندین مسئله بیولوژیکی شامل نوسانات کلسیم القا شده – هورمونی [۱۳]، شبکه گیرنده لیگاند [۱۱]، حسگری کوروم [۱۴]، نوسانات بیوشیمیایی [۱۵]، مسیرهای سیگنالینگ آپوپتوز القا شده [۱۶]، کنترل بیان ژن [۱۷]، و ترارسانی / انتقال سیگنال [۱۸] به کار گرفته شده اند.
از زمانی که رایانش غشایی ارائه شده است، تلاش های زیادی جهت شبیه سازی مدل های رایانش غشایی انجام گرفته است. برخی از این شبیه سازی ها بر روی کامپیوترهای تک پردازنده اعمال شده است [۱۹-۲۰]. با این وجود، شبیه سازی های ترتیبی مزیت ساختار موازی در فرایند رایانش غشایی را نادیده انگاشته اند. به منظور حاصل آوردن مزیت موازی گری، تلاش های دیگری جهت شبیه سازی سیستم های غشایی با استفاده از ابزارهای موازی اعمال شد. به طور مثال، سیستم های غشایی بر روی کامپیوترهای دارای پردازنده های متعدد [۲۱-۲۳]، بر روی خوشه های کامپیوتری [۲۴]، و بر روی سخت افزار با قابلیت پیکربندی مجدد نظیر آرایه های گیت قابل برنامه ریزی میدانی (FPGAs) [25] و بسیاری از معماری های چند هسته ای نظیر GPUs [26-28] شبیه سازی شده است.
…
این مقاله به شرح ذیل سازماندهی شده است. بخش ۲ تشریح کننده مفهوم یک سیستم غشایی فعال و ساختار یک GPU می باشد. الگوریتم های پیشنهادی با جزئیات مربوطه در بخش ۳ ذکر می شوند. شبیه سازی ها بر روی GPU و CPU در بخش ۴ گزارش شده و در نهایت بخش ۵ اقدام به خلاصه سازی و نتیجه گیری مولفه های مرتبط با این تحقیق می نماید.
مدلهای رایانشی موازی توزیعی پردازشگر گرافیکی
۲- زمینه
در این بخش، برخی از زمینه های مرتبط با سیستم های P با غشای فعال و GPU ارائه می شوند.
۲ـ۱٫ سیستم های P با غشاهای فعال
سیستم های غشایی فعال غالباً دارای اجزای مختلفی می باشند، همانند مورد نشان داده شده در شکل ۱، که شامل غشای پوستی و نواحی تعیین حدود شده که در آنها مجموعه های متعددی از آبجکت ها و قواعد تکاملی قرار می گیرند.
یک غشای فعال به طور رسمی به وسیله یک چندتایی تعریف می شود، که در آن:
۲ـ۲٫ واحد پردازشگر گرافیکی
معماری های یک دستور چند داده (SIMD) سبب می شود تا GPU ها قابلیت پردازش و اجرای چندین ریسه به صورت همزمان را داشته باشند [۳۴]. کوچکترین بخش یک GPU هسته ها به شمار می آیند. یک گروه متشکل از هسته ها تحت عنوان یک چند پردازنده جریانی (SM) خوانده می شود. هسته های داخل هر SM به گونه ای همزمان می گردند تا قابلیت اجرای دستورالعمل های یکسان را داشته باشند. هر هسته قابلیت دسترسی به مقدار بسیار کوچکی از حافظه، تحت عنوان حافظه محلی، را خواهد داشت. هر هسته همچنین دارای دسترسی به تعدادی از رجیسترهای ۳۲ بیتی می باشد. مقدار بسیار اندکی از حافظه به اشتراک گذاشته شده مختص هر SM می باشد، و کلیه SM ها قابلیت دسترسی به مقادیر بزرگی از حافظه تحت عنوان حافظه کلی را خواهند داشت (شکل ۲). دسترسی به حافظه رجیستر سریعتر از حافظه به اشتراک گذاشته شده می باشد و دسترسی به حافظه به اشتراک گذاشته سریعتر از دسترسی به حافظه کلی است [۳۴، ۳۷].
مدلهای رایانشی موازی توزیعی پردازشگر گرافیکی
۳- رویکردهای پیشنهادی برای رده بندی و شبیه سازی سیستم های غشایی در یک GPU
الگوریتم مرتبط با رویکرد قبلی [۲۷] جهت شبیه سازی سیستم های غشایی فعال در یک GPU در الگوریتم ۱ ارائه شده است.
۳ـ۱٫ الگوریتم های دسته بندی
الگوریتم های دسته بندی پیشنهادی سبب کاهش ارتباطات بین آبجکت ها (ریسه ها) و غشاها (بلوک های ریسه ای) شده است و در عین حال قابلیت حفظ ویژگی سکنی پذیری چند پردازنده ای (Mul_Occup) را نیز حاصل آورده اند. این ویژگی در حقیقت به عنوان نسبت تارهای مقیم در چند پردازنده جریانی (SM) به حداکثر تعداد محتمل تارهای مقیم در چند پردازنده (SM) تلقی گردیده و یکی از معیارها برای عملکرد GPU به شمار می آید. در ابتدا، این مطالعه مشخص کننده این موضوع می باشد که تا چه میزان گروه می بایست قابلیت ایجاد رده بندی آبجکت در هر غشا را داشته باشند تا قابلیت حاصل آوردن سکونت یا اشغال کامل به وجود آید. متعاقباً دو الگوریتم رده بندی بر مبنای توپولوژی شبکه وزن دار جهت دسته بندی آبجکت ها به گروه ها و غشاها در داخل خوشه های غشاها ارائه می شوند.
۳ـ۱ـ۱٫ تعداد گروه ها و تعداد آبجکت ها در گروه در هر غشا برای اشغال بالا
تعداد ریسه ها در هر تار (MaxThrwarp) به میزان ۳۲ مورد می باشد. عوامل محدود کننده برای هر SM در GPU شامل Warpsm، تعداد حداکثری بلوک ها در SM (MaxBlksm)، تعداد حداکثری ریسه ها در بلوک (MaxThrblk)، تعداد حداکثری حافظه به اشتراک گذاشته شده در SM (MaxShsm)، تعداد حداکثری رجیسترهای ۳۲ بیتی در SM (MaxRegsm)، تعداد حداکثری ریسه ها در SM (MaxThrsm)، و تعداد حداکثری حافظه محلی در ریسه (MaxLocthr) می باشند. این عوامل منوط به ظرفیت محاسباتی GPU می باشند. مقادیر برای یک ظرفیت محاسباتی ۳ در جدول ۱ نشان داده شده است (ضمیمه F.1 در [۳۴]).
۳ـ۱ـ۲٫ راهکار دسته بندی برای آبجکت ها در داخل هر غشا
به هنگامی که آبجکت b وابسته به آبجکت a می باشد، این بدان معنا خواهد بود که آبجکت a (که به وسیله یک قاعده یا مجموعه ای از قوانین اجرا می گردد) دارای واکنش و تأثیرگذاری بر روی مقداری از آبجکت های b می باشد. به طور مثال، برای یک قاعده ارزیابی [a ® bc]، می توان بیان داشت که b و c منوط به a می باشند. برای قواعد مشارکتی (یک غشای فعال استاندارد دارای هیچگونه قاعده مشارکتی یا همکاری نمی باشد) که در آن بیش از یک آبجکت می تواند در طرف چپ وجود داشته باشد، به طور مثال [ad ® bc]، b و c منوط به هر دو مورد a و d بوده و بنابراین در شبکه وزن دار، کلیه چهار آبجکت a، b، c و d به یک گروه واحد گروه بندی می شوند. برای قوانین ارتباطاتی و تجزیه ، آبجکت b منوط به آبجکت a می باشد. برای قواعد تقسیم ، آبجکت های b و c منوط به a خواهند بود. برای این قواعد، آبجکت های b و c ممکن است دارای غشاهای متفاوتی در مقایسه با a باشند. با این وجود، از آنجایی که این آبجکت ها در غشاهای مختلف وجود دارند، قواعد مربوطه با استفاده از غشاهای مختلف تغییر می یابند. بنابراین، وابستگی بین این آبجکت ها مساوی با وابستگی بین غشاها تلقی شده و نرخ وابستگی بین آبجکت مساوی با نرخ وابستگی بین غشاها می باشد.
الگوریتم دسته بندی آبجکت:
مرحله صفر: ایجاد یک شبکه با لینک های وزن دار بین آبجکت های وابسته (به شکل های ۳ و ۴ رجوع شود).
۳ـ۱ـ۳٫ راهکار دسته بندی برای غشاها در یک مدل سیستم غشایی
همانگونه که در زیر بخش قبلی تشریح شد، آبجکت ها در یک غشا به گونه ای دسته بندی می شوند تا قابلیت کاهش ارتباطات بین ریسه ها در داخل یک بلوک ریسه ای وجود داشته باشد و در عین حال قابلیت حفظ اشغال چند پردازنده ای بالا نیز میسر باشد. در این زیر بخش، یک الگوریتم برای رده بندی غشاها در یک مدل سیستم غشایی جهت کاهش ارتباطات بین بلوک های ریسه ای ارائه می شود. توجه داشته باشید که در رویکردهای قبلی، همانند [۲۶ ـ ۲۸]، هیچگونه الگوریتمی جهت مدیریت اعضای وابسته به صورت مناسب وجود نداشته است. در نتیجه، ارتباطات بین غشاها سبب ارائه ارتباطات بین بلوک های ریسه ای می شود. برای هر رویه ارتباطاتی بین بلوک های ریسه ای، یک فراخوانی کرنل زمانبر مجزا ضروری خواهد بود.
الگوریتم دسته بندی غشا
مرحله ۰: ایجاد شبکه با لینک های وزن دار بین غشاهای وابسته (به شکل های ۳ و ۴ رجوع شود). ایجاد یک شبکه غشایی با یک مثال در مرحله ۰ الگوریتم دسته بندی آبجکت تشریح شده است.
۳ـ۲٫ اولین الگوریتم پیشنهادی برای سیستم های غشایی در یک GPU
الگوریتم پیشنهادی برای شبیه سازی سیستم های P با غشاهای فعال بر روی یک GPU به صورت الگوریتم ۲ ارائه شده است. این الگوریتم از الگوریتم دسته بندی آبجکت جهت کاهش ارتباطات بین ریسه ها در بلوک ریسه ای و ارتقای عملکرد استفاده می نماید.
۳ـ۳٫ الگوریتم پیشنهادی دوم برای سیستم های غشایی در یک GPU
همزمان سازی یا همگام سازی بین ریسه ها در داخل یک بلوک ریسه ای بدون فراخوانی کرنل در داخل کرنل مشابه امکان پذیر می باشد. با این وجود، برای همگام سازی بین ریسه ها در بلوک های مختلف ریسه ای، این کرنل می بایست مجدداً فراخوانی و اجرا شود، یا برای ارتباطات بین بلوک های ریسه ای، یک فراخوانی مجزای کرنل مورد نیاز خواهد بود. فراخوانی کرنل به عنوان یک فرآیند بسیار زمانبر به شمار آمده و سبب کاهش عملکرد شبیه سازی بر روی GPU می گردد چرا که فرآیند پردازش می بایست در انتظار کلیه بلوک های ریسه ای جهت تکمیل شدن باشد و همچنین می بایست اقدام به نوشتن نتایج موقتی از رجیسترهای محلی، حافظه به اشتراک گذاشته شده و دیگر منابع در داخل حافظه کلی نماید. چنین موردی سبب کاهش عملکرد حافظه به اشتراک گذاشته شده و رجیسترها خواهد شد.
مدلهای رایانشی موازی توزیعی پردازشگر گرافیکی
۴- شبیه سازی ها و نتایج
۴ـ۱٫ شبیه سازی تأثیرات تعداد آبجکت ها و تعداد غشاها در یک سیستم غشایی بر روی عملکرد آن در یک GPU
در این بخش، اثرات تعداد آبجکت ها در هر غشا و تعداد غشاها در سیستم بر روی عملکرد GPU با رویکردهای مختلف (الگوریتم ۱) مورد بحث قرار می گیرد. این موضوع نیز نشان داده می شود که به هنگامی که تعداد آبجکت ها در غشا و تعداد غشاها در یک سیستم غشایی فعال بزرگ باشند، سرعت حاصله به وسیله GPU با توجه به یک CPU زیاد است. این مورد بدین علت رخ می دهد که به هنگامی که تعداد آبجکت ها و غشاها افزایش یابند، مصرف منابع محاسباتی GPU نیز افزایش می یابند. به علاوه، از طریق استفاده از حافظه به اشتراک گذاشته شده، سرعت شبیه سازی افزایش می یابد و علت آن را می توان این مسئله ذکر نمود که دسترسی به حافظه به اشتراک گذاشته شده بسیار سریعتر از دسترسی به حافظه کلی می باشد.
۴ـ۲٫ شبیه سازی رویکردهای پیشنهادی
همگام سازی بین ریسه ها به عنوان یک فرآیند زمانبر تلقی شده و سبب کاهش عملکرد GPU می گردد. یک شبیه سازی رویکرد پیشنهادی جهت کاهش ارتباطات بین ریسه ها و مقایسه با رویکردهای قبلی در این بخش ارائه می شود.
مدلهای رایانشی موازی توزیعی پردازشگر گرافیکی