زمانبندی و توزیع وظایف در سیستمهای سرویسدهی مبتنی بر GPU بر اساس تقاضا
چکیده:
در طی سالهای اخیر، استفاده از منابع پردازش گرافیکی به دلیل قابلیت اجرای موازی کارها افزایش یافته است. همچنین به دلیل افزایش استفاده از سیستمهای مبتنی بر یادگیری ماشین و یادگیری عمیق و قابلیت اجرای موازی این نوع از درخواستها، برای آموزش این دسته از مدلهای محاسباتی اغلب از پردازندههای گرافیکی به منظور افزایش عملکرد استفاده میگردد. به همین دلیل و در راستای استفاده بهینه از منابع پردازش گرافیکی موجود در این نوع از سرورها، مسئله زمانبندی درخواستها به عنوان چالشی مطرح است. زمانبندی بهینه منابع بر روی سرورهای مبتنی بر GPU که برای وظایف موازی مناسب هستند، بسیار ضروری است. این منابع معمولاً دارای سرعت بالایی بوده و بنابراین هزینه بالایی نیز دارند. جهت استفاده بهینه از این منابع، مراکز ارائه دهنده خدمات، باید بتوانند به ازای هر درخواست، بهترین نوع ماشین مجازی، بهترین نوع پردازندهGPU و همچنین بهترین تعداد این نوع پردازنده را انتخاب نمایند. چنین مسئلهای، یک مسئله بهینهسازی نامیده میشود. پایان نامه حاضر، ضمن مدلسازی مسئله تخصیص منابع به عنوان یک مسئله بهینهسازی خطی، روش جدیدی را برای توزیع درخواستها ارایه میدهد. روش پیشنهادی از یک صف مرکزی استفاده نموده و سپس درخواستها را با استفاده از یک روش نوین توزیع درخواست، بین چندین صف محلی توزیع میکند. سپس وظایف موجود در هر صف محلی را به صورت موازی زمانبندی و اجرا میکند. زمانبندی در هر صف محلی، تعیین میکند که به ازای هر درخواست: (1) بهترین نوع ماشین مجازی (2) بهترین نوع پردازنده GPU و (3) بهترین تعداد پردازندههای GPU کدام است. مقایسه روش پیشنهادی با آخرین روشهای موجود، نشانگر کاهش زمان اجرا، کاهش زمان پاسخ و همچنین کاهش چشمگیر هزینه استفاده از منابع در روش پیشنهادی است و همچنین به دلیل اضافه شدن برخی هزینهها نظیر هزینه مهاجرت کد که در مقالات مشابه بررسی نشده است، انتظار میرود بتوان با در نظر گرفتن این موارد، الگوریتمهای موجود را بهبود بخشید.