Abstract
The virtual machine (VM) allocation problem in cloud computing has been widely studied in recent years, and many algorithms have been proposed in the literature. Most of them have been successfully applied to batch processing models such as MapReduce; however, none of them can be applied to streaming workflow well because of the following weaknesses: 1) failure to capture the characteristics of tasks in streaming workflow for the short life cycle of data streams; 2) most algorithms are based on the assumptions that the price of VMs and traffic among data centers (DCs) are static and fixed. In this paper, we propose a streaming workflow allocation algorithm that takes into consideration the characteristics of streaming work and the price diversity among geo-distributed DCs, to further achieve the goal of cost minimization for streaming big data processing. First, we construct an extended streaming workflow graph (ESWG) based on the task semantics of streaming workflow and the price diversity of geo-distributed DCs, and the streaming workflow allocation problem is formulated into mixed integer linear programming based on the ESWG. Second, we propose two heuristic algorithms to reduce the computational space based on task combination and DC combination in order to meet the strict latency requirement. Finally, our experimental results demonstrate significant performance gains with lower total cost and execution time
چکیده
در طی چند سال اخیر، مسئلهی تخصیص ماشین مجازی (VM) در بستر رایانش ابری به طور گستردهای مورد مطالعه قرار گرفته است و الگوریتمهای زیادی نیز برای حل این مسئله ارائه شده است. اغلب این الگوریتمها به شکلی موفقیتآمیز بر روی مدلهای پردازش دستهای، مانند مدل برنامهنویسی MapReduce بکار گرفته شدهاند؛ البته هیچ کدام از این الگوریتمها را نمیتوان به خوبی بر روی جریانهای کاری استریمینگ بکار گرفت، چرا که این الگوریتم متحمل نقاط ضعف زیر میباشند:
اشکال در تطبیق خود با مشخصههای وظایفی که در جریان کاری استریمینگ و آنهم برای جریانهای دادهای با طول عمر کوتاه وجود دارند.
اغلب الگوریتمها بر مبنای این فرضیه بوده که قیمت ماشینهای مجازی و ترافیک بین مراکز دادهای (dc) ایستا و ثابت میباشد.
در این مقاله به ارائهی یک الگوریتم تخصیص جریان کاری استریمینگ بر روی مراکز داده ای میپردازیم که در آن، مشخصههای فعالیتهای استریمینگ و تنوع قیمت در بین مراکز دادهای که به طور جغرافیایی توزیع شدهاند در نظر گرفته شده و میتوان هزینهی پردازش کلان دادههای استریمینگ را به حداقل سطح ممکن برساند. در ابتدا یک گراف جریان کاری استریمینگ بسط یافته (ESWG) را بر مبنای معناییهای وظیفه در جریان کاریِ استریمینگ و تنوع قیمت مراکز دادهای که به صورت جغرافیایی توزیع شدهاند ایجاد میکنیم و در ادامه نیز مسئلهی تخصیص جریان کاری استریمینگ را در یک مدل برنامهنویسی خطی صحیح و آنهم بر مبنای ESWG تدوین خواهیم کرد. در ادامه، دو الگوریتم ابتکاری (هیروستیکی) را برای کاهش فضای محاسباتی و آنهم بر مبنای ترکیب وظیفه و ترکیب مرکز دادهای ارائه میدهیم تا بتوان حساسیتی که وظایف به تأخیر دارند را پاسخ داد. در نهایت، نشان خواهیم داد که نتایج آزمایشی ما، دارای بهرهی کارائی بالایی بر حسب هزینهی کل و زمان اجرا خواهد بود.
1- مقدمه
در طی چند سال اخیر با انفجار کلان دادهها، پردازش و تحلیل بلادرنگ حجم زیادی از جریانهای دادهای پیوسته، مانند جریانهای رسانهی اجتماعی، جریانهای دادهای حسگر، جریانهای سوابق، جریان بورس و اوراق بهادار و غیره به یک نیازمندی اصلی در بسیاری از کاربردهای صنعتی و علمی مبدل گردیده است [1]. افزایش حجم دادههای استریمینگ و افزایش تقاضا برای تحلیلهای پیچیده و بلادرنگ، نیاز به اجرای خطوط لولهی پردازشی در بین موتورهای پردازش رویداد ناهمگن (به عنوان جریان کاری) دارد [2]. البته بر خلاف اجرای جریانهای کاری متعارف، که در آن یک وظیفه یک یا چند بار اجرا میشود (مانند تکرارها)، جریانهای کاری استریمینگ همواره باید بر مبنای ورودیها به شرایط محیطی پاسخ دهند و به وظایفی که در جریانهای کاری وجود دارد اجازه داده تا به شکلی پیوسته و آنهم چندین مرتبه فراخوانی شوند [3]. برای این کار باید حجم زیادی از دادهها را بین گرههای اجرا جابجا نمود که این کار منجر به افزایش هزینه میگردد. یک مثال، BigBench[4] بوده که در آن، ترافیکی که بین مراکز دادهای مبادله میشود برابر با 706 گیگابایت در روز بوده و بنابراین منجر به افزایش خدمت دهی میگردد. به عبارت دیگر، جریان کاری استریمینگ منجر به افزایش هزینهها گردیده است چرا که تقاضا برای منابع ارتباطی و محاسباتی و مخصوصاً در مراکز دادهای ابری (DC) که به شکلی جغرافیایی توزیع شدهاند افزایش یافته است؛ در این مراکز دادهای، حجم زیادی از دادهها به کرار در بین و یا داخل مراکز دادهای مورد انتقال و مبادله قرار میگیرد. بنابراین ضروری است تا مسئلهی کمینه سازی هزینه را برای جریان کاری استریمینگ مورد مطالعه قرار داد…