چکیده:
سیستمهای همتا به همتا(ه.ب.ه) سیستمهای توزیع شده ای هستند که دارای کنترل غیر متمرکز، مقیاس بزرگ، ناهمگونی و پویایی بالا در محیط عملیاتی خود می باشند. برای توسعه کاربردهایی با این ویژگیها مسائلی چون تطبیق پذیری، توازن بار و خود سازماندهی بعنوان اصلی ترین مسائل مطرح اند. سیستمهای سازگار پیچیده(س.س.ﭖ) که در علوم اجتماعی و بیولوﮊیک مورد توجه اند می توانند پاسخی مناسب به این نیازمندیها باشند. در این مقاله یک سیستم چند عاملی برای توازن بار در رایانش ه.ب.ه پیشنهاد شده است.

این سیستم که یک نوع س.س.ﭖ است، از انبوهی از عاملهای خود مختار(در اینجا عاملهای مورچه مانند) تشکیل شده است. نتایج آزمایشهای صورت گرفته نشان می دهد که سیستم چند عاملی پیشنهادی توانایی توازن بار وتطبیق پذیری دارد.

کلمات کلیدی: رایانش همتا-به-همتا، سیستمهای سازگار پیچیده، توازن بار، کلونی مورچه.

١-مقدمه

سیستمهای همتا-به-همتا ١(ه.ب.ه) ﺳﻴﺴﺘﻤﻬﺎﻱ توزیع شده ای هستند که منابع مابین گره٢ های همتا به اشتراک گذاشته می شوند و گره ها دارای نقش و مسئولیت یکسانند.[۵] منابع به اشتراک گذاشته شده می تواند شامل مندرجات، ﻇﺮﻓﻴﺖ ذخیره سازی و یا قدرت پردازشی باشد.

رایانش توزیع شده ( در مفهوم عام) با رایانش ه.ب.ه از جنبه هایی متفاوت است. اول اینکه در کاربردهای ه.ب.ه هدف به کنترل درآوردن منابع در مقیاسهای بالا در بستری با ظرفیتهای ارتباطی نامطمئن همچون اینترنت است در حالیکه در رایانش توزیع شده منابع محدود،قابل اطمینان و بستر ارتباطی مطمئن می باشد. دوم اینکه براساس تعریف، سیستمهای ه.ب.ه هرگونه مدیریت متمرکز را نفی می کنند که در نتیجه، کنترل و مدیریت باید کاملا بصورت توزیع شده انجام گیرد. این در حالی است که در رایانش توزیع شده چنین ضرورتی وجود ندارد. تفاوت آخر اینکه، کاربردهای ه.ب.ه دارای پویایی بسیار بالایی چه در ساختار و چه در بارکاری می باشند در حالی که در رایانش توزیع شده پویایی محیط از مسائل پر چالش نمی باشد.

در این مقاله، با استفاده از ایده های مطرح شده در [۵] Anthill، [۳] Messor و[۴] یک سیستم چند عاملی برای توازن بار در یک شبکه ه.ب.ه رایانشی ارائه شده است. ادامه مقاله از این قرار است: ابتدا توازن بار در سیستمهای ه.ب.ه مورد بررسی قرار می گیرد. در

۱ Peer-to-peer 2 Node

شکل ١-برآورد وضعیت
بخش ٣ مدل انتزاعی محیط و اجزای تشکیل دهنده سیستم ارائه می گردد. در بخش ٤ تعریف عامل مورچه مانند و چگونگی توزیع بار مورد بررسی قرار می گیرد. در بخش ٥ چگونگی ارتباط و هماهنگی بین عاملها و همچنین چگونگی یادگیری شرح داده خواهد شد. در پایان ارزیابی از عملکرد سیستم ارائه خواهد شد.

٢-توازن بار در سیستمهای همتا به همتا

توازن بار در سیستمهای ه.ب.ه که دارای پویایی بسیار بالا چه در خطوط ارتباطی و چه در میزان بار کاری است از مسائل پر چالش می باشد.[۷] موجودیت منابع رایانشی بسیار پویاست لذا سیستم باید قادر باشد بار کاری را بین منابع دائما موجود و ناموجود شونده توزیع کند.
همچنین خطوط ارتباطی نیز ماهیتی پویا دارند لذا سیستم باید قادر باشد درصورت افتادن یک ارتباط و یا کاهش پهنای باند، منابع مورد نظر رایانش را از راه های دیگر بیابد.

در سیستمهای همتا-به-همتا اطلاع گره ها از یکدیگر نمیتواند بهنگام باشد، لذا زمانبندی کارها جهت توزیع بار بستگی زیادی به برآورد زمانبند هرگره از وضعیت سایر گره ها دارد. برآورد وضعیت در سیستمهای ه.ب.ه به دو گروه عمده پیش گویانه و غیر پیش گویانه تقسیم می شود.شکل ١ دسته بندی روشهای برآورد وضعیت را ﻧﺸﺎﻥ میدهد. [۷]

برآورد وضعیت غیر پیش گویانه فقط از اطلاعات موجود(درباره وضعیت بارکاری و منبع)

استفاده می کند و به اطلاعات سوابق عملکرد سیستم کاری ندارد. روشهای غیرپیشگویانه یا از هیوریستیک بر اساس مشخصات کار و منبع و یا از یک مدل توزیع احتمالی بر اساس تحلیل آماری مشخصات کاربرد مورد انتظار استفاده می کنند(

مانند سیستم .([۸]Darwin این سیستمها دارای این

ضعف می باشند که در مواجهه با شرایط از پیش تعیین نشده قادر به ارائه عملکرد مناسب نیستند.

در روش پشگویانه برای برآورد، هم وضعیت کنونی و هم سوابق لحاظ می شوند. در مدلهای پیشگویانه از یکی از روشهای هیوریستیک، مدلهای قیمت گذاری و یا یادگیری ماشین استفاده می شود. در روش هیوریستیک از قوانین از پیش تعیین شده ای جهت برآورد وضعیت استفاده می شود که این قوانین براساس رفتار مورد انتظار سیستم برای کاربردهای معین استخراج شده اند(مانند سیستم

([۹]AppLeS در روش مدل قیمت گذاری، با استفاده از پویایی های بازار ، منابع خرید و فروش می شوند و در داد و ستد، موجودیت منابع و تقاضای منابع لحاظ می شود(مانند سیستم [۱۰] Bond و .([۱۱]Nimrod/g در یادگیری ماشن، با استفاده از توزیعهای ناشناخته بالقوه، از شمای درون خط((On-line یا برون خط((Off-line برای برآورد وضعیت استفاده می شود (مانند سیستم .([۱۲] Punch

روشهای پیشگویانه توانمندی بیشتری در سیستمهای ه.ب.ه از خود نشان داده اند.

کلونی مورچه نوعی ﺭﻭﺵ پیشگویانه مبتنی بر یادگیری ماشین است که یک سیستم سازگار پذیر پیچیده ٣(س.س.ﭖ) محسوب می شود. س.س.ﭖ که معمولا برای توصیف رفتار خاص سیستمهای اجتماعی و بیولوﮊیکی استفاده می شود، یک سیستم، متشکل از تعداد بسیار زیادی واحدهای رایانشی خود ﻣﺨﺘﺎﺭ(ویا همان عاملها) می باشد. س.س.ﭖ دارای رفتاری برآینده٤ است بدین معناکه رفتار یک عامل به تنهایی قابل فهم است در حالیکه رفتار سیستمی متشکل از تعدادی از آنها دارای توصیف ساده ای نمی باشد. به بیان دیگر، تعامل مابین عاملها، برخلاف سادگیشان، می تواند الگوهای پیچیده تری از خود بروز دهند. آنچه که س.س.ﭖ را از دیدگاه یک سیستم ه.ب.ه جذاب

۳ Complex Adaptive Systems (CAS ) 4 Emergent

می کند این واقعیت است که خصوصیات سراسری چون تطبیق پذیری و خود سازماندهی بدون نیاز به کارگذاری قوانین برای وضعیتهای مختلف در تک تک عاملها، قابل دستیابی اند.

سیستم چند عاملی پیشنهاد شده در این مقاله بر اساس شبیه سازی رفتار مورچه ها بعنوان یک س.س.ﭖ در جمع آوری اشیا به گروه ها و یا پراکنده کردن آنها به صورت یکسان می باشد.[۳] در این سیستم، مورچه های مصنوعی، عاملهای ساده و غیر هوشمندی هستند که یک کلونی از آنها رفتار هوشمندی که همان توازن بار در محیط پویا است را از خود نشان می دهند.