Kompyuter klasterlarida xabar yuborish - Message passing in computer clusters

Birgalikda ishlaydigan ko'plab kompyuterlardan tashkil topgan klasterda ishlaydigan texniklar xabarlarni yuborish tarmoq orqali

Xabar yuborildi barchaning ajralmas elementidir kompyuter klasterlari. Uy qurishdan tortib, barcha kompyuter klasterlari Beowulfs eng tezkorlariga superkompyuterlar dunyoda, ular qamrab olgan ko'plab tugunlarning faoliyatini muvofiqlashtirish uchun xabarlarni uzatishga ishoning.[1][2] Xabar tovar bilan qurilgan kompyuter klasterlarida serverlar va kalitlar deyarli har bir Internet xizmati tomonidan foydalaniladi.[1]

So'nggi paytlarda mingdan ortiq tugunli kompyuter klasterlaridan foydalanish keng tarqalmoqda. Klasterdagi tugunlar soni oshgani sayin, aloqa quyi tizimi murakkabligining tez o'sishi xabarlarni uzatishni kechiktirishga olib keladi. o'zaro bog'lanish bajarilishida jiddiy ishlash muammosi parallel dasturlar.[3]

Kompyuter klasterlarida xabarlarning uzatilishini simulyatsiya qilish, tasavvur qilish va tushunish uchun maxsus vositalardan foydalanish mumkin. Katta kompyuter klasterini yig'ishdan oldin, a izlarga asoslangan simulyator kattaroq konfiguratsiyalardagi xabarlarning ishlashini taxmin qilishda yordam beradigan oz sonli tugunlardan foydalanishi mumkin. Sinov tugunlarining oz sonida ishlaydi, simulyator bajarilish va xabar uzatishni o'qiydi jurnal fayllari va juda ko'p sonli tugunlar o'rtasida ko'plab xabarlar almashilganda xabar almashish tizimining ishlashini simulyatsiya qiladi.[4][5]

Xabarlar va hisoblashlar

Xabarlarni uzatishga yondashuvlar

Tarixiy jihatdan, klaster tugunlari orasidagi aloqa uchun ikkita odatiy yondashuv PVM, the bo'lgan Parallel virtual mashina va MPI Xabarni uzatish interfeysi.[6] Biroq, hozirda MPI kompyuter klasterlarida xabarlarni uzatish uchun amalda standart bo'lib chiqdi.[7]

PVM MPI dan oldin paydo bo'lgan va ishlab chiqarilgan Oak Ridge milliy laboratoriyasi atrofida 1989. Bu hisoblash tuguniga "parallel virtual mashina" vazifasini bajarishga imkon beradigan dasturiy ta'minot kutubxonalari to'plamini taqdim etadi. Xabarlarni uzatish, vazifalar va resurslarni boshqarish va xato haqida xabar berish uchun ish vaqti muhiti ta'minlanadi va har bir klaster tuguniga to'g'ridan-to'g'ri o'rnatilishi kerak. PVM-da yozilgan foydalanuvchi dasturlari tomonidan ishlatilishi mumkin C, C ++ yoki Fortran, va boshqalar.[6][8]

PVM-dan farqli o'laroq, aniq dasturga ega, MPI - bu ma'lum bir kutubxonalar to'plami emas, balki spetsifikatsiya. Ushbu spetsifikatsiya 1990 yil boshida 40 ta tashkilot o'rtasida bo'lib o'tgan muhokamalardan so'ng paydo bo'ldi va dastlabki harakatlar qo'llab-quvvatlandi ARPA va Milliy Ilmiy Jamg'arma. MPI dizayni o'sha davrdagi tijorat tizimlarida mavjud bo'lgan turli xil xususiyatlarga asoslangan. Keyinchalik MPI spetsifikatsiyalari aniq dasturlarni keltirib chiqardi. MPI dasturlari odatda foydalanadi TCP / IP va soket ulanishlari.[6] Hozirgi kunda MPI keng tarqalgan model bo'lib, parallel dasturlarni shu kabi tillarda yozishga imkon beradi C, Fortran, Python, va boshqalar.[8] MPI spetsifikatsiyasi kabi tizimlarda amalga oshirildi MPICH va MPI-ni oching.[8][9]

Sinov, baholash va optimallashtirish

Kompyuter klasterlari bir nechta tugunlarga ishlov berish taqsimoti va natijada paydo bo'ladigan aloqa yuklari bilan ishlash uchun bir qator strategiyalardan foydalanadi. Kabi ba'zi kompyuter klasterlari Tyanxe-I xabarlarni uzatish uchun hisoblashni amalga oshirishda ishlatilganidan farqli ravishda turli xil protsessorlardan foydalaning. Tiahnhe-I ikki mingdan ortiq foydalanadi FeiTeng-1000 Xususiy xabarlarni uzatish tizimining ishlashini kuchaytirish uchun protsessorlar, hisoblashlar esa amalga oshiriladi Xeon va Nvidia Tesla protsessorlar.[10][11]

Aloqa xarajatlarini kamaytirishga qaratilgan yondashuvlardan biri mahalliy mahallalardan foydalanish (shuningdek, shunday nomlanadi) mahalliy ) aniq vazifalar uchun. Bu erda hisoblash vazifalari klasterdagi aniq "mahallalar" ga, bir-biriga yaqinroq bo'lgan protsessorlardan foydalanish samaradorligini oshirish uchun berilgan.[3] Biroq, ko'p hollarda haqiqiy ekanligini hisobga olsak topologiya kompyuter klasteri tugunlari va ularning o'zaro bog'lanishlari dastur ishlab chiquvchilariga ma'lum bo'lmasligi mumkin, shuning uchun dastur dasturi darajasida ishlashni sozlash juda qiyin.[3]

Hozirgi kunda MPI kompyuter klasterlarida amaldagi standart sifatida paydo bo'lganligini hisobga olsak, klaster tugunlari sonining ko'payishi MPI kutubxonalarining samaradorligi va miqyosliligini oshirish bo'yicha izlanishlarni davom ettirdi. Ushbu harakatlar MPI kutubxonalarining xotira izlarini kamaytirish bo'yicha tadqiqotlarni o'z ichiga olgan.[7]

Dastlabki kunlardan boshlab MPI uchun qulayliklar yaratildi ishlashni profillashtirish PMPI "profillash tizimi" orqali.[12] PMIPI-prefiksidan foydalanish xabarlarga kirish va chiqish nuqtalarini kuzatish imkonini beradi. Biroq, ushbu profilning yuqori darajadagi xususiyatini hisobga olgan holda, ushbu turdagi ma'lumotlar faqat aloqa tizimining haqiqiy xatti-harakatlari haqida ma'lumot beradi. Qo'shimcha ma'lumotlarga bo'lgan ehtiyoj MPI-Peruse tizimining rivojlanishiga olib keldi. Peruse ilovalarga MPI-kutubxonasidagi holat o'zgarishiga kirish huquqini berish orqali batafsilroq ma'lumot beradi. Bunga Peruse-da qo'ng'iroqlarni ro'yxatdan o'tkazish va keyin xabar voqealari sodir bo'lganda ularni trigger sifatida chaqirish orqali erishiladi.[13] Perus PARAVER vizualizatsiya tizimi bilan ishlashi mumkin. PARAVER tarkibida ikkita komponent mavjud: iz komponenti va izlarni tahlil qilish uchun ingl. Komponent, muayyan hodisalar bilan bog'liq statistik ma'lumotlar va hk.[14] PARAVER boshqa tizimlarning iz formatlarini ishlatishi yoki o'z kuzatuvlarini bajarishi mumkin. U vazifa darajasida, ip sathida va gibrid formatda ishlaydi. Izlar ko'pincha juda ko'p ma'lumotni o'z ichiga oladi, ular ko'pincha juda hayratlanarli. Shunday qilib PARAVER ularni foydalanuvchilarga tasavvur qilish va tahlil qilishga imkon berish uchun ularni sarhisob qiladi.[13][14][15]

Ish faoliyatini tahlil qilish

Qachon katta miqyosda, ko'pincha superkompyuter parallel tizim ishlab chiqilmoqda, bir nechta konfiguratsiyalar bilan tajriba o'tkazish va ishlashni simulyatsiya qilish juda muhimdir. Ushbu stsenariyda xabarlarni uzatish samaradorligini modellashtirishning analitik modellaridan tortib izlarga asoslangan simulyatsiyaga qadar bir qator yondashuvlar mavjud va ba'zi bir yondashuvlar "sun'iy aloqa" ga asoslangan sinov muhitidan foydalanishga asoslangan. sintetik sinovlar xabarlarni uzatish ko'rsatkichlari.[3] Kabi tizimlar BIGSIM turli xil ko'rsatkichlarni simulyatsiya qilishga imkon berish orqali ushbu imkoniyatlarni taqdim etish tugun topologiyalari, xabarlarni uzatish va rejalashtirish strategiyalari.[4]

Analitik yondashuvlar

Analitik darajada, aloqa vaqtini T boshlang'ich kabi subkomponentlar to'plamida modellashtirish zarur. kechikish, asimptotik tarmoqli kengligi va protsessorlarning soni. Taniqli model - bu shunchaki ishonadigan Xokni modeli nuqta-nuqta aloqasi, T = L + (M / R) dan foydalanib, bu erda M - xabar hajmi, L - boshlang'ich kechikish va R - MB / s da asimptotik o'tkazuvchanlik.[16]

Xu va Xvan protsessorlar sonini o'z ichiga olgan Xokni modelini umumlashtirdilar, shuning uchun ham kechikish, ham asimptotik tarmoqli kengligi protsessorlar sonining funktsiyalari hisoblanadi.[16][17] Gunawan va Cai keyinroq tanishtirish orqali buni umumlashtirdilar kesh hajmi, va o'lchamlarini hisobga olgan holda xabarlarni ajratdi, ikkita alohida modelni oldi, ulardan biri kesh hajmidan pastroq, ikkinchisi yuqoridagilar uchun.[16]

Ishlashni simulyatsiya qilish

The IBM Roadrunner klasterli superkompyuter

Kompyuter klasterlarida xabarlarning uzatilishini simulyatsiya qilish va tushunish uchun maxsus vositalardan foydalanish mumkin. Masalan, CLUSTERSIM uchun Java-ga asoslangan vizual muhit ishlatiladi hodisalarni diskret simulyatsiyasi. Ushbu yondashuvda hisoblash tugunlari va tarmoq topologiyasi ingl. Ishlar va ularning davomiyligi va murakkabligi aniqlik bilan ifodalanadi ehtimollik taqsimoti har xil parallellikka imkon beradi ishlarni rejalashtirish taklif qilinadigan va tajriba qilinadigan algoritmlar. Aloqa uchun qo'shimcha xarajatlar MPI xabarlarni uzatishni shu tariqa taqlid qilish va ishni katta hajmdagi parallel bajarish sharoitida yaxshiroq tushunish mumkin.[18]

Boshqa simulyatsiya vositalari orasida MPI-sim va BIGSIM mavjud.[19] MPI-Sim - bu bajarilishga asoslangan simulyator, uning ishlashi uchun C yoki C ++ dasturlari kerak.[18][19] Boshqa tomondan, ClusterSim dasturni bajarish uchun ishlatiladigan dasturlash tilidan mustaqil ravishda yuqori darajadagi gibrid modellashtirish tizimidan foydalanadi.[18]

MPI-Simdan farqli o'laroq, BIGSIM - bu alohida emulyator dasturi tomonidan fayllarda saqlangan qatl jurnallari asosida simulyatsiya qilinadigan izlarni boshqaradigan tizim.[5][19] BIGSIM-ga emulyator va simulyator kiradi. Emulyator dasturlarni oz sonli tugunlarda bajaradi va natijalarni saqlaydi, shuning uchun simulyator ulardan foydalanishi va juda ko'p sonli tugunlarda faoliyatni taqlid qilishi mumkin.[5] Emulyator bir nechta protsessorlar uchun ketma-ket ijro bloklari (SEB) ma'lumotlarini jurnal fayllarida saqlaydi, har bir SEB yuborilgan xabarlarni, ularning manbalarini va yo'nalishlarini, bog'liqligini, vaqtini va boshqalarni yozib oladi. Simulyator jurnal fayllarini o'qiydi va ularni simulyatsiya qiladi va yulduzcha chiqishi mumkin qo'shimcha xabarlar, keyinchalik ular SEB sifatida saqlanadi.[4][5] Shunday qilib, simulyator butun mashina mavjud bo'lguncha yoki konfiguratsiya qilinishidan oldin emulyator tomonidan juda oz sonli tugunlarda bajarilishi izlari asosida juda katta dasturlarning ishlashi ko'rinishini taqdim etishi mumkin.[5]

Shuningdek qarang

Adabiyotlar

  1. ^ a b Kompyuterni tashkil etish va dizayn tomonidan Devid A. Patterson va Jon L. Xennessi 2011 ISBN  0123747503 641-bet [1]
  2. ^ Windows bilan Beowulf klasterini hisoblash Tomas Lourens Sterling tomonidan 2001 yil ISBN  0262692759 MIT 7-9-sahifalarni bosing
  3. ^ a b v d Xabarni uzatish interfeysidagi so'nggi yutuqlar Yiannis Kotronis, Entoni Danalis, Dimitris Nikolopulos va Jek Dongarra tomonidan 2011 ISBN  3642244483 160–162 betlar
  4. ^ a b v Petascale Computing: Algoritmlar va ilovalar Devid A. Bader tomonidan 2007 yil ISBN  1584889098 435–435 betlar
  5. ^ a b v d e Parallel hisoblash uchun tillar va kompilyatorlar Kit Kuper, Jon Mellor-Krammey va Vivek Sarkar 2011 tomonidan tahrirlangan ISBN  3642195946 202–203 betlar
  6. ^ a b v OpenAFS bilan tarqatiladigan xizmatlar: korxona va ta'lim uchun Franko Milicchio tomonidan, Volfgang Aleksandr Gehrke 2007, 339-341-betlar
  7. ^ a b Parallel virtual kompyuter va xabarlarni uzatish interfeysidagi so'nggi yutuqlar Matti Ropo, Yan Vesterxolm va Jek Dongarra tomonidan 2009 yil ISBN  3642037690 231 bet
  8. ^ a b v Panjara va klasterlarni hisoblash J. Prabhu tomonidan 2008 yil ISBN  8120334280 109-112 betlar
  9. ^ Gropp, Uilyam; Lusk, Eving; Skjellum, Entoni (1996). "MPI xabarlarini uzatish interfeysini yuqori samarali, portativ amalga oshirish". Parallel hisoblash.CS1 maint: ref = harv (havola)
  10. ^ TianHe-1A superkompyuteri: uning texnik vositalari va dasturiy ta'minoti Xue-Jun Yang, Syan-Ke Liao va boshq Kompyuter fanlari va texnologiyalar jurnali, 26-jild, 3-son, 2011 yil may, 344–351-betlar "Arxivlangan nusxa". Arxivlandi asl nusxasi 2011-06-21 da. Olingan 2012-02-08.CS1 maint: nom sifatida arxivlangan nusxa (havola)
  11. ^ AQShning ta'kidlashicha, Xitoy "butunlay mahalliy" superkompyuter qurmoqda, Patrik Tibo tomonidan Computerworld, 2010 yil 4-noyabr [2]
  12. ^ PMPI nima?
  13. ^ a b Parallel virtual kompyuter va xabarlarni uzatish interfeysidagi so'nggi yutuqlar Bernd Mohr, Jesper Larsson Träff, Yoaxim Worringen va Jek Dongarra tomonidan 2006 yil ISBN  354039110X sahifa 347
  14. ^ a b PARAVER: Parallel kodni tasavvur qilish va tahlil qilish vositasi Vinsent Pillet va boshq., Transputer va Occam rivojlanishiga bag'ishlangan konferentsiya materiallari, 1995, 17-31 betlar
  15. ^ Hisoblash fanlari - Iccs 2003 Piter M.A.Slot, Devid Abramson, Aleksandr V. Bogdanov va Jek J. Dongarra tomonidan tahrirlangan ISBN  3540401970 sahifa 183
  16. ^ a b v Xabarni uzatishda modellashtirish C.Y Chou va boshq. Grid va keng tarqalgan hisoblash sohasidagi yutuqlar: Birinchi Xalqaro konferentsiya, GPC 2006 Yeh-Ching Chung va Xose E. Moreyra tomonidan tahrirlangan. ISBN  3540338098 299–307 betlar
  17. ^ Yuqori samarali hisoblash va tarmoq Piter Sloot, Marian Bubak va Bob Xertzberge 1998 tomonidan tahrirlangan ISBN  3540644431 sahifa 935
  18. ^ a b v Yuqori samarali hisoblash fanlari va muhandislik Maykl K. Ng, Andrey Doncesku, Laurens T. Yang va Tau Leng tomonidan tahrirlangan, 2005 y ISBN  0387240489 59-63 sahifalar
  19. ^ a b v Kompyuter fanlari, atrof-muhit, ekoinformatika va ta'lim sohalaridagi yutuqlar Song Lin va Xiong Huang tomonidan tahrirlangan 2011 ISBN  3642233236 sahifa 16