Rahbarlarni saylash - Leader election

Yilda tarqatilgan hisoblash, rahbar saylovi bitta belgini belgilash jarayoni jarayon bir nechta kompyuterlar (tugunlar) o'rtasida taqsimlangan ba'zi bir vazifalarning tashkilotchisi sifatida. Vazifa boshlanishidan oldin barcha tarmoq tugunlari qaysi tugun "etakchi" bo'lib xizmat qilishini bilishmaydi (yoki) koordinator ) vazifani bajarish yoki hozirgi koordinator bilan aloqa o'rnatishga qodir emas. Biroq, etakchi saylov algoritmi ishga tushirilgandan so'ng, tarmoqdagi har bir tugun vazifa rahbari sifatida ma'lum, noyob tugunni tan oladi.

Tarmoq tugunlari ularning qaysi biri "etakchi" holatiga tushishini hal qilish uchun o'zaro aloqa o'rnatadilar. Buning uchun ular orasida simmetriyani buzish uchun biron bir usul kerak. Masalan, agar har bir tugunning o'ziga xos va taqqoslanadigan identifikatsiyalari bo'lsa, u holda tugunlar ularning identifikatorlarini taqqoslashi va eng yuqori identifikatsiyaga ega tugunni etakchi ekanligi to'g'risida qaror qabul qilishi mumkin.

Ushbu muammoning ta'rifi ko'pincha LeLannga tegishli bo'lib, u uni tokenda yangi token yaratish usuli sifatida rasmiylashtirdi. uzuk tarmog'i unda belgi yo'qolgan.

Liderlar saylovi algoritmlari jami jihatdan tejamli bo'lib ishlab chiqilgan bayt uzatilgan va vaqt. Gallager, Xamblet va Spira tomonidan tavsiya etilgan algoritm[1] umumiy yo'naltirilmagan grafikalar uchun umuman tarqatilgan algoritmlarni loyihalashga kuchli ta'sir ko'rsatdi va g'olib bo'ldi Dijstra mukofoti tarqatilgan hisoblashda ta'sirli qog'oz uchun.

Turli xil tarmoqlar uchun ko'plab boshqa algoritmlar taklif qilingan grafikalar, masalan, yo'naltirilmagan uzuklar, bir yo'nalishli uzuklar, to'liq grafikalar, kataklar, Eylerning yo'naltirilgan grafikalari va boshqalar. Graflar oilasi masalasini etakchi saylov algoritmini tuzishdan ajratib turadigan umumiy usul Korach tomonidan taklif qilingan, Kutten va Moran.[2]

Ta'rif

Rahbarlarni tanlash muammosi shundaki, har bir protsessor oxir-oqibat u etakchimi yoki yo'qligini hal qilishi kerak, aynan bitta protsessor o'zini o'zi rahbar deb qaror qilishi sharti bilan.[3] Algoritm etakchini saylov bilan bog'liq muammolarni hal qiladi, agar:

  1. Protsessorlar shtatlari saylangan va saylanmagan davlatlarga bo'linadi. Saylanganidan keyin u saylangan bo'lib qoladi (xuddi shunday saylanmagan bo'lsa).
  2. Har bir ijroda aynan bitta protsessor saylanadi, qolganlari esa saylanmaganligini aniqlaydi.

Amaldagi rahbarni saylash algoritmi quyidagi shartlarga javob berishi kerak:[4]

  1. Tugatish: etakchi tanlanganidan so'ng algoritm cheklangan vaqt ichida tugashi kerak. Tasodifiy yondashuvlarda bu holat ba'zan zaiflashadi (masalan, 1-ehtimollik bilan tugatishni talab qiladi).
  2. O'ziga xoslik: o'zini etakchi deb hisoblaydigan aniq bitta protsessor mavjud.
  3. Shartnoma: boshqa barcha protsessorlar rahbar kimligini bilishadi.

Rahbarlarni saylash algoritmi quyidagi jihatlarga ko'ra farq qilishi mumkin:[5]

  • Aloqa mexanizmi: protsessorlar ham sinxron unda jarayonlar soat signali bilan sinxronlashtiriladi yoki asenkron bu erda jarayonlar o'zboshimchalik bilan tezlikda ishlaydi.
  • Jarayon nomlari: jarayonlar o'ziga xos o'ziga xos xususiyatga ega bo'ladimi yoki ularni ajratib bo'lmaydigan (noma'lum).
  • Tarmoq topologiyasi: masalan, uzuk, asiklik grafik yoki to'liq grafik.
  • Tarmoq hajmi: algoritm tizimdagi jarayonlar soni haqidagi bilimlardan foydalanishi yoki ishlatmasligi mumkin.

Algoritmlar

Xalqqa rahbarlar saylovi

Ring tarmog'i topologiyasi

Ring ring - bu har bir tugun boshqa ikkita tugunga to'liq bog'langan, ya'ni tugunlari bo'lgan grafik uchun tugunlarni bir-biriga bog'laydigan aniq n qirralar mavjud bo'lgan bog'langan grafika topologiyasi. Qo'ng'iroq bir yo'nalishli bo'lishi mumkin, ya'ni protsessorlar faqat bitta yo'nalishda aloqa qilishlari mumkin (tugun faqat xabarlarni chapga yuborishi yoki faqat o'ng tomonga xabarlarni yuborishi mumkin) yoki ikki tomonlama, ya'ni protsessorlar ikkala yo'nalishda ham xabarlarni uzatishi va qabul qilishi mumkin (tugun bo'lishi mumkin) xabarlarni chapga va o'ngga yuboring).

Anonim uzuklar

Agar har bir protsessor bir xil bo'lsa, uzuk noma'lum deyiladi. Rasmiy ravishda tizim har bir protsessor uchun bir xil holatdagi mashinaga ega.[3] Anonim halqalarda etakchini tanlash uchun deterministik algoritm yo'q, hatto tarmoq hajmi jarayonlarga ma'lum bo'lsa ham.[3][6] Buning sababi, agar barcha jarayonlar bir xil tezlikda bajarilsa, noma'lum halqada simmetriyani buzish imkoniyati yo'q. Ba'zi bir qadamlardan so'ng protsessorlarning holati faqat qo'shni tugunlarning dastlabki holatiga bog'liq. Shunday qilib, ularning holatlari bir xil bo'lganligi va bir xil protseduralarni bajarganligi sababli, har bir turda har bir protsessor tomonidan bir xil xabarlar yuboriladi. Shuning uchun har bir protsessor holati ham bir xil o'zgaradi va natijada bitta protsessor rahbar sifatida saylansa, boshqalari ham shunday bo'ladi.

Oddiylik uchun uni anonim sinxron uzuklarda isbotlang. Qarama-qarshilik bilan isbotlang. N> 1 o'lchamdagi anonim R halqasini ko'rib chiqing. Ushbu noma'lum R halqasida etakchi saylovini hal qilish uchun "A" algoritmi mavjud deb taxmin qiling.[3]

Lemma: turdan keyin $ A $ ning R ning qabul qilinadigan bajarilishining barcha jarayonlari bir xil holatlarga ega.

Isbot. induksiya bilan isbotlang .

Asosiy ish: : barcha jarayonlar dastlabki holatidadir, shuning uchun barcha jarayonlar bir xil.

Induksiya gipotezasi: lemma uchun to'g'ri deb taxmin qiling turlar.

Induktiv qadam: dumaloq , har bir jarayon bir xil xabar yuboradi o'ngga va xuddi shu xabarni yuboring Chapga. Dumaloqdan keyin barcha jarayonlar bir xil holatda bo'lgani uchun , k turda, har bir jarayon xabar oladi chap chetidan va xabarni oladi o'ng chetidan. Chunki barcha jarayonlar bir xil xabarlarni turda oladi , ular turdan keyin bir xil holatda .

Yuqoridagi lemma A ning bajarilishida bir qancha cheklangan turlardan so'ng, bitta jarayon saylangan davlatga, boshqa jarayonlar esa saylanmagan davlatga o'tganligi bilan ziddir.

Tasodifiy (ehtimoliy) rahbarlarni saylash

Anonim halqalarda rahbarlarni saylash muammosini hal qilish uchun odatiy yondashuv - bu foydalanish ehtimollik algoritmlari. Bunday yondashuvlarda, odatda, protsessorlar ehtimollik funktsiyasiga asoslanib ba'zi bir o'ziga xosliklarni qabul qiladilar va uni tarmoqning qolgan qismiga etkazadilar. Oxir-oqibat, algoritmni qo'llash orqali rahbar tanlanadi (katta ehtimol bilan).

Asenkron uzuk[3]
Asenkron uzuk uchun O (nlogn) algoritmi

Anonim halqalar algoritmi yo'qligi sababli (yuqorida isbotlangan), asinxron uzuklar asinxron noma'lum uzuklar deb qaraladi. Noma'lum uzuklarda har bir jarayon o'ziga xos xususiyatga ega , va ular uzuk hajmini bilishmaydi. Asenkron halqalarda etakchi saylovini ba'zi algoritm yordamida echish mumkin xabarlar yoki xabarlar.

In algoritmi, har bir jarayon o'zi bilan xabar yuboradi chap tomonga. Keyin o'ng chetidan xabar kelguncha kuting. Agar xabarda o'zinikidan kattaroq , so'ngra xabarni chap chetga yo'naltiradi; aks holda xabarni e'tiborsiz qoldiring va hech narsa qilmang. Agar xabarda o'zinikiga teng , keyin chap tomonga o'zimni saylanganim to'g'risida xabar yuboradi. Boshqa jarayonlar e'lonni chapga yo'naltiradi va o'zlarini saylanmaganlarga aylantiradi. Yuqori chegara aniq ushbu algoritm uchun.

In algoritm, u bosqichma-bosqich ishlaydi. Ustida Uchinchi bosqich, jarayon chap tomon orasida g'olib bo'ladimi yoki yo'qligini aniqlaydi va o'ng tomon qo'shnilar. Agar u g'olib bo'lsa, unda jarayon keyingi bosqichga o'tishi mumkin. Bosqichda , har bir jarayon g'olib ekanligini yoki o'zi bilan xabar yuborish orqali emasligini aniqlashi kerak chap va o'ng qo'shnilarga (qo'shni xabarni uzatmaydi). Qo'shnisi javob beradi faqat agar xabarda qo'shnidan kattaroq , aks holda javob beradi . Agar ikkitasini oladi s, biri chapdan, biri o'ngdan, keyin bosqichda g'olib hisoblanadi . Bosqichda , bosqichda g'oliblar bilan xabar yuborish kerak uchun chap va o'ng qo'shnilar. Agar yo'lda qo'shnilar qabul qilsalar ularnikidan kattaroq xabarda , keyin xabarni keyingi qo'shniga yuboring, aks holda javob bering . Agar qo'shnisi qabul qiladi undan kattaroq , keyin qaytarib yuboradi , aks holda javob beradi . Agar jarayon ikkitasini oladigan bo'lsa s, keyin u bosqichda g'olib hisoblanadi . Oxirgi bosqichda final g'olibi o'ziga tegishli bo'ladi xabarda, so'ng tugatadi va tugatish haqidagi xabarni boshqa jarayonlarga yuboradi. Eng yomon holatda, har bir bosqich maksimal darajada bo'ladi g'oliblar, qaerda faza raqami. Lar bor jami bosqichlar. Har bir g'olib quyidagi tartibda yuboradi har bir bosqichda xabarlar. Shunday qilib, xabarlarning murakkabligi .

Sinxron uzuk

Attiya va Welchning tarqatilgan hisoblash kitobida,[3] ular yordamida bir xil bo'lmagan algoritmni tavsifladilar qo'ng'iroq hajmi ma'lum bo'lgan sinxron uzukdagi xabarlar . Algoritm bosqichma-bosqich ishlaydi, har bir bosqichga ega dumaloqlar, har bir raund bitta vaqt birligidir. Bosqichda , bilan jarayon mavjud bo'lsa , keyin ishlov bering tugatish to'g'risida xabarni boshqa jarayonlarga yuboradi (tugatish xabarlarini yuborish narxi) turlar). Boshqa, keyingi bosqichga o'ting. Algoritm protsessga teng faza raqami mavjudligini tekshiradi , keyin bosqich bilan bir xil qadamlarni bajaradi . Amaliyot oxirida minimal rahbar etib saylanadi. Bu aniq ishlatilgan xabarlar va turlar.

Itay va Rode[7] sinxronlashtirilgan jarayonlar bilan bir yo'nalishli uzuk uchun algoritmni taqdim etdi. Ular halqaning o'lchamlarini (tugunlar soni) jarayonlarga ma'lum deb hisoblashadi. N o'lchamdagi halqa uchun a≤n protsessorlar faol ishlaydi. Har bir protsessor nomzod bo'lish uchun ^ (- 1) ehtimoli bilan qaror qiladi. Har bir bosqich oxirida har bir protsessor nomzodlar sonini hisoblab chiqadi va agar u 1 ga teng bo'lsa, u etakchiga aylanadi, v qiymatini aniqlash uchun har bir nomzod fazaning boshida belgi (tosh) yuboradi. halqa atrofida uzatilib, aniq n vaqt birligidan keyin yuboruvchiga qaytadi. Har bir protsessor o'tgan toshlar sonini hisoblash orqali c ni aniqlaydi. Ushbu algoritm O (nlogn) xabarining kutilayotgan murakkabligi bilan etakchini saylashga imkon beradi. Xuddi shunday yondashuv ham tizimdagi tiqilib qolishni aniqlash uchun vaqt tugashi mexanizmi ishlatilgan holda qo'llaniladi.[8] Asosiy o'lcham kabi maxsus o'lchamdagi halqalarning algoritmlari ham mavjud[9][10] va g'alati o'lcham.[11]

Yagona algoritm

Rahbarlarni saylash uchun odatiy yondashuvlarda halqa hajmi jarayonlarga ma'lum bo'lishi kerak. Anonim qo'ng'iroqlar holatida, tashqi shaxsni ishlatmasdan, etakchini tanlash mumkin emas. Hatto algoritm mavjud deb taxmin qilsak ham, rahbar uzuk hajmini taxmin qila olmadi. ya'ni har qanday noma'lum qo'ng'iroqda algoritm noto'g'ri qo'ng'iroq hajmini hisoblash ehtimoli ijobiy.[12] Ushbu muammoni bartaraf etish uchun Fisher va Tszyan "lideri" deb nomlangan oracle dan foydalandilar Ω? har bir protsessor noyob lider borligini so'rashi mumkin. Ular shuni ko'rsatadiki, biron bir nuqtadan yuqoriga qarab, barcha jarayonlarga bir xil javob qaytarilishi kafolatlanadi.[13]

Noyob shaxsiy guvohnomalarga ega uzuklar

Dastlabki ishlarning birida Chang va Roberts[14] etakchi sifatida eng yuqori identifikatorga ega protsessor tanlangan yagona algoritmni taklif qildi. Har bir protsessor o'z identifikatorini soat yo'nalishi bo'yicha yuboradi. Xabarni qabul qilish jarayoni va uni o'zi bilan taqqoslash. Agar u kattaroq bo'lsa, u orqali o'tadi, aks holda u xabarni bekor qiladi. Ular ushbu algoritm maksimal darajada ishlatilishini ko'rsatadi xabarlar va o'rtacha holatda.
Xirshberg va Sinkler[15] bilan ushbu algoritm yaxshilandi protsessorlarga har ikki yo'nalishda ham xabar yuborish imkoniyatini beruvchi 2 yo'naltirilgan xabarni uzatish sxemasini joriy etish orqali xabarlarning murakkabligi.

Meshdagi etakchi saylovi

Mesh tarmoq topologiyasi. Qizil tugunlar burchaklar, ko'k chegara va kulrang ichki qismni bildiradi.

The mash tarmoq topologiyasining yana bir mashhur shakli, ayniqsa parallel tizimlar, ortiqcha xotira tizimlari va o'zaro bog'liqlik tarmoqlarida.[16]
Mesh tuzilishida tugunlar burchak (faqat ikkita qo'shni), chegara (faqat uchta qo'shni) yoki ichki (to'rtta qo'shni bilan). A x b o'lchamdagi to'rdagi qirralarning soni m = 2ab-a-b.

Yo'nalishsiz mash

Yo'l-yo'riqsiz mashda etakchi saylovini hal qilishning odatiy algoritmi to'rtta burchak tugunidan bittasini etakchi sifatida tanlashdir. Burchak tugunlari boshqa jarayonlarning holatidan xabardor bo'lmasligi mumkinligi sababli, algoritm avval burchak tugunlarini uyg'otishi kerak. Rahbar quyidagi tarzda saylanishi mumkin.[17]

  1. Uyg'onish jarayoni: unda k tugunlari saylov jarayonini boshlaydi. Har bir tashabbuskor barcha qo'shni tugunlarga uyg'onish to'g'risida xabar yuboradi. Agar tugun tashabbuskor bo'lmasa, u shunchaki xabarlarni boshqa tugunlarga yuboradi. Ushbu bosqichda ko'pi bilan 3n + k xabarlar yuboriladi.
  2. Saylov jarayoni: tashqi halqadagi saylovlar eng ko'pi bilan ikki bosqichdan iborat bo'lib, 6 (a + b) -16 ta xabar yuboradi.
  3. Tugatish: rahbar barcha tugunlarga tugatuvchi xabar yuboradi. Buning uchun ko'pi bilan 2n xabar kerak.

Xabarning murakkabligi ko'pi bilan 6(a + b) - 16va agar mash kvadrat shaklida bo'lsa, O (n).

Yo'naltirilgan mash

Yo'naltirilgan mash - bu port raqamlari kompas yorlig'i, ya'ni shimol, janub, sharq va g'arbda joylashgan alohida holat. Yo'naltirilgan mashda etakchini saylash ahamiyatsiz. Biz faqat burchak nomzodini ko'rsatishimiz kerak, masalan. "Shimoliy" va "sharq" va tugun uning etakchi ekanligini bilishiga ishonch hosil qiling.

Torus

Torus tarmog'ining tuzilishi.

Mesh me'morchiligining alohida holati - torus bo'lib, u "o'ralgan" meshdir. Ushbu tuzilishda har bir tugunning to'liq 4 ta qirrasi bor va bunday tuzilma rahbarini saylash uchun bitta yondashuv saylov bosqichlari deb nomlanadi. Ring tuzilmalaridagi protseduralarga o'xshab, har bir bosqichda ushbu usul potentsial nomzodlarni bitta nomzod tuguni qolguncha yo'q qiladi. Ushbu tugun etakchiga aylanadi va keyin boshqa barcha tugatish jarayonlari to'g'risida xabar beradi.[18] Ushbu yondashuv O (n) ning murakkabligiga erishish uchun ishlatilishi mumkin. Shuningdek, tarmoqdagi nosoz ulanishlar bilan kurashish uchun ko'proq amaliy yondashuvlar mavjud.[19][20]

Giperkubiklarda saylov

H_4 giperkubali tarmoq topologiyasi.

A Hypercube dan iborat bo'lgan tarmoq tugunlari, har birining darajasi va qirralar. Oldingi kabi saylov bosqichlaridan ham rahbarlarni saylash muammosini hal qilish uchun foydalanish mumkin. Har bir bosqichda ikkita tugun (duelistlar deb nomlanadi) raqobatlashadi va g'olib keyingi bosqichga ko'tariladi. Bu shuni anglatadiki, har bir bosqichda duelchilarning faqat yarmi keyingi bosqichga chiqadi. Ushbu protsedura faqat bitta duelist qolguncha davom etadi va u etakchiga aylanadi. Tanlanganidan so'ng, u boshqa barcha jarayonlarni xabardor qiladi. Ushbu algoritm talab qiladi xabarlar. Yo'naltirilmagan giperkubiklarda ham shunga o'xshash yondashuv qo'llanilishi mumkin, ammo xabarning murakkabligi yuqori .[21]

To'liq tarmoqlarda saylov

Tarmoqning to'liq tuzilishi.

To'liq tarmoqlar barcha jarayonlar bir-biriga bog'langan tuzilmalardir, ya'ni har bir tugunning darajasi n-1, n tarmoqning kattaligi. O (n) xabari va kosmik murakkabligi bilan maqbul echim ma'lum.[22] Ushbu algoritmda jarayonlar quyidagi holatlarga ega:

  1. Dummy: etakchi saylov algoritmida qatnashmaydigan tugunlar.
  2. Passiv: jarayonlarning boshlanishidan oldingi holati.
  3. Nomzod: uyg'onganidan keyin tugunlarning holati. Nomzod tugunlari etakchiga aylangan deb hisoblanadi.

Rahbarni tanlash uchun tarmoqda virtual uzuk ko'rib chiqiladi. Barcha protsessorlar dastlab ular uyg'onguncha passiv holatda boshlanadi. Tugunlar uyg'ongandan so'ng, ular etakchiga aylanish uchun nomzodlardir. Prioritet sxemaga asoslanib, nomzod tugunlari virtual halqada hamkorlik qiladi. Biron bir vaqtda nomzodlar ringda o'zlaridan oldin turgan nomzodlarning kimligini bilishadi. Yuqori darajadagi nomzodlar pastroqlardan oldingilari haqida so'rashadi. Kamroq ustuvorlikka ega bo'lgan nomzodlar, ustuvorligi yuqori bo'lgan nomzodlarga javob bergandan keyin qo'g'irchoq bo'lib qoladilar. Ushbu sxemaga asoslanib, eng yuqori darajadagi nomzod, oxir-oqibat tizimdagi barcha tugunlar qo'g'irchoq ekanligini biladi, o'zidan tashqari u bu erda lider ekanligini biladi.

Umumjahon etakchini saylash texnikasi

Nomidan ko'rinib turibdiki, ushbu algoritmlar tarmoq topologiyasi yoki uning hajmi, masalan, uning xususiyatlari haqida oldindan hech qanday ma'lumotga ega bo'lmagan holda, har qanday jarayon tarmoqlarida foydalanishga mo'ljallangan.[23]

Baqir

Shout (protokol) umumiy grafada yoyilgan daraxtni quradi va uning ildizini etakchi sifatida tanlaydi. Algoritmning chekkasida umumiy xarajatlar chiziqli bo'ladi.

Mega-birlashma

Ushbu texnik mohiyatan a ni topishga o'xshaydi Minimal uzunlikdagi daraxt Daraxt ildizi etakchiga aylanadigan (MST). Ushbu usulning asosiy g'oyasi - bu alohida tugunlar bir-biri bilan birlashib, katta tuzilmalarni shakllantirishdir. Ushbu algoritm natijasida ildiz butun tizimning etakchisi bo'lgan daraxt (tsiklsiz grafik) hosil bo'ladi. Mega-birlashma usuli narxi bu erda m - qirralarning soni va n - tugunlar soni.

Yo-yo

YO-YO protsedurasiga misol. a) tarmoq, b) keyin yo'naltirilgan tarmoq sozlash faza, c) YO - manba qiymatlari berilgan faza, d) -YO faza lavabodan javoblarni yuborish, e) -YO fazadan keyin yangilangan tuzilish.

Yo-yo (algoritm) bu ikki qismdan iborat minimal topish algoritmi: oldindan ishlov berish bosqichi va bir qator takrorlashlar.[24] Birinchi bosqichda yoki sozlash, har bir tugun o'z identifikatorini barcha qo'shnilar bilan almashtiradi va uning tushgan qirralarini yo'naltiradigan qiymatga asoslanadi. Masalan, agar x tugunida ydan kichik id bo'lsa, x y tomon yo'naltiriladi. Agar tugunning barcha qo'shnilaridan kichik id bo'lsa, u a bo'ladi manba. Aksincha, barcha ichki qirralari bo'lgan tugun (ya'ni, id barcha qo'shnilaridan kattaroq) cho'kish. Boshqa barcha tugunlar ichki tugunlar.
Barcha qirralar yo'naltirilgandan so'ng, takrorlash bosqich boshlanadi. Har bir takrorlash saylov bosqichi bo'lib, unda ba'zi nomzodlar olib tashlanadi. Har bir takrorlash ikki bosqichga ega: YO- va –YO. Ushbu bosqichda manbalar har bir cho'milishga ushbu cho'milishga ulangan manbalarning eng kichik qiymatlarini tarqatish jarayonini boshlaydi.

Yo-

  1. Manba (mahalliy minima) o'zining qiymatini barcha tashqi qo'shnilariga etkazadi
  2. Ichki tugun barcha qo'shnilaridan qiymat olishni kutadi. Minimalni hisoblab chiqadi va uni tashqi qo'shniga yuboradi.
  3. Lavabo (chiqadigan chekkasi bo'lmagan tugun) barcha qiymatlarni oladi va ularning minimal miqdorini hisoblaydi.

-yo

  1. Lavabo HA ni qo'shnilariga yuboradi, ulardan eng kichik qiymati ko'rilgan, boshqalarga esa YO'Q
  2. Ichki tugun, eng kichik qiymatni olgan barcha qo'shnilarga YES ni, boshqalarga YO'Q yuboradi. Agar u faqat bitta YO'Q qabul qilsa, u hammaga YO'Q yuboradi.
  3. Manba barcha ovozlarni olguncha kutib turadi. Agar barchasi Ha bo'lsa, u omon qoladi va agar bo'lmasa, u endi nomzod emas.
  4. X tugun qo'shni yga NO ni yuborganda, bu chekkaning mantiqiy yo'nalishi teskari bo'ladi.
  5. Y tuguni tashqi qo'shnidan NO qabul qilganda, u shu yo'nalish yo'nalishini aylantiradi.

Oxirgi bosqichdan so'ng, YO'Q olgan har qanday manba manba bo'lib qolmaydi va cho'kib ketadi. Azizillo, shuningdek, foydasiz tugunlarni olib tashlash uchun kiritilgan, ya'ni ularning mavjudligi keyingi takrorlanishlarga ta'sir qilmaydi.

  1. Agar lavabo barg bo'lsa, unda u foydasiz va shuning uchun olib tashlanadi.
  2. Agar YO fazasida xuddi shu qiymat bir nechta qo'shnilarning tugunlari tomonidan qabul qilinsa, u ulardan boshqasidan ularni bog'laydigan havolani olib tashlashni so'raydi.

Ushbu usul O (mlogn) xabarlarining umumiy narxiga ega. Uning haqiqiy xabar murakkabligi, shu jumladan Azizillo, ochiq tadqiqot muammosi va noma'lum.

Ilovalar

Radio tarmoqlari

Radio tarmoqlari protokollarida rahbarlarni saylash ko'pincha xabar yig'ish yoki eshittirish kabi yanada rivojlangan aloqa ibtidoiylariga yaqinlashish uchun birinchi qadam sifatida ishlatiladi.[25] Simsiz tarmoqlarning o'ziga xos xususiyati qo'shni tugunlar bir vaqtning o'zida uzatilganda to'qnashuvlarni keltirib chiqaradi; etakchini saylash bu jarayonni yaxshiroq muvofiqlashtirishga imkon beradi. Da diametri D. tarmoq - bu etakchini saylash uchun zarur bo'lgan vaqt uchun tabiiy darajaning pastligi, etakchini tanlash muammosining yuqori va pastki chegaralari o'rganilgan o'ziga xos radio modeliga bog'liq.

Modellar va ish vaqti

Radio tarmoqlarida n tugunlar har bir turda xabarni uzatishni yoki qabul qilishni tanlashi mumkin. Agar to'qnashuv aniqlanmagan mavjud bo'lsa, unda tugun sukunat yoki bir vaqtning o'zida bir nechta xabarlarni qabul qilishni ajrata olmaydi. Kerak to'qnashuvni aniqlash mavjud bo'lishi mumkin, keyin tugun bir vaqtning o'zida bir nechta kiruvchi xabarlarni aniqlay oladi, garchi u holda xabarlarning o'zi kodini ochib bo'lmaydi. In signal beruvchi model, tugunlar orqali sukunat yoki kamida bitta xabarni ajratish mumkin tashuvchini aniqlash.

Uchun ma'lum bo'lgan ish vaqti bitta hop tarmoqlar doimiydan (to'qnashuvni aniqlash bilan kutilgan) dan O (n log n) dumaloq (deterministik va to'qnashuv aniqlanmagan). Yilda multi-hop ma'lum ish vaqtlari tarmoqlari deyarli farq qiladi O ((D + log n) (log² log n)) dumaloqlar (signal beruvchi modelda yuqori ehtimollik bilan), O (D log n) (signal beruvchi modelda deterministik), O (n) (to'qnashuvni aniqlash bilan deterministik) ga O (n log3/2 n (jurnal jurnali n)0.5) dumaloq (deterministik va to'qnashuv aniqlanmagan).

Shuningdek qarang

Adabiyotlar

  1. ^ R. G. Gallager, P. A. Humblet va P. M. Spira (1983 yil yanvar). "Minimal og'irlikdagi daraxtlar uchun taqsimlangan algoritm" (PDF). Dasturlash tillari va tizimlari bo'yicha ACM operatsiyalari. 5 (1): 66–77. doi:10.1145/357195.357200. Arxivlandi asl nusxasi (PDF) 2016-10-12 kunlari. Olingan 2007-09-30.CS1 maint: bir nechta ism: mualliflar ro'yxati (havola)
  2. ^ Efrayim Korach, Shay Kutten, Shlomo Moran (1990). "Algoritmlarni topishda samarali tarqatilgan etakchini loyihalashtirishning modulli usuli". Dasturlash tillari va tizimlari bo'yicha ACM operatsiyalari. 12 (1): 84–101. CiteSeerX  10.1.1.139.7342. doi:10.1145/77606.77610.CS1 maint: bir nechta ism: mualliflar ro'yxati (havola)
  3. ^ a b v d e f H. Attiya va J. Uelch, Tarqatilgan hisoblash: asoslar, simulyatsiyalar va ilgari mavzular, John Wiley & Sons inc., 2004, bob. 3
  4. ^ I. Gupta, R. van Reness va K. P. Birman, 2000 y., Katta guruhlar uchun ehtimoliy jihatdan to'g'ri rahbar saylov protokoli, Texnik hisobot , Kornell universiteti
  5. ^ R. Baxshi, V. Fokkink, J. pang va J. Van de Pol, c2008 yil "Anonim halqalarda etakchi saylovi: Franklin ehtimoliy yo'l tutmoqda", TCS, Jild 273, 57-72 betlar.
  6. ^ H. Attiya va M. Snir, 1988 yil, "Anonim uzukda hisoblash",JACM, Jild 35, son. 4, 845-875-betlar
  7. ^ A. Itai va M. Rodeh, 1990 yil, "Tarqatilgan tarmoqlarda simmetriyani buzish", jild. 88, 1-son, 60-87-betlar.
  8. ^ L. Xayam va S. Mayers, 1998 y., "Anonim xabar uzatish uzuklari bo'yicha o'z-o'zini barqarorlashtiruvchi belgi tiraji", DISTributed tizimlar printsiplariga bag'ishlangan ikkinchi xalqaro konferentsiya.
  9. ^ G. Itkis, Lin Lin va J. Simon, 1995 y., "Deterministik, doimiy makon, bir xil halqalarda o'zini o'zi barqarorlashtiradigan etakchi saylov.", Proc-da. Tarqatilgan algoritmlar bo'yicha 9-seminar, Jild 972, 288-302 betlar.
  10. ^ J. Berns va J. Pakl, 1989 yil, "O'z-o'zini barqarorlashtiruvchi halqalar",ACM Trans. Dastur. Til. Tizimlar, Jild 11, son. 2, s.330-344
  11. ^ T. Xerman, 1990 yil, "O'zini barqarorlashtirishning ehtimoliy", Inf. Jarayon. Lett., Jild 35, 2-son, 63-67 betlar.
  12. ^ G. Tel,Tarqatilgan algoritmlarga kirish. Kembrij universiteti matbuoti, 2000.2-nashr
  13. ^ M. Fischer va H. Tszyan, 2006 yil, "_nite-state anonim agentlari tarmoqlarida o'zini o'zi barqarorlashtiruvchi etakchi saylovi", Proc-da. 10-chi konf. Tarqatilgan tizimlarning printsiplari to'g'risida, Jild 4305, 395-409 betlar.
  14. ^ E. Chang va R. Roberts, 1979 yil, "Jarayonlarning dairesel konfiguratsiyalarida markazlashtirilmagan ekstremma topish uchun takomillashtirilgan algoritm", ACM, Jild 22, 5-son, 281-283-betlar.
  15. ^ D. S. Xirshberg va J. B. Sinkler, 1980 yil, "Protsessorlarning dumaloq konfiguratsiyasida markazlashtirilmagan ekstremma topish", ACM, Jild 23, 11-son, 627-628-betlar.
  16. ^ N. Santoro, Tarqatilgan algoritmlarni loyihalash va tahlil qilish, Vili, 2006 yil.
  17. ^ H. Kallasjoki, 2007 yil, "Mesh, kub va to'liq tarmoqlarda saylovlar", Nazariy kompyuter fanlari bo'yicha seminar.
  18. ^ N. Santoro, Tarqatilgan algoritmlarni loyihalash va tahlil qilish, Vili, 2006 yil.
  19. ^ M. Refai, A. Shariy va. Alsmmari, 2010 y., "Ikki o'lchovli Torus tarmog'ida etakchini saylash algoritmi bitta bog'lanishda muvaffaqiyatsizlik mavjudligida", Xalqaro Arab Axborot Texnologiyalari jurnali, Jild 7, № 2.
  20. ^ M Al Refai, 2014 y., "Ko'p yo'nalishdagi muvaffaqiyatsizlikka uchragan 2D Torus tarmog'idagi etakchining dinamik saylov algoritmi", IJCST, Jild 2, 5-son.
  21. ^ N. Santoro, Tarqatilgan algoritmlarni loyihalash va tahlil qilish, Vili, 2006 yil.
  22. ^ J. Villadangos, A. Kordoba, F. Farina va M. Prieto, 2005 yil, "To'liq tarmoqlarda etakchi saylovi", XDP, s.136-143.
  23. ^ N. Santoro, Tarqatilgan algoritmlarni loyihalash va tahlil qilish, Vili, 2006 yil.
  24. ^ N. Santoro, Tarqatilgan algoritmlarni loyihalash va tahlil qilish, Vili, 2006 yil.
  25. ^ Xeupler, Bernxard; G'affari, Mohsen (2013). Ko'p xopli radio tarmoqlarida etakchini maqbul tarzda saylash. Yigirma to'rtinchi yillik ACM-SIAM diskret algoritmi bo'yicha simpoziumi materiallari.. 748-766 betlar. arXiv:1210.8439. doi:10.1137/1.9781611973105.54. ISBN  978-1-61197-251-1.