- •Шектi элементтер әдiстерi туралы ұғым.
- •7.9 Сурет
- •7.10 Сурет
- •7.11 Сурет
- •13 Дәрiс. Ыдырау әдiстерi.
- •9.2 Сурет
- •9.6 Сурет
- •9.7 Сурет
- •4. Лекция: Газды динамиканың теңдеулерiнiң сандық шешiмiнiң әдiстерiне кiрiспе:
- •4.1 Бiр өлшемдi газ динамика теңдеулердi жазу түрі.
- •4.2 Лакс - Вендроффа және Мак – Кормак әдістері.
- •4.3 Сандық теңдеу шешудегі газ динамикасының торлы сипаттағы әдісі. (м. - к.М.Магомедова - а.С.Холодова) .
- •4.4 Газ динамика теңдеуінің бір өлшемді сандық есептеу жүйесі үшін и.М. Гельфанд айырма сұлбасы.
- •4.5 Харлоу ұяшығындағы бөлшектердiң әдiсi(pic method:Particle - In - Cell)
- •4.6. Өз бетімен шешуге арналған есептер
- •1. Айырымдық сұлбалардың берілуінің ағынды формасы. Бір өлшемді сызықты тасымалдау теңдеуін қарастырамыз
- •Гибридті сұлбалар
- •7.2. Ритцтың әдiсiнiң ортақ схемасы
- •7.3. Галеркиннiң проекциялық әдiсiнiң тұжырымы
- •7.4. Түпкi элементтердiң схеманың құрастыруына мысал
- •7.5. Базистiк функциялардың құрастыруы
- •7.6. Тұрақты теңдеулер үшiн шэә
- •7.7. Сызықты емес теңдеулердiң шэә арқылы шешiмi.
- •7.8. Дербес шешiм үшiн есептер
- •9.1. Неғұрлым аз жолды қолданудың мысалы (Гамильтон)
- •9.2. Газдық динамиканың есептері үшін вариациялық сұлбалар.
- •9.3. Қисық сызықты торда жылу өткізгіштік теңдеу үшін вариациялық сұлба.
- •9.4. Өзіндік шешуге арналған тапсырмалар
- •4. Таралған жады бар кешендер үшiн параллель есептеулер ұйымының үлгiлерi
- •5. Параллель есептеулер ұйымының үлгiсiн таңдауы
- •5.2. Динамикалық үлгi
- •5.3. Статикалық үлгi
- •6. Қорытынды
- •8.1 Ыдырау әдістеріне түсінік
- •8.2. Tau(τ) бойынша бiрiншi және екiншi ретті ыдырау әдiсi
- •8.2.1. Жергiлiктi - бiр өлшемдi схемалар
- •8.4. Факторлар операторының ыдырау әдісі
- •8.4.1. Факторланған ыдырау схемасы Дифференциалдық теңдеуді шешу үшін берілсін
- •8.4.2. Жақын фактордың анық емес ыдырау схемасы
- •8.4.3. Предиктор – корректор әдісі
- •Курсқа арналған кітаптар
- •Әдебиеттер тізімі
4. Таралған жады бар кешендер үшiн параллель есептеулер ұйымының үлгiлерi
Таралған жады бар есептеуiш кешендерiне параллель бағдарламаларының жұмысының тиiмдiлiгi үш құрайтындармен анықталады:
• алгоритмді iшкi қатар тұруды дәрежемен;
• процессор берiлетiн мәлiметтердiң санымен;
• процессорлардың жүктеуiнiң бiр қалыптылықтары дәрежемен.
Өнiмдiлiкке ықпал ететiн басқа факторлар да бар болады. Бірақ оларды есепке алу компиляторлардың өндiрушiлерiнiң құзыры жатады, осы уақытта үш жоғары аталған факторларға жауапкершiлiгi қолданбалы бағдарламашының иықтарына қаптап жатады. Iшкi қатар тұруды дәреже таңдаулы алгоритмды қасиет болып табылады және процессорлардың бiрлескен жұмысының ұйымымен ешқалай байланбаған. Берiлетiн мәлiметтердiң саны және есептеуiш қуаттардың жүктеуiн бiр қалыптылық, керiсiнше, параллель есептеулерiнiң ұйымының үлгiсiмен тiкелей байланған. Алгоритмді параллель болжамының тиiмдiлiктерi талдауда сан емес қолданылады, мәлiмет емес, олардың берiлуiн уақыт. Шеңберiнде бiр есептеуiш кешеннiң мәлiметтерiнiң ылғи бiр санының тапсыру жылдамдығы есептеулердi ұйымның өзара әртүрлi үлгiлерiн салыстыруға мүмкiндiк берген тұрақты арқа сүйей алады. Басқа есептеуiш кешенге өткел үлгiлердiң тиiмдiлiктерiнiң қайтадан салыстыруы талап етедi.
Таралған жады бар көп процессорлық компьютерлiк жүйелер үшiн параллель есептеулерiн үш ұйымның үлгiлерi бар болады: ағынды, динамикалық және статикалық. Мысалда олардың әрқайсыларының ерекшелiгiн қарап шығамыз.
Программалық кодтың келесi бөлiгi берiлсiн:
do k = 1, maxiter
do i = 1, n
a(i) = f(a(i),b(i))
enddo
enddo
print *,a
A және b ның массивтары iшкi цикл үшiн болып табылады (олар есептеулердiң кез келген процессоры үшiн керек болады) . A массивы демалысқа жатады, өйткені "толық" массив бiр процессорда параллель есептеулерiн аяқтаудан кейiн керек болады.
Ағынды үлгi master-workerдың классикалық схемасы бойынша есептеулердi үлгi болады және әр түрлi кодтары бар екi бағдарламалардың бар болуын талап етедi. Барлық есептеулерді қоспағанда, параллель жиiрек алгоритмі, тек қана (master ) бас процессорларда орындалады. Параллель бөлiктерi (workers ) жұмыс процессорларына орындалады. Ағынды үлгiдегi есептеулерiн ұйымның кодтың жоғары келтiрiлген бөлiгi үшiн төмендегiше көрiнедi:
master ( 1 ші бағдарламаның бөлігі )
do k = 1, maxiter
(жұмыс процессорларының теңдеуіш жүктеуі және оларға сәйкес а және b есептеуіш массивтерінің сәйкес бөліктерінің ертерек берілуі )
(келесі қолдану үшін жұмыс процессорлерінен а массивтерінің есептеуіш бөліктерін жинау)
enddo
print *,a
worker ( 2 ші бағдарламаның бөлігі)
( a және b массивтерінен және цикл шекарасынан өз бөлігін алу)
do i = imin, imax
a(i) = f(a(i),b(i))
enddo
(бас процессорға есептелген a массивінің бiр бөлiгiнiң жiберуi)
Кiру мәлiметтерi ағынды үлгiде берiлуге түбегейлi уақыт талап ететiн барлық жұмыс процессорларына қажеттi көлемдерiнде жiберiледi. Шығатын мәлiметтер уақыт кiшiрек керек болатын тек қана бас процессормен жиналады.
Динамикалық үлгi ағынды үлгiнiң өзгерген түрі болып табылады. Оның жұмысы үшiн және жұмыс процессорларына ылғи бiр бастапқы код iске қосылады. Есептеулер (орындауы тек қана бас процессорға тапсыра алған қорытындының операциялары қоспағанда) барлық процессорларда орындалады. Есептеулердi динамикалық ұйымның жанында кодтың бөлiгi келесi түрдi иемдене алады:
do k = 1, maxiter
( процесстердің теңдеуіш жүктеулері)
do i = imin, imax
a(i) = f(a(i),b(i))
enddo
(олардан алған барлық барлық басқа информацияларға және процессорларға a ның есептелген массивының бiр бөлiгiнiң таратуы )
enddo
print *,a (тек негізгі процессорда мүмкін )
Кiру мәлiметтерi динамикалық үлгiде процессорлардың арасындағы ешқашан берiлмейдi. Бұның орнына шығатын мәлiметтердiң параллель ярусының аяқтау бойыншасының толықтай хабарлау таратуы өндiрiп алады. Есептеулердi ұйымның үлгiлерiнiң салыстырмалы тиiмдiлiгi әрбiр параллель бағдарламаның бiр бөлiгi үшiн кiрiс және шығатын мәлiметтердiң санымен анықталады. (және ағынды, және динамикалығы) екi үлгi параллель ярусының орындауын алдында процессорлардың жүктеуiн динамикалық теңдеуiштi тiкелей қолдана алады.
Есептеулердi ұйымның статикалық үлгiсi динамикалыққа ұқсас, бiрақ мәлiметтердiң барлық берiлуi процессорлар бойынша олардың бекiтiлген үлестiрiлулерiмен анықталады. Ол бағдарлама жұмыс уақытында өзгере алмайды. Барлық процессорлар ұқсас есептеулердi орындайды. Параллель ярусының аяқтауларынан кейiн әрбiр процессорда мәлiметтiң ортақ көлемi бар. Деректердi берулермен қажеттiлiк емес анықталады, параллель жиiрек бағдарламасының орындау емес, олардың ары қарай қолдануының әдiсі. Статикалық үлгi үшiн кодтың пiшiндi бөлiгi жазып ала алады:
do k = 1, maxiter
do i = imin, imax
a(i) = f(a(i),b(i))
enddo
enddo
(а массивының есептеуіш бөлігін тарату және жинау)
print *,a (тек бір процессорда мүмкін)
Статикалық үлгi процессорлардың арасындағы мәлiметтiң берiлуiнiң көлемдерiн кiшiрейтуге мүмкiндiк бередi. Сонымен бiрге ол техникалық шектеулер артынан бiртiндеп тәртiпте принциптi шешiле алмаған мәлiметтердiң үлкен көлем талап ететiн есептерін шешуге мүмкiндiк бередi. Статикалық үлгiде бiрақ бағдарламаның өнiмдiлiгi мәлiметтердiң терiс үлестiрiлуiнде нашарлата алған процессорлардың жүктеуiн динамикалық теңдеуiш мүмкiн емес.
