Параллельді программалау


Жұмыс түрі: Дипломдық жұмыс
Тегін: Антиплагиат
Көлемі: 90 бет
Таңдаулыға:
КІРІСПЕ
Жұмыстың жалпы сипаттамасы. Бұл жұмыс параллельді есептеу жүйелерін зерттеуге, дамуын талдауға бағытталған, параллельді бағдарламалау саласында есептерді шешуге арналған тікелей есептеуішті қолдану мүмкіндігін алатын параллельді есептеу жүйелері үшін параллеизм, параллелизм деректерін, параллельді бағдарламалаудың негізгі технологиясы үшін кейбір математикалық есептердің күрделігінің сипаттамаларын қарастыруға арналған.
Жұмыстың өзектілігі. Бұл қазіргі заманауи параллельді компьюютерлердің түрлерін және параллельді бағдарламалау тілдерін зерттеу және қарастыру, сонымен қатар жалпыға бірдей тәжірибелік қолдану үшін программалар кешенін қалыптау. Оны жүзеге асыру төмендегілерден тұрады:
- қазіргі параллельді есептеуіш жүйелерді, параллельді бағдарламалау тілдерін, параллельді бағдарлмаларды, параллельді есептеуіш жүйелердің қазіргі даму күйін анықтаудан, сонымен бірге параллель есептеуіш жүйелерді анықтау;
- әмбебап және арнайы ЭЕМ классификаицяларының құрылымын зерттеу;
- адамның ЭЕМ- мен әрекетенің бағдарламалық С++ тілінде OpenMP -нің мүмкіндіктерін параллельді есептеуде, эксперименталды зерттеу және зерттеу нәтижелерін тәжірибеге енгізу.
Зерттеудің нысаны: OpenMP-ні параллелизм ұйымдастыруда қолдану тәсілдерін зерттеу.
Зерттеудің пәні: Параллельді есептеуіш пәніне негізделіп, параллельді қолданудың әдіс тәсілдерін қарастыру.
Зерттеу әдістері. Диссертацияда параллелизмнің қолдану аймағымен оның негізгі ерекшеліктерін қарастыру.
Ғылыми жаңалығы. OpenMP параллелизм ұйымдастыруда қолданудың жаңа жақтырын қарастыра отырып, параллелизм ұйымдастыруда дифференциалдық теңдеулерді шешу, оның нәтижесін алу.
Тәжірибелілік құндылығы. Параллельді есептеуіш жүйелер - ол физикалық компьютерлер, және де көптеген есептеуіш түйіндерде әртүрлі әдістермен мәліметтерді параллельді өңдеуді жүзеге асыратын бағдарламалық жүйелер. Есептерді қайта параллельдеу көптеген есептердің бір уақытта шешілуі мүмкін кіші есептердің жиынтығына негізделеді.
Зерттеу жұмысының жариялылығы. Диссертация жұмысының нәтижелері ІІІ халықаралық ғылыми-тәжірибелік «Жас ғалым-2009» (ғылыми оқулар) конференциясының материалдарында, М. Х. Дулати атындағы ТарМУ магистрант, аспирант, докторанттардың 4 республикалық ғылыми-тәжірибелік конференциясының материалдарында жарияланды.
Диссертация құрылымы мен көлемі . Диссертация кіріспеден, 3 тараудан, қорытынды, қолданылған әдебиеттер тізімінен, 2 қосымшадан, 29 суреттен және 6 кестеден тұрады.
КІРІСПЕ
Жұмыстың жалпы сипаттамасы. Бұл жұмыс параллельді есептеу жүйелерін зерттеуге, дамуын талдауға бағытталған, параллельді бағдарламалау саласында есептерді шешуге арналған тікелей есептеуішті қолдану мүмкіндігін алатын параллельді есептеу жүйелері үшін параллеизм, параллелизм деректерін, параллельді бағдарламалаудың негізгі технологиясы үшін кейбір математикалық есептердің күрделігінің сипаттамаларын қарастыруға арналған.
Жұмыстың өзектілігі. Бұл қазіргі заманауи параллельді компьюютерлердің түрлерін және параллельді бағдарламалау тілдерін зерттеу және қарастыру, сонымен қатар жалпыға бірдей тәжірибелік қолдану үшін программалар кешенін қалыптау. Оны жүзеге асыру төмендегілерден тұрады:
- қазіргі параллельді есептеуіш жүйелерді, параллельді бағдарламалау тілдерін, параллельді бағдарлмаларды, параллельді есептеуіш жүйелердің қазіргі даму күйін анықтаудан, сонымен бірге параллель есептеуіш жүйелерді анықтау;
- әмбебап және арнайы ЭЕМ классификаицяларының құрылымын зерттеу;
- адамның ЭЕМ- мен әрекетенің бағдарламалық С++ тілінде OpenMP -нің мүмкіндіктерін параллельді есептеуде, эксперименталды зерттеу және зерттеу нәтижелерін тәжірибеге енгізу.
Зерттеудің нысаны: OpenMP-ні параллелизм ұйымдастыруда қолдану тәсілдерін зерттеу.
Зерттеудің пәні: Параллельді есептеуіш пәніне негізделіп, параллельді қолданудың әдіс тәсілдерін қарастыру.
Зерттеу әдістері. Диссертацияда параллелизмнің қолдану аймағымен оның негізгі ерекшеліктерін қарастыру.
Ғылыми жаңалығы. OpenMP параллелизм ұйымдастыруда қолданудың жаңа жақтырын қарастыра отырып, параллелизм ұйымдастыруда дифференциалдық теңдеулерді шешу, оның нәтижесін алу.
Тәжірибелілік құндылығы. Параллельді есептеуіш жүйелер - ол физикалық компьютерлер, және де көптеген есептеуіш түйіндерде әртүрлі әдістермен мәліметтерді параллельді өңдеуді жүзеге асыратын бағдарламалық жүйелер. Есептерді қайта параллельдеу көптеген есептердің бір уақытта шешілуі мүмкін кіші есептердің жиынтығына негізделеді.
Зерттеу жұмысының жариялылығы. Диссертация жұмысының нәтижелері ІІІ халықаралық ғылыми-тәжірибелік «Жас ғалым-2009» (ғылыми оқулар) конференциясының материалдарында, М. Х. Дулати атындағы ТарМУ магистрант, аспирант, докторанттардың 4 республикалық ғылыми-тәжірибелік конференциясының материалдарында жарияланды.
Диссертация құрылымы мен көлемі . Диссертация кіріспеден, 3 тараудан, қорытынды, қолданылған әдебиеттер тізімінен, 2 қосымшадан, 29 суреттен және 6 кестеден тұрады.
1 ПАРАЛЛЕЛЬДІ ЕСЕПТЕУ, ПАРАЛЛЕЛЬДІ КОМПЬЮТЕР
ЖӘНЕ АППАРАТТЫҚ ҚАМТАМАСЫЗДАНДЫРУ
- Параллелизм, параллелизм деректері, параллелизм есебі және
параллелизмді қолдану
Параллельді есептеуіш жүйелер - ол физикалық компьютерлер, және де көптеген есептеуіш түйіндерде әртүрлі әдістермен мәліметтерді параллельді өңдеуді жүзеге асыратын бағдарламалық жүйелер. Есептерді қайта параллельдеу ойы көптеген есептердің бір уақытта шешілуі мүмкін кіші есептердің жиынтығына негізделеді. Әдетте параллельді есептеулер әрекеттердің координациясын талап етеді. Параллельді есептеулер бірнеше формаларда бар: биттер деңгейіндегі параллелизм, нұсқаулықтар негізіндегі параллелизм, мәліметтердің параллелизмі, есептердің параллелизмі. Параллельді есептеулер көп жылдар бойы жоғары өнімді есептерде қолданылды, бірақ соңғы кездерде оларға процессорлардың тактілік жиілігінің көбеюіне физикалық шектеулердің бар болуынан сұраныс көбейді. Параллельді есептеулер компьютерлер сәулеті негізінде көпядролы процессорлар формасында доминирлеуші парадигма болды.
Бірнеше әрекеттің бір мезгілде орындалуы үшін жүргізілетін мәліметтерді параллель өңдеудің екі түрі бар: конвейерлік және параллелизмдік.
Параллельді өңдеу. Егер бір құрылым бір уақыт бірлігінде бір операция орындаса, онда мың операцияны мың бірлікте орындайды. Егер осындай бір мезгілде жұмыс жүргізетін бір-біріне тәуелсіз бес құрылым болса, онда жүйе мың операцияны мың уақыт бірлігінде емес, екі жүз уақыт бірлігінде орындайды. Осыған ұқсас Ν құрылымды жүйе осындай жұмысты шамамен 1000/ Ν уақыт бірлігінде орындайды,
Конвейерлік өңдеу. Құбылмалы үтір формасында берілген екі заттық сандарды қосу үшін не қажет? Көптеген операциялар жиынтығы қажет. Алғашқы компьютерлердің процессорлары мұндай майда операцияларды соңына жеткенше бірінен соң бірін орындайды, содан соң ғана келесі қосылғыштарды орындауға көшетін.
Конвейерлік өңдеудің мәні жалпы операцияларды орындаудың жекелеген кезеңдерін бөлу, әрбір кезең өзіне жүктелген жұмысты орындап болып, нәтижесін келесі кезеңге береді де, өзі жаңа мәліметтерді қабылдайды. Мұндай операцияларды біріктіру арқылы өңдеу жылдамдығын арттырамыз. Мысалы, операцияда бес шағын операцияларды бөлсек, олардың әрқайсысын орындауға уақыт бірлігі кетеді. Егер бөлінбейтін тізбекті құрылым болса, онда 100 жұп аргументтерді ол 500 бірлікте орындайды. Егер әрбір шағын операцияны конвейерлік құрылымның жеке кезеңдеріне бөлсек, онда уақыттың бесінші бірлігінде алғашқы 5 жұп аргумент болады, әрбір келесі аргумент-алдыңғыдан бір бірліктен соң келіп тұрады, яғни тізбекті құрылыммен салыстырғанда жылдамдық бес есе жоғары болады.
Жалпы жағдайда да осыған ұқсас болады. Егер конвейерлік құрылымда басқышы l болса, онда әрбір басқыш бәр уақыт бірлігінде жұмысқа қосылады, онда өңдеу уақыты n тәуелсіз операцияларын өңдеу уақыты
,
құрады. Егер құрылымды тізбекті режимде пайдаланса, өңдеу уақыты
құрайды. Нәтижесінде конвейерлік өңдеуді пайдалану есебінен жылдамдық 1 есе жоғары болады.
Конвейерлік өңдеуді қарапайым параллель өңдеумен ауыстыруға болар еді. Алайда алынатын жүйе құны мен күрделіліг конвейрелік нұсқасының құны мен күрделігімен салыстыруға келмейді, ал өнімділігі бірдей деңгейде.
Параллелизм бағдарламаны жазу үшін онда бір мезгілде есептелетін операциялар тобын анықтау қажет және қандай процессормен, қандай құрылыммен, конвейердің қандай басқасында орындалғанына байланыссыз екендігін анықтау керек.
Бұл мүмкіндік бағдарламада нақты ақпараттық тәуелділік бар не жоқтығымен анықталады. Бағдарламаның екі операциясы бір операцияны орындау үшін аргумент ретінде екіншісі қолданылса, ақпараттық тәуелділік деп аталады. Егер операция В А операциясына ақпараттық тәуелділік болса, онда В операциясы А операциясы орындалған соң ғана орындалады. Бір жағынан, егер А және В операциялары ақпараттық тәуелді болса, онда алгоритм олардың орындалу тәртібіне ешқандай шектеу қоя алмайды. Сонымен, бағдарламаны параллель жүргізу одан тәуелсіз операциялардың санын жеткілікті түрде табуға әкеледі, оларды есептеу құрылымдары арасында тарату, синхрондылықты қамтамасыз ету болып табылады.
Ақпараттық тәуелсіздік ұғымын ендіру қарапайым түрде болады, ал ақпараттық тәуелсіздіктің барлық жиынтығыны зерттеу нақты бағдарламада күрделі міндет болып табылады. Бірнеше мыңдаған операторлардан тұратын бағдарламаныны елестету жеткілікті және әрбір циклі көптеген операциялардан тұрады десек, туындайтын мәселелер күрделене түседі. Міндеттер мен талдауды оңайлату үшін ақпараттық тәуелсіздік графасы ұғымын енгізу қажет.
Мұндай графалардағы ең биік тұғыр бағдарламаның кейбір операциялары танылады, егер екі операция арасында ақпараттық тәуелділік болса, бұл операцияларға сәйкес келетін биіктер доғамен байланыстырылады, оның бастапқысы ретінде ақпарат-жеткізуші биіктік, соңы ретінде-ақпарат-тұтынушы биіктік танылады. Графты зерттеуді оңайлату үшін доға саны аз тұғырлық граф айқындалады, егер графтың екі биіктігі жолмен байланысса оны тәуелділіктің ең аз графы деп атайды. Ең аз граф тәуелсіздігінің көмегімен шешілуі тиіс барлық тапсырмалар шешімін табады. Егер биіктіктерге бағдарлама операторларының жеке қосылулары сәйкес келсе, мұндай граф бағдарламаны орындаудың ақпараттық тарихы деп аталады. Ақпараттық тарих талдау жасалатын бағдарламаның ақпараттық тәуелділігі құрылымы туралы толық мәлімет береді, сондықтан бағдарламаға талдау жасауда параллельдеу мақсатымен ақпараттық тарих қолданылады. Алайда талдау жасаудың күрделілігі мынада, қарапайым жағдайда алынатын графты қолмен құруға және талдауға болатын болса, ал үлкен нақты бағдарламаларда бағдарламалық құралдар қажет.
Бағдарламаны орындаудың негізгі құрауыштары орталық процессор, кэш және жады болып табылады. Біртекті процессордың архитектурасын жақсартудың түрлі әдістері бар:
- Жинақтаушының төрт модулін қолдану, орталық процессордың ішкі бөлімінің біреуінің орнына қосушы;
- Өткізу жолағын үлкейту үшін екі немесе одан да көп жады блоктарын орталық процессорге қосу;
- Бір мезгілде орындалатын командалар санын көбейту үшін екі немесе
бірнеше процессорларды қосу;
- Барлық компьютерлердің жұмысы бірге бір бағдарламаны шешуге
бағытталуы үшін толық компьютерді қосу.
Параллелизм түрлі деңгейлерге жіктелуі мүмкін:
- тапсырма деңгейінің параллелизмі;
- бағдарлама деңгейінің параллелизмі;
- команда деңгейінің параллелизмі;
- арифметикалық - теңестіру параллелизмі.
Тапсырма деңгейінің параллелизмі - параллелизмдіктің ең жоғарғы деңгейі. Мысалы, зертханалық немесе компьютерлік орталықта берілген уақыт кезеңінің тапсырмаларын орындайды. Бұл үлкен компьютерлік жүйелерді сатып алумен қол жеткізетін нәрсе, сондықтан көптеген тапсырмаларды орындау үшін қолданушының кез келген тапсырмасы басқаларға қарағанда жылдамырақ орындалады.
Тапсырма деңгейінің параллелизмділігі бір компьютер деңгейінде де қолданылады. Орталық процессордың және енгізу-шығару жүйесі арқылы параллельді жұмыс атқарады.
Параллелизмдіктің берілген түрінің үлгісі - бірнеше тапсырмалар тұрақты жадында бір уақытта сақталады, тек біреуі кез келген уақытта орындалады. Егер бұл тапсырма енгізу-шығару типіндегі қызметті керек етсе, онда операция басталып, тапсырма тоқтатылып, ал басқа тапсырма орындалу жағдайына орналастырылады. Келесіде енгізу-шығару операциясы аяқталып, берілген деректерге қол жеткізген соң басқару бастапқы тапсырмаға кері барып, орындау жалғасады.
Бағдарлама деңгейінің параллелизмі - бағдарлама деңгейінің параллелизмділігі бір бағдарламаның құрамы бөліктерге бөлінген кезде жүзеге асады. Мысалы, С=АхВ матрицасының қорытындысы матрицаларды квадраттарға бөлу жолы арқылы есептелуі мүмкін:
Бағдарлама деңгейінің параллелизмділігі екі жолмен анықталады:
- берілген бағдарламаны дербес бөліктерге бөлумен;
- итерациялар арасындағы ешқандай тәуелді емес кезде циклдің жеке дара итерацияларын пайдалану;
Параллелизмдіктің бұл типі көптеген процессорлармен немесе көптеген функциялық модульдермен қолданылуы мүмкін.
Бағдарлама деңгейіндегі параллелизмдіктің қарапайым мысалы, қосындыларды анықтау. Төменде екі массивтің элементтерінің қосындысын анықтау коды берілген:
For (i=0; i<N; i++)
A[j] = B[i] +C[i] ;
Қосындылар дербес, яғни B[i] +C[i] есептеуі кез келген j<I үшін B[j] +C[j] дербес. Олар кез келген тәртіппен анықталуы мүмкін екенін білдіреді және әсіресе көппроцессорлы машиналарды есептеген кезде барлық деректерін бір мезгілде орындауы мүмкін.
Команда деңгейінің параллелизмі - команда деңгейінің параллелизмділігі архитектураның төменгі деңгейі және компьютерді ұйымдастыру шеңберіне жатады. Бұл параллелизмдіктің типін іске асырудың ең жалпылай әдісі - конвейерлер.
Бұл жағдайда жеке командалар жабылып, берілген команда бірнеше операцияларға бөлінуі мүмкін, олар өз кезегінде жабылады. Бірінші жағдайда, мысалы, орталық процессордың ішкі жадындағы мағынасын көшіретін қондыру командасын табады. Екінші жағдайда, арифметикалық өңдеудің тірегі болған барлық жерде жүретін конвейерлер арқылы көрсетілуі мүмкін.
Ең маңыздысы, компиляторлардың сапасы жүйеден жүйеге өткенде жылдам өзгереді және мүмкін компилятор құралдарын жоғары деңгейде қолдануы үшін кодын түрлі әдістермен құрастыру керек болады. Мысалы, Cray фирмасының супер ЭЕМ өте сапалы, олардың векторларының ұзындығы - 64 бит немесе одан аз және жұмысты жақсартатын үйлестіру бағдарламалары сапалы.
Арифметикалық- биттік- теңестіруші параллелизм - параллелизмдіктің ең төменгі деңгейі. Параллелизмдіктің бұл деңгейі орталық процессордағы арифметикалық-логикалық қондырғыларға жатады. Мысалы, 64 биттің қосындысы екі әдіспен анықталуы мүмкін:
- барлық 64 битті бір мезгілде қосу.
- операцияны 4 биттен бөліктерге бөлуге және 16 циклден толық қосындыны есептеуге болады.
Параллельді бағдарламалауды қамтамасыз ететін талаптар қалыптасқан:
- параллелизмдік - көптеген іс-әрекетті бір мезгілде орындау қабілеті;
- масштабтық (әмбебап) - процессорлардың көбею санына икемділік
қабілеті;
- жергілікті - локальдық жадының жойылған жадыға қатынасының
жоғары коэффициентін көрсетеді;
- модульдік - күрделі нысандардың қарапайым құрауыштарға бөлінуі.
Тізбектік модель.
- командаларды тізбектеуді орындауға қабілетті процессор.
- команда оқылатын немесе жадыға жазылатын берілген өлшемнің адресін, немесе келесі орындалатын команданың адресін анықтай алады.
Қазіргі таңда компьютерді осы негізгі модельдің терминдерімен машина тілімен бағдарламалауға болады. Берілген әдістің кемшілігі: біз жадының миллиондаған ұяшықтарын қарауға және машинаның мыңдаған командаларын орындауды ұйымдастыруға болады. Бағдарламалауды қарапайым құрал етудің бір әдісі - ол модульды бағдарламалаудың процедура, циклдеу үлгісін басым пайдалану қажет.
Параллельді модель. Есептеу үрдісі каналдармен(бағыттар) байланысқан тапсырмалар жинағын шешуден тұрады.
Тапсырма бағдарламаны және локальды жадыны инкапсулдайды және қоршаған ортамен өзара әрекеттестікті анықтайтын порттардың жинағын анықтайды.
Канал - жіберуші хабарлама орналастыратын хабарламалар реті және алушы хабарламаны жоя алады, егер хабарламалар қол жетерлік болмаса, онда канал оны алуға қарсылық жасайды.
Параллельді модельдеуді қарастырған кезде кейбір абстракциялауды қабылдау қажет. Параллельді бағдарламалауды қамтамасыз етуде мықты талаптарды қолдану келесі абстракцияларды қабылдауды жүктейді:
- Параллельді есептеу бір немесе бірнеше есептерді шешуден тұрады. Тапсырмалар бір мезгілде орындалады. Тапсырмалар саны бағдарламаны орындау кезінде өзгеруі мүмкін;
- Тапсырма тізбектік бағдарламаны және жергілікті жадыны жіктейді. (Шындығында, бұл Фон Нейманның виртуалды машинасы) . Сонымен қатар, ішкі порттар (Outport) мен алыс порттардың (import) жиынтығы оның қоршаған ортамен өзара әрекетін анықтайды;
- Жергілікті жады оқуға және жазуға қосымша ретінде төрт негізгі әрекет орындай алады: алыс орналасқан портқа хабарлама жіберу, ішкі портқа хабарлама қабылдау, сондай-ақ жаңа тапсырмалар құру және оларды орындау;
- Хабарлама беру операциясы үйлесімсіз болып табылады, яғни бұл операция тез арада аяқталады. Қабылдау операциясы үйлесімді, яғни ол хабарлама жетпеген кезде тапсырмаларды қол жеткісіз етеді;
- Outport/import жұптары хабарлама ретімен байланысып, каналдар деп аталады. Каналдар құрылуы, жойылуы мүмкін және сондай-ақ каналдарға сілтемелер хабарламаларға қосылуы мүмкін, яғни байланыс қызметі өзгеріп отырады;
- Тапсырмалар физикалық процессорларға түрлі әдістермен көрініс беруі мүмкін, қолданылған көрініс бағдарламаның семантикасына әсер етпейді. Көптеген тапсырмалар бірпроцессорлы компьютерге де қабылданады.
Бағдарламалаудың түрлі параллелизмдік моделдері қалыптасқан, олар тапсырмалардың өзара әрекеті механизмі, тапсырмаларды бөлшектеу сатылары, орналасуы, әмбебаптығы және модульдығы арқылы айқындалады:
- Хабарлама жіберу;
- Деректердің параллелизмділігі;
- Жалпыға жетерлік жады.
Хабарлама жіберу бағдарламалары әрқайсысында жергілікті деректері бар көптеген тапсырмаларды құрайды. Әр тапсырма басқа тапсырмалармен өзара әрекеттесіп, аталған тапсырмалардан хабарлама алып және жіберіп отырады.
Деректер параллелизмділігі бөлінген есептеулерде қолданады, олар бір қосымшадан және бір операцияның деректер құрылымының көптеген элементтерінен шығады. Әр деректер элементінің әр операциясы туралы дербес тапсырма ретінде ойлау керек.
Жалпыға жететіндей жадыда модель мен тапсырмалар бағдарламалауда жалпы адрестік кеңістікті бірге қолданады, олар оны оқиды және үйлесімсіз жазады. Ол кезде жалпыға жететіндей жадыға қол жеткізуді басқару үшін түрлі механизмдер қолданады.
1. 2 Параллельді есептеуіш жүйелердің классификациясы
М. Флинн есептеуіш жүйесінің классификациясы
Есептеу жүйесінің сәулетінің классификациясын бірнеше топтарға бөлуге болады, әрбір сәулеттің өзіндік сипаттамасы бар, параллельді есептеу жүйесінің құрылымы 60 жылдары М. Флинн алғашқы классификацияны анықтаған болатын. Флиннің компьютерлік жүйесі бойынша классификация саны командалар ағынымен және деректер ағынымен анықталады (Сурет 1. 1)
- SISD (single instruction stream/single data stream) - командалардың жеке ағыны және жеке деректер ағыны;
- SIMD (single instruction stream/multiple data stream) - командалардың жеке ағыны және көптік деректердің ағыны;
- MISD (multiple instruction stream/single data stream) - командалардың көптік ағыны және жеке деректердің ағыны;
- MIMD(multiple instruction stream/multiple data stream) - командалардың көптік ағыны және көптік деректерді ағыны.
Сурет 1. 1. Флинн классификациясы
SISD (single instruction stream/single data stream) - командалардың жеке ағыны және жеке деректер ағыны. Бұл класқа классикалық жүйелі машиналары жатады немесе басқаша айтқанда фон-неймандық машинасының үлгісіне сәйкес келеді, мысалы, PDP-11 немесе VAX - 11780. Сондай-ақ командалар тек қана бір ағынды машиналарда болады, барлық команданың бірінен соң бірі жүйелі өңделеді және деректерді ағынының ретімен операцияны әрбір команда орындайды. Мысалы, командаладың жеке ағынымен және жеке деректер ағыннан тұратын машиналар мыналар:
- CDC 6600 көп функционалды модульдерден тұрады;
- CDC конвейерлік арифметикалық модульден тұрады;
- Cray-1 векторлық өңдейді қанағаттандырады.
SISD (single instruction stream/single data stream) - командалардың жеке ағыны және жеке деректер ағынының құрлымы төмендегідей бейнеленген (Сурет 1. 2) .
Сурет 1. 2. SISD құрылымы
SIMD (single instruction stream/multiple data stream) - командалардың жеке ағыны және көптік деректердің ағыны - бұл моедльде бір ғана командалар ағыны бар, процессор командалар тізбегінің соңынан және көптік деректер ағынының, әртүрлі деректер элементімен, әрбір процессор арасында таратылады. SIMD компьютері жадтарға таратуды қарастырады. Жалпы құрылымы төменде көрсетілген (Сурет 1. 3) .
Сурет 1. 3. SIMD құрылымы
Бұл берілген құрылымда барлығы қарапaйым элементарлық процессорлардың бір уақытта командалармен және «қадаммен» синхронмен бірге орындалады. Әрбір компьютер өзінің жадындағы деректермен және деректер ағындарындағы ретімен жұмыс жасайды. Әрбір компьютер өзінің командаларын аяқтап болған соң келесі команданы орындауға ауысып көшеді. Команданың орындалуы синхронды болып табылады. SIMD компьютерінің моделіне мысал келтіретін болсақ, ол мынадай:
- ILLIAC - IV;
- BSP;
- MMP;
- Connection Machine.
SIMD компьютері көбінесе бөлінген деректермен нейрондық жүйедегі параллельді қосымшаларда қолданылады.
MIMD (multiple instruction stream/multiple data stream) - командалардың көптік ағыны және көптік деректерді ағыны - бұл компьютер көптеген элементарлық процессорлармен байланысты, әрбір блок өзінің жеке басқармасына ие. MIMD компьютерінің құрылымы төмендегідей бейнеленген (Сурет 1. 4) .
Сурет 1. 4. MIMD моделі
Процессор өзінің жеке деректерінің өзіндік жеке командаларының әрекетімен орындалады. Есептер әртүрлі процессорларда орындалады, олардың басталатын және аяқталатын уақыттары әртүрлі болуы мүмкін. Олардың орындалу «қадамдары» бірдей орындалмайды, SIMD компьютері сияқты емес, олар асинхронды түрде орындалады.
MIMD компьютерінің құрылымы таратылған жадтар болуы мүмкін немесе жалпы қолайлы жадтардың бірігуімен қолданылады. Мұндай типтегі компьютерлерге мысалы мыналарды жатқызуға болады:
- Cray - 2, S1;
- Cray X - MP;
- IBM 370/168 MP, iPSC.
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.

Ақпарат
Қосымша
Email: info@stud.kz