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

КІРІСПЕ
5
1 ПАРАЛЛЕЛЬДІ ЕСЕПТЕУ, ПАРАЛЛЕЛЬДІ КОМПЬЮТЕР ЖӘНЕ АППАРАТТЫҚ ҚАМТАМАСЫЗДАНДЫРУ

1.1 Параллелизм, параллелизм деректері, есебі және параллелизмді қолдану 6
1.2 Параллельді компьютерлердің классификациясы 11
1.3 Параллельді компьютерлердің типтері және таксономия жасау тәсілдері 20

2 ПАРАЛЛЕЛЬДІ БАҒДАРЛАМАЛАУ ОРТАСЫ

2.1 Параллельді бағдарламалаудың технологиясы 27
2.2 OpenMP параллельді бағдарламалау технологиясы және С++ алгоритмдік тілде қолдану 33
2.3 Параллельді бағдарламалаудың бағалану тиімділігі 58

3 OPENMP ПАРАЛЛЕЛИЗМ ҰЙЫМДАСТЫРУДА ҚОЛДАНУ

3.1 Тізбектелген әдіспен Дирихле есебін шығару 61
3.2 Параллельді есептеуіште жалпы жадтар жүйесін ұйымдастыру 63
3.3 Параллельді есептеуіште таратылған жадтар жүйесін ұйымдастыру 79

ҚОРЫТЫНДЫ 88

ҚОЛДАНЫЛҒАН ӘДЕБИЕТТЕР ТІЗІМІ 89

ҚОСЫМШАЛАР

Қосымша А . Бағдарлама листингі
Қосымша Б . Бағдарлама листингі
Қосымша В . Жобаның графикалық компьютерлік слайды
КІРІСПЕ

Жұмыстың жалпы сипаттамасы. Бұл жұмыс параллельді есептеу жүйелерін зерттеуге, дамуын талдауға бағытталған, параллельді бағдарламалау саласында есептерді шешуге арналған тікелей есептеуішті қолдану мүмкіндігін алатын параллельді есептеу жүйелері үшін параллеизм, параллелизм деректерін, параллельді бағдарламалаудың негізгі технологиясы үшін кейбір математикалық есептердің күрделігінің сипаттамаларын қарастыруға арналған.
Жұмыстың өзектілігі. Бұл қазіргі заманауи параллельді компьюютерлердің түрлерін және параллельді бағдарламалау тілдерін зерттеу және қарастыру, сонымен қатар жалпыға бірдей тәжірибелік қолдану үшін программалар кешенін қалыптау. Оны жүзеге асыру төмендегілерден тұрады:
- қазіргі параллельді есептеуіш жүйелерді, параллельді бағдарламалау тілдерін, параллельді бағдарлмаларды, параллельді есептеуіш жүйелердің қазіргі даму күйін анықтаудан, сонымен бірге параллель есептеуіш жүйелерді анықтау;
- әмбебап және арнайы ЭЕМ классификаицяларының құрылымын зерттеу;
- адамның ЭЕМ- мен әрекетенің бағдарламалық С++ тілінде OpenMP -нің мүмкіндіктерін параллельді есептеуде, эксперименталды зерттеу және зерттеу нәтижелерін тәжірибеге енгізу.
Зерттеудің нысаны: OpenMP-ні параллелизм ұйымдастыруда қолдану тәсілдерін зерттеу.
Зерттеудің пәні: Параллельді есептеуіш пәніне негізделіп, параллельді қолданудың әдіс тәсілдерін қарастыру.
Зерттеу әдістері. Диссертацияда параллелизмнің қолдану аймағымен оның негізгі ерекшеліктерін қарастыру.
Ғылыми жаңалығы. OpenMP параллелизм ұйымдастыруда қолданудың жаңа жақтырын қарастыра отырып, параллелизм ұйымдастыруда дифференциалдық теңдеулерді шешу, оның нәтижесін алу.
Тәжірибелілік құндылығы. Параллельді есептеуіш жүйелер – ол физикалық компьютерлер, және де көптеген есептеуіш түйіндерде әртүрлі әдістермен мәліметтерді параллельді өңдеуді жүзеге асыратын бағдарламалық жүйелер. Есептерді қайта параллельдеу көптеген есептердің бір уақытта шешілуі мүмкін кіші есептердің жиынтығына негізделеді.
Зерттеу жұмысының жариялылығы. Диссертация жұмысының нәтижелері ІІІ халықаралық ғылыми-тәжірибелік «Жас ғалым-2009» (ғылыми оқулар) конференциясының материалдарында, М.Х.Дулати атындағы ТарМУ магистрант, аспирант, докторанттардың 4 республикалық ғылыми-тәжірибелік конференциясының материалдарында жарияланды.
ҚОЛДАНЫЛҒАН ӘДЕБИЕТТЕР ТІЗІМІ
1. Гергель В.П. Теория и практика параллельных вычислений. – СПб.: Бином, 2007. – 424с.: ил.
2. Шпаковский Г.И. Программирование для многопроцессорных систем в стандарте MPI. – СПб.: Минск, 2002. – 323с.: ил.
3. Антонов А.С. Введение в параллельные вычисления. – СПб.: Москва, 2002. – 69с.: ил.
4. Гергель В.П., Стронгин Р.Г. Основы параллельных вычислений для многопроцессорных вычислительных систем. - Н.Новгород, ННГУ, 2001.
5. Богачев К.Ю. Основы параллельного программирования. - М.: БИНОМ. Лаборатория знаний, 2003.
6. Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. - СПб.: БХВ-Петербург, 2002.
7. Немнюгин С., Стесик О. Параллельное программирование для многопроцессорных вычислительных систем - СПб.: БХВ-Петербург, 2002.
8. Афанасьев К.Е. и др. Многопроцессорные вычислительные системы и параллельное программирование. - Кемерово: Кузбассвузиздат, 2003.
9. Головашкин Д.Л. Методы параллельных вычислений. Ч. 1. - Самара: Самар. гос. аэрокосм, ун-т, 2002.
10. Головашкин Д., С.П. Головашкина С.П. Методы параллельных вычислений. Ч. 2: . - Самара: Самар. гос. аэрокосм, ун-т, 2003.
11. Деменев А.Г. Параллельные вычислительные системы: основы программирования и компьютерного моделирования. - Пермь: ПГПУ, 2001.
12. Дацюк В.Н. и др. Методическое пособие по курсу "Многопроцессорные системы и параллельное программирование. - Ростов-на-Дону: РГУ, 2000.
13. Дорошенко А.Е. Математические модели и методы организаций высокопроизводительных вычислений. Киев: Наукова думка, 2000.
14. Соколинский Л.Б. Иерархический параллелизм: новая парадигма программирования //Информационный бюллетень Ассоциации математического программирования. -№11.-Екатеринбург:УрО РАН. -2007. Аксенова Е.В., Цымблер М.Л. Использование технологий MPI и OpenMP для организации обменовсообщениями в вычислительных системах с кластерной архитектурой // Параллельные вычислительные технологии: Труды международной научной конференции (29 января - 2 февраля 2007 г., г. Челябинск).-Челябинск: Изд-во ЮУрГУ. - 2007. -Т. 2. -С. 282
15. Антанов А.С., Параллельное программирование с использованием технологии OpenMP СПб.: Москва, 2009
16. Воеводин В.В., Вычислительная математика и структура алгоритмов СПб.: Москва, 2009
17. Гергель В.П., Стронгин Р.Г., Основы параллельных вычислений для многопроцессорных вычислительных систем Издательство Нижегородского госуниверситета: Нижний Новгород 2003
        
        КІРІСПЕ
Жұмыстың жалпы сипаттамасы. Бұл жұмыс параллельді есептеу жүйелерін
зерттеуге, дамуын талдауға ... ... ... ... шешуге арналған тікелей есептеуішті қолдану мүмкіндігін
алатын параллельді ... ... үшін ... ... ... ... ... технологиясы үшін кейбір
математикалық есептердің күрделігінің сипаттамаларын қарастыруға арналған.
Жұмыстың өзектілігі. Бұл қазіргі ... ... ... және ... ... тілдерін зерттеу және қарастыру,
сонымен қатар жалпыға бірдей тәжірибелік қолдану үшін ... ... Оны ... асыру төмендегілерден тұрады:
- қазіргі параллельді есептеуіш жүйелерді, параллельді бағдарламалау
тілдерін, параллельді бағдарлмаларды, параллельді ... ... даму ... ... сонымен бірге параллель есептеуіш
жүйелерді анықтау;
- әмбебап және арнайы ЭЕМ классификаицяларының ... ... ... ЭЕМ- мен ... ... С++ ... OpenMP -нің
мүмкіндіктерін параллельді есептеуде, эксперименталды ... ... ... ... енгізу.
Зерттеудің нысаны: OpenMP-ні параллелизм ... ... ... ... ... есептеуіш пәніне негізделіп, параллельді
қолданудың әдіс тәсілдерін қарастыру.
Зерттеу ... ... ... ... аймағымен оның
негізгі ерекшеліктерін қарастыру.
Ғылыми жаңалығы. OpenMP ... ... ... ... ... ... ... ұйымдастыруда дифференциалдық
теңдеулерді шешу, оның нәтижесін алу.
Тәжірибелілік құндылығы. Параллельді есептеуіш жүйелер – ол физикалық
компьютерлер, және де ... ... ... ... ... параллельді өңдеуді жүзеге асыратын ... ... ... ... ... ... бір ... шешілуі мүмкін
кіші есептердің жиынтығына негізделеді.
Зерттеу жұмысының жариялылығы. Диссертация жұмысының нәтижелері ІІІ
халықаралық ... «Жас ... ... ... ... ... атындағы ТарМУ магистрант,
аспирант, докторанттардың 4 ... ... ... жарияланды.
Диссертация құрылымы мен көлемі. Диссертация кіріспеден, 3 тараудан,
қорытынды, қолданылған әдебиеттер тізімінен, 2 қосымшадан, 29 суреттен және
6 ... ... ... ... Бұл жұмыс параллельді есептеу жүйелерін
зерттеуге, дамуын талдауға ... ... ... есептерді шешуге арналған тікелей есептеуішті қолдану мүмкіндігін
алатын ... ... ... үшін ... ... ... бағдарламалаудың негізгі технологиясы үшін кейбір
математикалық есептердің күрделігінің сипаттамаларын қарастыруға арналған.
Жұмыстың өзектілігі. Бұл қазіргі заманауи ... ... және ... ... ... ... және ... қатар жалпыға бірдей тәжірибелік қолдану үшін программалар кешенін
қалыптау. Оны жүзеге асыру төмендегілерден тұрады:
- қазіргі параллельді ... ... ... ... ... ... параллельді есептеуіш жүйелердің
қазіргі даму күйін ... ... ... ... ... ... ... және арнайы ЭЕМ классификаицяларының құрылымын зерттеу;
- адамның ЭЕМ- мен әрекетенің бағдарламалық С++ тілінде OpenMP ... ... ... ... ... ... нәтижелерін тәжірибеге енгізу.
Зерттеудің нысаны: OpenMP-ні параллелизм ұйымдастыруда ... ... ... ... ... ... ... параллельді
қолданудың әдіс тәсілдерін қарастыру.
Зерттеу әдістері. Диссертацияда параллелизмнің қолдану ... ... ... ... ... OpenMP ... ... қолданудың жаңа
жақтырын қарастыра отырып, ... ... ... ... оның ... ... ... Параллельді есептеуіш жүйелер – ол физикалық
компьютерлер, және де көптеген ... ... ... ... ... ... жүзеге асыратын бағдарламалық жүйелер.
Есептерді қайта параллельдеу көптеген есептердің бір уақытта шешілуі ... ... ... ... ... ... Диссертация жұмысының нәтижелері ІІІ
халықаралық ғылыми-тәжірибелік «Жас ... ... ... ... ... атындағы ТарМУ магистрант,
аспирант, ... 4 ... ... ... ... құрылымы мен көлемі. Диссертация кіріспеден, 3 тараудан,
қорытынды, қолданылған әдебиеттер тізімінен, 2 ... 29 ... ... ... ... ... ЕСЕПТЕУ, ПАРАЛЛЕЛЬДІ КОМПЬЮТЕР
ЖӘНЕ АППАРАТТЫҚ ҚАМТАМАСЫЗДАНДЫРУ
1. Параллелизм, параллелизм деректері, параллелизм есебі және
параллелизмді қолдану
Параллельді есептеуіш жүйелер – ол ... ... және ... ... ... ... әдістермен мәліметтерді параллельді
өңдеуді жүзеге ... ... ... ... қайта параллельдеу
ойы көптеген есептердің бір ... ... ... кіші ... ... ... ... есептеулер әрекеттердің
координациясын талап етеді. Параллельді есептеулер бірнеше формаларда ... ... ... нұсқаулықтар негізіндегі параллелизм,
мәліметтердің параллелизмі, ... ... ... есептеулер
көп жылдар бойы жоғары өнімді есептерде қолданылды, бірақ соңғы кездерде
оларға процессорлардың ... ... ... ... ... ... ... көбейді. Параллельді есептеулер компьютерлер ... ... ... ... доминирлеуші парадигма болды.
Бірнеше әрекеттің бір мезгілде орындалуы үшін жүргізілетін мәліметтерді
параллель ... екі түрі бар: ... және ... ... Егер бір ... бір уақыт бірлігінде бір операция
орындаса, онда мың ... мың ... ... Егер ... ... ... ... бір-біріне тәуелсіз бес құрылым болса, онда
жүйе мың операцияны мың уақыт бірлігінде ... екі жүз ... ... Осыған ұқсас Ν құрылымды жүйе осындай жұмысты шамамен 1000/ Ν
уақыт бірлігінде орындайды,
Конвейерлік өңдеу. Құбылмалы үтір ... ... екі ... қосу үшін не қажет? Көптеген операциялар жиынтығы қажет. Алғашқы
компьютерлердің процессорлары мұндай майда операцияларды соңына ... соң ... ... ... соң ғана ... қосылғыштарды орындауға
көшетін.
Конвейерлік өңдеудің мәні жалпы операцияларды орындаудың жекелеген
кезеңдерін бөлу, ... ... ... ... ... орындап болып,
нәтижесін келесі кезеңге береді де, өзі жаңа ... ... ... ... ... өңдеу жылдамдығын арттырамыз.
Мысалы, операцияда бес шағын ... ... ... әрқайсысын
орындауға уақыт бірлігі кетеді. Егер ... ... ... ... 100 жұп аргументтерді ол 500 бірлікте орындайды. Егер әрбір шағын
операцияны конвейерлік құрылымның жеке ... ... онда ... ... ... 5 жұп аргумент болады, әрбір ... бір ... соң ... ... яғни ... ... жылдамдық бес есе жоғары болады.
Жалпы жағдайда да осыған ұқсас болады. Егер ... ... l ... онда әрбір басқыш бәр уақыт бірлігінде жұмысқа қосылады,
онда өңдеу уақыты n ... ... ... ... ,
құрады. Егер құрылымды тізбекті режимде пайдаланса, ... ... ... ... өңдеуді пайдалану есебінен
жылдамдық 1 есе жоғары болады.
Конвейерлік өңдеуді қарапайым параллель ... ... ... ... ... жүйе құны мен күрделіліг конвейрелік нұсқасының құны
мен күрделігімен ... ... ал ... ... деңгейде.
Параллелизм бағдарламаны жазу үшін онда бір мезгілде ... ... ... ... және ... ... қандай
құрылыммен, конвейердің қандай басқасында орындалғанына байланыссыз
екендігін анықтау ... ... ... ... ... ... бар не
жоқтығымен анықталады. Бағдарламаның екі операциясы бір ... ... ... ... ... қолданылса, ақпараттық тәуелділік деп
аталады. Егер операция В А операциясына ... ... ... ... ... А операциясы орындалған соң ғана орындалады. Бір ... А және В ... ... ... ... онда алгоритм олардың
орындалу тәртібіне ешқандай шектеу қоя алмайды. ... ... ... одан ... ... ... жеткілікті түрде
табуға әкеледі, оларды есептеу құрылымдары арасында тарату, синхрондылықты
қамтамасыз ету болып табылады.
Ақпараттық ... ... ... ... ... ... ... тәуелсіздіктің барлық жиынтығыны зерттеу нақты бағдарламада
күрделі міндет ... ... ... ... операторлардан тұратын
бағдарламаныны елестету ... және ... ... ... ... десек, туындайтын мәселелер күрделене түседі.
Міндеттер мен ... ... үшін ... ... ... ... қажет.
Мұндай графалардағы ең биік тұғыр бағдарламаның кейбір операциялары
танылады, егер екі ... ... ... ... ... бұл
операцияларға сәйкес келетін биіктер ... ... ... ... ... биіктік, соңы ретінде–ақпарат–тұтынушы
биіктік танылады. Графты зерттеуді оңайлату үшін доға саны аз ... ... егер ... екі ... ... байланысса оны
тәуелділіктің ең аз графы деп атайды. Ең аз граф тәуелсіздігінің ... тиіс ... ... ... ... Егер ... ... жеке қосылулары сәйкес ... ... ... ... ... тарихы деп аталады. Ақпараттық ... ... ... ... ... ... ... мәлімет береді, сондықтан бағдарламаға талдау ... ... ... ... ... Алайда талдау жасаудың
күрделілігі мынада, қарапайым жағдайда алынатын ... ... ... және
талдауға болатын болса, ал үлкен ... ... ... ... ... ... ... орталық процессор, кэш және
жады болып табылады. Біртекті процессордың архитектурасын жақсартудың түрлі
әдістері бар:
1. Жинақтаушының төрт ... ... ... ... ... біреуінің орнына қосушы;
2. Өткізу жолағын үлкейту үшін екі немесе одан да көп жады ... ... ... Бір ... ... ... ... көбейту үшін екі немесе
бірнеше процессорларды қосу;
4. Барлық компьютерлердің жұмысы бірге бір бағдарламаны шешуге
бағытталуы үшін толық компьютерді қосу.
Параллелизм ... ... ... ... ... деңгейінің параллелизмі;
- бағдарлама деңгейінің параллелизмі;
- команда деңгейінің ... ...... ... ... ... – параллелизмдіктің ең жоғарғы
деңгейі. Мысалы, зертханалық немесе ... ... ... ... ... ... Бұл үлкен компьютерлік жүйелерді сатып
алумен қол жеткізетін нәрсе, ... ... ... ... ... кез ... ... басқаларға қарағанда жылдамырақ
орындалады.
Тапсырма деңгейінің параллелизмділігі бір компьютер ... ... ... және ... ... ... ... атқарады.
Параллелизмдіктің берілген түрінің үлгісі – бірнеше тапсырмалар тұрақты
жадында бір ... ... тек ... кез ... уақытта орындалады.
Егер бұл ... ... ... ... ... ... онда
операция басталып, тапсырма ... ал ... ... ... ... ... енгізу-шығару операциясы аяқталып,
берілген деректерге қол жеткізген соң ... ... ... ... ... ... деңгейінің параллелизмі – бағдарлама деңгейінің
параллелизмділігі бір бағдарламаның ... ... ... кезде жүзеге
асады. Мысалы, С=АхВ матрицасының қорытындысы матрицаларды квадраттарға
бөлу жолы арқылы есептелуі ... |С11 |= |А11 |
| |k |t |
| |k |t |k |t |S ... |5257 |1,39 |5257 |0,73 |1,90 ... |23067 |23,84 |23067 |11,00 |2,17 ... |26961 |226,23 |26961 |29,00 |7,80 ... |34377 |562,94 |34377 |66,25 |8,50 ... |56941 |1330,39 |56941 |191,95 |6,93 ... |114342 |3815,36 |114342 |2247,95 |1,70 ... |64433 |2927,88 |64433 |1699,19 |1,72 ... |87099 |5467,64 |87099 |2715,73 |1,99 ... |286188 ... |286188 ... |1,93 ... |152657 ... |152657 |7397,60 |1,93 ... |337809 ... |337809 ... |1,91 ... |655210 ... |655210 |129728,13 |1,91 |
(k – ... ... t – ... ... S – ... ... ... тәуелділіктерін жоюына арналған
сызбалардың алмасуының жұптарын және ... ... ... ... scheme) ... егер ... ... әдісімен екі тізбектелген
кезеңге бөлініп орындалады, бірінші жұп жолдарының ... ... ... ... ... тақ ... нөмері өңделеді (Сурет 3). Берілген
сызбасы бірдзей уақытта ... және ... ... және ... ... ... аймағындағы есептеулерде де қорытындылайды.
Сурет 3.6. Алмасудағы жұп және тақ жолдарының өңделу сызбасы
Сызбаны ... ... ... ... ... әдісімен
салыстыруды қажет етпейді, кез келген қосымша жадтар және бірдей мағыналы
шешімдерді бағдарламаны ... ... ... етеді. Бірақ қарап
отырсақ, қарастырылған екі деректерде де нәтиже алуға болатын көрдік, бірақ
Дирихле есебінің шешімімен және ... ... ... ... ... басқа, есептеуіш сызбалар кішігірім аймаққа ие және
жылдамдығы өте нашар, Гаусс-Зейдель ... ... ... ... ... толқын сызбасы
Енді параллельді алгоритмдердің құрылуын қарастырамыз, яғни тек қана
есептелінетін әрекеті бар ғана орындалады және ... ... ... ... ... ... шешімінің алынумен қамтамасыз
етеді.
Жоғарыда атап кеткендей, тізбектелген алгоритм әрбір k кезеңімен
белгісіне жақындайды, ... k және ... ... және ... алдындағы (k-1)-ге және белгілеріне
жақындай түседі. Нәтижесінде, тізбектелген есептеулердің ... келу ... және ... ... ... ... әрбір
итерация әдісімен тек бір ғана қайта есептелуі мүмкін. Одан ... ... ... соң ... және екі ... ... ... (бұл түйінде тізбектелген сызбалар шарты
орындалады), осыдан кейін және ... ... - ... ... ... ... ... айтқанда,
итерацияның тор әдісімен орындалуы тізбектелген ... ... ... ... ... ... ... торлар нөмірінің
диагоналімен болады, бұл кезеңдегі нөмірлерді анықтаған.
Нәтижеде есептеуіш сызбаның толқынына ие ... ... ... деп аталады, алынған алгоритмдер негізі – ... ... ... ... or ... ... кететін болсақ, біздің жағдайда толқындар мөлшері динамикалық
есептеулер қадамы өзгереді – ... ... ... ... ... ал оң жақ ... ... жақындай түседі.
Кесте 4. Гаусс – Зейдель (p=4) алгоритмнің ... ... ... ... нәтижесі
|Торлар |Тізбектелген |Параллельді ... ... ...... 3.5 ... 3.6 |
| ... (алгоритм| | |
| |3.1) | | |
| |k |t |k |
| |k |t |k |
|k |t |k |t |S |k |t |S | |100 |210 |0,06 |210 |0,71 |0,08 |210 ... | |200 |273 |0,35 |273 |0,74 |0,47 |273 |1,06 |0,33 | |300 |305 ... |1,04 |0,88 |305 |2,01 |0,46 | |400 |318 |1,69 |318 |1,44 |1,18 ... |0,64 | |500 |343 |2,88 |343 |1,91 |1,51 |343 |3,60 |0,80 | |600 ... |336 |2,39 |1,69 |336 |4,63 |0,87 | |700 |344 |5,68 |344 |2,96 ... |5,81 |0,98 | |800 |343 |7,37 |343 |3,58 |2,06 |343 |7,65 |0,96 | ... |9,94 |358 |4,50 |2,21 |358 |9,57 |1,04 | |1000 |351 |11,87 |351 ... |351 |11,16 |1,06 | |2000 |367 |50,19 |367 |16,07 |3,12 |367 ... | |3000 |364 |113,17 |364 |39,25 |2,88 |364 |85,72 |1,32 | |
(k – ... саны, t – секундтағы уақыт, S – жылдамдығы)
Блокта көрсетілген торларды толқын ... ... ... ... ... ... торлар мөлшерімен  
() және процессорлар 0-ден бастап солға оңға ... ... ... ... ... мынадай түрде болады:
// Алгоритм 3.9
// Гаусс –Зейдель сызбасының деректерді бөлу ... ... ... ... ... ... получение граничных узлов
  if ( ProcNum / NB != 0 ) { // ... емес ... // ... ... ... ... Receive(u[0][*],M+2,TopProc); // жоғары жол
  Receive(dmax,1,TopProc); // қателік
}
if ( ProcNum % NB != 0 ) { // нөлдік емес ... сол жақ ... ... ... ... // сол жақ ... ... қателік
  If ( dm > dmax ) dmax = dm;
}
// < dmax ... ... ... ... шектеулерін жіберу
if ( ProcNum / NB != NB-1 ) { // соңғы емес торлар жолдары
 // процессорлар арасында деректерді жіберу
  ... // ... ... ... ( ProcNum % NB != NB-1 ) { // ... емес торлардың бағандары
  // оң жақ процессорларға деректер жіберу
  ... // оң жақ ... ... синхронизация және dmax қателіктерін жіберу
  Barrier();
  ... while ( dmax > eps ); // eps – ... ... ... Barrier() функциясы синхронизация ұжым
операциясын ... яғни ... ... осы процедураларды
шақырғаннан кейін барып, олар орындалуын тоқтатады.
Зер салып қарайтын болсақ, алгоритмдерді ұйымдастыру қамтамасыз ... ... ... ... процессорлар хабарлама жіберуге дайындалып
тұрады. Есептеуді сол жақ жоғары блоктағы ... ... ... аяқтаған соң оң жақ бағанадарды және төменгі жолдар ... оң жақ және ... ... торларына сәйкес өткізіп жіберу
керек. Бұл әрекеттер процессорлардағы тосқауылдарды алып ... ... ... толқын есептеу жүйесіндегі таратылатын
жадтармен ... ... ... ... ... төмендетуілерді көрсетіп отырады, деректерді өңдеу барысындағы
мүмкіндіктері блоктағы толқындар есептеуімен сәйкес түседі. Бұл жүктеуді
теңестіріп, олар ... ... ... үлкен көлемдерімен
байланысты. Мұндай жағдайды жақсарту үшін есептеуіштің көптік ... ... ... ... толқындарды өңдеп алдыңғы
итерацияларды есептеу келесі толқындардағы торлар ... ... ... ... 0, ... ... өңдеп болғаннан кейін барып
деректердің шектеулерін беріп және оны ... 1 және 4 ... ... ... итерация Гаусс – Зейдель әдісімен орындалуға
дайындалады. Блокты өңдеуден кейін бірініші (1 және 4 ... ... (0 ... ... ... ... топтардағы
процессорларға ауысады (бірінші толқын процессорлары үшін 2, 5, және 8,
екінші толқындағы процессорлар үшін 1 және 4). ... ... 0 ... толқын деректерін өңдеуге дайын. Орындалған соң NB қадамы бірдей
уақытта NB итерациясында өңделеді және ... ... іске ... ... ... ... ұйымдастыруда бар процессорлардың торларын
есептеуіш конвейер кезеңдері итарцияларды торлар әдісімен орындап ... ... үшін ... ... ... ... Атап
айтатын болсақ, алынған Дирихле есебінің шешілімінің шарттарын тоқтату үшін
торлар түйініндегі белгілерден бастап ... ... ... ... ... ... ... көмегімен алынды.
Сурет 3.12. Толқын есептеулерін блоктағы деректерді бөлі сызбасымен
ұйымдастыру
ҚОРЫТЫНДЫ
Бұл ғылыми-зерттеу жұмысында параллельді компьютерлердің типтерін
анықтау, ... ... ... ... ... ... ... анықтау.
Параллельді есептеуіш жүйесіндегі ... ... және ... ... аймақтарын, параллелизм деректерін және
есебін, параллельді компьютерлердің классификациясымен және олардың
типтері, жаңа ... ... ... ... ... ортасының
негізгі ерекшеліктері, олардың айырмашылықтарын және олардың тиімділігі,
OpenMP -ні параллелизм ұйымдастыруда ... ... ... ... қолдану тәсілдері, параллельді есептеуіште жалпы жадтар
жүйесін және ... ... ... ... жүйесін
ұйымдастырудың негізгі жақтарымен тығыз зерттеумен байланысты.
Есептерді қайта ... ойы ... ... бір ... ... кіші есептердің жиынтығына негізделеді. Әдетте параллельді
есептеулер әрекеттердің координациясын ... ... ... есептеулер
бірнеше формаларда бар: биттер деңгейіндегі параллелизм, ... ... ... ... ... ... ... көп жылдар бойы жоғары өнімді
есептерде қолданылды, бірақ соңғы кездерде ... ... ... ... ... ... бар ... сұраныс көбейді.
Параллелизм бағдарламаны жазу үшін онда бір ... ... ... ... ... және ... процессормен, қандай
құрылыммен, конвейердің ... ... ... ... ... керек.
Параллельді компьютерлердің классификаицияларын анықтап, оларға қысқаша
сараптама жасап, ерекшеліктерін зерттеу, параллельді компьютерлердің
типтерін және жаңа ... құру ... ... ... технологиясын зерттеу, оның ішінде
виртуальді машина процесін, МРІ хабарлама жіберу және жыджам ... ... ... зерттеу, оның ерекшеліктерін бағдарламаларды салыстырып,
сараптама жұмыстарын жүргізу.
OpenMP қолданбалы интерфейс бағдарламасының С++ ... ... ... оның ... ... істеу тәсілдерін, С++
тілінде жазылуын анықтау, сонымен қоса ... ... ... ... ... ... ӘДЕБИЕТТЕР ТІЗІМІ
1. Гергель В.П. Теория и практика параллельных вычислений. – СПб.: ... – 424с.: ... ... Г.И. ... для ... ... в
стандарте MPI. – СПб.: Минск, 2002. – 323с.: ... ... А.С. ... в ... ... – СПб.: ... ... 69с.: ил.
4. Гергель В.П., Стронгин Р.Г. ... ... ... ... ... систем. - Н.Новгород, ННГУ, 2001.
5. Богачев К.Ю. Основы параллельного программирования. - М.: ... ... ... ... В.В., ... Вл.В. Параллельные вычисления. - СПб.: ... ... ... С., ... О. ... программирование для
многопроцессорных вычислительных систем - СПб.: ... ... ... К.Е. и др. ... вычислительные системы и
параллельное программирование. - Кемерово: Кузбассвузиздат, 2003.
9. ... Д.Л. ... ... ... Ч. 1. - ... гос. аэрокосм, ун-т, 2002.
10. Головашкин Д., С.П. Головашкина С.П. Методы параллельных вычислений.
Ч. 2: . - Самара: Самар. гос. ... ун-т, ... ... А.Г. Параллельные вычислительные системы: основы
программирования и ... ... - ... ... ... ... В.Н. и др. ... пособие по курсу "Многопроцессорные
системы и параллельное программирование. - Ростов-на-Дону: РГУ, ... ... А.Е. ... ... и ... организаций
высокопроизводительных вычислений. Киев: Наукова думка, 2000.
14. Соколинский Л.Б. Иерархический ... ... ... ... бюллетень Ассоциации математического
программирования. -№11.-Екатеринбург:УрО РАН. -2007. Аксенова Е.В.,
Цымблер М.Л. Использование технологий MPI и OpenMP для ... в ... ... с кластерной архитектурой
// Параллельные вычислительные технологии: Труды ... ... (29 ... - 2 ... 2007 г., г. ... ЮУрГУ. - 2007. -Т. 2. -С. 282
15. ... А.С., ... ... с использованием
технологии OpenMP СПб.: Москва, ... ... В.В., ... ... и ... ... СПб.:
Москва, 2009
17. Гергель В.П., Стронгин Р.Г., Основы параллельных вычислений для
многопроцессорных вычислительных ... ... ... ... Новгород 2003
#include
#include
#include
#include
#include "poissn.h"
/***/
#define NITER 10000
#define STEPITER 1000
#define MX 20000
static float *f[MX], *pf, ... float ... *prhs, ... int ... ... totalmx, partmx, leftmx, mx,
my;
static FILE *fp;
static float *cof, *corhs;
/***/
int main(int argc, char ... i, j, ... ... *pprev, ... addcoeff[10];
/***/
shmem_init(&argc, &argv);
my_number=shmem_my_pe();
n_of_nodes=shmem_n_pes();
if (argc!=3)
{
if (!my_number)
{
fprintf(stderr, "Usage: %s \n", ... ... ... (my

Пән: Информатика
Жұмыс түрі: Дипломдық жұмыс
Көлемі: 89 бет
Бұл жұмыстың бағасы: 6 200 теңге









Ұқсас жұмыстар
Тақырыб Бет саны
Сызықты Навье – Стокс жүйесі үшін кері есептің шешімінің алгоритмін параллельдеу47 бет
Үш корпусты абсорбция қондырғы аппаратын шығын мен концентрациялар параметрлерін реттеуге арналған контроллерді программалау13 бет
Turbo Pascal тіліндегі мәліметтердің күрделі типтері50 бет
Микропроцессорлық техниканың негізгі микроконтроллерлер19 бет
Программалық құралдар4 бет
Сөз тіркестерін өңдеу8 бет
Айнымалы токтың орамалары7 бет
Арифметикалық сумматорлар7 бет
Жылжымалы регистрлер15 бет
Күрделі тізбектерді «үшбұрыш» - «жұлдыз» түрлендіруі арқылы есептеу16 бет


Исходниктер
Пәндер
Көмек / Помощь
Арайлым
Біз міндетті түрде жауап береміз!
Мы обязательно ответим!
Жіберу / Отправить


Зарабатывайте вместе с нами

Рахмет!
Хабарлама жіберілді. / Сообщение отправлено.

Сіз үшін аптасына 5 күн жұмыс істейміз.
Жұмыс уақыты 09:00 - 18:00

Мы работаем для Вас 5 дней в неделю.
Время работы 09:00 - 18:00

Email: info@stud.kz

Phone: 777 614 50 20
Жабу / Закрыть

Көмек / Помощь