
- •Isbn 978-601-217-247-8
- •Есептеу машиналары
- •§1.1.1 Параллель виртуалды машиналар
- •1 Сурет. Vm/sp, vм/ха, vn/еsа машиналары
- •2 Сурет. Виртуалды машина жүйесі
- •3 Сурет. VMware терезесі
- •4 Сурет. Бір компьютерде бірнеше операциялық жүйе
- •5 Сурет. Вм консолынің мысалы
- •6 Сурет. Виртуалды машиналар жүйесінің архитектурасы
- •§1.1.2 Виртуалды машиналардың түрлері
- •§1.1.3 Виртуаландыру - ақпараттық жүйелерді реттеудің басты жолы
- •§1.2.1 Компьютердің аппараттық құрылымын жетілдіру
- •7 Сурет. Бір операцияны бес тактіде орындайтын тізбекті құрылғының
- •8 Сурет. Бір операцияны әрбірі бес тактіде орындайтын екі бірдей тізбекті
- •10 Сурет. Конвейерлік құрылғы өнімділігінің кіріс деректер
- •11 Сурет. Illiac IV матрицалық жүйесінің жобасы
- •§1.2.2 Компьютерді басқарудың интеллектуалдығын жоғарылату
- •12 Сурет. Ортақ жадылы параллель компьютерлер
- •13 Сурет. Таратылған жадылы параллель компьютерлер
- •14 Сурет. Ортақ шиналы мультипроцессорлық жүйе.
- •15 Сурет. Матрицалық коммутаторлардағы
- •16 Сурет. Омега - желі мультипроцессорлық жүйесі.
- •17 Сурет. Мультикомпьютерлерлік жүйелер байланыс топологияларымен: а – сызықша; б – дөңгелек; в – жұлдызша
- •18 Сурет. Процессорлардың байланыс топологияларының нұсқалары
- •19 Сурет. Сm* есептеу жүйесінің сызбасы
- •20 Сурет. Bbn Butterfly есептеу жүйесінің сызбасы
- •§1.2.3 Функционалды құрылғылар жүйесі
- •§1.3.1 Параллель компьютерлер және жүйелер классификациясы
- •21 Сурет. М. Флин классификациясының sisd және simd кластары
- •22 Сурет. М. Флин классификациясының misd және mimd кластары
- •23 Сурет. Mimd класына р. Хокнидың қосымша
- •§1.3.2 Векторлы-конвейерлік компьютелер
- •24 Сурет. Cray c90 компьютерінің жалпы сүлбесі
- •25 Сурет. Cray c90 компьютері жадысының бөлінуі
- •26 Сурет. Cray c90 компьютерінде векторлық операциялардың орындалуы
- •27 Сурет. Cray c90 компьютерінде векторлық операциялардың ілінісуі
- •§1.3.3 Ортақ жадылы параллель компьютерлер
- •28 Сурет. Hewlett Packard Superdome компьютері
- •29 Сурет. Hewlett Packard Superdome компьютерінің
- •§1.3.4 Таратылған жадылы есептеу жүйелері
- •30 Сурет. Cray t3e компьютерінің коммуникациялық торы
- •31 Сурет. Cray т3d/t3e компьютерлеріндегі барьерлі синхрондау
- •32 Сурет. Есептеу кластерінің жалпы схемасы
- •33 Сурет. Мвс-1000м суперкомпьютерінің құрылымы
- •34 Сурет. Коммуникациялық ортаның латенттілігі және өткізу қабілеті
- •§1.3.5 Метакомпьютинг
- •§2.1.1 Үлкен есептер және үлкен компьютерлер
- •35 Сурет. Сандық эксперименттің этаптары
- •§ 2.1.2 Алгоритм графы және параллель есептеулер
- •§ 2.1.3 Шексіз параллелділік концепциясы
- •§ 2.1.4 Ішкі параллельділік
- •37 Сурет. Матрицаларды көбейту графы
- •38 Сурет. Үшбұрышты жүйелерге арналған графтар
- •39 Сурет. Блокты-екідиагоналды жүйеге арналған Макрограф
- •40 Сурет. Блокты-екідиагоналды жүйеге арналған граф
- •41 Сурет. Жалпыланған пралллель форманың ярустары
- •42 Сурет. Графтағы микро және макропараллельділік
- •§2.2.1 Дәстүрлі тізбекті тілдерді пайдалану.
- •§2.2.2 OpenMp бағдарламалау технологиясы
- •44 Сурет. ОреnМр: бағдарламаның орындалу процесі
- •§2.2.3 Хабарлама жіберу негізіндегі бағдарламалау жүйелері. Mpi бағдарламалау жүйесі
- •Int mpi_Comm_rank(mpi_Comm comm, int *rank)
- •Int mpi_Send(void *buf, int count, mpi_Datatype datatype, int dest, int msgtag, mpi_Comm comm)
- •Integer count, datatype, dest, msgtag, comm, request, ierr
- •Int mpi_Isend(void *buf, int count, mpi_Datatype datatype, int dest, int msgtag, mpi_Comm comm, mpi_Request *request)
- •Int mpi_Irecv(void *buf, int count, mpi_Datatype datatype, int source, int msgtag, mpi_Comm comm, mpi_Request *request)
- •Integer count, datatype, source, msgtag, comm, request, ierr
- •Int main(argc,argv)
- •Int argc;
- •Include 'mpif.H’
- •Integer ierr, rank, size, prev, next, reqs(4), buf(2)
- •Integer stats(mpi_status_size, 4)
- •Int mpi_Waitany( int count, mpi_Request *requests, int *index, mpi_Status *status)
- •Integer count, requests(*), index, status(mpi_status_size), ierr
- •Int mpi_Waitsome( int incount, mpi_Request *requests, int *outcount, int *indexes, mpi_Status *statuses)
- •Integer incount, requests(*), outcount, indexes(*), ierr,
- •Int mpi_Test(mpi_Request *request, int *flag, mpi_Status *status)
- •Integer request, ierr, status(mpi_status_size)
- •Int mpi_Testall( int count, mpi_Request *requests, int *flag, mpi_Status *statuses)
- •Integer count, requests(*), statuses(mpi_status_size,*), ierr
- •Int mpi_Testany(int count, mpi_Request *requests, int *index, int *flag, mpi_Status *status)
- •Integer count, requests(*), index, status(mpi_status_size), ierr
- •Int mpi_Testsome( int incount, mpi_Request *requests, int *outcount, int *indexes, mpi_Status *statuses)
- •Integer incount, requests(*), outcount, indexes(*), ierr,
- •Int mpi_Iprobe( int source, int msgtag, mpi_Comm comm, int *flag, mpi_Status *status)
- •Include 'mpif.H’
- •Integer ierr, rank, size, n, nl, I, j
- •Integer irr, status(mpi_status_size), req(maxproc*2)
- •If(ir .Ne. Rank)
- •Int mpi_Send_init( void *buf, int count, mpi_Datatype datatype, int dest, int msgtag, mpi_Comm comm, mpi_Request *request)
- •Integer count, datatype, dest, msgtag, comm, request, ierr
- •Int mpi_Recv_init( void *buf, int count, mpi_Datatype datatype, int source, int msgtag, mpi_Comm comm, mpi_Request *request)
- •Integer count, datatype, source, msgtag, comm, request, ierr
- •Integer сомм, ierr
- •Include 'mpif.H’
- •Integer ibuf(maxproc)
- •Integer req(2*maxproc), statuses(mpi_status_size, maxproc)
- •Integer count, datatype, root, comm, ierr
- •Integer scount, stype, rcount, rtype, root, comm, ierr
- •Integer scount, stype, rcounts(*), displs(*), rtype, root, comm, ierr
- •Integer scount, stype, rcount, rtype, root, comm, ierr
- •Int mpi_Bcast(void *buf, int count, mpi_Datatype datatype, int source, mpi_Comm comm)
- •Int mpi_Gather( void *sbuf, int scount, mpi_Datatype stype, void *rbuf, int rcount, mpi_Datatype rtype, int dest, mpi_Comm comm)
- •Int mpi_Scatter(void *sbuf, int scount, mpi_Datatype stype, void *rbuf, int rcount, mpi_Datatype rtype, int source, mpi_Comm comm)
- •Int main(argc,argv)
- •Int argc;
- •Int numtasks, rank, sendcount, recvcount, source;
- •Int mpi_Barrier (mpi_Comm comm)
- •§ 2.2.4 Бағдарламалаудың басқа тілдері және жүйелері.
- •Параллель есептеуде қолданылатын қысқаша қазақша-орысша терминологиялық сөздік
- •Параллель есептеуде қолданылатын қысқаша орысша-қазақша терминологиялық сөздік
- •Және орта айнымалылары
- •Mpi функциялары
23 Сурет. Mimd класына р. Хокнидың қосымша
классификациясы
Р. Хокни классификациясының негізгі идеясы келесідей. Командалардың көптеген ағыны екі тәсілмен өңделуі мүмкін: жеке ағын үшін уақытты бөлу режимінде жұмыс істейтін бір конвейерлік құрылғымен, болмаса әрбір ағын өзінің жеке құрылғысымен өңделеді. Бірінші мүмкіндік MIMD компьютерлерде пайдаланылады, оларды Хокни конвейерлік деп атайды. Бұларға, мысалы Denelcor HEP процессорлық модульдері немесе Tera MTA типті компьютерлерді жатқызуға болады.
Екінші мүмкіндікті пайдаланатын архитектуралар, өз кезегінде, тағы екі класқа бөлінеді. Бірінші класына айырып/қосқыш көмегімен іске асатын, әрбір процессор арасында тікелей байланыс орнатылуы мүмкін MIMD компьютерлері кіреді. Екінші класына, әрбір процессор желідегі жақын көршілерімен ғана тікелей байланыс орнатуы мүмкін, ал қашықтағы процессорлар арасындағы байланыс арнайы маршруттық жүйе арқылы іске асатын MIMD компьютерлері кіреді.
Айырып/қосқышы бар MIMD машиналарының ішінен Хокни барлық жады процессорларға бөлініп берілген (локалды жады сияқты) машиналарды (мысалы PASM, PRINGLE, SMP торабынсыз IBM SP2) бөліп қарастырады. Бұл жағдайда процессорлар арасындағы қатынас компьютердің айтарлықтай бөлігін құрайтын күрделі айырып/қосқыш көмегімен іске асырылады. Мұндай машиналар таратылған жадылы MIMD машиналары деп аталады. Егер жады, барлық процессорға айырып/қосқыш арқылы қол жетімді болатын бөлінетін ресурс болса, онда MIMD машиналары ортақ жадылы есептеу жүйелеріне жатқызылады (BBN Butterfly, Cray C90).
Айырып/қосқыш типіне сәйкес классификацияны одан ары жүргізуге болады: қарапайым айырып/қосқыш, көпкаскадты айырып/қосқыш, ортақ шина және т.б. Қазіргі заманғы көптеген есептеу жүйелерінде ортақ бөлінетін жадымен қатар таратылған локальды жадылар да қарастырылған. Мұндай жүйелерді автор гибридті айырып/қосқышымен MIMD машиналары деп бөледі.
Желілік құрылымды MIMD машиналарын қарастырғанда, олардың барлығы таратылған жадылы деп есептеледі, ал классификация одан ары желі топологиясына сәйкес жүргізіледі: жұлдыз тәрізді желі (ICAP), түрлі өлшемдегі регулярлық торлар (Intel Paragon, Cray T3D), гиперкубтар (Ncube, Intel iPSC), ағаштар, пирамидалар, кластерлер (Cm*, CEDAR) секілді иерархиялық құрылымды желілер және де өз конфигурацияларын өзгертетін желілер.
Сұрақтар мен тапсырмалар
Практика жүзінде компьютерлерді оның бағасы бойынша классификациялау пайдалы болуы мүмкін бе? Егер пайдасы болса, онда пайдаланушылардың қандай класына жатады?
Практика жүзінде компьютерлерді оның шектік өнімділігі бойынша классификациялау пайдалы болуы мүмкін бе? Егер пайдасы болса, онда пайдаланушылардың қандай класына жатады?
Флин классификациясы бойынша, бүгінгі күнгі ортақ жадылы компьютерлерді қай класқа жатқызуға болады, мысалы, HP Superdome?
Флин классификациясы бойынша, суперскалярлық және VLIW- процессорларын қай класқа жатқызуға болады?
SISD класы туралы не айта аласыз?
SIMD класына жататын соңғы компьютерлерге мысалдар келтіріңіз.
MIMD класына жататын соңғы компьютерлерге мысалдар келтіріңіз.
Таратылған жадылы MIMD машиналары туралы не айта аласыз?
Р.Хокни классификациясының негізгі идеясы неде?
Флин және Хокни классификацияларының арасындағы айырмашылық?
Флин және Хендлер классификацияларының арасындағы айырмашылық?
Осы параграфта келтірілген және сілтеме жасалған әртүрлі классификациялар арасындағы өзара байланысты табыңыз.
Тиімді бағдарлама құрастыру үшін пайдаланушыға параллель компьютер архитектурасының қандай параметрлерін білу қажет?