راهنمای نگارش پایان نامه در مورد یک چارچوب تحمل خطا برای محاسبات پوشیدنی در حوزه محاسبات فراگیر ... |
![]() |
-
- خطای ناپایدار
پس از مدتی خطا ناپدید می شود
زیاد گرم شدن سنسور
جدول ۲-۱:یک طبقه بندی رایج از خطاها
به منظور غلبه بر خطا میتوان از روشهایی بهره برد. به طور کلی برای غلبه کردن بر خطا و حفظ کارایی نرمال سیستم، سه روش الف) اجتناب از خطا[۳۳]ب) پوشاندن خطا[۳۴] ج) تحملپذیری خطا، وجود دارد. هر تکنیکی که برای جلوگیری از بروز خطا در سیستم، استفاده می شود، جزء تکنیکهای اجتناب از خطا میباشد. پوشاندن خطا یعنی اینکه پس از بروز نقص در سیستم، از تکنیکهایی استفاده کنیم تا از وقوع خطا جلوگیری شود. تحملپذیری خطا یعنی پس از بروز خطا، سیستم قادر به ادامه وظایف خود باشد.
شایان ذکر است که هدف نهایی تحملپذیری خطا، جلوگیری از رخ دادن خرابی در سیستم است. به منظور دستیابی به تحملپذیری خطا میتوان از تکنیکهای مختلفی از جمله پیکربندی مجدد استفاده کرد. معمولاً در پیکربندی مجدد میتوان عناصر خراب را از سیستم حذف کرد و سپس سیستم را به وضعیت کارآمد خود باز گرداند.
فرایندهای تشخیص خطا، تعیین موقعیت خطا، محدودسازی حوزه خطا و برطرف نمودن خطا، چهار تکنیک پیکربندی مجدد میباشند که طراح باید به آنها دقت کند. تشخیص خطا همان فرایند شناسایی خطاست که قبل از سه فرایند دیگر انجام می شود. بعداز شناسایی خطا باید مشخص کرد که خطا در کجا رخ داده است. پس از شناسایی و مکان یابی خطا باید آنرا ایزوله کرد یعنی باید از انتشارات اثرات خطا در کل سیستم جلوگیری شود. فرایند برطرف نمودن خطا یعنی پس از پی بردن به علت خطا، عملکرد سیستم به حالت مناسب بازگردانده شود.
به طور مثال فرض کنید که یک خطا در سیستمی که از تحملپذیری خطا پشتیبانی می کند، رخ داده است. در این صورت میتوان از تکنیکهای پیکربندی مجدد بدین صورت استفاده کرد که تکنیکهای تشخیص خطا، وجود خطا را در سیستم مشخص می کنند. در ادامه با بهره گرفتن از روشهای تعیین موقعیت خطا، منبع خطا مشخص می شود. سپس یا میتوان خطا را محدود کرد و یا میتوان آنرا رفع کرد. بدین صورت که رفع خطا و پیکربندی مجدد، واحد خراب را حذف می کنند و یا آنرا با مؤلفهی سالم دیگری تعویض می کنند. اگر امکان تعویض مؤلفهی خراب نباشد، میتوان با کمک تکنیکهایی و با کاهش قابل قبول کارایی، سیستم را در حالت فعال نگه داشت.
۲-۳-۳ ابزارهای اتکاپذیری
روشهای دستیابی به یک سیستم اتکاپذیر(ابزارها) به چهار دسته پیشگیری از اشکال، رفع اشکال، تحمل اشکال و پیش بینی اشکال، تقسیم میشوند.
- پیشگیری از اشکال: ابزاری است که برای جلوگیری از وقوع اشکال استفاده می شود. که این کار به وسیله طراحی کاملاً دقیق و اصولی قابل انجام است. به طور کلی روشهای پیشگیری از اشکال در مراحل طراحی و توسعه سیستمها مورد استفاده قرار میگیرند.
- رفع اشکال: روشهای رفع اشکال هدفشان کاهش تعداد و اثرات اشکالهاست.
- تحمل اشکال: روشهای تحمل اشکال، روشهایی میباشند که هنگام بروز اشکالها، از شکست سیستم جلوگیری می کنند، بدین صورت که خطا را تشخیص و بازیابی سیستم را انجام می دهند. در فرایند بازیابی، کارهای رسیدگی و اداره کردن خطا و اشکال صورت میگیرد. که فرایند اداره کردن اشکال از چهار مرحله تشخیص اشکال، جداسازی اشکال، پیکربندی مجدد سیستم و آغاز مجدد سیستم، تشکیل شده است.
در مرحله تشخیص اشکال، مکان و علت اشکال مشخص می شود، در مرحله جداسازی اشکال، از شرکت مؤلفه های معیوب در انجام وظایف سیستم، جلوگیری می شود. سپس در مرحله پیکربندی مجدد سیستم، از مؤلفه های افزونه استفاده می شود و یا کل وظایف سیستم تنها به مؤلفه های سالم، تخصیص مییابند. در مرحله آخر یعنی آغاز مجدد سیستم، پیکربندی جدید سیستم مورد استفاده قرار میگیرد.
- پیش بینی اشکال: با بهره گرفتن از ارزیابی سیستم میتوان اشکال را پیش بینی کرد. به روشهایی که تعداد فعلی اشکالها، نرخ وقوع اشکالها در آینده و پیامدهای احتمالی اشکالها را تخمین زده و پیش بینی می کنند، روشهای پیش بینی اشکال گفته می شود. فرایند پیش بینی اشکال، بوسیلهی ارزیابی سیستم صورت میگیرد که این ارزیابی به دو طریق کمی و کیفی قابل انجام است.
در بحث ابزارهای اتکاپذیری ممکن است این سؤال مطرح شود که بهترین ابزار چیست؟ هرچند که میتوان در طراحی و توسعه سیستم از روشهایی به منظور پیشگیری از اشکال استفاده کرد، اما همواره این امکان وجود دارد که در سیستم اشکالهایی رخ دهد. از اینرو ابزار پیشگیری اشکال، به تنهایی کافی نمی باشد و نیاز به ابزار رفع اشکال نیز میباشد. اما واقعیت امر این است که ابزار رفع اشکال نیز خود شامل کاستیهایی میباشد. زیرا این ابزار قادر به یافتن همه اشکالها نیست، همچنین ممکن است که در هنگام برطرف کردن یک اشکال، اشکالهای جدیدی تولید شود. به علاوه این امکان وجود دارد که حتی مؤلفه های استاندارد سیستم، خود نیز حاوی اشکالهایی باشند. موارد ذکر شده، نیاز به استفاده از ابزارهای پیش بینی اشکال و تحمل اشکال را بیان می کنند. پس به عنوان یک نتیجه کلی باید گفت که یک سیستم به هر چهار ابزار اتکاپذیری نیاز دارد.
اما بررسی میزان اتکاپذیری مبحث دیگری است که باید بررسی شود. میزان اتکاپذیری یک سیستم به دو روش کمی و کیفی قابل مشخص شدن است. که در این میان تزریق اشکال[۳۵]، یکی از متداولترین روشهای کمی میباشد. به فرایند افزودن آگاهانهی اشکال به سیستم برای ارزیابی تحملپذیری آن، تزریق اشکال گفته می شود. به طور کلی روشهای تزریق اشکال به سه روش فیزیکی، نرمافزاری و شبیهسازی شده تقسیم میشوند.
- تزریق اشکال شبیهسازی: در این روش اشکالها بر روی یک مدل شبیهسازی شده از سیستم، تزریق میشوند. از آنجا که این روش معمولاً در فازهای ابتدایی طراحی مورد استفاده قرار میگیرد، میتوان به میزان زیادی هزینه های ساخت سیستم را کاهش داد. زیرا قبل از ساخت نمونه اصلی، تحملپذیری آن در برابر خطا بررسی می شود.
- تزریق اشکال فیزیکی: در این روش، اشکالها بر روی یک پیادهسازی واقعی از سیستم یا یک نمونه واقعی از سیستم، تزریق میشوند. این روش کارایی بالایی دارد زیرا که بجای ارزیابی یک مدل از سیستم، خود سیستم واقعی آزمایش و ارزیابی می شود.
- تزریق اشکال نرمافزاری: در این روشها، اشکالها با کمک یکسری نرمافزارها به سیستم فیزیکی تزریق میشوند.
۲-۴ رهیافتهای تحملپذیری خطا
سه رویکرد عمده برای حل مسئله تحملپذیری خطا عبارتند از: الف)افزونگی ب)آزمایش و اشکالزدایی کامل ج)self-healing، [۵۰] که این رویکردها در محاسبات پوشیدنی استفاده شده اند.
رویکرد اول برای حل این مسئله، استفاده از افزونگی است. فرایند افزونگی به افزودن یکسری مؤلفه ها (سختافزار، نرمافزار، اطلاعات و زمان) به سیستم گفته می شود که در حالت عادی این مؤلفه ها برای عملکرد سیستم اضافی هستند[۵۱]. افزونگی هزینه های فاز تولید محصول را افزایش میدهد و به علاوه تشخیص خطا، نیاز به آنالیز انسانی دارد.بطور کلی افزونگی به چهار دستهی سختافزاری، اطلاعاتی، زمانی و نرمافزاری تقسیم می شود [۴۹][۵۱]. در جدول ۲-۲ به شرح این افزونگیها پرداخته شده است.
- افزونگی سختافزاری: به فرایند تکرار کردن فیزیکی سختافزار به سیستم به منظور تشخیص خطا یا تحمل خطا، گفته می شود. واحدهای سختافزار اضافه شده مانند یکدیگرند و کار اضافهتری را انجام نمیدهند. این روش رایجترین نوع افزونگی است اما اگر در بحث تحملپذیری شبکه های پوشیدنی در برابر خطا، به ویژگیهای کامپیوترهای پوشیدنی دقت نشود، این روش می تواند مناسب نباشد؛ دلیل این امر مصرف انرژی، فضای اشغال شده و هزینه قطعات افزونه است[۵۲]. افزونگی سختافزاری به سه دستهی فعال، غیر فعال و هیبرید تقسیم میشوند.
- افزونگی سختافزاری فعال(پویا): در این روش ابتدا خطا تشخیص داده می شود و سرانجام بعد از مکان یابی خطا، اقداماتی جهت رفع آن صورت میگیرد.
- افزونگی سختافزاری غیرفعال: در این روش پوشانده شدن خطا نسبت به رفع خطا بیشتر مورد توجه قرار میگیرد، بگونهای که با وجود خطا مقادیر صحیحی در خروجی پدیدار می شود.
- افزونگی سختافزاری ترکیبی: با ترکیب افزونگیهای فعال و غیرفعال، افزونگی ترکیبی حاصل می شود.
- افزونگی اطلاعاتی: به فرایند اضافه کردن اطلاعات اضافی به داده های اصلی، افزونگی اطلاعاتی گفته می شود. تکنیکهای این روش قادر به تشخیص و گاه رفع خطا نیز میباشند. معمولاً از این روش برای تحمل خطاهای سختافزاری استفاده می شود.
- افزونگی زمانی: این روش برای در نظر گرفتن تحمل خطا از زمان اضافهتری استفاده می کند. از این روش برای تحمل خطاهای نرمافزاری و سختافزاری استفاده می شود.
- افزونگی نرمافزاری: به فرایند تکرار قسمتی از برنامه یا تمام برنامه، گفته می شود.
فرم در حال بارگذاری ...
[چهارشنبه 1400-08-05] [ 12:09:00 ق.ظ ]
|