چکیده
ما ابزارهای یادگیری ماشین مبتنیبر ابر را برای افزایش برنامههای کاربردی دادههای بزرگ پیشنهاد میکنیم، که در آن ایدهی اصلی پیشبینی حجم کار "بعدی" در برابر هدف زیرساخت ابر از طریق یک رویکرد مبتنی بر گروههای نوآورانه است که اثر بخشی طبقهبندیهای مختلف شناخته شده به منظور افزایش طیف دقت طبقه بندی نهایی ترکیب میکند، که درحال حاضر بسیار به زمینهای خاص از دادههای بزرگ مربوط است. به اصطلاح مشکل طبقه بندی حجم کار در جهت بهبود بهره وری و قابلیت اطمینان برنامههای کاربردی دادهی بزرگ مبتنی بر ابر نقش حیاتی ایفا میکند. اجرای عاقلانهی روش ما نهادهای ابر را مستقر میکند که روش طبقهبندی در بالای ماشینهای مجازی، که یک نمایش مناسب برای دادههای بزرگ مبتنی بر ابراست. ارزیابی مقدماتی و تجزیه و تحلیل، به وضوح منافع حاصل از طبقه بندی چارچوب را تایید میکند.
1. مقدمه
در این مقاله، ابزارهای یادگیری ماشین مبتنیبر ابر، برای افزایش برنامه های کاربردی داده های بزرگ پیشنهاد میکنیم (بهعنوان مثال، [29]، [6]، [17])، که در آن ایده اصلی پیشبینی حجم کار "بعدی" با هدف زیرساخت ابر از طریق گروه های نوآورانه است (بهعنوان مثال، [35]) روش ترکیب اثر طبقه بندیهای مختلف به منظور افزایش طیف دقت طبقه بندی نهایی شناخته شده است، که در حال حاضر به زمینهای خاص از دادههای بزرگ مربوط میشود (بهعنوان مثال، [16]). به اصطلاح مشکل طبقه بندی حجم کار نقش مهمی در جهت بهبود بهره وری و نمایش قابلیت اطمینان برنامه های کاربردی داده های بزرگ مبتنی بر ابر ایفا میکند (بهعنوان مثال، [47]، [48]). اجرای عاقلانهی این روش، نهادهای ابر را به منظور طبقه بندی توزیع شده در بالای ماشین های مجازی مستقر میکند (بهعنوان مثال، [23])، که نشان دهندهی وسیله ای مناسب برای داده های بزرگ مبتنی بر ابر است.
تکنولوژی مجازی سازی در محیط های محاسباتی مدرن مانند محاسبات ابری [8]، [11]، [18]، [7] و مزارع سرور [41]، [19] نقش اساسی دارد. با اجرای تعدادی ماشین مجازی در سخت افزار یکسان، مجازی سازی به ما اجازه میدهد تا استفادهی بهینهای از منابع سخت افزاری دردسترس انجام گیرد. علاوه بر این، مجازی سازی مزایایی همچون امنیت، قابلیت اطمینان، مقیاس پذیری و مدیریت منابع را برای ما به ارمغان میآورد (بهعنوان مثال، [9]، [42]، [10]). مدیریت منابع در محیط مجازی میتواند با طبقه بندی حجم کار کاربرد های مجازی انجام شود (به عنوان مثال، [50]). در نتیجه، خصوصیات حجم کار بهطور گسترده در طول گذشته مورد بررسی قرار گرفته و تحقیقاتی زیادی انجام شده است (بهعنوان مثال، [12]، [4]). اخیرا، برخی از کارها به سمت خصوصیات حجم کار در محیطهای مرکز داده انجام شده است [21]. از سوی دیگر، مدلسازی حجم کار و پیشبینی در محیطهای مجازی سازی شده در [20] [22]، [3] بیان شدهاند، درحالی که حفظ تعادل حجم کار مجازی شده در [24]، [46] نشان داده شده است.
از نقطه نظر روش، طبقه بندی حجم کار، یک کار حیاتی است که قبلا ذکر شد و با جمعآوری معیارهای مناسب در طول اجرای برنامههای کاربردی مرجع همراه است و در حال اجرای یک الگوی طبقهبندی بر روی دادههای جمع آوری شده است، که باعث میشود میان طبقات مختلف تفاوت قائل شویم. در سطح پایه، حجم کار میتواند بهعنوان CPU متمرکز و یا I / O متمرکز باشد. در [27]، هو و همکارانش برنامهریزیهای نامتقارن ماشین مجازی بر اساس سطح پایهی طبقهبندی را انجام دادند. در سطح نهایی، حجمکار میتواند به عنوان CPU متمرکز، حافظه متمرکز، دیسک خواندن/ نوشتن متمرکز و شبکه متمرکز باشد. ژائو و همکارانش [50] یک مدل طبقهبندی بر اساس چندین سطح طبقهبندی را توصیف کردند. در [49]، ژانگ و همکارانش مشکل انتخاب خودکار معیارهایی که بهترین دقت در طبقهبندی را ارائه میکنند، نشان داده است. همچنین، حجمکاری را که میتواند با توجه به منابع حافظه به عنوان سیگنال طبقهبندی شود مورد مطالعه قرار داده است، که میتواند با استفاده از پارامترهای طیفی مورد تجزیه و تحلیل قرار گیرد (بهعنوان مثال، [39]، [31]). نتایج در آمادهسازی ماشینها و در شبیهسازی نشان میدهد که طبقهبندی مدل پنهان مارکوف (HMM ) [5] میتواند برای مدل ارجاع به حافظه ایجاد و توسط فرآیندهای در حال اجرا مدیریت شود.
در پژوهش پیشنهادی ما، فاز طبقهبندی بهصورت زیر است. ابتدا، در یک محیط مجازی برخی از برنامههای مرجع را اجرا میکنیم (در این کار، از معیار شناخته شدهی SPEC CINT2006 [40] استفاده میکنیم)، و پس از اجرا آن، برخی از ویژگیها را با استفاده از رابطهای برنامه کاربردی از مانیتور ماشین مجازی استخراج میکنیم. با این ویژگیهای جمعآوری شده، یک مدل از حجم کار برای هر یک از برنامهها با توجه به الگوریتمهای یادگیری ماشین ارائه میکنیم. برنامههای ناشناخته در محیط یکسانی اجرا میشوند، و ویژگیهای خود را به مدلهای مرجع حجم کار، جهت پیدا کردن این باور که حجم کار ناشناخته میتواند با هر یک از مدلها همراه شود، میدهند. در نهایت، نظرات بهدست آمده با استفاده از الگوریتمهای طبقهبندی مختلف با استفاده از قانون Dempster-Shafer [36] بهمنظور استخراج یک طبقهبندی با کیفیت بالاتر ادغام میشوند.
بهطورخاص، ما در میان بارهای برنامه تبعیض قائل میشویم. در واقع، ما معیار SPEC2006 را تحت سیستم عامل مجازی اجرا میکنیم و برخی از ویژگیها را از طریق مانیتور ماشین مجازی جمعآوری میکنیم. با استفاده از الگوریتمهای یادگیری ماشین یک مدل برای هر حجم کار توسعه میدهیم. حجم کار ناشناخته در میان مدلهای مختلف طبقهبندی میشود. طبقهبندی در میان حجم کار در حال اجرا در مجازیسازی کاربردهای بالقوهی جالبی ارائه میدهد. برای مثال، اگر معیارها مناسب انتخاب شوند، ممکن است ویژگیهای اصلی فرآیندهای در حال اجرا در ماشین مجازی مشخص شوند. احتمال دیگر این است که بدانید که چه فرآیندهایی هنگام اجرای مشتری مورد نیاز است. دیگر برنامههای کاربردی ممکن در این مورد، تشخیص نرمافزارهای مخرب [26] میباشد. در این رابطه، فرآیندهای در حال اجرا میتوانند برای دیدن حجم کار تحت نظارت قرار گیرند اگر حجم کار یکسان باشد و یا در طول زمان تغییر کند. ارزیابی مقدماتی و تجزیه و تحلیل تجربی بهوضوح مزایای ناشی از چارچوب طبقه بندی ارائه شده را تایید میکند.
2. اصول عملیاتی
آموزش و آزمایش مراحل الگوریتم طبقهبندی در شکل 1 توصیف شده است. ایدهی پشت آموزش، استفاده از دنباله اجراهای مختلف، تولید شده توسط برنامه، زمانی که ورودیهای مختلف را برای آموزش مدل حجم کار برنامه میگیرد. از سویدیگر، هنگامی که دنباله اجرای ناشناختهای به یک مدل حجم کار وارد میشود، احتمال دارد که حجم کار از دنبالهی ناشناخته شبیه به مدل تولید شده باشد.
ما طبقهبندی حجم کار را با چهار طبقهبند انجام دادیم، شبکههای عصبی (بهعنوان مثال، [34])، مدلهای پنهان مارکوف، نزدیکترین k همسایه [2] و ARMA [28].
ما دو آزمون طبقهبندی انجام دادیم: ابتدا مدلهای حجم کار را با همان شش معیار مورد استفاده برای استخراج مدل تست کردیم. بااینحال، دادههای ورودی از دادههای مورد استفاده در آموزش متفاوت بود، در نتیجه فرآیندها همیشه متفاوت هستند. در مرحله دوم، شش معیار دیگر برای محاسبهی شباهت با مدلهای حجم کار استفاده شد.
Abstract
We propose Cloud-based machine learning tools for enhanced Big Data applications, where the main idea is that of predicting the “next” workload occurring against the target Cloud infrastructure via an innovative ensemble-based approach that combine the effectiveness of different well-known classifiers in order to enhance the whole accuracy of the final classification, which is very relevant at now in the specific context of Big Data. So-called workload categorization problem plays a critical role towards improving the efficiency and the reliability of Cloudbased big data applications. Implementation-wise, our method proposes deploying Cloud entities that participate to the distributed classification approach on top of virtual machines, which represent classical “commodity” settings for Cloud-based big data applications. Preliminary experimental assessment and analysis clearly confirm the benefits deriving from our classification framework.
I. INTRODUCTION
In this paper, we propose Cloud-based machine learning tools for enhanced big data applications (e.g., [29], [6], [17]), where the main idea is that of predicting the “next” workload occurring against the target Cloud infrastructure via an innovative ensemble-based (e.g., [35]) approach combining the effectiveness of different well-known classifiers in order to enhance the whole accuracy of the final classification, which is very relevant at now in the specific context of Big Data (e.g., [16]). So-called workload categorization problem plays a critical role towards improving the efficiency and the reliability of Cloud-based big data applications (e.g., [47], [48]). Implementation-wise, our method proposes deploying Cloud entities that participate to the distributed classification approach on top of virtual machines (e.g., [23]), which represent classical “commodity” settings for Cloud-based big data applications.
Virtualization technology has become fundamental in modern computing environments such as cloud computing [8], [11], [18], [7] and sever farms [41], [19]. By running multiple virtual machines on the same hardware, virtualization allows us to achieve a high utilization of the available hardware resources. Moreover, virtualization brings advantages in security, reliability, scalability and resource management (e.g., [9], [42], [10]). Resource management in the virtualized context can be performed by classifying the workload of the virtualized application (e.g., [50]). As a consequence, workload characterization and prediction has been widely studied during past research efforts (e.g., [12], [4]). More recently, some work has been done towards the workload characterization in data center environments [21]. On the other hand, workload modeling and prediction in virtualization environments has been addressed in [20], [22], [3], while wirtualized workload balancing has been addressed in [24], [46].
From the methodological point of view, workload classification, a critical task that integrates the previously-mentioned ones, is performed by collecting suitable metrics during the execution of reference applications, and running a pattern classifier on the collected data, which allows us to discriminate among the different classes. At a base level, the workload can be classified as CPU intensive or I/O intensive. In [27], Hu et al. perform asymmetric virtual machine scheduling based on this base classification level. At a finer level, the workload can be classified as CPU intensive, memory intensive, disk read/write intensive and network in/out intensive. Zhao et al. [50] describe a workload classification model based on such a finer classification level. In [49], Zhang et al. address the problem of automatically selecting the metrics which provide the best accuracy in the classification task. Also, it has been studied that workloads can be classified by considering memory references as signals, which can be analyzed via using spectral parameters (e.g., [39], [31]). Results on instrumented machines and in simulation shows that Hidden Markov Model (HMM) classifiers [5] can be used to model memory references created and managed by processes under execution.
In our proposed research, the classification phase is as follows. First, in a virtualized environment we run some programs we take as reference (in this work, we make use of the well-known SPEC CINT2006 benchmarks [40]) and, then, from their execution, we extract some features using the APIs of the Virtual Machine Monitor. With these so-collected features, we train a model of the workload of each benchmark program according to various and well-understood machine learning algorithms. Unknown programs are executed in the same environment, and their features are fed to models of the reference workloads, in order to find the belief that the unknown workload could be associated to each model. Finally, beliefs obtained by means of different classification algorithms are fused using the Dempster-Shafer rule of evidence combination [36] in order to derive a higher quality classifier.
In particular, we discriminate among application workloads. In fact, we run the SPEC2006 benchmarks under a virtualized operating system and we collect some features through the Virtual Machine Monitor. Using machine learning algorithms we develop a model for each workload. Unknown workloads are then classified among the different models. The classification among application workload running in virtualization gives interesting potential applications. For example, if the benchmarks are chosen appropriately, it may be determined what are the main characteristics of processes running in the virtual machine. Another possibility might be to know what are the processes that a given customer typically execute. Other possible applications are in the area of malware detection [26]. In this respect, running processes can be monitored to see if their workload is the same or it changes during time. Preliminary experimental assessment and analysis clearly confirm the benefits deriving from our classification framework.
II. OPERATIONAL PRINCIPLES
The training and testing phases of the classification algorithm are described in Figure 1. The idea behind training is to use the different execution sequences, produced by a program when fed by different inputs, to train the workload model of that program. On the other hand, when an unknown execution sequence is given to a workload model, the probability that the workload of the unknown sequence is similar to that of the model is produced.
We perform workload classification with four classifiers, namely Neural Networks (e.g., [34]), Hidden Markov Models, k-Nearest Neighbors [2] and ARMA [28].
We performed two classification experiments: first we tested the workload models with the same six benchmarks used to derive the models. However, the input data is different from that used in training, and therefore the processes are always different. Secondly, the other six benchmarks are used for evaluating the similarity with the workload models.
چکیده
1. مقدمه
2. اصول عملیاتی
3. معیار SPEC 2006
4. تنظیم ماشین مجازی
5. معیارها
6. روش تجزیه و تحلیل داده
7. ادغام DEMPSTER-SHAFER
8. تجزیه و تحلیل تجربی مقدماتی
9. نتیجهگیری و کارهای آتی
منابع
Abstract
1. INTRODUCTION
2. OPERATIONAL PRINCIPLES
3. SPEC 2006 BENCHMARKS
4. VIRTUAL MACHINE SETTING
5. METRICS
6. DATA ANALYSIS METHODOLOGY
7. THE DEMPSTER-SHAFER FUSION
8. PRELIMINARY EXPERIMENTAL ANALYSIS
9. CONCLUDING REMARKS AND FUTURE WORK
REFERENCES