Тақырыптың қысқаша мазмұны (тезисі):
Дәрісте параллелді есптеулерді құрудың жалпы сипаттамасы, бағдарламаны жүргізудің көп есептік, параллелді және бөлінген режимдері айтылған. Жақындаудың мүмкін болатын тәсілдерін көрсету үшін параллелді есептеу жүйелеріне бірқатар мысалдар қарастырылады және параллелді жүйелерді құрудың әр түрлі тәсілдері көрсетіледі.
Көптүрлі компьютерлік есептеу жүйелері классификациялық қажеттілікті қамтиды. Лекцияда белгілі бір тәсіл сипатталады – Флин систематикасы, негізінде ағын командасы мен мәліметтер қойылған. Берілген классификация қарапайым және түсінікті, бірақ та MIMD класы – на барлық көппроцессорлы есептеу жүйелері кіреді. Лекция жүйелер типінің мақсатына көппроцессорлы есептеу жүйелерінің құрылым кластары кіреді, екі маңызды белгіленген жүйені көрсетеді, жалпы бөлінетін және бөлінген жад – мультипроцессорлар және мультикомпьютерлер. Бірінші группадағы жүйегі маңызды мысал — векторлы параллельді процессорлар (parallel vector processor немесе PVP) және симметриялы мультипроцессорлар (symmetric multiprocessor немесе SMP). Мультикомпьютерге массив - параллелді жүйелер (massively parallel processor немесе MPP) және кластерлер (clusters) жатады.
Ары қарай лекцияда көппроцессорлы есептеу жүйелерінің мінездемесі қарастырылады. Топология желісіне де мысал келтіріледі , мәліметтер желісін беру, кластерлердің ерекшелігін бағалайды және топология параметрін талқылайды.
Лекцияның соңында кластерлерді тұрғызу үшін жалпы мінездеме беріледі
Өзін - өзі бақылау сұрақтары: -
Параллелды есептеу жүйелеріне қосымша мысал келтіріңдер.
-
Компьютерлік жүйенің классификациясына қосымша тәсіл қарастырыңдар.
-
Жалпы бөлінетін жадтың қамтамасыз ету когерентті кэшінің амалдарын қарастырыңдар.
-
Бағдарламалық библиотекаға шолу, бөлінген жад жүйесі үшін, мәліметтерді беру операциясын орындауды қамтамасыз ету.
-
екілік ағаш түрінде мәліметтерді беру желі топологиясын қарастыру.
-
мәліметтерді беру желісі бойынша, әрбір топологи я типі үшін, нақты класстар эффектісін ерекшелеңіз.
Әдебиеттер:
Архитектура туралы қосымша ақпарат параллелды есептеу жүйесінен, мысалы, из [2, 11, 14, 28, 45, 59]; сонымен қатар пайдалы ақпарат та болады [24, 76].
Көппроцессорлы жүйеде мәліметтерді беру желісне шолу топологиясы және олардың орындалуына арналған технологиялар ұсынылған, мысалы, жұмыс [29].
Кластерлік есептеу жүйелерінің тұрғызылуы және қолданылуына байланысты, толығырық сұрақтар қаралған. Практикалық кепілдемеден кластерлерді құру, әр түрлі жүйелік платформаларда табылуы мүмкін.
2.2. Эффектілі параллельды есептеу сараптама бөлімі.
Тақырып 2. Моделдеу және параллелды есептеу сараптамасы
Лекция мақсаты: есептеу моделін графа түрінде сипаттау "операциялар – операндылар". Параллелды әдістердің сапа негізін көрсету — үдеткіш (speedup), тиімділілік (efficiency), құны (cost) және құнын (scalability) есептеу.
Тақырып сұрақтары:
-
"операцилар — операндылар" моделі қалай анықталады?
-
Бөлінген есептеулер мен процессор арасында кесте қалай анықталады?
-
Параллелды алгоритмнің орындалу уақыты қалай анықталады?
-
Қандай кесте оптималды болады?
-
Ең аз мүмкін уақыт шешімін қалай анықтауға болады?
-
паракомпьютер түсініледі және осы берілген ұғым пайдалы ма?
-
Қандай бағалаулар уақыттың мінездеме ретінде пайдалануын жүйелі шешімдер ретінде көрсетеді?
-
Графа "операндылар – операцияларды" аз мүмкін уақытта параллелді шешу қалай анықталады?
-
Қандай тәуелділіктер параллельді шешу уақыттары үшін азаюы немесе көбею сандары қолданылады?
-
Қай процессор санында параллельді алгоритмнің орындалған уақытын және салыстырмалы ретімен аз уақытта бағалауды алады?
-
Тиімділілік пен үдеткіштік ұғымы қалай анықталады?
-
Жоғары сызықты үдеткіштің жетістігі мүмкін бе?
-
Үдеткіш пен тиімділіктің қарама - қайшылығын көрсету неден тұрады?
-
Құнын есептеу ұғымы қалай анықталады?
-
Баға - ұтымды алгоритм ұғымы неден тұрады?
-
Тізбекті алгоритмнің сандық мағынасын есептеу қалай жүргізіледі?
-
Каскадты схеманы есептеу неден тұрады? Берілген схеманың модификацияланған нұсқасы не мақсатпен қаралады?
-
Тиімділік пен үдеткіштің ерекшелігін көрсету үшін, каскадты схеманы есептеу нұсқасы не үшін қарастырылады?
-
Параллелды алгоритмді есептеудің барлық жүйелі сандар маңызы неден тұрады?
-
Амдаля заңы қалай формуланады? Берілген заңды параллелды есептеу қай аспектіде көрсетіледі?
-
Густавсон – Барсис заңын дәлелдеудің қандай мүмкіндіктері бар?
-
изоэффектілік функция қалай анықталады?
-
Қандай алгоритм масштабтау болып табылады ? масштабтауға әртүрлі деңгейде мысал келтіріңдер.
Тақырыптың қысқаша мазмұны (тезисі):
Лекцияда моделды есептеу, графа "операцилар – операндылар" түрінде қаралады, алгоритмдік есептерді шешуде ақпараттық алгоритмді шешу жүйелері таңдалады.
Негізінде осы моделге аэратор хабардар графы қойылған, операцияның басында немесе шыңында көрсетілген , ал доғалар тап осы операцияға тәуелді. Осы графқа параллелді алгоритмді анықтау үшін кесте құрады.
Теоретикалық бағаларды қарапайым тұрғызу лекцияда паракомпьютер ұғымы параллелды жүйенің ұқсас емес процессорлар ұғымы қарастырылады.
Лекцияда бағалар үшін оптималды әдістерді жетілдіру, параллелды есептеу теория мен практикада көп қолданылатын негізгі сапасы – үдеткіш (speedup), көрсетілгендей, қанша рет жүзеге асырылса да, бірнеше процессорды қолдану арқылы есепті шешуге болады және тиімділік (efficiency), есептеуіш жүйенің процессорларын қолданылуы сипатталынады. Маңызды жетілдіру сипаттама алгоритмі болып құнын (cost) есептеу табылады.
Демонстрация үшін лекцияда моделдер мен әдістер анализін және жүйелілік сан мағынасының тапсырмалар жиынтығы жиі параллельды алгоритмдік лекцияда қаралады. Берілген мысалда қиындатылған алгоритм мәселесі анықталады, бастапқыда параллельды есептеу бағыты көрсетілмеді. Анықтау үшін "жасырын" өзгертілген жүйелілік схемалар есептеу параллелограмы көрсетілуі мүмкін және нәтижесінде осы өзгертілген каскадты схема пайда болады. Мысалда орындалатын есеп – қисаптардың үлкен жетістікке жетуіне арналған, артық есептеулердің мүмкіншілігі белгіленеді.
Лекция соңында нәтижелілік көрсеткіштердің барынша қол жетерлік мағыналарды бағалауларды құру сұрағы қаралады. Осы бағалауларды алу үшін Амдала заңын қолдануға болады. Густавсон – Барсис заңы (Gustafson – Barsis's law) бағалаулардың үдеткіш масштабын қамтамасыздандырады (scaled speedup).
Тәуелділікті анықтау үшін күрделі есептерді шешу арасында және процессорларды, параллельды есептеулердің тиімділік деңгейін қолдану, изоэффективности функции (isoefficiency function) ұғымын енгізеді.
Өздік бақылауға арналған тапсырма:
1. үлгіні өңдеңіздер және параллельды есептеу тиімділігін және үдеткіш бағалауын орындаңыз:
-
Екі вектордың скалярлық туындысын табыңыз
-
Берілген терімге арналған көп және аз мағыналар санын іздеу
2. 1.тапсырмасы үшін көп қол жетерлік үдеткіш бағалауын Амдала заңына сәйкес орындаңы.
3. 1.тапсырмасы үшін үдеткіш масштабтау бағалауын орындаңыз.
4. 1.тапсырмасы үшін изоэффектілі функцияны тұрғызыңыз.
5. Үлгіні өңдеп және параллельды есептеу тиімділігіне толық сараптама жасаңыз (үдеткіш, тиімділік, көп қол жетерлік үдеткіш , үдеткіш масштабтау, изоэффектілі функция) векторға матрицаны көбейту үшін арналған.
Әдебиеттер:
Параллельды есептеуде үлгілеу мен анализге қосымша ақпарат алынады, мысалы, [2, 22], қажетті ақпарат осылай беріледі [51, 63].
Сандық мағыналарды жүйелілік қосу [22] оқулықта қаралады.
Алғаш рет Амдала заңы [18] жұмыста баяндалды. Густавсона – Барсиса заңы [43] жұмыста жарияланды. Изоэффектілі функция ұғымы [39] жұмыста ұсынылды.
Жүйелі баяндау (жұмыс кезінде ) үлгілеу сұрақтары және параллельды есептеу [77] талдауына тура келеді.
3 Тақырып. Параллелдік алгаритімнің еңбек сіңіргіштіктік бағасы
Лекцияның мақсаты: Параллелді алгаритмді орындау кезінде ақпараттық топтың анализ сұрағын жарықтандыру. Мәліметтерді жіберу механизіміне жалпылама мінездеме беру, басты жүйедегі ақпаратты ауыстыруға еңбек сіңіргіштік анализін жүргізу, көппроцессорды шығару жүйесінің құрылымын логикалық әдісті ұсынуда қарастыру
Тақырыпқа сұрақ:
-
Қандай басты мінездемелер мәліметтерді жүйе арқылы жіберудің топологиясын бағалауда қолданылады? (толық граф,сызғыш,тор және тағы басқалар.).
-
Қандай басты әдістер мәліметтерді желі арқылы жіберуде қолданылады?
-
Мәліметтерді жіберуде басты әдіс неде түзеледі?Бұл әдістерді орындау уақытында аналитикалық баға келтіріңіз.
-
Мәліметтерді жіберу кезінде қандай операция басты болып табылады?
-
Мәліметтерді бір процессордан жүйе арқылы барлық процессорға сақина топологиясына жіберуде тор мен гиперкубтың алгоритмдері неден түзеледі? Осы алгоротимдерге уақытша еңбексіңіргіштік бағасын келтіріңіз.
-
Мәліметтерді барлық процессордан жүйе арқылы барлық процессорға сақина топологиясына жіберуде тор мен гиперкубтың алгоритмдері неден түзеледі? Осы алгоротимдерге уақытша еңбексіңіргіштік бағасын келтіріңіз.
-
Редукция операциясын орындауда мүмкін алгоритмдер неден түзіледі? Уақыт өте келе орындалатын алгоритмдердің қайсысы жақсы?
-
Циклдік операция жылжуының орындалу алгоритімі неде түзіледі?
Логикалық топологияны қолдану маңыздылығы неден тұрады? Коммуникациялық жүйе құрылымының логикалық алгоритімін ұсынуға мысал келтіріңіз.
-
Мәліметтерді тапсыру операцияларының орындалу уақыттарының бағалауына арналған үлгілердің ерекшелігі неде түзіледі кластерлі есептеуіш жүйелерде ме? Қай модель нақтығырақ болып табылады? Қандай үлгі алдын-ала коммуникациялы операциялардың еңбек сіңіргіштігін уақытша талдау үшін қолданылады?
Тақырыптың қысқаша мазмұны (тезис):
Берілген лекция параллелдік алгаритмнің қиын коммуникациялық бағасына арналған.
3.1 бөлімде мәліметтерді жіберу әдісінің және алгоритм жолының толық мінездемесі ұсынылған. Толық көруге хабарларды жіберу әдісі және пакетерді жіберу әдісі ерекшеленген, олар үщін коммуникациялық операцияны баға уақытымен орындау анықталған.
3.2 бөліменде параллелді есептеулер жүруде орындалатын, операцияның басты тобындағы мәліметтерді жіберу анықталған. Басты коммуникациялық операцияға жататындар:
-
Процессорлық жүйе арасындағы мәліметтерді жіберу;
-
бір процессордан басқа барлық процессорға жүйе арқылы мәліметтерді жіберу және барлық процессорлық жүйеден бір хабарлама процессорына оған екі жақты операция қабылдау;
-
барлық процессордан барлық жүйе процессорынамәліметтерді жіберу және барлық процессорлық жүйеден барлық;
-
толықтай1) мәліметтерді бір процессордан барлық қалған жүйелік процессорға жіберу және керісінше операция бір процессордан қалған барлық жүйедегі процессорға толықтай қабылдау;
-
барлық процессордан барлық жүйедегі процессорға мәліметтерді жіберу;
Мәліметтерді жіберудегі аталған барлық операцияларға топологиялық сақина мысалында орындалған тор және гиперкуб алгоритмі қарастырылған. Ұсынылған әрбір алгоритмге уақыттық еңбексіңіргіштік алгоритмінің хабарламаны жіберудегі әдісі сияқты бағасы келтірілген, сондай-ақ пакеттерді жіберудегі әдісі орындалады..
3.3 бөлімінде нақты процессорлар арасындағы құрылым негізінде топологиялардың қисынды ұсыну әдістері қарастырылған. Логикалық топологияны қолдану, тапсыру алгоритмдердің қатарына арналған қарапайым баяндама алуға мүмкіндік береді, реализациялық коммуникациялық операцияға тыйымды төмендетеді.
3.4 бөлімінде модельдер нақтығырақ талқыланады, кластерлі есептеуіш жүйеге мәліметтерді тапсырудың операциясы баға уақытының көмегі бойынша орындалады. Нақты қалыптастырылғандардың уақыт бағасы есептеуіш тәжірибиесін жургізу көмегімен салыстырылады. Тәжірибие нәтижесінде ең нақты модель анықталды (B моделі). Сонымен қатар уақытша алдын-ала еңбексіңіргіштік коммуникациялық мақсатқа лайықты қарапайым модель-модель С (модель Хокни) қолдану.
Өздік жұмыс:
-
Бірқалыпты тордың 3-түріндегі жүйе топологиясына арналған мәліметтерді тапсыру негізгі операцияларының орындалу алгоримдерін өңдеңіздер.
-
Екілік ағаш түрінде топологиялық жүйемен мәліметтерді жіберудегі басты операцияларды орындау алгоритмін өңдеңіз.
-
3.4 бөліміндегі мәліметтерді жіберуде уақытша бағалауға арналған операциялардың В моделін қолданыңыз. Алынған көрсеткішті салыстырыңыз.
-
3.4 бөліміндегі мәліметтерді жіберуде уақытша бағалауға арналған операциялардың С моделін қолданыңыз. Алынған көрсеткішті салыстырыңыз.
-
Әртүрлі физикалық топологияларына арналған екілік ағаш қисынды ұсынулы алгоритмдарды өңдеңіз.
Әдебиеттер:
Берілген лекцияға қосымша оқулық материалдардың [51, 63] жұмыстары ұсынылған.
Коммуникациялы операциялардың орындалу уақыттарының бағалауына арналған үлгілердің құру сұрақтары әдебиетте кең талқыланады. Лекцияны оқу барысында [5, 28, 68] жұмыстар тиімді болады. Хокни Моделі бірінші рет [46] жариаланған. 3.4 бөліміндегі B моделі [3] жұмысында көрсетілген.
2.3. Бөлімі Паралелді алгоритмдердің өңделуінің жалпы принціпін құру
4 Тақырып. Паралелді әдістерінің өңделу приціпі
Лекцияның мақсаты: Паралелді алгоритмнің өңделуінде базалық принціпін қарастыру. Негізгі түсінікті түсіндіру, жасау кезеңдері барлық паралельді алгоритмдердің талдауын толық реттейді. Талқыланған әдіске мысал келтіру.
Тақырыпқа сұрақ:
-
Лекцияда қаралған қолдану мүмкіншілігіне арналған негізгі жорамалдары неде түзіледі паралельді алгоритмдердің өңделу әдістерінде ме?
-
Жобалаудың қандай негізгі кезеңдері және есептеулердің паралельді әдістерінің өңдеулері ме?
-
“аныталған-хабарлама” үлгісі қалай анықталады?
-
" каналы –процессі" моделі қалай анықталады?
-
Паралельді алгоритмді өңдеу кезінде қандай басты талаптар қамтамасыз етіледі?
-
Белгіленген есеп кезінде негізгі әрекеттер неде түзеді?
-
Ақпараттық тәуелділікті анықтау кезеңінде басты әрекет не?
-
Есептеу бар болатын терімі масштабтау кезінде негізгі әрекет неде түзіледі?
-
Есептеуіш жүйе процессорымен есептеу таратулары кезеңінде негізгі әрекеттері неде түзіледі?
Қалай сызба көмегі жанында есептеуіш жүкті тиеу таратуымен " менежер орындаушысы” динамикалық басқару болады?
Паралельді есептеудің қай әдісі денелердің гравитациялық N тел мақсаттары үшін шешім өңделген бола ма?
-
Талдап қорытылған мәліметтерді жинау операциясының орындалуының қай тәсілі нәтижелі болып келеді?
Тақырыпқа (тезис) қысқаша мазмұндама:
Лекцияда [32] ұсынылған паралельді өңдеу әдісі қарастырылды. Ол өзіне мына кезеңдерді қосады есепті ерекшелеу, ақпараттық тәуелділікті анықтау, масштабтау және есептеуіш жүйесі есепті процессор бойынша орналастыру. Әдістемені қолдануда болжалған, есептеуіш сызбасының шешімі қаралған есеп белгілі болады
Негізгі талаптың, паралельді алгоритмдердің өңделуі жанында тиісті қамтамасыздандырылған болу, процесордың төменгі ақпараттық әрекеттестікке есептің ұйымдасқан жиындары біркелкі тиуі.
Паралельді есептеу сызбасын өңдеде екі модель қаралған. Олардың біріншісі–"ақпараттық–есептеу" паралельді алгоритмнің жобасын құруда қарастырылады, екінші модель—" канал–процесі" паралельді бағдарламалар түрінде мүмкін әдістердің орындау сатыларына қолданылған.
Денелердің N тел гравитация мақсаттары бөлім аяқталуына шешім үлгісінде паралельді алгоритмдердің өңдеу қаралған әдістеме қолдануы көрінеді
Өздік жұмыс:
1. Әдісті жобалау және паралельді әдісті өңдеу бөлімінде қарастырылған паралельді есептеу сызбасын өңдеңіз:
-
Матрицада жолында минималды элемент арасында максималды мәнді іздеу
(жағдайға ерекше назар ықылас білдіріңіз, процесордың саны p>N шамадан қашан асатындығына);
(интегралдау әдісі [47] мысалында берілген).
2. векторға матрица көбейтулері мақсатқа арналған паралельді есептеулердің схемасын өңдеңіздер, жобалау әдәістемесінің бөлімінде паралельді әдістемелерінің өңдеулері қаралған.
Әдебиеттер:
Қарастырылған лекцияда паралельді алгоритмдардың өңдеу әдістемесі алғашқы рет [32] ұсынылған болатын. Сонымен қатар бұл жұмыста әдістеме баяндауы өткізіледі, оған есептеуіш мақсаттардың қатар шешіміне арналған паралельді әдістердің өңдеуіне арналған оның қолдануының бірнеше үлгісі болады.
Жобалауды қарастырғанда пайдалы әдістеме баяндауы жобалау сұрақтарының қарауы жанында және сонвмен қатар паралельді алгоритмдардың өңдеулері [63] бола алады.
Денелердің N тел гравитация мақсаты [5] толық қарастырылады.
2.4. Бөлімінде Құру және есептеуіш паралельді жүйеге бағдарламалық жүйе дамуы қамтамасыз етілген
5 тақырып. MPI негізінде паралельді бағдарламалау
Лекцияның мақсаты: MPI жадымен таратылған жүйелерде бағдарламалауға арналған стандартты қарап шығу. Стандарт дамуына тарихи шолу беру, сонымен қатар оның негізгі мүмкіншілігін санап шығу. Қарастырылған стандартты жүйелеп бағдарламаға мысал келтіру
Тақырыпқа сұрақ:
-
Қандай минималды терім паралельді есептеу ұйымына таратылған жадпен жүйені есептеу жеткілікті болып табылады?
-
Хабарлаулардың тапсыру құралдарының стандарттау маңыздылығы неде түзіледі?
-
Паралельді бағдарламалауда нені түсіну керек?
-
Процесс пен процессор мағанасының айырмашылығы неде?
-
Қандай минималды MPI теру функциясы паралельді бағдарламалауды өңдеуді бастауға мүмкіндік береді?
-
Жіберілетін хабарлама қалай жазылады?
-
Как можно организовать прием сообщений от конкретных процессов?
-
MPI-бағдарламасының орындалу уақытын қалай анықтайды?
-
Мәліметті жіберуде қос және ұжым операцияларының ерекшілігі неде?
-
Қандай MPI функциясы мәліметтерді бір процестен барлық процеске жіберуді қамтамасыз етеді?
-
Редукция операциясынан нені түсінуге болады?
-
Қандай жағдайдаларда синхронды тосқауылды қолдануға болады?
-
Қандай мәліметтерді жіберу тәртібі MPI сүйенеді?
-
Мәліметтерді MPI ауыстыру қалай қорғалмайтындай (неблокирующий) ұйымдастырылады?
-
Тұйық (тупик) ұғымы неде түзіледі? Бір уақытта орындалу функциясын тапсыру және қабылдаудың тұйық жағдайлары жоқ болу кепілі қашан болады?
-
Қандай топтық операция мәліметтерді MPI жіберілуінде қарастырылған?
-
MPI үлгісіндегі туындыда не түсіндіріледі?
-
MPI үлгілерінің құрастырылуының қандай түрлері болады?
-
Қандай жағдайларда мәліметтерді топтау (упаковка) және шашу (распаковка) тиімді болып табылады?
-
MPI комуникаторының астында не түсіндіріледі?
-
Жаңа комуникаторды құру не үшін қажет?
-
Виртуалды топология астында MPI не болып түсіндіріледі?
-
Топологияның қай түрі MPI қарастырылған?
-
Виртуалды топологины қолдану не үшін тиімді болып табылады?
-
Паралельді бағдарламаны MPI қолданып өңдеу мен Fortran алгоритмдік тілін қолданудың ерекшеліктері неде?
-
MPI-2 стандартында тағы да қандай қасымша мүмкіндіктер қарастырылған?
Тақырыпқа (тезис) қысқаша мазмұндама:
Берілген лекция паралельді бағдарламалау әдісін MPI қолданып таратылған жадпен есептеу жүйесін қарастыруға арналған. Өзі термині білдіреді , бір жағынан , стандарт , хабарлаулардың тапсыру ұйымдары құралдар тиісті қанағаттандыру , ал басқа жағынан , бағдарламалық кітапханалар белгілейді , хабарлаулардың тапсыру мүмкіншілігін қамсыздандырады және MPI . стандарты талаптарына мыналар жанында бәріне талапқа сай болады
Лекцияның басында манау анықталған, MPI –хабарламаны жіберу интерфейсі (message passing interface)- жадпен таратылған есептеуіш жүйелерге арналған паралельді бағдарламалардың өңдеуіне осы сәтте негізгісі болып табылады. MPI қолдану есептеуіш жүйесін анықтауға мүмкіндік береді және процесорлар арасындағы (мәліметтерді жіберу) ақпараттық әрекеттестікті ұйымдастырады. MPI термині мынаны білдіреді, бір жағынан, стандарт, хабарлаулардың құралдарын тапсыру ұйымдарын тиісті қанағаттандару, ал басқа жағынан, бағдарламалық кітапхана белгілейді, хабарлаулардың тапсыру мүмкіншілігін қамсыздандырады және MPI стандарты талаптарына мыналар жанында бәрі талапқа сай келеді.
5.1 бөлімінде MPI стандарты үшін негіз болатын, қатар ұғымдары және анықтамалары қарастырылған. Көбінде бір уақытта орындалатын процестерге паралельді бағдарламаға> ұғымы беріледі. Сонымен қатар процесс әртүрлі процесорда орындала алады, біріқ бір процесорда бірнеше процесс орналаса алады(олардың атқарылуы уақыттардың бөліну тәртібінде жүзеге асады). Кейінірек хабарламаны жіберу операциясына қысқаша міездеме беріледі, мәлімет түрі, комуникатор және виртуалды топологияға..
5.2 бөлімінде MPI қолданып паралельді бағдарламаны өңдеу жылдам және ақырын өткізіледі. Баяндалатын материал бөлімшесінде әр түрлі қиын деңгейлі паралельді бағдарламаларының өңдеу басына арналғаны жеткілікті.
5.3 бөлімінде мәліметтерді жіберу операциясын екі процес арасында байланыстыру. Осында орындалу тәртіптері бар болатын толық даярлықтардың сипаттамалаы- стандарты, синхроны, буферленген. Барлық қаралған операция артынан аралық процестермен ұйымдар-айырбастар мүмкіншілігі талқыланады.
5.4 бөлімінде мәліметтерді топтық жіберу операциясы қарастырылған. Материал баяндауы 3 тақырыпта қолданылған комуникациялы операциялардың зерттеу жүйелерінің талаптарына сай болады. Берілген бөлімшеде негізгі шығару мынада, MPI процесс арасындағы барлық негізгі операцияны ақпараттық ауыстыруды қамтамасыз етеді.
5.5 бөлімінде MPI мәліметтердің еркін типтерінде қолданумен байланысты материал берілген. Бөлімде еркін типтерді құрастырудың барлық негізгі – үзіліссіз, векторлық, индекстік және құрылымдық әдістері көрсетілген. Сонымен қатар мәліметтердің топтау және таратудың көмегімен күрдел хабарламаларды жүйелеу мүмкіндігі қарастырылады.
5.6 бөлімшесінде топтарды басқару процессі мен коммуникаторлар сұрақтары талқыланады. Бөлімде қарастырылатын MPI мүмкіндіктері: ұжымдық операциялар әрекеттерін және өзара ықпал етуді және әр түрлі қатар бағдарламаларды болдырмау облысын басқарады.
5.7 бөлімшесінде виртуалды топологияны қолдану бойынша MPI мүмкіндіктері қарастырылады. Бөлімде MPI – ға сүйенетін топологиялар көрсетілген, тікбұрышты торлар – кез келген керек түрдің қажет өлшемі және граф топологиясы.
5.8 бөлімшесінде MPI туралы қосымша мәліметтер келтіріледі. Соның қатарында Fortran алгоритмдік тілінде MPI қолданылыумен қатар жүретін бағдарламалардың өңделу сұрақтары талқыланады, MPI бағдарламасының орындалуына қысқаша сипраттама береді және MPI-2 тұрақтысының қосымша мүмкіндіктеріне шолу жасалынады.
Өзін өзі тексеру тапсырмасы.
5.2 бөлімшесі.
1. Вектор элементтерінің арасынан минималды (максималды) мәндерін табатын бағдарлама құрастыр.
2. Екі вектордың скаляр көбейтіндісін есептейтін бағадарлама құр.
3. n байтты ұзындықты хабарлаиманың алмасудың екі процессті бағдарламасын құр. Эксперименттерді орындап және мәліметтердің берілу операциясының орындалу уақытын хабарлама ұзындығына қатысты бағаланыз. Хокни моделі бойынша құрылған теориялық бағалауларды салыстырыңыз.
5.3 бөлімшесі.
4. Бұрын құрылған бағдарламалардың, әр түрлі мәліметтердің берілу операциясының орындалу режимдегі тәсілдерін дайындаңыз. Әр түрлі жұмыс режиміндегі мәліметтердің берілу операциясының орындалуының куақытын салыстырыңыз.
5. Мәліметтердің берілу операциясының орындалу тәсіліне шек қойылмай қолданылатын бұрын құрылған бағдарламалардың тәсілдерін дайындаңыз. Мәліметтердің берілуін толық біріктіру және есептеу үшін есептелген операциялардың санын бағалаңыз. Мәліметтердің берілуін күту кезінде ешқандай кедергісіз есептейтін бағдарлама құрыңдар.
6. Бір уақытта тапсырмаларды орындау және мәліметтреді беру операциясының қолданылуымен 3 тапсырманы орындаңыз. Есептелген тәжірибелердің нәтижелерін салыстырыңыз.
5.4 Бөлімшесі.
7. Әрбір MPI ұжымдық операциялары бар мысалдардың бағдарламасын құрыңыз.
8. Процесстер арасындағы жұптық алмасудың көмегімен ұжымдық операциялардың жүзеге асу бағдарламасын құрыңыз. Тәжірибелік есептеулерді орындаңыз және өңделген бағдарламалардың орындалу уақытын және ұжымыдық операциялар үшін MPI функциясын салыстырыңыз.
9. Тәжірибелерді орындап және жиналған, өңделген және барлық процесстерге мәліметтерді тарату (MPI_Allreduce функциясы) операцияларын жүзеге асыратын әр түрлі алгоритмдер үшін нәтижелерін салыстыратын бағдарлама құр.
5.5 бөлімшесі
10. MPI – да мәліметтердің туынды типтерін құрастыру тәсілдерінің әр біреуі үшін мысал болатындай бағдарлама құрастыр.
11. Мәліметтерді топтау және тарату функцияларына мысал болатындай бағдарлама құрастыр.
12. Жолдар, бағандар және матрица диогналдары үшін мәліметтредің туынды типін құрастыр.
13. Қарастырылған функциялардың ішінен прцесстерді басқару және коммуникаиторлар үшін мысал болатын бағдарлама құр.
14. Көптеген процесстерді тіктөртбұрышты торлар түрінде көрсететін бағдарлама құрастыр. Әрбір процесстердің жолдары және бағаналары үшін коммуникаторлар құрыңдар. Барлық процесстер үшін және құрылған коммуникаторлардың біріне ұжымдық операцияны орындаңдар. Операцияның орындалу уақытын салыстырыңдар.
15. Әр түрлі коммуникаторлар процесстері арасында мәліметтерді беру бағдарламасына өз беттеріңше, мысал құрастырыңдар.
5.7 бөлімшесі.
16. Декарттық топология үшін мысал болатын бағдарлама құрастыр.
17. Граф топологиясына мысал болатын бағдарлама құрастыр.
18. Кейбір қосымша виртуалды топология (жұлдызша, ағаш т.б) құратын ішкі бағдарлама құрастыр.
Әдебиеттер:
MPI туралы ақпарат алынған бірнеше қайнар көздері бар. Ең бірінші ол MPI тұрақтысымен сипатталған Интернет ақпараттық ресурсы: http://www.mpiforum.org/. Одна из наиболее распространенных реализаций MPI ең көп тараған оқулықтарының бірі –MPICH кітапханасы –http://www-unix.mcs.anl.gov/mpi/mpich (MPICH2 кітапханасы мен MPI-2 тұрақтсы http://www-unix.mcs.anl.gov/mpi/mpich2 құрамында көрсетілген) сайтында көрсетілген. MPI туралы орыс тіліндегі материалдар http://www.parallel.ru/ сайтында баяндалған.
Жарияланған мақалалардың ішінде [4, 40 – 42, 57] жұмыстары ұсынылады. MPI-2 тұрақтысының сипатталуы [42] алуға болады. Орыс тіліндегі шығарылымдардың ішінде [2, 4, 12] жұмыстары ұсынылады.
Тағы бір айта кететін жайт [63] жұмыс, MPI зерттелуі паралель бағдарламалау – матрицалық есептеулер, сұрыптау, графтарды өңдеу және т.б типтік тапсырмалар мысалында жүзеге асады.
Достарыңызбен бөлісу: |