بخشی از مقاله

چکیده

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

نتایج حاصل از پژوهش های گذشته نشان میدهد که استفاده از یک الگوریتم ثابت برای تمامی الگوهای سربار کار نمیتواند ما را به حداکثر سرعت و دقت در پیش بینی برساند. از این رو در این پژوهش معماری پیشنهاد شده است که در آن سه مدل LR، SVM و ARIMA برای پیش بینی سربار کار استفاده شده است و در این معماری با توجه به دو ویژگی میانگین مصرف cpu و الگوی فصلی سربار کار، مدل متناسب برای هر سربار کار انتخاب میشود نتایج نشان میدهد که استفاده از این معماری منجر به بهبود 12 درصدی دقت پیش بینی و همچنین کاهش 25 درصدی زمان میانگین پیش بینی سربار کار میشود.

واژگان کلیدی: محاسبات ابری، خاصیت کشسانی ابری، سری زمانی، پیش بینی سربار کار

مقدمه

در دهه اخیر پردازش ابری محبوبیت زیادی پیدا کرده و توجه محققین را در دنیای آکادمیک و صنعت، به خود جلب کرده است. فاکتور مهم که دلیل استفاده از پردازش ابری است، قابلیت تامین منابع بر اساس میزان نیاز کاربران است. که تحت عنوان قابلیت کشسانی پردازش ابری شناخته شده است. لذا قابلیت کشسانی یکی از کلیدی ترین ویژگی های پردازش ابری است که میزان منابع اختصاص داده شده به کاربران را، بر اساس سربار کار آنها مطابقت میدهد . - Badger, Grance, Patt-Corner, & Voas, 2011 - تامین کنندگان سرویس های ابری معمولا رویکردهای مجازی سازی را برای ساختن سازوکار محصولاتشان استفاده میکنند. با استفاده از مجازی سازی میتوان چندین سیستم عامل و برنامه های کاربردی را در یک سرور خاص بصورت همزمان اجرا کرد و با ساختن یک لایه مجرد پیچیدگی های سختافزاری و نرمافزاری را از هم پنهان کرد. مجازی سازی اغلب با استفاده از Hypervisor ها پیاده سازی میشود.

Hypervisor یکی از تکینیک های مجازی سازی است که با آن چند سیستم عامل میتوانند یک سختافزار را به اشتراک بگذارند. بطوری که هر سیستم عامل میتواند منابع مستقل خود را داشته باشد. ,VMware, ESX, KVM, Xen نمونه هایی از Hypervisor های معروف میباشند.مجازی سازی پیمانه ای ، یا مجازی سازی سیستم عاملی، رویکرد دیگری از مجازی سازی است که در آن لایه مجازی سازی به عنوان یک برنامه کاربردی در سیستم عامل اجرا میشود. پیمانه ها یک راهکار سبک تر هستند که زمان شروع به کار سریع تر میکنند و سربار را کاهش میدهند . - Pahl, 2015 - قابلیت کشسانی توسط پژوهشگران زیادی در صنایع و دانشگاه ها مورد تحقیق بررسی قرار دارد. تکنولوژیهای مجازی سازی زیادی برای برآورده کردن خاصیت کشسانی، در حال توسعه و تکامل هستند. این موضوع در دو حوزه ماشین های مجازی و پیمانه ها مورد بحث قرار دارد.

مبانی نظری و تعاریف

تعاریف زیادی برای خاصیت کشسانی در ادبیات تحقیق وجود دارد. توانایی افزودن یا حذف منابع - از قبیل هسته های CPU، حافظه، ماشین های مجازی و پیمانه ها - در حال اجرا توسط سیستم برای مطابقت با تغییرات سربار کار را خاصیت کشسانی میگویند Al- - . - Dhuraibi, Paraiso, Djarallah, & Merle, 2017 واژه های دیگری از قبیل مقیاس پذیری و بهره -وری وجود دارد که با خاصیت کشسانی مرتبط هستند ولی معانی مختلفی دارند.مقیاس پذیری به معنی توانایی تحمل افزایش سربار کار با استفاده از افزودن منابع است - Herbst, Kounev, & Reussner, 2013 - و یک معیار مستقل از زمان است. برای واضح تر کردن موضوع معادله زیر ارایه شده است.

خاصیت کشسانی = مقیاس پذیری + تنظیم خودکار + بهینه سازی به این معنی که خاصیت کشسانی یک لایه بالاتر از مقیاس پذیری است. میتوان اینگونه فرض کرد که خاصیت کشسانی اتوماتیک شدهمفهوم مقیاس پذیری است طوری که منابع را به صورت بهینه به کاربران اختصاص دهد.واژه دیگر مرتبط با این موضوع بهره وری است. بهره وری تعیین میکند که هنگام مقیاس پذیری منابع ابری چگونه باید استفاده شوند. هر چه میزان کمتری از منابع برای انجام کار معینی، اشغال شود؛ بهینگی بیشتر شده و هزینه ها و مصرف انرژی کاهش مییابد - Lehrig, . - Eikerling, & Becker, 2015روش مشخص و متداولی برای اندازه گیری معیار های کمی برای خاصیت کشسانی وجود ندارد. میتوان میزان تاخیر تدارک و تخلیه منابع را به عنوان معیار کمی خاصیت کشسانی در نظر گرفت . - Islam, Lee, Fekete, & Liu, 2012 -

برای پیاده سازی راهکارهای کشسانی یک یا ترکیبی از دو روش زیر استفاده میشود: مقیاس پذیری افقی، مقیاس پذیری عمودی.در مقیاس پذیری افقی تعداد نمونه های ماشین های مجازی و پیمانه ها کم یا زیاد میشوند در حالی که در مقیاس پذیری عمودی مقادیر منابع در ماشین های مجازی کم یا زیاد میشود. مقیاس پذیری افقی معایب و مزایای خاص خودش را دارند. مقیاس پذیری افقی پیاده سازی ساده ای دارد و توسط hypervisor ها پشتیبانی میشود در حالی که این روش میتواند موجب تخصیص غیر بهینه منابع به شود به این دلیل که مقدار منابع هر نمونه ثابت و ایستا است و در بعضی مواقع امکان دارد که منابع دقیقن به اندازه نیاز اختصاص داده نشوند.

پیشینه تحقیق

بهینه سازی و دقیق تر کردن پیش بینی سربار کار سرورهای ابری بر اساس بررسی تاریخچه سربار سرور توجه اغلب محققین در زمینه پردازش ابری را به خود جلب کرده است.دو رویکرد کلی در پیش بینی سربار کار وجود دارد: تحلیل سری زمانی، یاد گیری ماشین. سری زمانی یکی از معروف ترین روش ها برای پیش بینی سربار کار سرور های ابری است. - Khan, Yan, Tao, & Anerousis, 2012 - Khan روشی ارایه کرد که در آن ابتدا شروع به جستجوی الگوهای قابل تکرار در تاریخچه سربار کار ها کرد سپس بر اساس مدل hidden markov دیدگاهی برای پیش بینی سربار کار سرور ارایه کرد. - Hoffmann, Trivedi, & Malek, 2007 - Hoffmann روشی تجربی برای براساس الگوریتم سری زمانی Auto Regression برای پیش بینی سربار سرور روی وب سرور apache ارایه کرد. - Morais et al., 2013 - Morias

یک چهارچوب برای پیاده سازی سیستم مقیاس پذیری اتوماتیک بر اساس دیدگاه های انفعالی و فعال ارایه کرد و همچنین چند مدل برای پیش بینی سربار کار از قبیل Auto Correlation - AC - ، linear regression - LR - ، Auto Regression - AR - و Auto Regression Integrated Moving Average - ARIMA - پیشنهاد کرد.یادگیری ماشین نیز روش دیگر معروف در این زمینه است. - Islam et al., 2012 - Islam یک استراتژی برای مدیریت منابع بر اساس شبکه های عصبی ارایه کرد که در آن میتوانست سربار کار سرور را پیش بینی کند. - Bankole & Ajila, 2013 - Bankole سیستمی برای پیش بینی سربار کار کاربران توسعه کرد که در آن از سه روش support vector regression ، شبکه عصبی و رگرسیون خطی استفاده شده بود. - Hu, Deng, Peng, & Wang, 2016 - Yashou

سه روش برای پیش بینی سربار کار سرور ارایه کرد. ابتدا از روش های سری زمانی برای بررسی مانیتورینگ سربار کار استفاده کرد، سپس مدلی بر اساس Kalman Filter برای پیش بینی سربار کار ارایه کرد. و نهایتا یک روش جدید تطابق الگو - pattern matching - برای آنالیز و پیش بینی سربار کار پیشنهاد داد و در نهایت براساس پیش بینی های بدست آمده استراتژی تغییر جدیدی ارایه کرد. Nikravesh, Ajila, & - Nikravesh - Lung, 2015 با فرض اینکه دقت پیش بینی سربار کار در سیستم های مقیاس پذیری اتوماتیک را میتوان با انتخاب الگوریتم سری زمانی مناسب بر اساس الگو های اجرایی طی زمان افزایش داد.

برای اثبات این فرضیه آزمایشی ترتیب داد که در آن الگوریتم های مختلف سری زمانی با الگو های مختلف اجرایی را با هم مقایسه کرد. در این آزمایش دو تکنیک Support Vector Machine - SVM - و شبکه های عصبی مورد بررسی قرار گرفتند که نتایج حاصل شده نشان داد که روش SVM در الگوهای منتاوب - periodic - و رو به رشد - growing - دقت بالا تری نشان میدهد. روش شبکه های عصبی نیز در الگو های غیر قابل پیش بینی بهتر از SVM کار میکند. در نهایت یک معماری با روش خودمختار برای تشخیص و انتخاب خودکار الگوریتم مناسب بر اساس الگوهای اجرایی ارایه کرد. - Liu et al., 2017 - C.Liu روشی وفق پذیر بر اساس طبقه بندی سربار کار ارایه کرد که در آن از دو روش LR و SVM جهت پیش بینی سربار کار استفاده کرده.

در این پژوهش سربار کار به دو کلاس fast time-scale و slow time-scale طبقه بندی شده اند که سربارها بعد از ورود به سیستم طبقه بندی میشوند و سپس با استفاده از روش های حل job assignment یکی از دو مدل LR و SVM برای پیش بینی سربار کار استفاده میشود. نتایج این پژوهش نشان میدهد که LR بیشتر برای سربار های slow time-scale بهتر جواب میدهد و روش SVM برای سربار های fast time-scale بهتر نتیجه میدهد.مولفه های اصلی معماری مربوط به پیش بینی سربار کار در شکل 1-0 آمده است. این معماری شامل بخش های Admission Controller, Load Balancer, Configuration Tools, Workload Predictor, Workload Monitoring میباشد زیرساخت ابری شامل منابعی مانند Memory, CPU, IO, Network میباشد.

Admission controller دسترسی کاربران را به سرویس ابری تعیین میکند. Load balancer میزان تخصیص منابع را براساس تغییرات نیازمندیهای کاربران به صورت پویا تغییر میدهد و تعداد VM های مورد نیاز را بر اساس دادههای دریافتی مولفه Admission controller تعیین میکند. این مولفه با مقایسه تعداد VM های موجود و VM های مورد نیاز، دستور افزایش یا کاهش VM ها را به مولفه Configuration tools طول میدهد. مولفه Configuration tools نیز عملیات مربوط به مقیاس پذیری افقی را انجام میدهد. میزان استفاده منابع توسط مولفه Monitor مورد دیدبانی قرار میگیرد و لاگ های مصرف منابع به پایگاه داده سربار کار منتقل میشود. اطلاعات تاریخچه سربار کار برای تعیین نوع سربار کار و همچنین برای پیش بینی منابع مورد نیاز مورد استفاده قرار میگیرد.

مولفه Workload predictor مولفه کلیدی این معماری است که در آن ابتدا سربار کار طبقه بندی میشود و بر اساس الگوی سربار کار و مولفه های آماری آن، مدل مربوط به پیش بینی سری زمانی برای آنها انتخاب میشود.هنگامی که Job جدید برای تخصیص منابع آماده میشود درخواست آن به Load balancer میرود. مولفه Load balancer نیز برای پیشبینی سربار کار آن Job اطلاعات سربار کار مورد نظر را به Workload classifier میدهد. در این زمان اگر داده های مربوط به سربار کار ان Job کم باشد یعنی عمر آن کمتر از یک ساعت باشد مولفه Workload classifier مدل خطی LR را برای پیش بینی سربار کار برمیگزیند. به این دلیل که داده های سری زمانی به طول یک ساعت برای train مدل های پیچیده تر پیش بینی سربار کار، خیلی کم است. Job های با عمر طولانی تر بعد از تعیین ویژگی ها و طبقه بندی، مدل مناسب پیش بینی سربار کار برای آن ها اختصاص داده میشود.

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