Failure detector
تقسیم شدہ کمپیوٹنگ سسٹم میں، فیل ڈیٹیکٹر ایک کمپیوٹر ایپلی کیشن یا ایک ذیلی نظام ہے جو نوڈ کی ناکامیوں یا کریشز کا پتہ لگانے کا ذمہ دار ہوتا ہے۔ فیلئر ڈٹیکٹرز کو سب سے پہلے 1996 میں چندرا اور ٹوئیگ نے اپنی کتاب انریلیبل فیلئر ڈٹیکٹرز فار ریلیبل ڈسٹری بیوٹڈ سسٹمز میں متعارف کرایا تھا۔ کتاب میں فیل ڈٹیکٹر کو تقسیم شدہ نظام میں اتفاق رائے (وشوسنییتا کا حصول) اور جوہری نشریات (پیغامات کی ایک ہی ترتیب) کو بہتر بنانے کے آلے کے طور پر دکھایا گیا ہے۔ دوسرے لفظوں میں، ناکامی کا پتہ لگانے والے عمل میں غلطیاں تلاش کرتے ہیں، اور نظام وشوسنییتا کی سطح کو برقرار رکھے گا۔ عملی طور پر، فیل ڈیٹیکٹرز کے حادثے کا پتہ لگانے کے بعد، سسٹم ان عملوں پر پابندی لگا دے گا جو غلطیاں کر رہے ہیں تاکہ مزید سنگین حادثات یا غلطیوں کو روکا جا سکے۔ اکیسویں صدی میں، ایپلی کیشن کی غلطیوں کا پتہ لگانے کے لیے تقسیم شدہ کمپیوٹنگ سسٹمز میں فیل ڈیٹیکٹرز کا بڑے پیمانے پر استعمال کیا جاتا ہے، جیسے کہ سافٹ ویئر ایپلی کیشن مناسب طریقے سے کام کرنا بند کر دیتی ہے۔ جیسے جیسے تقسیم شدہ کمپیوٹنگ پروجیکٹس (تقسیم شدہ کمپیوٹنگ پروجیکٹس کی فہرست دیکھیں) زیادہ سے زیادہ مقبول ہوتے جاتے ہیں، ناکامی کا پتہ لگانے کا استعمال بھی اہم اور اہم ہوتا جاتا ہے۔ اوریجن انریلیبل فیلئر ڈیٹیکٹر چندرا اور ٹوئیگ، جو کتاب انریلیبل فیلئر ڈیٹیکٹرز فار ریلیبل ڈسٹری بیوٹڈ سسٹمز (1996) کے شریک مصنف ہیں، نے ناقابل اعتماد فیلئر ڈیٹیکٹر متعارف کروا کر فیلئر نوڈس کا پتہ لگانے کے تصور سے رابطہ کیا۔ وہ تقسیم شدہ کمپیوٹنگ سسٹم میں ناقابل اعتماد فیل ڈٹیکٹر کے رویے کو اس طرح بیان کرتے ہیں: سسٹم میں ہر عمل کے مقامی فیل ڈٹیکٹر جزو میں داخل ہونے کے بعد، ہر مقامی جزو سسٹم کے اندر تمام عمل کے ایک حصے کی جانچ کرے گا۔ اس کے علاوہ، ہر عمل میں ایسے پروگرام بھی ہونے چاہئیں جن کے بارے میں فی الحال فیل ڈیٹیکٹرز کو شبہ ہے۔ فیلئر ڈٹیکٹر چندرا اور ٹوئیگ نے دعوی کیا کہ ایک ناقابل اعتماد فیلئر ڈٹیکٹر اب بھی سسٹم کی طرف سے کی جانے والی غلطیوں کا پتہ لگانے میں قابل اعتماد ہو سکتا ہے۔ وہ ناکامی کا پتہ لگانے والے تمام شکلوں کے لیے ناقابل اعتماد ناکامی کا پتہ لگانے والے کو عام بناتے ہیں کیونکہ ناقابل اعتماد ناکامی کا پتہ لگانے والے اور ناکامی کا پتہ لگانے والے ایک جیسی خصوصیات رکھتے ہیں۔ مزید برآں، چندرا اور ٹوئیگ ایک اہم حقیقت کی طرف اشارہ کرتے ہیں کہ فیل ڈیٹیکٹر سسٹم میں کسی بھی کریش کو نہیں روکتا، چاہے کریش ہونے والے پروگرام پر پہلے ہی شک کیا گیا ہو۔ فیل ڈٹیکٹر کی تعمیر ایک ضروری، لیکن ایک بہت مشکل مسئلہ ہے جو تقسیم شدہ کمپیوٹر سسٹم میں غلطی برداشت کرنے والے جزو کی نشوونما میں پیش آیا ہے۔ نتیجے کے طور پر، تقسیم شدہ کمپیوٹنگ سسٹم میں بڑے پیمانے پر معلومات کے لین دین میں غلطیوں کا پتہ لگانے کی ضرورت کی وجہ سے فیل ڈیٹیکٹر ایجاد کیا گیا۔ ناکامی کا پتہ لگانے والے کی کلاسیں دو اہم خصوصیات سے ممتاز ہیں: مکمل اور درستگی۔ مکمل ہونے کا مطلب یہ ہے کہ فیل ڈٹیکٹرز ان پروگراموں کو تلاش کر لیں گے جو آخر کار کسی عمل میں کریش ہو گئے، جبکہ درستگی کا مطلب یہ ہے کہ وہ درست فیصلے جو فیل ڈٹیکٹرز نے کسی عمل میں کیے تھے۔ مکمل ہونے کی ڈگری مکمل ہونے کی ڈگری کا انحصار اس بات پر ہوتا ہے کہ ایک مخصوص مدت میں فیل ڈیٹیکٹر کے ذریعہ کریش ہونے والے عمل کی تعداد کا شبہ کیا جاتا ہے۔ مضبوط مکملتا: "ہر ناقص عمل بالآخر ہر غیر ناقص عمل کے ذریعہ مستقل طور پر شبہ کیا جاتا ہے"۔ کمزور مکمل: "ہر ناقص عمل بالآخر کسی غیر ناقص عمل کے ذریعہ مستقل طور پر شبہ کیا جاتا ہے"۔ درستگی کی ڈگری درستگی کی ڈگری کا انحصار ان غلطیوں کی تعداد پر ہوتا ہے جو ایک فیل ڈیٹیکٹر نے ایک مخصوص مدت میں کی ہیں۔ مضبوط درستگی: "کریش ہونے سے پہلے کسی بھی عمل پر (کسی کے ذریعہ) شک نہیں کیا جاتا ہے۔" کمزور درستگی: "کچھ غیر ناقص عمل پر کبھی شک نہیں کیا جاتا"۔ واقعہ کی مضبوط درستگی: "افراتفری کے ابتدائی دور کے اختتام کے بعد سے کچھ وقت کے بعد کسی غیر ناقص عمل کا شبہ نہیں ہے کیونکہ اس وقت آخری حادثہ ہوتا ہے۔" واقعتا کمزور درستگی: "الجھن کی کچھ ابتدائی مدت کے بعد، کچھ غیر ناقص عمل پر کبھی شک نہیں کیا جاتا ہے۔" درجہ بندی ناکامی کا پتہ لگانے والوں کو درج ذیل آٹھ اقسام میں درجہ بند کیا جا سکتا ہے: کامل ناکامی کا پتہ لگانے والا (P) بالآخر کامل ناکامی کا پتہ لگانے والا (P) مضبوط ناکامی کا پتہ لگانے والا (S) بالآخر مضبوط ناکامی کا پتہ لگانے والا (S) کمزور ناکامی کا پتہ لگانے والا (W) بالآخر کمزور ناکامی کا پتہ لگانے والا (W) نیم کامل ناکامی کا پتہ لگانے والا (Q) بالآخر نیم کامل ناکامی کا پتہ لگانے والے (Q) ان ناکامی کا پتہ لگانے والے کی خصوصیات کو ذیل میں بیان کیا گیا ہے: مختصر طور پر، ناکامی کا پتہ لگانے والے کی خصوصیات کا انحصار اس بات پر ہوتا ہے کہ ناکامی کا پتہ لگانے والا اصل ناکامیوں کا کتنی تیزی سے پتہ لگاتا ہے اور یہ غلط پتہ لگانے سے کتنی اچھی طرح بچتا ہے۔ ایک کامل فیل ڈٹیکٹر بغیر کسی غلطی کے تمام غلطیوں کو تلاش کرے گا، جبکہ ایک کمزور فیل ڈٹیکٹر کوئی غلطی نہیں پائے گا اور متعدد غلطیاں کرے گا۔ ایپلی کیشنز فیل ڈٹیکٹر کی خصوصیات کو تبدیل کر کے مختلف قسم کے فیل ڈٹیکٹر حاصل کیے جا سکتے ہیں۔ پہلی مثالوں سے پتہ چلتا ہے کہ ناکامی کا پتہ لگانے والے کی تکمیل کو کیسے بڑھایا جائے، اور دوسری مثال سے پتہ چلتا ہے کہ ناکامی کا پتہ لگانے والے کی ایک قسم کو دوسرے میں کیسے تبدیل کیا جائے۔ تکمیل کو بڑھانا ییل یونیورسٹی کے شعبہ کمپیوٹر سائنس سے خلاصہ کردہ ایک مثال درج ذیل ہے۔ یہ ناکامی کی مکملتا کو بڑھا کر کام کرتا ہے۔ detector.initially مشتبہ افراد = ہمیشہ کے لیے کرتے ہیں: ہر عمل p کے لیے: اگر میرے کمزور ڈٹیکٹر کو p کا شبہ ہے، تو کسی عمل q سے p موصول ہونے پر تمام عمل پر p بھیجیں: مشتبہ افراد: = مشتبہ افراد + p-q اوپر کی مثال سے، اگر p کریش ہوتا ہے، تو کمزور ڈٹیکٹر بالآخر اس پر شک کرے گا۔ سسٹم میں موجود تمام فیل ڈٹیکٹرز بالآخر پی پر شک کریں گے کیونکہ فیل ڈٹیکٹرز کے ذریعے بنائے گئے لامحدود لوپ کی وجہ سے۔ اس مثال سے یہ بھی پتہ چلتا ہے کہ ایک کمزور مکمل ناکامی کا پتہ لگانے والا آخر کار تمام حادثات کا شبہ بھی کر سکتا ہے۔ کریش شدہ پروگراموں کا معائنہ مکمل ہونے پر منحصر نہیں ہے۔ ناکامی کا پتہ لگانے والے ڈبلیو کو ناکامی کا پتہ لگانے والے ایس میں کم کرنا ناکامی کا پتہ لگانے والے ڈبلیو کو ناکامی کا پتہ لگانے والے ایس میں تبدیل کرنے کے الگورتھم کو مطمئن کرنے کے لیے درج ذیل درستگی کے دلائل ہیں۔ ناکامی کا پتہ لگانے والا ڈبلیو تکمیل میں کمزور ہے، اور ناکامی کا پتہ لگانے والا ایس تکمیل میں مضبوط ہے۔ وہ دونوں درستگی میں کمزور ہیں۔ یہ کمزور تکمیل کو مضبوط تکمیل میں تبدیل کر دیتا ہے۔ یہ دائمی درستگی کو محفوظ رکھتا ہے۔ یہ حتمی درستگی کو محفوظ رکھتا ہے۔ اگر مذکورہ بالا تمام دلائل مطمئن ہیں، تو کمزور ناکامی کا پتہ لگانے والے ڈبلیو کو مضبوط ناکامی کا پتہ لگانے والے ایس میں کم کرنا تقسیم شدہ کمپیوٹنگ سسٹم کے اندر الگورتھم سے متفق ہوگا۔ ڈسٹری بیوٹڈ کمپیوٹنگ لسٹ آف ڈسٹری بیوٹڈ کمپیوٹنگ پروجیکٹس ایس ڈبلیو آئی ایم پروٹوکول کریش (کمپیوٹنگ) فالٹ ٹالرنس اتفاق رائے جوہری نشریاتی حوالہ جات بیرونی لنکس http://www.cs.yale.edu/homes/aspnes/pinewiki/FailureDetectors.html http://www.cs.cornell.edu/home/sam/FDpapers.html ڈسٹری بیوٹڈ کمپیوٹنگ فالٹ ٹالرنٹ کمپیوٹر سسٹمز