دانلود ترجمه مقاله کاربرد مجازی سازی در بهبود روند جوان سازی نرم افزار – مجله IEEE
عنوان فارسی مقاله: | کاربرد مجازی سازی در بهبود روند جوان سازی نرم افزار |
عنوان انگلیسی مقاله: | Using Virtualization to Improve Software Rejuvenation |
دانلود مقاله انگلیسی: | برای دانلود رایگان مقاله انگلیسی با فرمت pdf اینجا کلیک نمائید |
سال انتشار | ۲۰۰۹ |
تعداد صفحات مقاله انگلیسی | ۱۸ صفحه |
تعداد صفحات ترجمه مقاله | ۲۰ صفحه |
مجله | – |
دانشگاه | کویمبرا کشور پرتغال |
کلمات کلیدی | – |
نشریه IEEE | IEEE |
فهرست مطالب:
چکیده
۱ مقدمه
۲ منطق طرح جدید جوانسازی نرم افزار
۳ چارچوب VM-Rejuv
۴ مطالعه آزمایشی
۱ ۴ محیط آزمایشی
۱ ۱ ۴ معیارها و محک های برنامه کاربردی
۲ ۱ ۴ ابزار تست حجم کار
۳ ۱ ۴ راه اندازی آزمایش
۲ ۴ نتایج آزمایشی
۱ ۲ ۴ سربار استفاده از XEN و VM-Rejuv چیست؟
۲ ۲ ۴ آیا VM-Rejuv یک تکنیک موثر می باشد؟
۳ ۲ ۴ از کار افتادگی طرح جوانسازی چیست؟
۴ ۲ ۴ آیا طرح جوانسازی کلیه داده های جلسه را حفظ می کند؟ سربار آن چیست؟
۵ ۲ ۴ آیا طرح جوانسازی در پیکره بندی خوشه مفید واقع می شود؟
۶ ۲ ۴ آیا استفاده از شروع مجدد تمیز و روشن به جای استفاده از شروع مجدد نامعلوم اهمیت دارد؟
۵ نتایج
بخشی از ترجمه:
۱ مقدمه
دسترس پذیری سرورهای برنامه تجاری یکی از مسائل مهمی است که صنعت و آکادمی در طول دهه های گذشته به آن توجه خاصی معطوف داشته اند. بر طبق مرجع ۱، هزینه از کار افتادگی در ساعت از ۱۰۰K برای فروشگاههای آن لاین تا ۶ میلیون دلار برای سرویس های دلالی آن لاین متغیر می باشد. صنعت تکنیک های خوشه بندی مختلفی اقتباس نموده و امروزه بیشتر سرورهای تجاری حساس از تکنیک های تکرار سرور، متعادل کننده های بار و فایل اور استفاده می کنند. این کار برای تحمل صدمات برنامه کاربردی می باشد. آخرین روند به سمت توسعه تکنیک های خوددرمانی پیش می رود که روشهای بازیابی را به صورت خودکار درآورده و در صورت امکان مانع از بروز خرابی های برنامه ریزی شده می شود.
ایده این مقاله توسعه مفهوم جوانسازی نرم افزار می باشد. ازاین تکنیک برای اجتناب از بروز خرابی های برنامه ریزی نشده عمدتاً به خاطر پدیده های کهنه شدگی نرم افزار یا خرابی های موقتی استفاده شده است. کهنه شدگی نرم افزار به توصیف پدیده تخریب نرم افزار اجرایی می پردازد که ممکن است منجر به خرد شدن سیستم یا توقف های نامطلوب گردد. این پدیده احتمالاً در هر تیپ نرم افزاری که به اندازه کافی پیچیده باشد، یافت می شود، اما در برنامه های بلند مدت بسیار سخت و دشوار است. آن فقط برای سیستم های عملیاتی رومیزی مشکل ساز نیست: آن در سیستم های مخابراتی، سرورهای وب، خوشه های سازمانی ، سیستم های OLTP و سیستم های فضاپیما نیز دیده شده است. این مشکل در سیستم های نظامی با پیامدهای شدیدی نظیر مرگ گزارش شده است.
ابزارهای تجاری زیادی وجود دارد که به شناسایی برخی منابع نشتی از حافظه در طول فاز توسعه کمک می کنند. اما، در طول فاز تست نهایی، همه خرابی ها را به راحتی نمی توان کشف نمود. وآن ابزارها در بسته های نرم افزاری شخص ثالث کار می کنند زمانی که به کد منبع دسترسی نداشته باشند. این مسئله حاکی از آن است که سیستم های تولید موجود با مسئله کهنه شدگی نرم افزار در مرحله تولید سرو کار دارند. بنابراین، در تعداد زیادی از موارد، تنهاگزینه انتخابی استفاده از جوانسازی نرم افزار می باشد.
دو شیوه اساسی برای جوانسازی در ادبیات پیشنهاد شده است: جوانسازی بر مبنای زمان و فعال. جوانسازی بر مبنای زمان امروزه در برخی سیستم های تولید واقعی نظیر سرورها- وب کاربرد دارد.جوانسازی فعال و پیش گستر در مراجع تحت الذکر مطالعه شده و مشخص گردیده که این تکنیک جوانسازی نتایج بهتری نسبت به مورد قبل ارائه کرده و موجب دسترس پذیری بالاتر و هزینه های پائین تر می گردد. برخی مطالعات آزمایشی اخیر ثابت کرده اند که جوانسازی تکنیکی بسیار کارآمد برای اجتناب از خرابی ها می باشد حتی زمانی که مشخص شده باشد که میان افزار پایه یا پشته پروتکل به خاطر نشتی حافظه آسیب و ضربه می بینند. مطالعات مختلف منتشر شده در ادبیات سعی کرده اند برخی تکنیک های مدلسازی برای یافتن زمان بهینه برای جوانسازی را تعریف کنند.
۵٫ نتایج
در این مقاله شیوه ای ساده برای بهبود جوانسازی نرم افزار مطرح شده است که بسیار موثر عمل می کند. از آن می توان برای منحنی های برنامه آف شلو استفاده نمود، آن بدون از دست دادن هرگونه پیشرفت کاری به زمان از کار افتادگی صفر رسیده و متحمل جریمه عملکردی قابل توجهی نمی شود. از آن می توان در پیکره بندیهای خوشه ای یا تک سروری بدون تحمیل هزینه زیادی استفاده نمود. برای اینکار فقط نیاز به استفاده از لایه مجازی سازی و نصب تعدادی واحد نرم افزاری می باشد. دستاوردهای این مطالعه به ما این اجازه را می دهد تا به این مسئله فکر کنیم که شیوه جوانسازی نرم افزار ، سهم جزئی در توسعه فناوریهای حساس جهت اضافه نمودن قابلیت های خوددرمانی به آف شلو دارا می باشد.
بخشی از مقاله انگلیسی:
۱ Introduction
Availability of business-critical application servers is an issue of paramount importance that has received special attention from the industry and academia in the last decades. According to [1] the cost of downtime per hour can go from 100K for online stores up to 6 million dollars for online brokerage services. The industry has adopted several clustering techniques [2] and today most business-critical servers apply some sort of server-redundancy, load-balancers and fail-over techniques. This works quite fine to tolerate application crashes. The latest trend goes towards the development of self-healing techniques [3] that would automate the recovery procedures and prevent the occurrence of unplanned failures, whenever possible.
The idea behind our paper is to develop further the concept of software rejuvenation [4]. This technique has been widely used to avoid the occurrence of unplanned failures, mainly due to the phenomena of software aging or caused by transient failures. The term software aging describes the phenomena of progressive degradation of the running software that may lead to system crashes or undesired hang ups [4]. This phenomena is likely to be found in any type of software that is complex enough, but it is particularly troublesome in long-running applications. It is not only a problem for desktop operating systems: it has been observed in telecommunication systems [5], web-servers [6, 7], enterprise clusters [8], OLTP systems [9] and spacecraft systems [10]. This problem has even been reported in military systems [11] with severe consequences such as loss of lives.
There are several commercial tools that help to identify some sources of memory-leaks during the development phase [12, 13]. However, not all the faults can be easily spotted during the final testing phase. And those tools cannot work in third-party software packages when there is no access to the source-code. This means that existing production systems have to deal with the problem of software aging while in production stage. So, in a widely number of cases the only choice is to apply some sort of software rejuvenation.
Two basic approaches for rejuvenation have been proposed in the literature: time-based and proactive rejuvenation. Time-based rejuvenation is widely used today in some real production systems, such as web-servers [14, 15]. Proactive rejuvenation has been studied in [8],[9],[14, 15, 16, 17, 18, 19, 20, 21] and it is widely understood that this technique of rejuvenation provides better results than the previous one, resulting in higher availability and lower costs. Some recent experimental studies have proved that rejuvenation can be a very effective technique to avoid failures even when it is known that the underlying middleware [21] or the protocol stack [22] suffers from clear memory leaks.
۵ Conclusions
In this paper, we have presented a simple approach for enhanced software rejuvenation that has proved to be highly effective: it can be applied to off-the-shelf application servers, it achieves a zero downtime without losing any workin-progress and does not incur in a significant performance penalty. It can be applied to single-server or cluster configurations without any additional cost. We just require the use of a virtualization layer and the installation of some software modules.
The achievements of this study allow us to think that this approach to software rejuvenation can be a partial contribution for the development of critical technologies to add self-healing capabilities to off-the-shelf Enterprise Servers and Web-Servers.
عنوان فارسی مقاله: | کاربرد مجازی سازی در بهبود روند جوان سازی نرم افزار |
عنوان انگلیسی مقاله: | Using Virtualization to Improve Software Rejuvenation |
خرید ترجمه فارسی مقاله با فرمت ورد