Жылу конвекцияның кері есебінің шешімінің алгоритмін параллельдеу

Автор работы: Пользователь скрыл имя, 09 Апреля 2013 в 10:02, курсовая работа

Описание работы

Әртүрлі температурасы бар екі дене жанасқан кезде, құрылымдық бөлшектердің (молекулалар, атомдар, бос электрондар) қозғалыс энергияларымен алмасу пайда болады, сол үшін температурасы төмен дененің бөлшектерінің қозғалу қарқындылығы өседі, ал температурасы жоғары дененің бөлшектерінің қозғалу қарқындылығы азаяды. Нәтижесінде жанасқан денелердің біреуі қызады, ал екіншісі суиды. Көбірек қызған дененің бөлшектерімен суық дененің бөлшектеріне беретін энергия ағыны жылу ағыны деп аталады.

Содержание работы

1. НЕГІЗГІ ТЕҢДЕУЛЕР ЖҮЙЕСІ……....................................................................5
1.1 Математикалық физиканың негізгі есептері...............................................5
1.2 Параболалық типті айырымдылық схемалары.........................................ч
1.3 Сызықты жылу конвекция теңдеулер жүйесіне интегралдық,
қосымша анықталған, шартпен қойылған кері есеп.......................................ч
2. САНДЫҚ ӘДІС................................................................................................17
2.1 Жылу конвекция теңдеулер жүйесіне қойылған тура
есепті сандық шешу………………………………………............................17
2.2 Жылу конвекция теңдеулер жүйесіне қойылған кері
есепті сандық шешу………………………………………............................4
3. ПАРАЛЛЕЛЬДІ АЛГОРИТМ ҚҰРУ............................................................10
3.1 Параллель программалау дамуының хронологиясы………. …………....10
3.2 Процессорлардың көптүрлiлiгi. Топология..................................................10
3.3 Параллель программалаудың тиімділігін бағалау......................................10
4. ЕСЕПТЕУ ЭКСПЕРИМЕНТІ...........................................................................26
5. САНДЫҚ НӘТИЖЕ..........................................................................................31
ҚОРЫТЫНДЫ......................................................................................................34
ҚОЛДАНҒАН ӘДЕБИЕТТЕР.............................................................................34

Файлы: 4 файла

Титулка.docx

— 12.71 Кб (Просмотреть файл, Скачать файл)

Диплом.docx

— 1.12 Мб (Скачать файл)

          f[j+1]:=(tt2[j]-tt3[j]+tt4[j]+tt5[j])/tt1[j];

         // f[j+1]:=(D2[j]-D3[j]+D4[j]+D5[j])/D1[j];

          phi[j+1]:=(tt7[j]-tt8[j]+tt9[j]+2*tt10[j])/tt6[j];

         // phi[j+1]:=(D7[j]-D8[j]+D9[j]+2*D10[j])/D6[j];

    end;

        writeln('phi[j]=');  for i:=0 to m+1 do writeln(phi[j]:3:10);

        writeln('phi1[j]=');  for i:=0 to m+1 do writeln(phi[j]:3:10);

//        writeln('phi2[j]=');  for i:=0 to m+1 do writeln(phi2[j]:3:10);

         writeln('f[j]=');  for j:=0 to m+1 do writeln(f[j]:3:10);

         writeln('f1[j]=');  for j:=0 to m+1 do writeln(f[j]:3:10);

//        writeln('v[i,j]=');

//        for j:=0 to m+1 do begin

//        for i:=0 to n+1 do begin

        //write('v[',i,',',j,']=');

//        writeln(v[i,j]:3:10); end; end;

//        writeln('v1[i,j]=');

//       for j:=0 to m+1 do begin

//       for i:=0 to n+1 do begin

        //write('v1[',i,',',j,']=');

//        writeln(v1[i,j]:3:10); end; end;

//          writeln('O[i,j]=');

//        for j:=0 to m+1 do begin

//        for i:=0 to n+1 do begin

        //write('O[',i,',',j,']=');

//        writeln(O[i,j]:3:10); end; end;

//        writeln('O1[i,j]=');

//        for j:=0 to m+1 do begin

//        for i:=0 to n+1 do begin

        //write('O1[',i,',',j,']=');

//        writeln(O1[i,j]:3:10); end; end;

 

end.

 

 

 

 

 

3 ПАРАЛЛЕЛЬДІ АЛГОРИТМ ҚҰРУ

3.1 Параллель программалау дамуының хронологиясы.

Параллелді  есептеуіш жүйелерді қолдану (ПЭЖ) есептеу техникасының дамуының стратегиялық бағыты болып табылады.Қазіргі заманғы  ғылым мен техника мүмкіндіктерінің "үлкен шақыру" мәселелері: климатты моделдеу, гендік инженерия, интегралдық схемаларды жобалау,  қоршаған ортаның ластануының анализі, емдік дәрумендерді жасау және тағы сол сияқтылар - өздерінің анализі үшін әр секундта  қалқымалы үтірі бар (1 TFlops) 1000 миллиард операцияларды орындайтын ЭЕМ талап етеді.

Параллель компьютер дегеніміз − жалпы міндеттерді шешуде бірігіп жұмыс істей алатын процессорлардың жиынтығы.

Параллель программа – әр процесс өзiнiң жеке процессорында орындалатын программа, демек, процесс параллель орындалады.

Компьютерлік  архитектура мен желілік технологиялардың дамуы, сондай-ақ есептеудің орасан көп  санын талап ететін жаңа, ғылыми және қолданбалы міндеттердің пайда  болуы программалау мен есептеу  технологияларында параллель есептеулердің көкейкестілігі мен болашағы бар екендігін көрсетіп, программалау мен есептеу технологияларындағы орталық орындардың бірінен орын алды.

Жоғарғы дәрежелелі өнімділікті есептеуіш  жүйелерді құру мәселесі қазіргі  заманғы ғылым мен техникалық есептердің ең күрделісі болып табылады. Осы мәселені шешу көптеген талантты ғалымдар мен конструкторлардың  білімдері мен күштерін жан – жақты концентрациялағанда ғана мүмкін, оның үстіне ғылым мен техниканың соңғы жетістіктерін қолдануды және маңызды финанстік инвестицияларды талап етеді. Сонымен қатар осы саладағы соңғы кездегі жетістіктер таңқаларлықтай. "Компьютерлік белсенділікті стратегиялық шектеу" Accelerated Strategic Computing Initiative – ASCI) [25] бағдарламасы АҚШ-та 1995ж қабылданған, осының негізінде суперЭЕМ- дердің өнімділігін 18 айда 3 есе арттыру және өнімділік дәрежесін секунтына 100 триллион операцияларды орындауға арттыру мәселелері болды. Қазіргі уақытта жылдам әрекет ететін суперЭЕМ-дердің бірі NEC жапон фирмасының  бір векторлық процесстің жылдамдығы секундтына 8 миллиард (8 GFlops) операциялар орындайтын SX-6 компьютері болып табылады. Көп процессорлы жүйелер үшін қол жеткізілген жылдам әрекет ету көрсеткіштері әлде қайда жылдам: мысалға, Intel (США, 1997) фирмасының ASCI Red жүйесінің жылдамдығы секундтына 1,8 триллион (1,8 TFlops) операциялар. Осы курстың лекйияларын жазу кезіндегі жылдам әрекет етуші есептеуіш жүйелердің  Top 500 тізімінде BlueGene/L есептеуіш комплексі алғашқы қатарда.

Есептеулерді  паралелдендіруді ұйымдастыру бір  сәтте мәліметтерді өңдеу операциялары орындалған кезде функционалды құрылғылардың  көптігінен жүзеге асады. Бұл жағдайда есептеуіш тапсырмаларды шешуді жылжамдата аламыз, ол үшін қолданылып отырған алгоритмді ақпаратты тәуелсіз аймақтарға бөліп, әр аймақты есептеуді  жеке процесске жазу керек. Осындай  тәсілдер керекті есептеулерге жылдам қол жеткізуге мүмкіндік береді.

Айтып өтетін бір жағдай, параллелдендіруді қолдану  ғалымдардың болжамдарына қарамай  әлі де кең қолданыс алған жоқ. Бұл жағдайдың осы күнге дейін басты себептерінің бірі жылдам өндірістік жүйелердің қымбаттығы болды (суперЭЕМ ді тек қана үлкен компаниялар мен мекемелер ғана ала алды). Қазіргі заманғы түрлі конструктивті элементтерден (микропроцессорлар, жады микросхемалары, комуникациялдық құрылғылар)  тұратын паралелді есептеуіш комплекстерді құрудың  көп бөлігі өндіріспен игерілген. Осы жағдай алдыда айтылған факторды бәсеңдетті, және қазіргі уақытта әр бір қолданушы өндірістігі өте жоғары көп процессорлы есептеуіш жүйелерін (КПЕЖ) қолдана алады.  Паралелді есептеулер жағдайы көп ядролы процессорлардың пайда болуымен қарқынды дамыды, 2006 жылы компьютерлік жүйелердің 70% да қолданды.

Параллелді  есептеу есептеуіш техникасын қолданудың өте қолайлы (қызықты) саласы және күрделі  ғылыми – техникалық сала болып  табылады. Осыған орай, параллелендіруге жету үшін ЭЕМ – нің және аппарттық  құралдардың қазіргі заманға  сай даму қарқынын білу, моделдерді құра алу, мәліметтерді өңдеу тапырмалаларын параллелді шеше алу қолданбалы математика, информатика және септеуіш техникасы  салаларының мамандарының жоғарғы  квалификациялығының көрсеткіші болып  табылады.

Компьютер технологиясының  дамуы, соның iшiнде, параллель компьютерлердi құру 50-жылдары пайда болды (1-сурет).

.


 

 

 

 

 

 

1-сурет.  Өте жылдам компьютерлердiң 1945 жылдан

бастап  осы уақытқа дей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 5-сағаттан кей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н фундаментальды шартқа айналды.

 

3.1 Процессорлардың көптүрл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ң SIMD категориясында сипатталған компьютерлерге қолданылады, Флиннiң басқа категорияларындағы бұл қатынас бiрдiң бiреуге дәлме дәл келедi. Басқарудың көптүрлiлiгi Флинн таксономиясында сипатталған деректер мен ағындарды басқару табиғаты туралы айтуға болады.

Топологиия. Процессорлар, жады блоктары және айырғыштар бiр-бiрiмен байланысқан жолдар жиынтығы өзара байланыс желiсiн немесе машинаның топологиясын анықтайды. Топологияның атрибуттары процессордлар деректердi қалайша бiрге қолданатын және мұндағы шығындарды анықтайды.

Бiз кейбiр  анықтамаларды еске түсiруiмiз керек.

Екi торап – көршi, егер олардың арасында байланыс болады. Торап дәрежесi оның көршiлер санымен анықталады.

11-сурет екi ортақ топологияны көрсетедi: сақина және әрбiреуiнде сегiз торабы бар толық байланысқан желi.


 

 

 

 

 

11-сурет. Сақина және толық байланысқан желi.

Желi диаметрi – кез-келген екi торап арасындағы ең ұзын жол. Мысалы, n торабы бар сақина диаметрi n/2, ал толығымен байланысқан желiнiң диаметрi 1, торап санына тәуелсiз.

Масштабтау (scalability) – желiге қосылған торап санын өсiргенде байланыстың күрделiлiгi қаншалықты өсетiнiн бiлудi қажет ететiн қасиет.

Жақсы масштабталған  топологияда топологияны жүзеге асыруға қажеттi логика санын қатаң өзгертпей және диаметрдi өсiрмей-ақ көп торап қосуға болады.


Гиперкуб. 12-суретте бiрнеше параллель процессорларда –гиперкубта қолданылған масштабталған топология көрсетiлген. Екi торапты қосатын сызық бiр өлшемдi кубты анықтайды. Төрт торабы бар квадрат екi өлшемдi куб, үш өлшемдi кубтың сегiз торабы болады.

 

 

 

12-сурет. Гиперкуб.

Гиперкубтағы байланыс торап идентификаторыныңекiлiк  өрнектелуiне негiзделген. Егер тораптың екiлiк өрнектелуi бiр битке өзгеше болса, екi торап шектес болатындай етiп тораптар номерленген. Мысалы, 0110 және 0100 тораптары – тiкелей көршi, бiрақ 0110 және 01011 – ондай емес. Торап идентификаторы гиперкубтағы ақпаратты бағыттау үшiн параллельдеу

алгоритмiнiң негiзi болады. N өлшемдi кубтың n-биттiк торап идентификаторы болады. A торабынан B торабына хабар беру n-циклде орындалады, әрбiр циклды торап хабарды алады немесе байланыстарының бiрi арқылы жiбередi.

Тораптың симметриялы желiде ерекше емес торап болады, яғни желiнiң қалған бөлiгiнiң түрi кез-келген тораптағы сияқты. Сақиналар, толық байланысқан желiлер және гиперкубтардың тораптық симметриясы болады. 13-суретте көрсетiлген ағаштар мен жұлдыздыр симметриялы емес.


                                                                    тамыры

                                                                        iшкi

 

 

 

                                                                                                           жапырақтары

13-сурет. Ағаш және жұлдыз.

Егер топология  тораптық ассимериялы болса, онда еректорап  байланыс параметр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мен байланысқан (14-сурет).

Магжан дипломка1.doc

— 1.52 Мб (Просмотреть файл, Скачать файл)

Реферат.docx

— 11.38 Кб (Просмотреть файл, Скачать файл)

Информация о работе Жылу конвекцияның кері есебінің шешімінің алгоритмін параллельдеу