عنوان فارسی مقاله: | محرکه و مدل سازی برنامه زمان اجرا |
عنوان انگلیسی مقاله: | Checkpointing and the Modeling of Program Execution Time |
دانلود مقاله انگلیسی: | برای دانلود رایگان مقاله انگلیسی با فرمت pdf اینجا کلیک نمائید |
تعداد صفحات مقاله انگلیسی | 19 صفحه |
تعداد صفحات ترجمه مقاله | 16 صفحه |
سال انتشار | 1995 |
دانشگاه | هلند |
فهرست مطالب:
چکیده
۱ مقدمه
۲ کارهای مرتبط
۳-ا جرای برنامه بدون محرکه
۴-۱ مدل
۴-۲ زمان اجرا با فاصله های بازرسی
۵ محرکه در برنامه مدولار
۵-۱ زمان اجرای یک برنامه مدولار
۵-۲ زمان اجرای یک نیاز پردازشی
۶-۱ مدل
۶-۲ زمان اجرای نیاز به پردازش
۷ نتیجه گیری
بخشی از ترجمه:
مقدمه
تحمل خطا یکی از ویژگیهای مورد نظر در برنامه های کاربردی نرم افزارهایی است که به مدت طولانی ممکن است در انواع زمینه ها از جمله محاسبات فشرده عددی شبیه سازی سیستم های پیچیده ،نمایش پایگاه های داده هی بزرگ به کار رود.قابلیت اطمینان از چنین برنامه های کاربردی ممکن است به یک علت خارجی به خطر بیافتدمانند قطع شدن برق،شکستن دیسک،شکست پردازنده و انواع دیگر اختلالات در عملکرد سیستم و یا به دلیل خطرات دائمی مانند آنهایی که در خود برنامه وجود دارد باشد.تکنیکهای تحمل خطا(مانند فصل۴-۱)را میتوان به منظور افزایش قابلیت اطمینان از چنین برنامه های کاربردی مورد استفاده قرار داد.با این حال اغلب مستلزم هزینه و یا منابع اضافی است.به عنوان مثال اضافه کردن به عنوان مثال اضافه کردن یک قابلیت راه اندازی مجدد پس از نو سازی می تواند موفقیت آمیز باشد.با این حال چنین توانایی راه اندازی مجدد در برابر زمان اجرا بیش از حد به دلیل شکستهای مکرر و پس از فرآوری سنگین محافظت نمی کند.زمان اجرای یک برنامه به عنوان زمان تعریف شده برای تکمیل محاسبات از جمله تعمیرات و شروع مجدد پس از شکست است.این همچنین شامل کارهای اضافی مورد نیاز توسط روش تحمل خطا در صورت وجود است.ساعت هم مهم است چرا که معمولا برای ارزیابی و مقایسه عملکرد درروشهای مختلف تحمل خطا در نرم افزارهای کامپیوتری مورد استفاده قرار می گیرد.این است که به خوبی شناخته شده است که زمان اجرای مورد انتظار نرم افزار با قابلیت تحمل خطا به طور معمول به صورت نمایی رشد می کند یا نیاز به پردازش آن است.این به خاطر شکست است که باعث شده است برنامه مجددا از ابتدا راه اندازی شود در نتیجه پردازش هایی که در مدت اجرا انجام داده بود از دست می دهد.محرکه روش معمول مورد مورد استفاده در برنامه های کاربردی نرم افزارهای تحمل پذیر خطا و برنامه های برنامه های طولانی مدت به منظور افزایش قابلیت اطمینان بوده و افزایش بهره وری محاسباتی را دارد(نگاه کنید به مثال cha72a-cha72b).محرکه شامل صرفه جویی در وضعیت فعلی اجرای برنامه در ذخیره سازی قابل اعتماد بوده به طوری که هنگام که یک شکست رخ میدهد اجرای برنامه ممکن است باعث راه اندازی مجدد شده باشد.با محرکه زمان اجرای مورد انتظار یک برنامه به طور معمول رشد می کند.پس از یک شکست فرایند مجددا برنامه ذخیره شده رامجددا به عقب برمی گرداند.توجه داشته باشید که زمان عقب گرد ممکن است به راحتی به زمان باز سازی هدف تجزیه و تحلیل باشد.واضح است که پستهای بازرسی بیشتر به معنی فرآوری کمتر پس از شکست است.اگر پست های بازرسی با هزینه کمتری باشند در آن زمان تعدادی از پستهای بازرسی در این برنامه کاهش می یابند.با این حال محرکه معمولا در برنامه وجود داشته و در نتیجه خارج می شود به عبارت دیگر یک عدد مطلوب از ایست بازرسی ها که اندازه گیری عملکرد را به عهده دارند را بهینه سازی می کند.به عنوان مثال در یک محیط تولید یک هدف برای به حد اقل رساندن زمان اجرا مورد انتظار است.در یک محیط واقعی این به احتمال زیاد به حداکثر رساندن احتمال زمان اجرای برنامه را در بر خواهد داشت.در طول این سالها مسائل مربوط به محرکه و بهبود در انواع سیستم ها وجود داشته است. این مسائل از محدوده معماری و پیاده سازی جنبه هایی از ملاحظات کارکردی و عملکردی است.هیچ راهی برای پوشش دادن همه جانبه این موضوع در یک فصل یا حتی یک کتاب واحد وجود ندارد در واقع در حوزه مسائل مربوط به عملکرد مرتبط بوده و در دو دهه گذشته تعداد زیادی از مقالات وجود پیدا کرده است.بسیاری از این مقالات به مدل سازی و تجزیه تحلیل استراتژی های مختلف محرک در سطح نیمه عنوان سطح برنامه ها پرداخته است.لازم به ذکر است که با این حال که بسیاری از مسائل مشترک محرک جهت بهبود در سیستم و سطح برنامه است.به عنوان مثال آزمونهای سیستم محرکه ممکن است در یک سیستم پایگاه داده انجام شود.در این سیستم کلیت هایی که اساس آنها استراتژی است با هدف افزایش قابلیت اطمینان کلی و یکپارچگی پایگاه داده و همچنین بهبود عملکرد کلی سیستمک است.تمرکز اصلی در این فصل مدل سازی محرک در سطح برنامه و تجزیه و تحلیل زمان اجرای برنامه است بنا بر این در فصل ۷-۲به طور خلاصه کارهای مربوط به این بحث را مورد بررسی قرار خواهیم دادبا این حال ما دوست داریم که برای هدایت توجه خواننده مطلب او از نزدیک با سیستم مرتبط باشد.ما همچنین برخی مدل های سودمند از عملکرد برنامه را برای شکست بدون و با محرکه بررسی می کنیم در بخش ۷-۳ ما از مدل های اصلی و با در نظر گرفتن اجرای برنامه در حضور و بدون حضور محرکه استفاده می کنیم سپس مفروضات اساسی مشترک را تشکیل داده و ما برنامه زمان اجرا را با استراتژی های مختلف مورد تجزیه و تحلیل قرارخواهیم داد.در این روند ما مدل های قبلی گسترش یافته و اقدامات جدید را معرفی می کنیم در بخش۷-۴ما یک مدل ثابت یا قطعی مدت زمان سازنده را با محرکه در نظر می گیریم مدل ها با زمانهای تولیدی به طور کلی بین نقاط ایست و بازرسی توزیع شده است و در بخش ۷-۵در نظر گرفته می شود.یک مدل را با استراتژی محرکه تصادفی در بخش ۷-۶ مورد تجزیه و تحلیل قرار می دهیم در بخش ۷-۷ ما به طور خلاصه نتیجه گیری از تحقیقات را ارائه می دهیم.
7-7 نتیجه گیری:
تکنیک های تحمل خطا معمولا با هدف اصلی طراحی شده است که برای برآورده کردن نیاز و اطمینان در سیستم است این است که اغلب علاوه بر هزینه یا کاهش دارایی اتفاق می افتد.از این رو. مهم است که ارزیابی روشهای تحمل خطا نه تنها در جنبه های قابلیت اعتماد و اطمینان است ،بلکه بر اساسجنبه های هزینه و عملکرد است.محرکه روش معمول مورد استفاده برای تحمل خطا در انواع برنامه های کاربردی نرم افزاری و سیستم های اطلاعاتی است این شامل ذخیره اطلاعات کافی استفاده شده برای جلوگیری از دست دادن کامل پردازش مفید در وقوع یک شکست گذرا است. به طور معمول هدف اصلی محرکه دوتسم است. برای برآوردن الزامات قابلیت اطمینان سیستم در حضور شکست و برای انجام این کار با حداقل عملکرد اگر پست های بازرسی بدون هزینه باشند پس از آ« پست های بازرسی بیشتر به معنی قابلیت اطمینان در عملکرد را در پی خواهد داشت.با این حال این به ندرت و به طور معمول وجود دارد و به عنوان مثال یک استراتژی محرکه بهینه اندازه گیری عملکرد مناسب بهینه سازی زیر را انجام می دهد در برنامه های کاربردی نرم افزار هدف این است که برای حفظ صحت یک برنامه طولانی در اجرا به حداقل رساندن زمان مورد انتظار برای اجرا قابل قبول باشد.و در این فصل تمرکز اصلی ما مدل سازی محرکه و عقب گرد در یک برنامه بود ما در برخی از مدل های اولیه برای تجزیه و تحلیل برنامه در حضور شکست را در نظر گرفتیم در همه مدل ها در این فصل ما شکست ها را بر عهده گرفتیم و در طول مدت بهبودی آنها را بررسی کردیم در همه مدلها در این فصل ما شکست را در طول مدت بهبودی بررسی کردیم و همچنین در طول محرکه نیز این اتفاق افتاد بنابراین ساخت یک فرصت مهم برای برخی از مدل ها انجام شد همچنین یک مدل جدید برای محرکه در برنامه های مدولار که در آن پست های بازرسی ممکن استبین ماژولها برنامه در نظر گرفته شود. زمان مورد نیاز پردازش یک ماژول در نظر گرفته شده به طور کلی توزیع شده است گرچه ما در یک فرایند شکست پواسون ممکن را در نظر گرفتیم بسیاری از تبدیل ها ممکن است تبدیل به یک فرم فشرده شود.نتایج حاصل از تجزیه و تحلیل ها عبارتند از فرم بسته ای برای LSTو تبدیل لاپلاس. نتیجه گیری که به طور کلی بدست آمده است این است که با محرکه زمان اجرای مورد انتظار از برنامه، رشد می کند لازم به ذکر ست که محرکه ممکن است همیشه مفید باشد به ویژه برای برنامه های با نیاز به پردازش به اندازه کافی کوچک در غیر اینصورت معمولا فرکانس محرکه به صورت تحلیلی یا عددی مشخص وجود دارد.برای برنامه های با پردازش به اندازه کافی بزرگ فرکانس بهینه محرکه زمان اجرای مورد انتظار رابه حداقل رسانده است. روش برنامه نویسی پویا با مدل سازی و تجزیه و تحلیل محرکه و بهبود یافته در سطح برنامه ای (TOU84 ) و در سطح سیستم LEc88 در نظر گرفته شده آن را به طور معمول با یک راه حل لگاریتمی حل می کنیم. این روش بسیار امیدوار کننده است و باید بیشتر مورد بررسی قرار گیرد.در بسیاری از کارهای قبلی و همچنین در اینجا فرض شده است که شکست در اسرع وقت رخ داده و قابلیت شناسایی دارد.در واقع یک شکست ممکن است غیر قابل تشخیص باشد که منجر به کار نادرست برنامه باشد.همچنین زمانی که تحمل شکست به علت تخریب نوعی از سیستم است امکان دارد که ناشی از عیب پردازنده باشد.برخی از سیستم ها سناریو ی دیگری است که در آن محرکه ممکن است در پس زمینه انجام شده قرار گیرد و در نتیجه اجازه میدهد پردازش مولد در طول محرکه ادامه یابد.این نیز آشکار است که این طرح در حال تبدیل شدن به حالت فزاینده پیچیده و در نتیجه نیاز به تحقیق و بررسی بیشتر برای کمک به مسائل اساسی و درک مختلف مشکلات که به طور معمول در طراحی آنها نقش دارد.
عنوان فارسی مقاله: | محرکه و مدل سازی برنامه زمان اجرا |
عنوان انگلیسی مقاله: | Checkpointing and the Modeling of Program Execution Time |