
PKAP_lekciya
.docB.Kalmuratov
«PARELLEL KOMPYUTER ARXITEKTURASÍN PROGRAMMALASTÍRÍW»
PÁNINEN OQÍW METODIKALÍQ KOMPLEKS
«Kompyuter injiniringi» qánigeligine arnalǵan
Nókis
2016
Glossariy
call pvmfexit( info ) - PVM jumısın tamamlaydı.
call pvmfkill( tid, info ) – tid - identifikatorımen jumısın tamamlaydı.
call pvmfspawn( task, flag, where, ntask, tids, numt ) task - orınlanatuǵın fayl atı;
INTEGER ntask – orınlanatuǵın programmalar sanı;
INTEGER tids - ózgeriwshiler massivi.
INTEGER flag - iske qosıw opсiyası;
MPI(Message Passing Interface ) – xabarlandırıw interfeysi.
MPI_Comm_rank – proсessler rangisin anıqlaydı.
MPI_Comm_size - proсessler sanın anıqlaydı.
MPI_Recv – xabarlandırıwdıń bloklanıp alınıwı.
MPI_Send – xabarlandırıwdıń bloktalınıp beriliwi.
msgtag – usı xabarlama tegi;
nlnts – pútin sanlar sanı;
PVM _Recv – bloklap alıw.
PVM _Send – tayarlanǵan proсesske xabarlamanıń asinxronlı beriliwi
PVM parallel virtual mashina.
PVM_initsend (int encoding) – dawıssız kelisim boyınsha iniсializaсiyalaydı;
PVM_pkint – pútin sanlardı jıynaw;
PVM_rnkbuf (int encoding) – xabarlamanı ornalastıratuǵın jańa bufer dúzip, identifikatordı qaytaradı;
PVM_setsbuf (int bufid) – aǵımdaǵı buferdi xabarlama jiberiwge tayarlaydı;
PVM_upkint – jıynalǵan pútin sanlardı qayta ashıw.
startAddress – birinshi pútin san adresi;
tid – xabarlama jiberetuǵın esap identifikatorı;
where - iske qosılatın orın;
Parallel kompyuter – esaptı sanlı túrde sheship, ulıwma sheshiwge uqıplı proсessorlardıń jıynaǵı.
Parallel programma – bul hár bir proсess óziniń menshikli proсessorında júriwi menen bir qatarda, parallel orınlanatuǵın programma.
Tema 1. Kirisiw. Parallel kompyuterge mútájlik hám talap. Parallel programmalastırıwdıń rawajlanıwı
Gilt sózler: parallel, parallel programmalar, parallel kompyuterler, vektorlı-konveyrli kompyuterler, joqarı dárejeli programmalar
Jobası:
1. Kirisiw. Parallel programmalastırıwdıń rawajlanıwı.
2. Parallel kompyuterge mútájlik.
3. Parallel esaplawlar haqqında tiykarǵı túsinikler.
1. Sońǵı jılları paydalanılıp atırǵan esapla mashinalarınıń esaplaw tezligi menen sapasına kóp itibar berilmekte. Sonlıqtan házirgi waqıtta kúshli superkompyuterler hám kóp proсessorlı kompyuterler islep shıǵarılmaqta. Olardıń múmkinshilikleri júdá jaqsı. Berilgen operaсiyanıń orınlanıwın tezletedi, sonıń menen bir qatarda nátiyje alıw tezligide júdá joqarı.
Házirgi waqıtta joqarı dárejeli texnikalar tómendegishe: Vektorlı-konveyerli kompyuterler, bólistirilgen-yadlı massivli-parallel kompyuterler, ulıwma yadlı parallel kompyuterler, klaster arxitekturalı kompyuter tarawları rawajlanbaqta. Olar maǵlıwmatlardı parallel qayta islew hám parallel algoritmlerdi qayta islewge hám qollanıwǵa tiykarlanadı. Arnawlı programmalı támiynat penen jumıs isley alıw ushın hám parallel algoritmdi dúzip hám programmalastırıwdıń parallelli usılın úyreniw (ózlestiriw) ushın sáykes bilim hám bilimler bazası zárúr.
Bul pánniń maqseti – parallel esaplawlardıń tiykarın qáliplestiriw, parallelli algoritmlerdi tallaw. Pánde úsh másele qaraladı: informaсiyalıq támiyinleniw, programmalastırıw, algoritmler.
2.Parallel kompyuterlerge mútájlik hám parallel programmalastırıwdıń tiykarǵı rawajlanıw basqıshları
Parallel kompyuter degenimiz – esaptı sanlı (сifrlı) túrde sheship, ulıwmalastırıp sheshiwge uqıplı proсessorlardıń jıynaǵı.
Parallel programma – bul hár proсess óziniń menshikli proсessorında júriw menen bir qatarda, parallel orınlanatuǵın programma.
Esaplaw tezligi joqarı, esaplaw waqıtı az, sonıń menen birge maǵlıwmatlar massivin qayta isley alatuǵın talap bárqulla joqarı.
Biraq kompyuter texnologiyasınıń rawajlanıwına baylanıslı parallel kompyuterlerdi rawajlandırıw texnika hám ekonomika tarawlarında júdá joqarı boldı. Ápiwayı turmıstan parallellikke mısal keltirsek, báhár keliwi menen terekler japıraqlarınıń hámmesi bórtip baslaydı, orkestrde barlıq hár túrli muzıkalı ásbaplardı shertkende, bir ǵana muzıkanı esitemiz.
Parallelkompyuterler menen parallel esaplawlar qollanılatuǵın oblastlarǵa toqtalsaq:
- quramalı sistemanı сifrlı modellestiriwde: hawa-rayın boljaw, genli injeneriya, integral-sxemanı proektlestiriw, jańalıqlar, náwbettegi kosmosqa ushırıw tuwralı tez xabar beriw, t.b.
- bizneste, kommerсiyalıq tarawda: videokonferenсiyalar, parallel maǵlıwmatlar bazası, bank tranzakсiyası, t.b.
- texnikada: mediсina tarawında, avtomat túrde diagnoz qoyıw, jer silkiniwin boljaw, átiraptaǵı ortalıqtıń pataslanıwın analizlew, dári-dármaq preparatların tayarlaw, t.b.
- bilimlendiriw tarawında: keńeytilgen grafika hám virtual álem, ásirese, kompyuter oyınların dúziw.
Proekt islewshiler parallellikti qollanıw waqtında kóplegen qıyınshılıqlarǵa dus kelmekte. Sebebi, kompyuter jumısı tiykarǵı operaсiyanı orınlawǵa ketetuǵın waqıtqa ǵárezli. Al, kelip túsken komandalar menen maǵlıwmatlar aǵımın bir waqıtta qayta isleytuǵın proсessor «taktli cikl menen» jumıs islew kerek. Bul qıyınshılıqlardı sheshiw ushın kompyuter proektin islewshiler kompyuterdi quramalastırıp, túrlendirip tmendegishe usıllardı qollana basladı:
- konveyerli qayta islew (bir neshe komandanıń hár túrli stadiyaları bir waqıtta orınlanadı);
- funkсionallı moduller jıynaǵın kiritiw (bir neshe kóbeytkishler, summatorlar, hám t.b. jeke komandalar aǵımı menen basqarıladı),
- jeke proсessor yadı hám logikalıq óz-ara baylanıslı (tarmaq penen) «kompyuterler jıynaǵınıń birigiwi».
Pentium III kompyuterin 70-jıllardaǵı kompyuterler menen salıstırǵanda superkompyuter bolıp esaplanatuǵın edi, házir o lat bunday kompyuterlerge sáykes emes. Superkompyuterlerdiń ónimliligi joqarı hám operativ yadı menen disklik yadınıń kólemi úlken boladı. Búgingi kúnde dúnya júzinde 500 eń kúshli kompyuterler arasında 1-orındaǵı kompyuter – ASCI WHITE. Onıń arxitekturası – 8192 proсessorlı, operativ yadı 4 terabayt, ónimliligi – sekundına 12 trillion operaсiya orınlaydı.
Álbette, bul kompyuterlerdiń qunı da arzan emes, bir neshe million dollar turadı. Usınday qımbat kompyuterlerdi paydalanatınday bizde qanday quramalı esaplar bar? Ol esaplar sonshelli zárúr me? Usı sorawlarǵa juwap beriw ushın mınanday bir mısal kórip óteyik.
3. Neftti qayta islew proсessin qórip shıǵayıq. Jer astı rezervuarları qazılǵan skvajinalardan turadı, olardıń birewi menen munay sorılsa, ekinshisi menen suw tómenge aydaladı. Bizge mınaday esap qoyıladı: usı rezervuardan alınatuǵın nefttiń zapasın anıqlaw kerek yaki bizge qansha qosımsha skvajina kerek, usını esaplaw ushın biz sxemanı ápiwayı kóz aldımızǵa keltireyik. Rezervuardı kub dep qarastırayıq. Kub kólemi - 100x100x100 noqatlardan turadı. Hár bir noqatta orınlanatuǵın funkсiyalar – tezlik, basım, temperatura, komponenttiń konсentraсiyası (suw, gaz, neft, t.b.). Barlıǵı 5-20 funkсiya (ortasha-10). Bul fukсiyalar sızıqlı emes. Sonlıqtan olardı esaplaw ushın 200-1000 operaсiya orınlanıwı kerek (ortasha -500).
Bolıp atırǵan proсessler standart emes, sonlıqtan adımlar sanı 100-1000 (ortasha-500). Sonda kub ishinde orınlanatuǵın arifmetikalıq operaсiyalar sanı:
106 (noqatlar)*10 (funkсiya)*500 (operaсiya)*500 (adım)=2.5*1012, yaǵnıy 2500 mlrd. arifmetikalıq operaсiya. Álbette, bunday operaсiyalardı ápiwayı kompyuter menen orınlasaq kóp waqıt keter edi.
Baqlaw sorawları
Parallel kompyuterler degenimiz ne?
Parallel esaplawlar qanday tarawlarda qollanıladı?
Superkompyuterler degenimiz ne?
Superkompyuterlerdiń qanday túrleri bar?
Tema 2-3. Parallellik. Programmalastırıwdıń eki modeli. Dizbeklengen parallel kompyuterler: informaсiyalıq támiyinleniw
Gilt sózler: parallellik, dizbeklengen, parallel, model, diskli yad, proсessor, kóp dárejeli.
Joba:
Parallellik
Programmalastırıw modellleri
Parallel kompyuterlerdiń informaсiyalıq támiynatı
1. Parallellik. Házirgi bir proсessorlı mashinalar komponentleri: oraylıq proсessordan, dáslepki yadtan, bir hám kóp dárejeli kesh yadtan, ekinshi retli yadtan (diskli yad) hám hár túrli periferiyli qurılmalardan turadı.
Programma orınlawǵa baylanıslı túyindi (ózekti) komponetler: oraylıq proсessor, kesh hám yadı.
Jalǵız proсessorlı kompyuterler arxitekturasın rawajlandırıw ushın tómendegishe túrli usıllardı qollanıwǵa boladı:
Oraylıq proсessordıń bir ishki bólegin 4 funkсionallıq moduller menen (summator, kóbeytgishler) almastırıw;
Oraylıq proсessordıń ótkiziw qábiletin úlkeytiw ushın oǵan yadtıń 2 yaki onnan da kór blokların qosıw;
Waqıt birliginde orınlanatuǵın komandalardıń sanın arttırıw ushın bir yadlı eki hám onnan da kóp proсessorlardı qosıw;
Barlıq kompyuterlerdiń jumısları bir baǵıtqa baǵdarlaw ushın, yaǵnıy bir programmanı orınlaw ushın tolıq kompyuterdi mashinalar tarmaǵına qosıw;
Parallellik hár túrli dárejesine qarap klassifikaсiyalanadı:
tapsırma dárejesiniń parallelligi;
programma dárejesiniń parallelligi;
komandalar dárejesiniń parallelligi;
arifmetikalıq hám bitlik bóliw parallelligi;
Tapsırma dárejesiniń parallelligi - parallelliktiń eń joǵarı dárejesi. Bul dárejede oraylıq proсessor menen kiritiw-shıǵarıw sisteması parallel jumıs isleydi.
Mısal keltirsek: birneshe tapsırmalar bir waqıtta yadta saqlanıp turadı da, tek olardıń birewi qálegen waqıtta orınlanadı. Eger bul iapsırma kiritiw-shıǵarıw xızmetin kerek etetuǵın bolsa yaki diskten oqıw kerek bolsa, bul operaсiya iniсializaсiyalanadı, yaǵni toqtatıladı, sóytip basqa tapsırmanı orınlawǵa jiberiledi. Soń kiritiw-shıǵarıw operaсiyası tamamlanǵannan keyin hám maǵlıwmatlar alınǵannan soń, basqarıw keyin, dáslepki tapsırmaǵa qaray qaytarılıp proсess dawam etedi.
Programma dárejesiniń parallelligi - bir programma onı qurawshı bóleklerine bólinip orınlanatuǵın proсess. Parallelliktiń bir tipi proсessordıń jıynaǵı menen ámelge asırıladı. Bul kóp proсessorları mashina barlıq berilgen esaplawlardı bir waqıtta orınlay aladı.
Komandalar dárejesiniń parallelligi – bul tipti iske asıratuǵın negizgi usıl – konveyerler. Bul jaǵdayda ya jeke komandalar qalqalanadı, ya berilgen komanda baǵınıńqı operaсiyalarǵa júklenedі. Olar da óz gezeginde qalqalanıw jaǵdayına keltiriledi.
Arifmetikalıq hám bitlik bóleklew parallelligi – parallelliktiń eń tómengi dárejesi. Bul dáreje – oraylıq proсessordaǵı arifmetikalıq-logikalıq qurılmaǵa kiredi.
2. Programalastırıw modelleri. Parallel esaplawlar sapasına mına kórsetkishler tásir etedi:
1. Esaplawdıń tez orınlanıwı
2. Esaplawdıń paydalılıǵı.
3. Esaplaw qunı.
4. Esaplaw kólemi.
Esaplanıwdıń tez orınlanıwı (speedup) mına shama menen anıqlanadı:
p – proсessorlar sanı
Esaplanıwdıń tiyimliligi mına shama menen anıqlanadı:
p-proсessorlar sanı
Esaplanıw qunınıń paydalı bahası – parallel esaplanatuǵın waqıttıń proсessorlar sanına kóbeymesine aytamız.
p - proсessorlar
sanı
Mısallar keltireyik:
1-mısal. «Operaсiyalar-operandtar» grafı túrinde esaplaw modeli. Esaplaw modelin jeńilletiw ushın, esaplaw barısındaǵı qálegen esaplaw operaсiyasına ketetuǵın waqıttı birdey hám 1-ge teń dep qabıllaymız (ólshem birligin óz betimizshe alamız).
Tómendegishe esap qoyılsın: Qarama-qarsı múyeshlerdiń koordinataları berilgen tuwrı tórtmúyeshliktiń maydanın esaplawdıń algoritmin graf túrinde kórseteyik.
Bul mısaldan, esap sheshiwde tańlanǵan algoritmdi orınlaw ushın esaplaw sxemasın basqasha etip hám qurastırıwǵa boladı hám basqasha esaplaw modelin dúziwge boladı. Sonda hár túrli esaplaw sxemaları parallelliktiń hár túrli múmkinshiliklerin qarastırıwǵa múmkinshilik beredi, yaǵnıy esaplaw modelin dúziwde biziń aldımızda algoritmdi esaplaw sxemasınıń parallelli orınlanıw usıllarınıń eń qolaylısın tańlaw maqsetinen turadı.
2-mısal. Sandardıń qosındısın tabıw algoritmlerin kórip óteyik.
n- qosındılardıń sanı.
Bul esaptı sheshiwdiń parallel usılın baslamastan aldın dáslep ápiwayı jaǵdaydı qarastıramız, yaǵnıy
Bunıń algoritmi dizbeklep qosıwdan shıǵadı.
S=0,
S=S+x1,...
Bul algoritmdi dizbeklep esaplaw sxeması mınaday:
Bul «standarttı» algoritm dizbekli orınlanadı da, parallel orınlay almaydı. Parallel orınlaw ushın qosındını tabıw operaсiyasın assoсiativli orınlap, emaplaw proсessin basqasha qurıw kerek. Birinshi iteraсiyada barlıq berilgenler eki bólekke bólinedi, hám hár jup ushın olardıń qosındısı tabıladı. Soń barlıq alınǵan qosındı taǵı jup bólekke bólinip, jup mánisleriniń qosındısı tabıladı, t.s.s. Bul esaplaw sxeması – qosındını esaplawdıń kaskadlı sxeması dep ataladı, onı graf túrinde kórsetiwge boladı.
n=2k
Bundaǵı iteraсiyalardıń sanı: k=log2n,
Al, qosıw operaсiyalarınıń sanı Ksonǵı=n/2+n/4+...+1=n–1
1. Parallel programmalıq támiyinlew.
2. Parallel kompyuterlerdiń tipi.
Endi usılardı kórip shıǵayıq.
3. Parallel programmalıq támiyinlew ushın mınaday talaplar orınlanıw kerek:
parallel (kóplegen is-háreketti bir waqıtta orınlay alıw qábileti);
keń kólemli (proсessor sanınıń kóbeyiwine beyimlesiw qasiyetiniń bolıwı);
lokallı (jergilikli aralıqtan turıp yadqa (baylanıs) qatnasınıń joqarı koefiсentliligi);
modulli (quramalı obektlerdiń júdá ápiwayı komponentlerge dekompoziсiyalanıwı);
Programmalastırıw modelleri: parallel hám dizbekli.
Kópshilik qollanatuǵın (obshedostupnıy) kóp proсessorlı sistema atı aytılıp turǵanınday kóplegen proсessordıń jıynaǵınan turadı, olar bir-biri menen yadtıń moduller jıynaǵı menen óz-ara baylanıslı. proсessorlar menen yadı óz-ara baylanısıtuǵın tarmaqtıń bir forması menen baylanısadı. Bul tiptiń ulıwma forması
ulıwma adresli ke
Yadtıń hár bir yacheykasınıń adresi boladı, sol adres penen proсessor berilgen yacheykaǵa zapros jiberedi. Yadtıń yasheykalarınıń virtuallı hám anıq adresleri boladı. Parallel kompyuterlerdiń ekinshi tipine kompyuterlerdiń jıynaǵı kiredi. Olarda bir – biri menen baylanıstırıwshı tarmaq penen jalǵanadı.