پیری و جوان سازی نرم افزار

37
ار ز ف رم ا ن ری ی پ ه ل سا م ل ی ل ح ت ی و سر ر ن ی ح ل صا# روش س[email protected]

Upload: soroush-salehi

Post on 13-Apr-2017

297 views

Category:

Education


5 download

TRANSCRIPT

بررسی و تحلیل مساله پیری نرم افزار

سروش صالحی[email protected]

37 / 2بررسی و تحلیل مساله پیری نرم افزار

فهرست مطالب

مقدمه■ابعاد پیری نرم افزار■

تاثیرات و شاخص های پیری–انواع سیستم–تکنیک های جوان سازی–انواع تحلیل–

جمع بندی■

37 / 3بررسی و تحلیل مساله پیری نرم افزار

پیری نرم افزار

و/یا افزایش نرخ خرابی پیری نرم افزار: پدیده ای شامل ■درQ یک نرم افزار با کاربرد طوالنی مدت کاهش کارایی

است.

علل پیری نرم افزار■نشت حافظه–آزاد نشدن قفل فایل ها–ریسه های تمام نشده–تجمع خطاهای عددی–

37 / 4بررسی و تحلیل مساله پیری نرم افزار

(2پیری نرم افزار)

: سیستم 1960از اولین مشاهدات پیری نرم افزار در سال■حفاظتی ارتش آمریکا

ویژگی ها■ به مدت زمان کل اشکاالت مرتبط با پیریفعالسازی/تکثیر –

اجرای برنامه بستگی دارداثرات پیری نرم افزار تنها در زمانی که سیستم در حال اجرا است –

تشخیص داده می شوند.

37 / 5بررسی و تحلیل مساله پیری نرم افزار

اشکاالت مرتبط با پیری

■MandelBugفعال شدن و انتشار خطا به مجموعه ای از شرایط داخلی سیستم و –

شرایط محیطی سیستم بستگی دارد.تاخیر قابل مالحظه ای بین فعال شدن اشکال و وقوع خرابی وجود –

دارد. )زمان برای تجمع خطا ها(

اشکال مرتبط با پیری

فاکتور های پیری

خطای مرتبط با پیری

محیط داخلی سیستم

خرابی مرتبط با پیری

فعال شدن تجمع خطاانتشار

37 / 6بررسی و تحلیل مساله پیری نرم افزار

جوان سازی نرم افزار

برای برای پیشگیرانهجوان سازی نرم افزار: رویکردی ■ به علت پیری نرم خرابیو تنزل کارایی از جلوگیری

به صورت دوره ای پاک کردن اثرات پیری افزار به وسیله است.یا اتفاقی

ساده ترین راه برای اجرای جوان سازی نرم افزار ریست کردن –برنامه است.

(downtimeمعموال موجب از کار افتادگی سیستم )–کاهش دسترس پذیری سیستم■کاهش کارایی سیستم■

زمانبندی مهمترین مساله در زمینه پیری نرم افزار و جوان سازی، –است.جوان سازی

سیستمidleزمان بندی جوان سازی در حین زمان ■

37 / 7بررسی و تحلیل مساله پیری نرم افزار

تاثیرات و شاخص های پیری

شاخص ها متغیر های سیستم هستند که مستقیما اندQازه گیری می ■شوند.

مصرف حافظه■swapاندازه گیری میزان فضای خالی حافظه، فضای –

تنزل کارایی■زمان پاسخ گویی به در خواست ها–

مصرف منابع دیگر■(swap، cacheمنابعی غیر از حافظه ها )فیزیکی، مجازی، –منابع مرتبط با فایل سیستم –ذخیره ساز ها–منابع مرتبط با شبکه–منابع مرتبط با همزمانی –منابع مخصوص برنامه های کاربردی–

37 / 8بررسی و تحلیل مساله پیری نرم افزار

سیستم های تحت تاثیر پیری نرم افزار

سیستم های بحرانی-ایمن■سفینه فضایی، سیستم امنیتی ارتش–

سیستم های بحرانی-ماموریت■ هستند اما بحرانی-ماموریتشامل برنامه های کسب و کار، –

بحرانی-ایمن نیستند مانند وب سرور ها یا سیستم مدیریت پایگاه داده

37 / 9بررسی و تحلیل مساله پیری نرم افزار

تکنیک های جوان سازی

ریست کردن برنامه■ریبوت کردن سیستم عامل■■Cluster Failover روش های دیگر■

–flushکردن کرنل دیفرگمنت کردن فایل سیستم–ریست کردن بخشی از برنامه–بازیابی اشکال نرم افزاری و استفاده از نقاط وارسی––Garbage collection

37 / 10بررسی و تحلیل مساله پیری نرم افزار

تحلیل پیری نرم افزارتالش برای مدل کردن پدیده پیری نرم افزار یک سیستم به منظور ■

فراهم کردن یک دید انتزاعی و رفتار ریاضی آن.(model-basedبر پایه مدلسازی )–(measurement-basedبر پایه اندازه گیری )–(hybrid )ترکیبی–

37 / 11بررسی و تحلیل مساله پیری نرم افزار

بر پایه مدلسازیتحلیQل پیری نرم افزار

تحلیل پیری نرم افزار بر پایه مدلسازی■به وسیله فرایندهای تصادفی که برای مدل کردن پدیده پیری نرم –

افزار استفاده شده اند به تحلیل مدل های انتزاعی می پردازند.بر روی طیف گسترده ای از سیستم ها قابل اجرا است.–این مدل با فرایند های مارکوف و نیمه مارکوف گسترش یافته –

است.در ابتدا برای اثبات کاهش زمان از کار افتادگی سیستم به وسیله –

جوان سازی به کار برده شد.

37 / 12بررسی و تحلیل مساله پیری نرم افزار

بر پایه مدلسازیاولین تحلیل پیQری نرم افزار

Yennun Huangتوسط ■1995سال ■پدیده پیری نرم افزار را با استفاده از چهار حالت زنجیره ■

Continuous-Time)مارکوف با پیوستگی زمانیMarkov Chain ).مدل کرد

این مدل زمان از کار افتادگی مورد انتظار )در هر دو حالت ■زمانبندی شده و زمانبندی نشده( و هزینه های آن را محاسبه

می کند.

37 / 13بررسی و تحلیل مساله پیری نرم افزار

مدل مارکوف

در این مدل انتقال از یک حالت به حالت دیگر صورت می گیرد ■)تعداد این حاالت قابل شمارش است(.

زنجیره مارکوف یک فرایند تصادفی بدون حافظه است بدین ■معنی که توزیع احتمال شرطی حالت بعد تنها به حالت فعلی

بستگی دارد و به وقایع قبل از آن وابسته نیست.

37 / 14بررسی و تحلیل مساله پیری نرم افزار

مدل مارکوف بدون جوان سازی

–S0 حالت مستحکم :–SPحالت مستعد خرابی : –SFحالت خرابی :

37 / 15بررسی و تحلیل مساله پیری نرم افزار

مدل مارکوف با جوان سازی

–Srحالت جوان سازی :

متوسط زمان خرابی = –متوسط زمان بازیابی پس از خرابی = –متوسط زمان کارکرد صحیح = –مدت زمان تعمیر پس از جوان سازی = ––CF میانگین هزینه زمان از کار افتادگی سیستم به علت خرابی بر =

حسب ساعت–Cr میانگین هزینه زمان از کار افتادگی سیستم به علت جوان =

سازی بر حسب ساعت

–R4 = 0مدل بدون جوان سازی :

؟

37 / 16بررسی و تحلیل مساله پیری نرم افزار

بر پایه اندازه گیریتحلیQل پیری نرم افزار

تحلیل پیری نرم افزار بر پایه اندازه گیری■ )عملی( پیری نرم افزار بر اساس اندازه گیری معیار تجربیتحلیل –

های سیستم.ایده اصلی مانیتور کردن مستقیم شاخص های پیری است.–تحلیل داده های آماری جمع آوری شده در زمان اجرا برای شناسایی –

رخداد خرابی مرتبط با پیری.برای پیش بینی مدت زمان رسیدن به خرابی مرتبط با پیری و هدف –

جوان سازی نرم افزار.راهنمای خوبی برای زمان انجام عملیات جوان سازی است.–

37 / 17بررسی و تحلیل مساله پیری نرم افزار

(2تحلیل پیری نرم افزار بر پایه اندازه گیQری )

بر پایه اندازه گیری■(Time Series Analysisتحلیل سری های زمانی )–(Threshold-Based Approachرویکرد بر پایه حد آستانه )–

ضرورت استفاده از تکنیک های آماری برای بیان قطعی در ■مورد وجود یا عدم وجود روند پیری نرم افزار

Mann-Kendall و seasonal Kendallتست های –Senروال –

37 / 18بررسی و تحلیل مساله پیری نرم افزار

اولین تحلیل پیQری نرم افزار بر پایه اندازه گیQری

مانیتور کردن منابع مورد استفاده سیستم عامل در یک شبکه ■LAN ایستگاه کاری Qدر UNIX با استفاده از ابزار مانیتورینگ

SNMP )Simple Network Management Protocol( توزیع شده به منظور شناسایی روند پیری نرم افزار

روز53مصرف واقعی حافظه و جدول فایل را در طی –

37 / 19بررسی و تحلیل مساله پیری نرم افزار

سری های زمانی - نظارت بر روی سیستم

SNMPابزار نظارت توزیع شده بر مبنای ■نظارت بر وسایل متصل یه شبکه–مانند پایگاه داده توزیع شده عمل می کنند–UNIXنظارت بر حالت ایستگاه کاری –

37 / 20بررسی و تحلیل مساله پیری نرم افزار

(2سری های زمانی - نظارت بر روی سیستم )

MIBمدیریت پیشگیرانه ■تعریف مجموعه ای از اشیاء بر روی هر ایستگاه کاری که توسط –

ایستگاه مدیریت نظارت می شوند.این اشیاء حالت ایستگاه کاری را شرح می دهند.–

اجزا■–hostIDاطالعات پایه ایستگاه کاری : –timeValآخرین زمان ریبوت شدن و زمان فعلی : –osResourceحالت منابع سیستم عامل : –procStatsحاالت فرایند های در حال اجرا :

37 / 21بررسی و تحلیل مساله پیری نرم افزار

سری های زمانی - جمع آوری داده های سیQستم

داده های جمع آورQی شده■داده های منابع مربوط به ایستگاه های کاری مختلف–ثبت رویداد های خطا–

تحلیل داده ها■ایجاد یک سری زمانی برای هر معیار مانیتور شده–مشخص شدن روند معیار بر حسب زمان–تحلیل نمودار سری زمانی–

تشخیص و تخمین روند پیری■

37 / 22بررسی و تحلیل مساله پیری نرم افزار

سری های زمانی - تحلیل داده های سیستم

تشخیص و تخمین روند پیری■تشخیص■

صاف کردن–رگرسیون وزن دار محلی مستحکم■مناسب برای داده های غیر خطی■

Seasonal Kendallتست –( مختلفseasonsمقایسه ارتباط نقاط در دوره های زمانی )■

تخمین■Senروال –

تقریب شیب روند برای تخمین زمان پیری )فرسودگی منابع(■

37 / 23بررسی و تحلیل مساله پیری نرم افزار

حد آستانه

تعریف حد آستانه برای برخی از شاخص ها■اجرای جوان سازی بعد از گذشتن از حد آستانه■

عیب■پیدا کردن شاخص و حد آستانه مناسب برای آن مشکل است–

مزیت■جلوگیری از خرابی–اجرای بد موقع جوان سازی–

37 / 24بررسی و تحلیل مساله پیری نرم افزار

مجازی سازی

مجازی سازی ابزاری برای اجرای همزمان چندین سیستم ■عامل بر روی یک ساختار سخت افزاری

پخش کردن بار کاری–فراهم آوردن محیط کاری مجزا–اقدام به ایجاد چندین نمونه از ماشین واقعی–

37 / 25بررسی و تحلیل مساله پیری نرم افزار

vm-Rejuvچارچوب

و ...Net ، Jboss ، TomCat.سرور: ■TCP/IP ، HTTP ، SOAPارتباط کاربر با سرور: ■VMW ، XEN ، Virtuosoمیان افزار مجازی : ■

37 / 26بررسی و تحلیل مساله پیری نرم افزار

)vm-Rejuv )2چارچوب

استفاده از مجازی سازی برای بهبود جوان سازی■self-healingبر پایه تکنیک ■رساندن زمان از کار افتادگی به صفر■مانیتور کردن داده های سیستم و متریک کارایی برنامه■در صورت مشاهده پیری یا رفتار غیر عادی اجرای عمل جوان ■

سازیMTBF به جای MTTRاهمیت ■

37 / 27بررسی و تحلیل مساله پیری نرم افزار

تحلیل پیری نرم افزار

ترکیبی■تلفیق سودمنی های دو مدل قبلی–توصیف پدیده از طریق تجزیه ، بیشتر بر اساس مدل مارکوف–تعیین پارامتر های مدل از طریق مدل اندازه گیری با مشاهده داده –

ها.تخمین فرسودگی منابع برای تمامی منابع و حاالت–

37 / 28بررسی و تحلیل مساله پیری نرم افزار

مقایسه روش های ارزیابی تحلیل های پیری نرم افزار

37 / 29بررسی و تحلیل مساله پیری نرم افزار

نمونه آزمایشات انجام گرفته

پیری نرم افزار در سرور های مجازی■ارتباط بین توان مصرفی و پیری نرم افزار■

37 / 30بررسی و تحلیل مساله پیری نرم افزار

پیری نرم افزار در سرور های مجازی

Virtual Machine Monitorآزمایش شده بر روی : ■یک الیه انتزاعی از نرم افزار که برای اجرای چند پشته نرم افزاری –

روی یک سرور جهت اثر بخشی بهره وری از سخت افزار استفاده می شود

تحلیل بر پایه اندازه گیری■ به در خواستگویی خزمان پاس–فضای خالی حافظه فیزیکی–

گویی ختخمین روند پیری با نمایش کاهش متوسط زمان پاس■هنگامیکه دسترسی به حافظه فیزیکی کاهش می بابد.

آنالیز رگرسیون خطیتخمین روند پیری با ■

37 / 31بررسی و تحلیل مساله پیری نرم افزار

(2پیری نرم افزار در سرور های مجازی )

37 / 32بررسی و تحلیل مساله پیری نرم افزار

ارتباط بین توان مصرفی و پیری نرم افزار

تحلیل بر پایه اندازه گیری■توان مصرفی–cpuبهره وری از –

استفاده از تحلیل رگرسیون برای تشخیص و تخمین تاثیرات ■توان مصرفی بر روی پیری نرم افزار

کاهش کارایی در برنامه های با کاربرد نتایج آزمایش تجربی : ■طوالنی و به علت کم شدن حافظه فیزیکی و افزایش نرخ

cpu و افزایش بهره ورQی از swapخواندن وQ نوشتن

37 / 33بررسی و تحلیل مساله پیری نرم افزار

(2 )ارتباط بین توان مصرفی و پیری نرم افزار

به مقدارQ شیب نمودار وات میانگین توان مصرفی برای یک ■درQخواست ثابت در ساعت افزایش می یابد.

سروQر ها با افزایش زمان، توان بیشتری مصرف می کنند■

37 / 34بررسی و تحلیل مساله پیری نرم افزار

جمع بندی

تعریف پیری نرم افزار■تعریف جوان سازی نرم افزار■ارتباط پیری و جوان سازی■روش های تحلیل پیری نرم افزار■مشاهده نمونه آزمایشات صورت گرفته■

37 / 35بررسی و تحلیل مساله پیری نرم افزار

مراجع[1] Cotroneo, D., Natella, R., Pietrantuono, R., & Russo, S. , "A survey of software aging and rejuvenation studies", ACM Journal on Emerging Technologies in Computing Systems (JETC), 2014

[2] Huang, Y.; Kintala, C.; Kolettis, N.; Fulton, N.D., "Software rejuvenation: analysis, module and applications", in Fault-Tolerant Computing, 1995. FTCS-25. Digest of Papers., Twenty-Fifth International Symposium on , vol., no., pp.381-390, 27-30 June 1995

[3] Garg, S.; van Moorsel, A.; Vaidyanathan, K.; Trivedi, K.S., "A methodology for detection and estimation of software aging," in Software Reliability Engineering, 1998. Proceedings. The Ninth International Symposium on , vol., no., pp.283-292, 4-7 Nov 1998[4] Lei Li; Vaidyanathan, K.; Trivedi, K.S., "An approach for estimation of software aging in a Web server," in Empirical Software Engineering, 2002. Proceedings. 2002 International Symposium n , vol., no., pp.91-100, 2002

37 / 36بررسی و تحلیل مساله پیری نرم افزار

مراجع[5] Mohan, B.R.; Ram Mohana Reddy, G., "Software aging trend analysis of server virtualized system," in Information Networking (ICOIN), 2014 International Conference on , vol., no., pp.260-263, 10-12 Feb. 2014[6] Moura Silva, L.; Alonso, J.; Silva, P.; Torres, J.; Andrzejak, A., "Using Virtualization to Improve Software Rejuvenation," in Network Computing and Applications, 2007. NCA 2007. Sixth IEEE International Symposium on , vol., no., pp.33-44, 12-14 July 2007

[7] Mohan, B.R.; Reddy, G.R.M., "The effect of software aging on power usage," in Intelligent Systems and Control (ISCO), 2015 IEEE 9th International Conference on , vol., no., pp.1-3, 9-10 Jan. 2015

[8] Parnas, D.L., "Software aging," in Software Engineering, 1994. Proceedings. ICSE-16., 16th International Conference on , vol., no., pp.279-287, 16-21 May 1994

بررسی و تحلیل مساله پیری نرم افزار

با تشکر از توجه شما