بخشی از مقاله
خلاصه
در یک شبکه حسگر که یک سیستم توزیع شده فراگیر است، یکی از موارد مورد بحث همگامسازي ارتباطات است. یکی از عمده وظایف همگامسازي فرآیندها، انحصار متقابل است. الگوریتمهاي جدید ارائه شده در مقایسه با الگوریتمهاي قدیمی با عدالت بیشتري عمل مینمایند. در این مقاله یک مدل با استفاده از شبکههاي عصبی رقابتی براي انحصار متقابل توزیع شده ارائه میدهیم. نشان داده میشود که برچسبهاي زمانی، زمان اجرا و دیگر پارامترهاي موثر بوسیله شبکههاي عصبی رقابتی پیشبینی شده و مدل میتواند بصورت تحلیلی مشکلاتی که در ناحیه بحرانی اتفاق میافتد را حل نماید.
مدل میتواند با استفاده از روشهاي همینگ و هاپفیلد به جهت پیشبینی اثرات آن شبیهسازي شده و نمودارهاي سرعت و دقت آن مورد تجزیهوتحلیل قرار گیرد. مدل شرح داده شده میتواند اطلاعات سیستم را کاهش دهد و با سیستمهاي یادگیري اولویت سازگار باشد. بنابراین، این امکان وجود دارد که با استفاده از شبکههاي عصبی رقابتی بعنوان یک الگوي سیستم توزیعشده موارد قابلیت اطمینان، تحملپذیري خطا و دسترسی به انحصار متقابل و مدیریت ناحیه بحرانی را بهینه نماییم. بنابراین روش جدید ارائه شده تحملپذیري خطا را افزایش داده و الگوریتمهاي متمرکز و توزیع شده میتوانند از آن استفاده نمایند و بر این اساس قابلیت اطمینان بیشتر میشود.
-1 مقدمه
هر سیستمی که بر روي مجموعهاي از ماشینها که داراي حافظه اشتراکی نیستند، اجرا شده و براي کاربران به گونهاي اجرا شود که گویا بر روي یک کامپیوتر است، یک سیستم توزیع شده است . دستهاي از این سیستمها، سیستمهاي فراگیر توزیعی هستند که بر خلاف سایر انواع، داراي گرههاي ثابت و ارتباطات دائمی و با کیفیت نیستند. نمونهاي از سیستمهاي فراگیر توزیعی، شبکههاي حسگر است که اغلب از تعداد زیادي گره براي برنامههاي کاربردي نظارتی و اندازهگیري استفاده میشود.
در سیستمهاي توزیع شده یکی از موضوعات مورد بحث همزمانی و همگامی است و بطور معمول نیز بحث ها بر سر همگامی منطقی فرآیندها بوده و بدنبال ترتیب اجراي درست فرآیندها میباشد . یکی از اصلیترین فرآیندهاي مورد اهمیت در بحث همگامی دسترسی فرآیندهاي مختلف به متغییرهاي یکسان و حافظه اشتراکی - ناحیه بحرانی - است که به انحصار متقابل معروف است. یکی از چالشهاي الگوریتمهاي ارائه شده در این زمینه بحث برقراري عدالت بین فرآیندها و عدم برخورد با بنبست و گرسنگی است. چالشهاي الگوریتمهاي ارائه شده در این زمینه یا روي توزیع خاصی کار نمودهاند و یا تنوعپذیري مناسبی در برخورد با مسایل مختلف ندارند.
از آنجایی که شبکههاي عصبی خود یک مدل غیرخطی و توزیع شده هستند. در این مقاله با استفاده از شبکههاي عصبی رقابتی به حل مشکل دسترسی به ناحیه بحرانی و انحصار متقابل خواهیم پرداخت و با استفاده از مدل نمودن هر فرآیند با یک سلول عصبی و هر منبع موجود در ناحیه بحرانی با یک منبع موجود در شبکههاي عصبی سعی در حل انحصار متقابل در سیستمهاي توزیع شده را داریم.
بدلیل نیازبه، بودنِ تنها یک فرآیند، در ناحیه بحرانی و استفاده از شبکههاي عصبی رقابتی، مدلی از این شبکه ها که تنها یک برنده داشته - شبکه بیشینه، کلاه مکزیکی و همینگ - در برابر خوشهبندها - نگاشتهاي خودسازمانده کوهنن و یادگیري چنديسازي برداري - مد نظر خواهد بود. در میان شبکههاي رقابتی مدنظر، شبکه عصبی رقابتی همینگ بنابر کاربرد، نتایج و مقایسههاي انجام شده در1]،[2 انتخاب شده است.
براي تجزیه و تحلیل روش ارائه شده از توابع خطی و غیرخطی تولید شده بعنوان ورودي استفاده خواهد شد. معیار نمایش کارایی و مقبولیت روش ارائه شده مقایسه سرعت اجرا میباشد. البته در مقایسه سرعت اجرا بدلیل عدم دسترسی به معیار مناسبی براي اندازه گیري زمانهاي CPU از تعداد توابع فراخوانی شده در برابر تعداد درخواستها براي دستیابی به ناحیه بحرانی در هر کدام از اجراها استفاده خواهد شد و معیار براساس آن تعریف میشود.
درسیستمهاي تک پردازندهاي اگر قرار باشد چند کاربر به یک منبع مشترك دسترسی پیدا کنند، نیاز است که کنترل شود این دسترسی به شکل همزمان اتفاق نیفتد. در یک سیستم توزیع شده باید منابع مشترك حفاظت شوند ولی مشکل دیگري که اینجا وجود دارد همگامی اجراي فرایندها است. یکی از اهدافی که همگامی سیستمهاي توزیع شده باید بدنبال آن باشد انحصار متقابل و کنترل ناحیه بحرانی است. دلیل اهمیت همگامی بخاطر وابستگی مراحل اکثر الگوریتمها میباشد که در صورت اجراي این الگوریتمها برروي سیستمهاي توزیعشده نیاز به کنترل همگامی فرآیندها داریم. روشهایی که از سرور زمان براي همگامی استفاده میکنند با مشکلات جلوتر بودن زمان کامپیوترها از زمان سرور و تاخیرات ارسال و دریافت زمان از سرور روبرو هستند.
براي اجراي کارها، در یک سیستم، از یک ساعت استفاده میکنیم. ساعت تضمین کننده اجراي به ترتیب کارها میباشد. در سیستم توزیع شده این یک چالش است چون سیستمها از ساعتهاي مختلف استفاده میکنند و زمانها عملاً همگام نیستند. در این مقاله روشی با استفاده از شبکههاي عصبی رقابتی براي شبیهسازي و مدل نمودن سیستمهاي توزیع شده و برقراري انحصار متقابل و کنترل ناحیه بحرانی در این سیستمها معرفی میشود که مشکلات را تا حد امکان از بین برده و سربار همگامی را کاهش دهد.
ساختار مقاله در ادامه بدین صورت خواهد بود. در ادامه برخی از کارهاي انجام شده مورد بررسی و تحلیل قرار گرفته و پس از آن سیستم پیشنهادي معرفی خواهد شد و در ادامه ارزیابی روش پیشنهادي و نتایج ارائه خواهند شد.
- 2 روش تحقیق
ارائه و نمایش اثرهاي توزیعشدگی هماهنگسازي برخط، در سیستمهاي توزیع شده، براي تشخیص لحظهاي خطا در مسایل پیچیده مهم است. متدهاي موجود ارائه اثر هماهنگ سازي، قادر به ارائه آدرس دقیق مسئله پیشآمده در لحظه نیست. در [3]یک رویکرد جدید موثر براي بهروزرسانی پارامترهاي هماهنگسازي افزایشی، بدون کاهش دقت و صحت نتایج و یا ایجاد تاخیر در محاسبات را ارائه کرده است.
الگوریتم جدید ارائه شده یک درخت پوشاي کمینه از فاکتورهاي هماهنگ سازي سطوح لینکها و محاسبات افزایشی میسازد و از این طریق بهترین زمان براي گره مرجع را ارائه میدهند. این روش در زمان متوسط O - log n - در صورتی که فاکتورهاي هماهنگسازي لینک تغییر کند به طول میانجامد. در ارزیابیهاي انجام شده نشان داده شده است که روش ارائه شده در شبکههاي با اندازه بزرگ و محاسبات زمان طولانی مقیاسپذیري مناسبی دارد.
در [4] انواع مکانیزمهاي همزمانی و شکلهاي هندسی آنها که براي سیستمهاي توزیع شده وجود دارد به همراه زبانهاي برنامهنویسی همزمانیشان شرح داده شده است. سیستمهاي توزیع شده بدلیل نیاز به افزایش قدرت محاسباتی از طریق تکنیکهاي شکستن یک مسئله بزرگ به تعدادي فرآیند کوچکتر و اجراي این فرآیندها روي پردازندههاي جداگانه و ترکیب نتایج آنها براي ارائه جواب مسئله بزرگ است. مهمترین مسایل، تکنیکهاي شکستن، تعامل و باز ترکیب فرآیندها میباشد. هر کدام از این مسایل دو جزء اصلی انحصار متقابل و همزمانی بین منابع و فرآیندها را شامل میشوند.
بهرهبرداري از ارتباطات بین سیستمهاي سختافزاري ناهمزمان نیاز به دقت زمانی براي سهولت مدلسازي دارد. اگرچه ویژگیهاي مدل نقشه سختافزاري سیستم به طور طبیعی ممکن است روي ویژگیهاي زمانی اثر نداشته باشد ولی ممکن است منجر به خطاهایی در مدل شود. در [5] یک برنامه اجرا کننده پروتکل سنکرون معرفی شده است که یک چارچوب نظري کلی براي توسعه فرآیندهاي مرتبط و ایجاد همزمانی روي فرآیندهاي دادهمحور است.
در [6] براي تعامل فعالتر محیط یک تابع کنترل محیط پیشنهاد شده است. براي حل مشکل هماهنگی دادهها و محاسبات در محیط توزیعشده از یک متغیر پیشنگر استفاده میکند. متغییر پیشنگر اجازه بهبود کنترل با روشهاي همگام سازي موجود را میدهد. مشکل کنترل گزاره است، بنابراین، هدف کاربردهایی نظیر اشکالزدایی توزیع شده و بازیابی و برگشت به عقب براي هر محاسبهاي است که پیشنگر براي آن اتفاق افتاده است.
در [7] مشکل متعادل کردن بار در هماهنگسازي حلقهها بدون وابستگی در سیستمهاي ناهمگن غیر اختصاصی توزیعشده را انجام میدهند. براي بهبود عملکرد از دو مکانیزم مدل اصلی و جانبی استفاده شده است. ابتدا با مکانیزم هماهنگسازي که برنامهها را قادر میسازد با استفاده از الگوریتمهاي خودزمانبند موجود حلقههاي وابسته را مشخص و هماهنگ کند. سپس با مکانیزم وزندهی قابلیت متعادل کردن بار این الگوریتمها را بهبود میدهد. نتایج نشاندهنده دستیابی به سرعت بالاتر براي حلقههاي وابسته بوده است.
در [8] مطالعهاي برروي توپولوژيهاي هماهنگسازي ساعت شناخته شده به انجام رسید. براي حل مسئله الگوریتم Aopt ارائه شده که از تطبیق حد بالا و پایین زمان بین گرههاي همسایه و گرههاي دلخواه در سیستمتوزیع شده استفاده مینماید . با استفاده از این الگوریتم می توان ساعت و تاخیرها را در قسمتهاي متفاوت در یک مدل بسیار کلی نگهداري و استفاده نمود و حتی اگر نرخ ساعت منطقی در یک محدوده تعریف شده با حداکثر نرخ اختلاف ساعت و تاخیر است مرزهاي قوي میتوان بدست آورد. این روش از انعطاف پذیري خوبی برخوردار، ولی در مقیاسپذیري دچار مشکل است.
در [ 9] نشان داده شده است براي رسیدن به مکانیزم هماهنگسازي نیاز به پروتکل Get/Put است و یک برنامه هماهنگسازي جدید بنام Audit بدین منظور ارائه شده است. این روش برخلاف مکانیزم اطلاع / صبر ARMCI هیچ پیام اضافی براي هماهنگسازي نیاز ندارد و همچنین برخلاف پرچم سمافور UPC و متغییر شمارنده LAPI متغییر هماهنگسازي خود را از کاربران نهایی پنهان میکند.