Бақылау сұрақтары: Процессорлар мен жады арасындағы байланыстың жүзеге асырылу жлдары.
Процессорлер үшін өзара байланыс.
Берілген жүйенің негізгі идеясы.
Cray C90 компьютерінің шектік өнімділігі.
Бағдарламаның векторлануы.
Пайдаланылған әдебиеттер 1. Воеводин Вл. Параллельные вычисления. Санкт-Петербург, 2012 г.
2. Грегори Р. Эндрюс. Основы многопоточного, параллельного и распределенного программирования. Пер. с. англ. –М.: Издательский дом «Вильямс», 2013 г.
3. Акжалова А.Ж. Параллельные вычисления (учебное пособие). – Алматы, 2014 г.
4. Дүйсембиев Е.Е. Параллель есептеулер. Оқулық – Алматы 2011 ж.
11-Дәріс Тақырыбы: Флинн таксономиясы. Жоспар: Жаңа таксономияны құру тәсілдері.
М. Флин классификациясының SISD және SIMD кластары.
М. Флин классификациясының MISD және MIMD кластары.
МІМD номері көптеген өзара байланысты процестерден тұрады, олардың әр
қайсысының жеке басқару блогы бар.
Процесстердің өздерінің жеке командалары мен жеке мәліметтерін етеді.
Әр түрлі процестердің орындаған жұмысы (есебі) әртүрлі уақытта басталады,
әртүрлі уақытта бітуі мүмкін. Яғни, олар «аяқтарын бірге баспайды»
асихронды орындайды.
МІМD құрылымды компьютерде жолды не үлестірілген, не барлығына жететін
(обще доступный) болуы мүмкін.
Мысалы:
Cray – 2, SI;
Cray X - MP;
IBM 370/168 MP, IPSC
Мұнда да процесстің жиыны жұмыс жолы, бірақ барлығы 1 – ғана
мәліметтер ағынына әсер етеді. Мұндай құрылымды 1 компьютер белгілі. Ол, C. mmp, Carnegie – Mellon университетінде жасалған.
Бұл компьютер басқа режимде де (SIMP, MISD, MIMD)жұмыс жасай алады.
Параметрлерді программалауды тиімділігін бағалау. Ол мына функцияларға байланысты:
– Орындалу уақытына
– Жады конфигурациясына және орындалуға кететін шығынға
– Қызмет көрсету және ақысына, тағы басқалары;
Мысалы: ауа райын болжау жүйесін құруда.
ЭЕМ өнімділігін қалай арттыруға болады? 1949 жылы шыққан компьютерлердің тактілік уақыты 2 микросекунд (2*10-6 сек), яғни орташа 100 арифметикалық операцияны 1 секундта орындайды. Қазіргі заманғы компьютерлердің тактілік уақыты 1,8 наносекунд (1,8*10-9 сек), яғни 1 секундта 77 млрд.арифметикалық операция орындалады. Жарты ғасырда компьютер өнімділігі 700 млн. есе өскен, яғни 2 микросекундтан 1,8 наносекундқа дейін өскен. Бұл компьютер архитектурасы жаңаша құрылған деген сөз. Мәліметтерді параллель өңдеуді бір уақытта бірнеше әрекет жасалатындығымен түсіндіруге болады. Бұны былайша түсіндіруге болады.
1 құрылғы 1 операцияны 1 бірлік уақытта орындайды, осы құрылғы 100 операцияны 100 бірлік уақытта орындайды. Егер осындай 5 құрылғы бір мезгілде жұмысжасаса, онда кететін уақыт 200 бірлікке тең болар еді, яғни N құрылғы 1/N уақыт бірлігінде жұмысты орындап шығады. Тағы бір мысал, 1 солдат жерді 10 сағатта қазса, рота (50 солдат) бірдей күшпен, бірдей уақытта 12 минутта
қазып шығады екен. Міне, параллельділік принципі осыдан шыққан!
М. Флин (M. Flynn) классификациясы. Флин классификациясы ағын түсінігіне негізделеді. Ағын - процессорда өңделетін командалар немесе деректер тізбегі. Командалар мен деректер ағымы санына байланысты Флин архитектураны 4 класқа бөледі. Біріншісі, SISD (Single Instruction stream/Single Date stream) – командалардың жеке ағыны және деректердің жеке ағыны (21 сурет). Бұл суретте келесі белгілеулер пайдаланылған: ПР – бір немесе бірнеше процессорлық элементтер, БҚ – басқарушы құрылғы, ДЖ – деректер жадысы. Бұл класқа классикалық тізбекті машиналар немесе басқаша айтқанда фон-Нейман типті машиналар жатады, мысалы, PDP-11 немесе VAX 11/780. Мұндай машиналарда командалардың бір ағыны ғана болады, барлық командалар кезекпен бірінен кейін бірі өңделеді (орындалады) және әрбір команда бір скалярлық операцияны көрсетеді. Бұл класқа командаларды өңдеу жылдамдығын және арифметикалық операцияларды орындау жылдамдығын жоғарылату үшін конвейерлік өңдеу қолданылуы мүмкін: мысалы, скалярлық функционалды құрылғыларымен CDC 6600 және конвейерлік CDC 7600 машиналары кіреді.
Екінші класс – SIMD (Single Instruction stream/Multiple Date stream) - командалардың жеке ағыны және деректердің көптеген ағыны (23 сурет). Алдыңғы, яғни SISD класынан айырмашылығы, мұндай архитектураларда векторлық командалар енетін командалардың бір ағыны сақталады. Ал бұл өз кезегінде бірден көптеген берілгендермен, мысалы, вектор элементтерімен, бір арифметикалық операцияны орындауға мүмкіндік береді. Векторлық операцияларды орындау тәсілі арнайы айтылмайды, сондықтан вектор элементтерін өңдеу процессорлық матрица арқылы, мысалы, ILLIAC IV – тегі сияқты немесе конвейер көмегімен, мысалы, Cray-1 машинасындағы сияқты жүргізілуі мүмкін.
21 сурет. М. Флин классификациясының SISD және SIMD кластары
Үшінші класс – MIMD (Multiple Instruction stream/ Multiple Date stream) - командалардың көптеген ағыны және деректердің көптеген ағыны (22 сурет).
22 сурет. М. Флин классификациясының MISD және MIMD кластары
Бұл класта, есептеу жүйесінде бір кешенге біріктірілген, командаларды өңдейтін бірнеше құрылғы бар деп есептеледі және олардың әрқайсысы өз командалар ағынымен және деректер ағынымен жұмыс істейді. Оған көп процессорлы векторлы супер ЭЕМ ғана емес, басқа да көп процессорлы компьютерлер жатады. Көптеген қазіргі супер ЭЕМ-ың архитектурасы MIMD болып табылады.
Төртінші класс – MISD (Multiple Instruction stream/Single Date stream) - командалардың көптеген ағыны және деректердің жеке ағыны (22 сурет).
Анықтама бойынша, архитектурада бір деректер ағынын өңдейтін көптеген процессорлар болуы қажет. Алайда бүгінгі күні бұл қағидамен жұмыс жасайтын есептеу машинасы тіркелмеген. Әзірше бұл класс бос десе болады.
Сонымен, жоғарыда айтылғандай SISD класына VAX 11/780 типі сияқты бірпроцессорлы тізбекті компьютерлер кіреді. Алайда, бұл класқа, егер сәйкес команда үшін векторды бүтін бөлінбейтін берілген деп қарастыратын болсақ, онда векторлы-конвейерлік машиналарды да енгізуге болады. Бұл жағдайда SISD класына Cray-16, CYBER 205, FACOM VP машиналары және көптеген т.б машиналар да жатады.
SIMD класына даусыз процессорлық матрицалар: ILLIAC IV, ICL DAP, Goodyear Aerospase MPP, Connection Machine 1 және т.б. кіреді. Мұндай жүйелерде процессорлық элементтер жиынын ортақ басқару құрылғысы қадағалайды. Әрбір бекітілген уақыт мезетінде, әрбір процессорлық элемент, басқару құрылғысынан бірдей команданы қабылдап, оны өздерінің локальды берілгендеріне орындайды. Классикалық процессорлық матрицалар үшін ешқандай сұрақ туындамайды. Алайда бұл класқа векторлы-конвейерлік машиналарды да енгізуге болады, мысалы Cray-1. Бұл жағдайда вектордың әрбір элементін деректер ағынының жеке элементі деп қарастыру қажет.
MIMD класы өте кең, себебі оған барлық мүмкін мультипроцессорлық жүйелер: Cm*, C.mmp, Cray Y-MP, Denelcor HEP, BBN Butterfly, Intel Paragon, Cray T3D және көптеген басқа машиналар енеді. Қызықты жері – егер конвейерлік өңдеуді жеке деректердің векторлық ағыны емес, ал скалярлық ағын жиынымен түрлі командалардың тізбектеліп орындалуы деп 70 қарастыратын болсақ, онда жоғарыда қарастырылған барлық векторлы-конвейерлік компьютерлерді де осы класқа жатқызуға болады.
Флин ұсынған бұл классификация сызбасы, бүгінгі күні ең көп қолданылуда екенін айта кету керек. Егер компьютер SIMD немесе MIMD класына кіреді деп айтылса, онда оның жұмысының бірден базалық қағидалары түсінікті және кейбір жағдайларда осының өзі жеткілікті болады. Алайда айқын жетіспеушіліктері де көрініп тұрады. Дербес жағдайда, кейбір көңіл бөлуге тұрарлық архитектуралар, мысалы, dateflow және векторлы-конвейерлік машиналар аталған классификацияға толық сәйкес келмейді. Келесі жетіспеушілігі – MIMD класының тым толып кетуі. Сондықтан, Флин бойынша бір класқа кіретін, бірақ процессор санымен олардың арасындағы байланыс топологиясы және табиғатымен, жадыны ұйымдастыру тәсілі және де бағдарламалау технологиясы жағынан әртүрлі болатын архитектураларды одан ары да таңдап жүйелейтін құрал қажет.