چکیده
به منظور رفع تقاضای زیاد برای عملکرد در تلفن های هوشمند، روش های رایانش ابری موبایل با هدف بهبود عملکرد تلفن هوشمند از طریق سرور های ابری قوی پیشنهاد شدند. در میان این روش ها، تخلیه اجرا یا افلودینگ که یک رشته را بین یک دستگاه موبایل و یک سرور مهاجرت می دهد، اغلب استفاده می شود. در این روش های تخلیه اجرایی، تصمیم گیری در مورد این که کدام بخش از کد باید از طریق الگوریتم های تصمیم گیری افلود شود بسیار مهم است. به منظور دست یابی به عملکرد تخلیه بهینه، هزینه و سود افلودینگ بایستی به طور صحیح برای پیش بینی دقیق پیش بینی شود. کار های قبلی قادر به انجام این کار نبودند زیرا انجام پیش بینی دقیق پر هزینه است. از این روی در این مقاله، ما روش های جدید را برای ایجاد شاخص های پیش بینی عملکرد روش محور برای برنامه های موبایل معرفی کرده و به طور تجربی بهبود عملکرد تخلیه را نشان می دهیم.
1-مقدمه
تلفن های هوشمند بخش مهمی از زندگی انسان مدرن را تشکیل می دهند به طوری که در سرتاسر دنیا تنها برای پلتفرم اندروید، بیش از یک میلیارد دستگاه موبایل فعال است این دستگاه ها با طیف وسیعی از برنامه ها نظیر جی پی اس و دوربین و پردازنده های عمومی با چندین گیگ حافظه، مورد استفاده قرار می گیرند. این برنامه ها نیازمند حجم زیادی انرژی و توان رایانشی می باشند. در نتیجه کاربران باید پیچیدگی رایانشی برنامه ها را با سخت افزار جدید تر کاهش دهند. آن ها هنوز از طول عمر باطری کم تر رنج می برند.
رایانش ابری موبایل که از ابر در امتداد دستگاه های موبایل استفاده می کند، یگ رویگرد مفید برای کاهش و حل این مسئله است. در چارچوب رایانش ابری موبایل، دستگاه های موبایل نیازی به سخت افزار قوی ندارند زیرا بیسیاری از رایانش های پیچیده در ابر مدیریت می شوند. این رویکرد موجب افزایش طول عمر باطری می شوند و نیاز به ارتقای دستگاه کاربر را کاهش می دهند. در سال های اخیر، روش های موسوم به افلودینگ اجرای موبایل که قادر به انتقال بین تلفن هوشمند و سرور ها می باشند، به عنوان یک شیوه اجرای رایانش ابری موبایل در نظر گرفته می شوند. وقتی که اجرای یک رشته برنامه بر روی تلفن هوشمند به یک نقطه خاص در کد خود رسید، این رشته معلق شده و وضعیت اجرای آن بسته بندی شده و به سرور انتقال می یابد. به این ترتیب رشته از وضعیت انتقالی باز سازی شده و تا زمان رسیدن به نقطه برگشت مجددا شروع می شود که قادر به بسته بندی و انتقال وضعیت به تلفن هوشمند می باشد. در نهایت، رشته اصلی با این حالت ها به روز رسانی شده و مجددا شروع به کار می کند.
Abstract
In order to accommodate the high demand for performance in smartphones, mobile cloud computing techniques, which aim to enhance a smartphone’s performance through utilizing powerful cloud servers, were suggested. Among such techniques, execution offloading, which migrates a thread between a mobile device and a server, is often employed. In such execution offloading techniques, it is typical to dynamically decide what code part is to be offloaded through decision making algorithms. In order to achieve optimal offloading performance, however, the gain and cost of offloading must be predicted accurately for such algorithms. Previous works did not try hard to do this because it is usually expensive to make an accurate prediction. Thus in this paper, we introduce novel techniques to automatically generate accurate and efficient method-wise performance predictors for mobile applications and empirically show they enhance the performance of offloading.
1. Introduction
Smartphones have become an essential part of a modern man’s life, with around a billion devices activated worldwide for the Android platform alone. With its wide range of functions, such as GPS or cameras, and general purpose processors with gigabytes of storage, it has become natural to deploy more and more complex applications on smartphones. These applications, however, require a considerable amount of energy and computational power. As a result, users have to match the increasing computational complexity of applications with newer hardware. Yet they still suffer from limited battery lifetime all the same.
Mobile cloud computing, which utilizes cloud alongside mobile devices, is a promising approach to alleviate this problem. Within a mobile cloud computing framework, mobile devices do not need powerful hardware because most of the complicated computations are handled in the cloud. This approach extends battery lifetime, enables the use of the computation power of cloud systems, which typically exceeds even the newest mobile hardware, and lessens the need to upgrade user’s devices. In recent years, techniques called mobile execution offloading, which is the act of transferring execution between smartphones and servers during run time, were proposed as a way of implementing mobile cloud computing. When an execution of a program thread on the smartphone gets to a certain point in its code, the thread is suspended and its current state for execution is packaged and shipped to a server. There, the thread is reconstructed from the shipped state and is resumed until it reaches the point to return, where it packages and transfers its state back to the smartphone. Finally, the original thread is updated by these states and is resumed.
چکیده
1-مقدمه
2- سابقه و هدف
2-1 پیش زمینه
2-2 هدف
3- f_Mantis: تولید خودکار شاخص عملکردی ساده و کارامد برای تخلیه اجرای موبایل
3-1 مروری بر تولید شاخص پیش بینی عملکرد
3-2 ابزار ساز ویژگی
3-3 پروفایلر
3-4 ژنراتور مدل
3-5 ژنراتور شاخص پیش بین
4- پارتیشن بندی کد دینامیک با شاخص تولید شده با f_Mantis
4-1 معماری برای سالور
4- ارزیابی
5-1 اجرا
5-3 نتایج آزمایشی
6- کار های مربوطه
7-نتیجه گیری
Abstract
1. Introduction
2. Background & motivation
2.1. Background
2.2. Motivation
3. f_Mantis : Automatical generation of accurate and efficient performance predictor for mobile execution offloading
3.1. Performance predictor generation overview
3.2. Feature instrumentor
3.3. Profiler
3.4. Model generator
3.5. Predictor generator
4. Dynamic code partitioning with predictor generated by f_Mantis
4.1. Architecture for our solver
5. Evaluation
5.1. Implementation
5.2. Evaluation environment
5.3. Experimental results
6. Related work
7. Conclusion
Acknowledgments