I. BOB Parallel kompyuterlar tasnifi 1.1. Parallel kompyuterlarni dasturlash
Xabarni uzatish uchun harakat 1991 yil yozida Avstriyadagi tog'larning chekinishida munozaralarni boshlagan kichik tadqiqotchilar boshlandi. 1992 yil 29-30 aprel kunlari Virjiniya shtatining Uilyamsburg shahrida bo'lib o'tgan tarqatilgan xotira muhitida xabarlarni uzatish standartlari bo'yicha seminar bo'lib o'tdi . Uilyamsburgdagi ishtirokchilar standart xabar uzatuvchi interfeys uchun zarur bo'lgan asosiy xususiyatlarni muhokama qildilar va standartlashtirish jarayonini davom ettirish uchun ishchi guruh tuzdilar. Jek Dongarra , Toni Heyva Devid Uolker 1992 yil noyabrida "MPI1" taklifini ilgari surdi. 1992 yil noyabr oyida Minneapolisda MPI ishchi guruhining yig'ilishi bo'lib o'tdi va standartlashtirish jarayonini yanada rasmiy asosda joylashtirishga qaror qildi. MPI ishchi guruhi 1993 yilning 9 oyi davomida har 6 haftada bir yig'ilish o'tkazdi. MPI standarti loyihasi 1993 yil noyabrda bo'lib o'tgan Supercomputing '93 konferentsiyasida taqdim etildi. [2] Bir muncha vaqt jamoatchilik tomonidan bildirilgan fikrlardan so'ng MPIda ba'zi o'zgarishlar yuz berdi, MPI ning 1.0 versiyasi 1994 yil iyun oyida chiqdi. Ushbu uchrashuvlar va elektron pochta orqali muhokama MPI forumini tashkil etdi, uning a'zoligi yuqori samarali hisoblash jamoasining barcha a'zolari uchun ochiq edi .
MPI sa'y-harakatlari asosan AQSh va Evropadagi 40 ta tashkilotdan 80 ga yaqin kishini jalb qildi. Bir vaqtning o'zida ishlaydigan kompyuterlarning asosiy sotuvchilarining ko'pchiligi MPI-ga jalb qilingan - bu universitetlar, davlat laboratoriyalari va sanoat tadqiqotchilari bilan bir qatorda .
MPI parallel apparat ishlab chiqaruvchilariga samarali bajarilishi mumkin bo'lgan aniq belgilangan bazaviy tartiblarni taqdim etadi. Natijada, apparat sotuvchilari o'zlarining parallel mashinalari bilan ta'minlangan taqsimlangan xotira aloqasi muhiti uchun yuqori darajadagi tartiblarni yaratish uchun ushbu standart past darajadagi tartiblarning to'plamiga asoslanishlari mumkin . MPI asosiy foydalanuvchi uchun oddiy portativ interfeysni taqdim etadi, ammo dasturchilarga zamonaviy mashinalarda mavjud bo'lgan yuqori samarali xabarlarni uzatish operatsiyalaridan foydalanishga imkon beradigan darajada kuchli.
MPI uchrashuvlarini qo'llab-quvvatlash qisman DARPA va AQSh Milliy Ilmiy Jamg'armasi tomonidan ASC-9310330 granti, NSF Fan va Texnologiya Markazi CCR-8809615 raqamli kooperativ shartnomasi va Evropa Hamjamiyati Komissiyasi tomonidan Esprit Project P6643 orqali amalga oshirildi. Tennessi universiteti ham MPI Forum moliyaviy hissa qo'shgan.
MPI parallel dasturlashda ma’lumotlar almashinuvini ta’minlab beruvchi nisbatan keng tarqalgan standart interfeys xisoblanadi. Bu interfeys ko’p miqdordagi kompyuter platformalarida tadbiq qilingan. Klasterlar va superkompyuterlar uchun dasturlar ishlab chiqishda qo’llaniladi. MPIda jarayonlar o’rtasidagi asosiy kommunikatsiya vositasi bir biriga xabar uzatish xisoblanadi.
MPI standartizatsiyasi MPI Forum orqali aniqlanadi. MPI standartida ham platforma, ham foydalanuvchi ilovalari orqali qo’llab-quvvatlanadigan xabarlarni uzatish interfeysi tavsiflanadi. Xozirgi kunda ko’plab miqdorda bepul va tijoriy tadbiq etilgan MPIlar mavjud. Fortran 77/90, Java, C va C++ dasturlash tillari uchun tadbiq etilgan turlari ham mavjud.
MPI birinchi navbatda taqsimlangan xotirali tizimlar uchun mo’ljallangan. OpenMP standarti esa umumiy xotirali (umumiy keshli ko’pyadroli) tizimlarda qo’llaniladi. Klasterda ko’pyadroli tizimlarni optimal darajada qo’llash uchun ikkala texnologiya ham birgalikda qo’llanilishi mumkin.
MPI standartlari
MPI ning dastlabki versisi 1993-1994 yillarda ishlab chiqilgan. MPI 1 esa 1994 yilda ishlab chiqilgan.
Ko’plab zamonaviy realizatsiyalar MPI ning 1.1 versiyasini qo’llab-quvvatlaydilar. MPI standartining 2.0 versiyasini ham zamonaviy realizatsiyalarda qo’llash mumkin, faqat ayrim funktsiyalari oxirigacha realizatsiya qilinmaydi.
MPI 1.1 da (1995 yil 12 iyunda e’lon qilingan, dastlabki tadbig’i 2002 yilda paydo bo’ldi) quyidagi funktsiyalarni amalga oshiradi:
Aloxida jarayonlar orasida xabarlarni uzatish va qabul qilish;
Jarayonlarni jamoaviy o’zaro xarakati;
Guruxlardagi jarayonlarning o’zaro xarakati;
Jarayonlar topologiyasining realizatsiyasi.
MPI 2.0 da (1997 yil 18 iyulda e’lon qilingan) quyidagi funktsiyalar qo’shimcha amalga oshirila boshlandi:
Jarayonlarning dinamik xosil bo’lishi va jarayonlarning boshqarilishi;
Bir tomonlama kommunikatsiyalar (Get/Put);
Parallel kiritish va chiqarish;
Kengaytirilgan jamoaviy operatsiyalar (jarayonlar jamoaviy operatsiyalarni nafaqat bitta kommunikatorda, balki bir nechta kommunikatorlar doirasida ham amalga oshirishi mumkin).
MPI 2.1 versiyasi 2008 yil sentyabr oyi boshida ishlab chiqildi.
MPI 2.2 versiyasi 2009 yil 4 sentyabrda ishlab chiqildi.
MPI 3.0 versiyasi 2012 yil 21 sentyabrda ishlab chiqildi.
Do'stlaringiz bilan baham: |