پیشبینی حجم کاری نرمافزارهای کاربردی محیط ابری مبتنی بر کاوش الگوهای دنبالهای جزئی
/مریم امیری
: مهندسی برق و کامپیوتر
، ۱۳۹۷
، میرزائی
چاپی
دکتری
مهندسی کامپیوتر
۱۳۹۷/۰۴/۰۲
تبریز
خاصیت کشسانی یکی از برجستهترین ویژگیهای پردازش ابری است .منابع باید به صورت پویا و مبتنی بر تغییرات تقاضا، به نرمافزارهای کاربردی ابر اختصاص داده شوند .تأمین بیش از حد منابع باعث اتلاف انرژی و افزایش هزینههای ابر میشود .از سوی دیگر، تخصیص کمتر از حد منابع، موجب نقض توافقات سطح سرویس و افت کیفیت سرویس میگردد .بنابراین منابع اختصاص یافته باید تا آنجا که ممکن است به تقاضای فعلی نرمافزارهای کاربردی ابر نزدیک باشند .بنابراین، پیشبینی حجم کاری آتی نرمافزارهای کاربردی ابر یک مرحله ضروری قبل از تأمین منابع است .اساس بیشتر مدلهای پیشبینی ارائه شده در این زمینه بر الگوریتمهای یادگیری ماشین، مدلهای رگرسیون و مدلهای آماری استوار است .اغلب مدلهایی که تا کنون ارائه شدهاند قابلیت وفقپذیری با تغییرات را ندارند .بنابراین نیازمند تکرار مرحله آموزش در بازههای زمانی مختلف هستند .همچنین، بیشتر مدلهای مطرح شده مبتنی بر تکنیک پنجره لغزان هستند .این مدلها نمیتوانند همهی الگوهای مفید با طول بیشتر یا کمتر از طول الگوی ثابت را استخراج نمایند .انتخاب طول الگو برای نواحی مختلف حجم کاری یکی از مهمترین چالشها در این روشها است .مطابق با بررسیهای انجام شده، این پایاننامه برای اولین بار مدلی بر اساس کاوش الگوهای دنبالهای جزئی برای پیشبینی حجم کاری در ابر ارائه میدهد .کاوش الگوهای دنبالهای سعی بر استخراج روابط متوالی بین وقوع رویدادها دارد .با توجه به رفتار نامنظم حجم کاری در ابر، الگوهای دنبالهای استخراج شده ممکن است نتوانند رفتار آتی نرمافزار کاربردی را پیشبینی نمایند .بنابراین الگوهای استخراج شده جزئی هستند .مدل پیشنهادی، الگوهای رفتاری نرمافزارهای کاربردی را مستقل از طول الگوی ثابت و به صورت صریح استخراج میکند .در مدل پیشنهادی، اپیزودها) الگوهای استخراج شده از سریهای زمانی گسسته (وابستگی بین منابع مختلف را بررسی میکنند .بر اساس مشاهدات اخیر رفتار نرمافزار کاربردی، مناسبترین اپیزودها برای پیشبینی انتخاب میشوند و رفتار آتی منابع تخصیص داده شده به نرمافزار کاربردی پیشبینی میگردند .با توجه به ذات پویای ابر، رفتار منابع تخصیص داده شده به نرمافزارهای کاربردی ممکن است پس از استخراج اپیزود تغییر کند .در این حالت، مدل به سرعت با تغییرات حجم کاری وفق مییابد و اپیزودهای جدید را فرامیگیرد .بنابراین، وفقپذیری، یکی از مهمترین خصوصیات مدل پیشبینی نرمافزارهای کاربردی ابر، جامهی عمل پوشانده میشود .علاوه بر این، با معرفی ساختمان دادههای جدید، ارائه نمایش بهینه برای اپیزودها و تعریف خانوادهی جدیدی از وقوعها برای آنها، الگوریتمهای استخراج اپیزود بهبود داده میشوند و بازدهی مدل پیشبینی افزایش مییابد .مدل پیشنهادی علاوه بر رفع نقایص مدلهای پیشین همانند عدم وفقپذیری با تغییرات رفتاری سیستم و وابستگی به طول الگوی ثابت، وابستگی بین منابع مختلف تخصیص داده شده به نرمافزار کاربردی را بررسی میکند و اپیزودها را به صورت صریح استخراج مینماید .بدینگونه، اپیزودها میتوانند به سادگی توسط مدیر منابع تفسیر شوند .عملکرد مدل پیشنهادی بر مبنای حجمهای کاری هموار و پویا ارزیابی میشود .دقت پیشبینی مدل پیشنهادی با روشهای رایج پیشبینی مانند میانگین متحرک، رگرسیون خطی، شبکه عصبی، رویکرد پیش بینی ترکیبی و روش آخرین مقدار مقایسه میشود .مطابق با نتایج ارزیابیها، علاوه بر پیشبینی دقیق رفتار آتی، مدل از قابلیت وفقپذیری بالایی نیز برخوردار است .البته، مشخص کردن مقادیر آستانه برای انتخاب اپیزودهای مناسب برای پیشبینی یکی از مسائل چالش برانگیز روش پیشنهادی است
Elasticity is one of the prominent features of cloud computing. The resources should be allocated dynamically according to the demand changes of the applications. Over-provisioning increases energy wasting and costs. On the other hand, underprovisioning causes Service Level Agreements (SLA) violation and Quality of Service (QoS) dropping. Therefore the allocated resources should be close to the current demand of applications as much as possible. For this purpose, the future demand of applications should be determined. Thus, the prediction of the future workload of applications is an essential step before the resource provisioning. The newest and the most common proposed predictors are based on machine learning techniques, regression and statistical models. These predictors are not able to adapt according to the workload variations. So, they should be retrained to adapt to the changes of the workload. Since most of the methods are based on a sliding window, they cannot extract all useful patterns whose length is less/more than the fixed length. Choosing the length of the pattern (the length of the sliding window) for dierent regions of workloads is one of the most important challenges in these methods. To the best of our knowledge, for the first time, this thesis proposes a novel prediction model based on partial Sequential Pattern Mining (SPM) to predict the application workloads in cloud. SPM discovers the relationships between occurrences of sequential events. Due to workload uctuations, the extracted patterns might not be able to predict the future behavior of the application. So, the extracted patterns are partial. The proposed model extracts the behavioral patterns of applications independently of the fixed pattern length explicitly. In the proposed model, episodes (the patterns extracted from the discretized time series) consider the correlation between dierent resources. Based on the recent behavior of the application, the most appropriate episodes are selected for prediction and the future behavior of the resources is predicted. Due to the dynamic nature of cloud, the behavioral changes of the application workload might start after training the prediction model. Here, the model adapts to the behavioral changes of the application and learns the new behavioral patterns rapidly. So, adaptability, one of the most important characteristics of the application prediction models, is fulfilled. Furthermore, we introduce a new data structure, representation for stream and type of the episode occurrence and improve the efficiency of the episode mining engine and the prediction model. The proposed model has been developed in the direction of improving the existing methods. It is able to extract all the behavioral patterns of workloads independently of the fixed pattern length explicitly. The model investigates the correlation between resources and extracts the corresponding patterns. So, the behavioral patterns of workloads are readily interpretable by the resources manager. Furthermore, it does not need to make any assumptions about the workload behavior. So the model could be used for the dierent types of workloads. The performance of the proposed model is evaluated based on both smooth and dynamic workloads. The prediction model is compared with the state-of-the-art methods such as Neural Network (NN), Simple Moving Average (SMA), Linear Regression (LR), Hybrid Prediction Approach (HPA) and Last Value (LV). According to our evaluation results, the proposed model and the other methods could predict the future status of resources accurately for smooth workloads. Due to highly dynamic nature of the workloads in cloud, in some dynamic workloads, the behavioral patterns change completely. The evaluation results on dynamic workloads show that the proposed model improves the accuracy of the other methods and adapts to the behavioral changes of the applications well. However, determining the value of thresholds to select the appropriate episodes for prediction is a challenging problem of the proposed model