بحث متقدم
ترتيب حسب
فلترة حسب
نقدم في هذا البحث دراسة حول الكلفة الزمنية المضافة إلى بيئة الحوسبة الشبكية نتيجة استخدام آلية تخزين / استرجاع متناسقة للتسامح مع الأعطال في هذه البيئة، لنصل من خلال هذه الدراسة إلى نموذج رياضي يحدد لنا الوقت الأنسب لحفظ نقاط التخزين للتطبيق بهدف تحقيق أقل زمن لانتهاء تنفيذ التطبيق المتوازي، و كان ذلك عن طريق نمذجة تسلسلية باستخدام المعادلات التفاضلية لكل من الأعطال المدروسة و بيئة التنفيذ و أخيرا آلية التسامح مع الأعطال المختارة.
تميّزت الشبكات التطبيقية متعددة البث بسهولة انتشارها، فهي لا تتطلب أي تغيير في طبقة الشبكة، حيث يتم إرسال البيانات في هذه الشبكة عبر شجرة التغطية المبنية باستخدام الاتصال أحادي البث بين العقد النهائية، و الذين هم مضيفون أحرار يمكنهم الانضمام و المغاد رة متى أرادوا ذلك، أو حتى المغادرة دون إعلام أية عقدة بذلك. يسبب ذلك انفصال العقد الأبناء لعقدة مغادرة عن الشجرة، و طلب إعادة الانضمام، بمعنى آخر ستنفصل هذه العقد عن شجرة التغطية و لا يمكنها الحصول على البيانات حتى تنضم من جديد. مما يتسبب بحدوث الفوضى ضمن الشجرة المبنية، و ضياع العديد من رزم البيانات و التي يمكن أن تؤثر بشكل كبير على المستخدم. أحد التحديات الرئيسة في بناء بروتوكول شبكة تطبيقية متعدد البث ذو كفاءة و فعالية هو توفير آلية لمواجهة الخروج المفاجئ لعقدة ما من شجرة التغطية دون التأثير الكبير على أداء الشجرة المبنية. و هو ماسنعتمده في هذا البحث من خلال اقتراح بروتوكول جديد لحل المشاكل المذكورة سابقاً.
في هذا البحث سنقدم تطبيق لكاشف الأعطال ذو بنية هرمية حيث يعتمد التطبيق على تقسيم بيئة العمل العامة المكونة من مجموعة من العمليات إلى مجموعات فرعية و اختيار قائد للمجموعات يدعى بالعملية الرئيسية (المركزية) التي تقوم بتوزيع العمليات على المجموعات ال فرعية و اختيار قائد لكل مجموعة فرعية و من ثم تطبيق كاشف الأعطال عند القادة الفرعيين و استخلاص النتائج و ارسالها إلى العملية الرئيسية.
كاشف الأعطال يلعب دورا مركزياَ في هندسة النظم الموزعة , إضافة إلى ذلك فإن العديد من التطبيقات لديها قيود زمنية معينة و تحتاج كواشف الأعطال التي تؤمن ضمانات زمنية معينة . كاشف الاعطال هو متنبئ يوفر معلومات عن فشل العمليات ,لتستفيد من هذه المعلومات خوارزميات التسامح مع الاخطاء . في هذا المقال سنقدم تطبيق لبناء كاشف الأعطال , هذا التطبيق يستخدم نموذج مشترك مكون من النموذج النبضي و النموذج التفاعلي. حيث تم بناء كاشف الأعطال بالنموذج النبضي و من ثم تمت إضافة نموذج تفاعلي ليصبح كاشف الأعطال بالنموذج المشترك حيث نستخدم النموذج النبضي لتقصير زمن الكشف في كاشف الأعطال , و عندما لا يتم استقبال النبضة من قبل العملية الكشافة ضمن الزمن المتوقع , هنا نستخدم النموذج التفاعلي ليقوم بعملية تحقق إضافية من حالة العملية المراقبة .
يندرج البحث في مجال التسامح مع الأعطال في البيئات التفرعية الواسعة مثل الحوسبة الشبكية (grid) و عناقيد الحواسيب (cluster) بهدف إيجاد أفضل الطرق للتعامل مع الأخطاء المتعقلة بتعطل أحد الأجهزة الموجودة في البيئة أو الناتجة عن انقطاع شبكة الاتصال و ذلك لضمان استمرارية عمل التطبيقات المتوازية المنفذة ضمن هذه البيئة في ظل وجود الأعطال. قمنا في البحث بدراسة لنموذج البيئة التفرعية المعتمد و التطبيقات المتوازية المنفذة ضمنه، ثم قدمنا آلية تخزين / استرجاع تمكننا من ضمان استمرارية التطبيق في حال ظهور أي عطل باستخدام التمثيل المجرد لحالة التطبيق على المعالجات و المتمثل بمخطط تدفق البيانات (macro dataflow) للتطبيقات التي تستخدم خوارزمية سرقة العمل ( work stealing ) لتوزيع المهام بين المعالجات و تُنفذ في بيئات تفرعية واسعة غير متجانسة و ديناميكية، و ذلك بكلفة بسيطة مضافة لكلفة التنفيذ المتوازي نتيجة حفظ جزء من العمل خلال التنفيذ الطبيعي (fault-free execution) فضلاً عن ذلك تم تقديم نموذج رياضي لحساب التعقيد الزمني (الكلفة) لهذه الآلية المقترحة .
يتطلّب الاعتماد المتزايد على الأنظمة الشبكية في النشاطات اليومية تزويدها لخدمات متوفّرة و موثوقة. تزوّد Jgroup خدمة متوفّرة من خلال إنشائها نسخ (Replicas) متعددة من الخدمة نفسها و توزيعها على أجهزة متعددة, بينما تحقّق الموثوقية من خلال سماحها لنسخ ال خدمة بالحفاظ على الحالة المشتركة فيما بينها و تنسيق نشاطاتها باستخدام تقنية استدعاء الطريقة البعيدة (Remote Method Invocation). خلافاً لـJgroup, تستخدم JavaGroups تقنية تمرير الرسائل (Message Passing) لتحقيق التنسيق بين النسخ. تقارن هذه المقالة بين أداءي استدعاء طريقة المجموعة في Jgroup بنوعيه الوحيد (anycast) و المتعدّد (multicast) و استدعاء الطريقة في JavaGroups بنوعيه طريقة الحصول على أول إجابة (GET_FIRST) و طريقة الحصول على جميع الإجابات (GET_ALL). تحسّن هذه المقالة أيضاً من أداء منصّة العمل ARM (Autonomous Replication Management) المدمجة مع (Jgroup (Jgroup/ARM لزيادة دعمها مع التسامح مع الخطأ؛ من خلال إيجاد حل أفضل لمعالجة مشكلة تعطّل كامل أعضاء نسخ الخدمة في تعاقب سريع. تتميز الآلية الجديدة بقيام نسخة واحدة فقط (النسخة القائدة) بإرسال حدث التجديد بدلاً من قيام كل نسخ الخدمة بإرسال هذا الحدث؛ مع محافظتها على الزمن اللازم لاكتشاف حالة التعطّل من قبل مدير النسخ (Replication Manager). تُظهر نتائج المقارنة بين Jgroup و JavaGroups تفوّق الثانية عند وجود نسخة خدمة واحدة, بينما يتفوّق أداء الاستدعاء في Jgroup على JavaGroups مع تزايد عدد نسخ الخدمة. تظهر النتائج أيضاً تزايد ملحوظ في زمن الاستدعاء في JavaGroups مع تزايد حجم المصفوفة الممررة إلى الطريقة المستدعاة. الأمر الذي يجعل JavaGroups غير مناسبة للتطبيقات التي تتطلب نقلاً لحجوم كبيرة من البيانات و عدداً كبيراً من المخدمات, بينما تعتبر Jgroup مناسبة لذلك. تبين نتائج تقييم أداء الحل المقترح بأنّه يخفّض عدد أحداث التجديد المرسلة مقارنةً مع حل ميلينغ تصل في حدّها الأعظمي إلى 37.5%, و تستغرق Jgroup/ARM الفترة الزمنية نفسها التي يتطلّبها الحل السابق لاكتشاف تعطّل المجموعة بكاملها.
وجهّت العديد من الأبحاث الحديثة تركيزها على مسألة وثوقية شبكات الحسّاسات اللاسلكية المستخدمة في التّطبيقات المختلفة, و خاصّة في الكشف المبكّر عن حرائق الغابات لضمان وثوقية إنذارات التّنبيه المرسلة من قبل الحسّاسات و التّقليل من معدّل الإنذارات غير ال صّحيحة. لذا حاولنا في هذا البحث تقييم وثوقية هذه الشبكات المستخدمة للكشف المبكّر عن الحرائق في محميّة الشّوح و الأرز بشكل رئيسي, من خلال تصميم شبكة حسّاسات لاسلكية هجينة تُحاكي تضاريس المحميّة و نمذجتها باستخدام برنامج المحاكاة Opnet14.5. تمت المحاكاة وفقاً لعدّة سيناريوهات من حيث سماحية عطل متزايدة للشّبكة ناتجة عن اندلاع الحريق و انتشاره بدءاً بسماحية 0%, و مقارنة نتائجها مع نتائج تطبيق المعادلات الرّياضية للوثوقية وفق حالات السّيناريوهات ذاتها. إضافةً لحساب التّوافرية النّهائية من خلال اقتراح آلية لتحسين وثوقية الشّبكة المستخدمة باستخدام الفائضية، أي إضافة العقد الحسّاسة الاحتياطية و التي تحلُّ مكان العقد التّالفة نتيجة الحريق, و قد أثبتت النّتائج زيادة الوثوقية بشكل ملحوظ. كما تمّ التّنبؤ بوثوقية الشّبكة المصمّمة بناءً على قيم وثوقية مختلفة للعقد المستخدمة باستخدام أحد أدوات الوثوقية و هو المخطّط الصّندوقي.
تبني الشبكات التطبيقية متعددة البث شجرة تغطية بث مجموعاتي بين المضيفين النهائيين. على عكس البث المجموعاتي التقليدي حيث تكون عقد الشجرة الداخلية هي موجهات مكرسة، تكون ثابتة و لا تغادر شجرة البث المجموعاتي طوعاً، فإن العقد غير الطرفية في شجرة التغطية ه ي عبارة عن مضيفين أحرار يمكنهم الانضمام/ المغادرة متى أرادوا ذلك، أو حتى المغادرة دون إخبار أي عقدة بذلك. لذلك، يمكن للعقدة المغادرة فجأة دون إعطاء عقدها الأبناء أو العقدة المركزية الزمن الكافي لإعادة تشكيل شجرة التغطية، لذلك فهناك حاجة لتنفيذ عملية إعادة تشكيل الشجرة بحيث يجب على كل عقدة ابن إعادة الانضمام إلى شجرة التغطية. في هذه الحالة، ستنفصل هذه العقد عن شجرة التغطية و لا يمكنها الحصول على البيانات حتى تنضم من جديد. تسبب هذه الخصائص الديناميكية عدم استقرار شجرة التغطية، و التي يمكن أن تؤثر بشكل كبير على المستخدم. أحد التحديات الرئيسية في بناء بروتوكول شبكة تطبيقية متعدد البث كفوء و فعال هو توفير آلية استعادة البيانات بسرعة عندما يسبب فشل عقد الشجرة تقسيم مسارات تسليم البيانات. سنقوم في هذا البحث بتحليل أداء الحلول المقترحة لإعادة تشكيل شجرة التغطية اعتماداً على عدة بارامترات.