Главная страница
Контакты

    Басты бет


БАҒдарламасы ( Syllabus ) Павлодар, 2014ж Пән бағдарламасы (Syllabus) ф фсо пгу 18. 4/19 бекітемін фмжат факультетінің деканы Н. А. Испулов

жүктеу 1.28 Mb.



жүктеу 1.28 Mb.
бет1/6
Дата05.04.2017
өлшемі1.28 Mb.

БАҒдарламасы ( Syllabus ) Павлодар, 2014ж Пән бағдарламасы (Syllabus) ф фсо пгу 18. 4/19 бекітемін фмжат факультетінің деканы Н. А. Испулов


  1   2   3   4   5   6











Қазақстан Республикасының Білім және ғылым министрлігі

С. Торайғыров атындағы Павлодар мемлекеттік университеті


Математика және информатика кафедрасы

PV 4305 «Параллельдік есептеулер» пәнінің



БАҒДАРЛАМАСЫ (Syllabus)

Павлодар, 2014ж



Пән бағдарламасы (Syllabus)





Ф

ФСО ПГУ 7.18.4/19






БЕКІТЕМІН

ФМжАТ факультетінің деканы

_____________ Н.А.

Мемлекет - белгілі бір аумаққа иелік етіп, сол жердегі халықтың еркін дамуына мүмкіндік беретін, қоғам табиғатынан туындайтын ортақ істерді атқаруға қажетті басқарудың жоғарғы дәрежеде ұйымдасқан жүйесі, саяси билік ұйымы.
Испулов

«____»_________2014ж.



Құрастырушы: ______аға оқытушы Алимова Ж.С.


______Джарасова Г.С.

5В060200 «Информатика» мамандығының күндізгі нысанда оқитын студенттеріне арналған PV 4305 «Параллельдік есептеулер» пәнінің


БАҒДАРЛАМАСЫ (Syllabus)

Бағдарлама 2014 ж. «___»_________ бекітілген оқу жұмыс бағдарламасының негізінде әзірленді.


Кафедра отырысында ұсынылды 2014 ж. «___»_________, №_____хаттама

Кафедра меңгерушісі ___________________ Джарасова Г.С.


ФМжАТ факультетінің оқу-әдістемелік кеңесімен мақұлданды 2014 ж. «_____»______________ №____хаттама

ОӘК төрағасы __________ Искакова А.Б. 2014 ж. «____»_____________

1 Оқу пәнінің паспорты
Пәннің атауы PV 4305 «Параллельдік есептеулер»
Кредиттер саны және оқу мерзімі

Барлығы – 2 кредит

Курс: 4

Семестр: 7



Жалпы сыйымдылық – 90 сағат

Аудиториялық сағаттар – 37,5 сағат (дәріс -15 сағат, практикалық сабақтар –7,5 сағат, зертханалық сабақтар – 15 сағат)

СӨЖ – 52,5 сағат (оның ішінде СӨОЖ – 15 сағат)
Бақылау формасы

Емтихан – 7 семестр


2 Оқытушылар туралы мәліметтер және байланысу ақпараты

Алимова Жанар Сагидуллаевна

Информатика магистрі, аға оқытушы

Математика және информатика кафедрасы А корпуста (Ломов к-сі, 64) орналасқан, ауд.

Форма (Қалып; form) - 1) мәліметтерді ұсыну тәсілі; 2) мәліметтер базасын басқару жүйелеріңде (мысалы, Access-Te) - мәліметтер базасындағы ақпаратты (мәліметтерді) енгізу мен редакциялауға пайдаланылатын дисплей экранына көрнекі түрде ұсыну тәсілі.
Сыйымдылық (Емкость; capacity) - 1) компьютер жадына, сақтау құрылғыларына жазуға болатын мәліметтердің ең көп мөлшері (өлшем бірліктері: бит, байт, сөз немесе таңба). Биттермен, байттармен (Кб, Мб, Гб), символдармен немесе сөздермен өлшенеді; 2) байланыс арнасында - мәліметтер жеткізу (өткізу) мүмкіндігі (бір секундта өткізілетін мәліметтер көлемі); 3) машиналық сөздің немесе регистрдің ұзыңдығы.
Мәліметтер (данные; data) - автоматты құралдардың көмегімен, кей жағдайда адамның қатысуымен, өңдеуге I ыңғайлы түрде берілген мағлұмат. Мәліметтердің кірістік, шығыстық, басқару, проблемалық, сандық, мәтіндік, графикалық және т.б.
А-408, тел. 67-36-87 (ішкі 11-25)


3 Пәннің мақсаты мен міндеттері

Оқу пәні

«Параллельдік есептеулер» пәні есептеу жүйелерінің программалық жабдықтарының құрамын параллель өңдеу құралдарымен оқытуды ойластырып және де олар үшін арналған жоғары деңгейлі программа тілдерінің класстарын зерттейді.

Пәнді оқыту барысында параллелизмнің жетістікке жету тәсілдерінің қысқаша мінездемесі, ПЕЖ-нің мысалдары келтірілген. Сонымен бірге, параллель есептеулер жүйелерінің классификациясы келтірілген, ПЕЖ-де мәліметтерді берудің типтік топология жүйелері қарастырылған.

Мақсат - белгілі бір межеге қол жеткізуге бағытталған әрекеттің ой-санадағы көрінісі. Мақсат ойлау нәтижесінде болашақты алдын ала болжау арқылы туатын мұрат, ішкі қозғаушы күшті білдіреді. Мақсатқа жету үшін әр түрлі іс-әрекеттер мен қимылдар жасалады.
Параллель есептеулер - 2011 жылы Алматы қаласы «Дәуір» баспасында басылып шыққан кітап. Кітап авторы/құрастырушысы - Е. Е. Дүйсембиев. Беттер саны - 272.


Пәннің мақсаты - компьютерлік құралдарды қолдана отырып параллельді программалау және мәліметтерді параллельді өңдеу негізінде білім алу және жұмысқа дағдылану.
Құрал (Инструмент; лат. instrumentum - құрал, қару) - 1)адам еңбегінің құралы немесе өнеркөсіптік кәсіпорын жағдайындағы жұмысқа арналған машинаның атқарушы механизмі.


Пәннің міндеттері - параллелизмнің жетістікке жетудің тәсілдерін меңгеру, ПЕЖ-нің мысалдарымен танысу, параллель есептеулер жүйелерінің классификациясы және ПЕЖ-де мәліметтерді берудің типтік топология жүйелері туралы ұғымдарын қалыптастыру.
4 Пререквизиттер және постреквизиттер

4.1 Пререквизиттер

Пәнді оқу барысында келесі пәндер бойынша қалыптасқан білік пен дағды қажет:



  • Алгоритмдер және алгоритмдік тілдер;
    Алгоритм, алгорифм (ағылшынша: algorіthm, algorіsmus - Әл-Хорезмидің атынан шыққан) - бастапқы берілген мәліметтермен бір мәнде анықталатын нәтиже алу үшін қай амалды (жұмысты) қандай ретпен орындау қажеттігін белгілейтін есептерді (мәселелерді) шешу (математикалық есеп-қисаптар орындау, техникалық объектілерді жобалау, ғылыми-зерттеу жұмысын жүргізу т.б.)


  • Жүйелік бағдарламалау;

  • Дербес компьютердің архитектурасы;

  • Компьютерлік желілер;

  • Сандық әдістер.
    Әдіс , метод (гр. 'μέθοδος',methodes зерттеу не тану жолы, бір нәрсеге жетудің жолы) - көздеген мақсатқа жетудің тәсілі, тәртіпке келтірген қызмет жүйесі. Әдіс философияда зерттелетін нәрсенің ойша нұсқасын жасау үшін қажетті таным құралы болып табылады.



4.2 Постреквизиттер

Пәнді оқу барысында қалыптасқан білім, білік және дағды алдағы уақытта



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


  • Интернет үшін программалау пәндерін меңгеруде қажет.


5. Білім мен дағдыларға қойылатын талаптар

Студент түсінуі керек:



  • есептеу жүйелерінің программалық жабдықтарының құрамын параллель өңдеу құралдарымен оқытуды;

  • жоғары деңгейлі программа тілдерінің класстарын;

білу керек:

  • параллельді компьютерлердің негізгі модельдері;

  • мәліметтерді параллель өңдеудің негіздері;

  • әр түрлі деңгейлерде программа құралдарының синхронизациясы;
    ДЕҢГЕЙ (Уровень; layer, level) - абстракциялы дерексіздік дәреже; иерархиялық құрылым қабаты; осы желімен орындалатын белгілі бір мәселелер кешенін сипаттайтын есептеуіш желі қүрылымының логикалық қабаты,


  • мәліметтерді параллель өңдеудің негізгі алгоритмдері.

қолдана білу:

  • параллель алгоритмдерде қолданатын программалық жабдықтарды,

  • распараллельді программалау тілдерін,

тәжірибешілік дағдыларды меңгеру:

  • компьютерлік құралдарды қолдана отырып параллельді программалауға

  • мәліметтерді параллельді өңдеуге.
    Жабдық - бір нәрсеге керек механизмдер, тетіктер, әр түрлі құралғылар жинағы.


құзыретті болу:

  • MPI, OpenMP, PVM, MATLAB ортасында және де басқа технологиялар арқылы құрастыру мен программалау;


6 Күндізгі оқу түріне арналған пәннің тақырыптық жоспары
Сабақтардың түрлері бойынша академиялық сағаттарды бөлу

п/п

Тақырып

Сағат саны

Дәріс.

Зерт.

Практ.

СӨЖ

1.

Кіріспе. Параллель есептеулер дамуының хронологиясы. Параллель компьютерлерге сұраныс және параллель программалау бағыттарының дамуы.

1







2,5

2.

Параллелизм. Программалау модельдері: параллель және тізбекті. Деректер параллелизмі мен есептер параллелизмі. Программалаудың негізгі параллель модельдері.

1

2




5

3.

Параллель компьютерлер. Жылдам әрекеттесуші аппараттық жасау.

Параллель компьютерлер типтері. Флинн таксономиясы. Жаңа таксономия құру спецификациясы.



2

2




5

4.

Параллель программалау тиімділігін бағалау. Орындалу уақыты, жылдамдату коэффициенті, орындау шығына, қызмет көрсету бағасы, тиімділігі. Амдал заңы. Густафсон заңы.

1

2




5

5.

Процесстер және синхрондау. Аппараттық синхронизациялау деңгейі.

1







5

6.

Параллель программалау Программалау тілдерінің синхронизациялау деңгейі. Хабарлар беру синхронизациялау деңгейі.

1

1




5

7.

Параллель алгоритмдер. Параллель алгоритмдерді өңдеу: декомпозиция (сегменттеу), коммуникацияларды жобалау, үлкейту. Есептеулерді жобалау. Параллель сұрыптау алгоритмдері.

1

1




5

8.

Сандық өрістерді параллельдеу: тік және итерациялық сызықтық теңдеулер жүйесінің шешу әдістері.

Параллель программалау. Ағындар мен деректерді өңдеу.



2

2




5

9.

Параллель программалау тілдері: HPF, C , Fortran 90.

PVM, MPI, OpenMP көмегімен таратылған деректерге құру және кіріс.



2

2

7,5




10.

Параллель алгоритмдерді ғылыми есептерді шешуге қолдану

1

1




5

11.

Кескіндерді өңдеу типтері: кескінді өңдеудің төменгі, орташа және жоғарғы деңгейі.

1

1




5

12

Фурье түрлендіруі және Фурье алгоритмдері.

«Параллельдік есептеулер» пәнінің қазіргі кездегі даму перспективалары және тенденциялары.



1

1




5

Барлығы (2 кредит - 90 сағат):

15

15

7,5

52,5


7 Дәрістік сабақтардың мазмұны

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

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

  • Параллель бағдарламалау бағытының дамуы.

  • Параллель компьютерлерге сұраныс

    1. Негізгі анықтамалар

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

Параллель бағдарлама дегеніміз - әрбір процесс оның өз процессорында орындалатын және сонымен бірге процесс параллель түрде орындалатын бағдарлама.



    1. Параллель бағдарламалау бағытының дамуы және параллель компьютерлерге сұраныс

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

Есептеу уақытын, сонымен бірге, деректердің үлкен массивін өңдеу уақытын үнемдеу және есептеу жылдамдығына деген сұраныс барлық уақытта бар болатын, бірақ ол экономика және техникадағы жаңа ақпараттық технологиялар, ғылыми көлемді облыстардың дамуымен бірмезгілде өсіп келеді.

Ақпарат технологиясы (ағылш. information technology, қысқ. IT) - объектінің, процестің немесе құбылыстың күйі туралы жаңа ақпарат алу үшін мәліметтерді жинау, өңдеу, жеткізу тәсілдері мен құралдарының жиынтығын пайдаланатын процесс.

Күнделікті тұрмыстағы қарапайым мысалдарды қарастырайық. Мысалы, көктемнің келуімен гүлдер ағаштарда да гүдейді, машиналардың өз жолы болады,бірақ олар жол үстінде бірге қозғалады. Майкл Куинн (Quinn, 1994) мысал ретінде оркестрді ұсынды: оркестрде бірнеше инструменттер барлығы бірге әдемі бір мелодияны ойнайды. Осыған ұқсас параллель процесті басқа да облыстардан көруге болады. Параллель коспьютерлер мен параллель есептеулерді қолданатын облыстарға шолу жасайық.

Күрделі жүйелерді сандық модельдеу: ауа-райын болжау, жаңалықтар, ағымдық космостық (полет) ұшу туралы жедел ақпарат. Ертеңгі ауа-райын болжайтын ауа-райы типті модельді есептеу уақыты 5 сағатта дайын болуы тиіс.

Бизнестегі коммерциялық қосымшалар: құрамына бейнеконференциялар, бірлескен жұмыс орталары, параллель деректер қоры, банк транзакциялары кіретін қосымшалар.

Техникадағы қосымшалар: медицинадағы автоматтандырылған диагноз, жер сілкінісін болжау және т.б.

Білім саласындағы коммерциялық қосымшалар: кеңейтілген графика және виртуальді әлем, әсірсе, ойын-сауық облысында, компьютерлік ойындар.

Графика - (гр. graphein, тырнау, жазу, салу дегеннен) Жазуда қолданылатын таңбалардың (әріп және тыныс белгілерінін) жиынтығы. Жазу танбалары жүйесі мен тілдін фонетикалық жүйесінің ара қатынасын, байланысын білдіреді.
Медицина (лат. medicina: medicus - дәрігерлік, емдік) - адамдардың денсаулығын сақтау мен нығайту, сырқаттарды емдеу мен аурудың алдын алу, денсаулық және жұмысқа қабілеттілік жағдайында, адамзат қоғамында ұзақ өмір сүруге жетуді көздейтін тәжірибелік іс-әрекеттің және ғылыми білімдердің жүйесі.
Компьютерлік ойын - ойнауға арналған компьютерлік бағдарлама. Оларға сондай-ақ видеоойындар мен мобильді ойындар да жатады.

Жобалаушылар параллелизмді төмендегілерді қолданып пайдалана бастады: функционалдық модульдер жиыны, енгізу-шығару операциясын және орталық процессорды үйлестіру (перекрывание), конвейерлік өңдеу (ішкі параллелизм), командалар ағыны және деректер ағыны.

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

Осының негізінде келесі мәселелер пайда болды:

Компьютер жұмысы негізгі операция және бірмезгілде орындалуы мүмкін кейбір негізгі операциялар санын орындауға қажет уақытқа тікелей тәуелді. Негізгі операцияларды орындауға кететін уақыт процессордың «тактілік циклымен» шектеледі, яғни бұл көптеген примитивті операциялардың орындалуына кететін уақыт. Мұнымен қатар тактілік цикл уақыты баяу түрде азаяды және жарық жылдамдығы типті физикалық шекке жуықтайды.

Параллелизм (гр. parallelismos > parallelos - қатар жүруші, симметрия) - бір-біріне уқсас құрылымды сөйлемдер мен сөз тіркестерінің, формалас сөйлем мүшелерінін қабаттаса қатар қолданылуы. Мысалы: Ереуіл атқа ер салмай, Егеулі найза қолга алмай, Еңку-еңку жер шалмай (Махамбет).
Физика (көне грекше: φύσις - табиғат) - зат әлемді және оның қозғалысын зерттейтін ғылым. Бұл жөнінде физика күш, энергия, масса, оқтама т.б. сияқты тұжырымдамалармен шұғылданады.
Жарық жылдамдығы, с - кез келген электрмагниттік толқынның (оның ішінде жарықтың да) бос кеңістіктегі (вакуумдағы) таралу жылдамдығы; іргелі физика тұрақтылардың бірі. Ол кез келген физика әсердің шектік таралу жылдамдығы әрі бір санақ жүйесінен екінші санақ жүйесіне көшкенде [инвариант|инвариантты болады.
Біз жылдамдатылған есептеу жұмысын қамтамасыз ету үшін бұдан жылдам процессорларға тәуелді бола алмаймыз.

Олар қалай шешілді? Компьютерлік жобалаушылар бір компьютрді түрлендіру үщін осы шектеулерді жоюға әртүрлі әдістерді пайдалана бастады:



  • конвейерлі өңдеу (бірнеше командалардың әртүрлі стадиялары бірмезгілде орындалады);

  • функционалдық модульдер жиыны (бірнеше көбейткіштер сумматорлар және т.б. жеке командалар ағынымен басқарылады);

  • әрқайсысының өзара байланысының (желінің) байланысқан логикасы, өз процессоры, жады бар бірнеше «компьютрлердің» бірігуі.

Осылайша, параллелизм супер-ЭЕМ, жұмыс станциялары, дербес компьютерлер және желілерге ене бастады.
Логика (гр. λογική - «талдауға құрылған», λόγος - «сөз», «сөйлем», «ойлау», «ақыл») - ойлау, оның формалары мен заңдылықтары туралы ғылым. Логика дәлелдеу мен теріске шығарудың белгілі бір әдіс-тәсілдері қаралатын ғылым теориялар жиынтығын құрайды.
Команда (command, instruction) - 1) программалау тілдерінде - кез келген операцияны орындауды және оған керекті мәліметтерді (операндыны) бейнелейтін өрнек; компьютер атқаруға тиіс операция сипаты; 2) ақпаратты өңдеу процесіне байланысты атқару құрылғысында жүйенің белгілі бір операцияны орындауын талап ететін басқару сигналы; 3) программа орындау процесінің адымын анықтайтын ұйғарым.
Дербес компьютер (қысқаша ДК) - компьютердің қазіргі уақытта ең кең тараған түрі болып табылады. Дербес компьютер бір мезгілде бір адамның пайдалануына арналған. Дербес компьютерлердің негізгі екі санаты бар: стационарлық және тасымалы компьютерлер.
Жаңа алгоритмдерге деген сұраныс пісіп жетілді, бағдарлама параллель бағдарламаға құрылымданды.

2 Лекция. Параллелизм. Программалау модельдері.

  • Параллелизм.

  • Деректер параллелизмі мен есептер параллелизмі.

  • Программалаудың негізгі параллель модельдері.

2.1. Деректер параллелизмі мен есептер параллелизмі

Қазіргі заманғы бірпроцессорлы машина бірнеше компоненттен тұратын белгілі.


Primary memory



Level 2 cache

Level 1 cache

CPU

2-сурет. Бірпроцессорлы машина.

● орталық процессор (CPU);

● алғашқы жады;

● бір және бірнеше деңгейдегі кэш-жады;

● екінші жады (дискідегі жады);

● әртүрлі сыртқы құрылғылар.

Программаның орындауына қатысты түйінді компоненттер: орталық процессор, кэш және жады.

Бірпроцессордың архитектурасын жақсартудың әртүрлі әдістері бар:



  1. орталық процессордың бір ішкі бөлігінің орнына қосындаушы (көбейткіштердің) төрт модулін қолдану;

  2. өткізу жолағын үлкейту үшін орталық процессорға екі немесе бірнеше жады блогын қосу;

  3. уақыт өлшемінде орындалатынкомандалар санын үлкейту үшін бір жадының бір немесе бірнеше процессорды қосу;

  4. барлық компьютерлердің жұмысы бірге бір ғана программаны шешуге бағытталатыңдай толық компьютерді (процессор, жады және енгізу-шығару құрылғысын қосу) машина желісіне қосу;

Параллелизм

Параллелизм әр түрлі деңгейде топталуы мүмкін:

● тапсырма деңгейіндегі параллелизм;

● программа деңгейіндегі параллелизм;

● команда деңгейіндегі параллелизм;

арифметикалық және биттік туралайтын параллелизм.

Арифметика (грек. arіthmētіkē, arіthmos – сан) - сандар (бүтін және бөлшек) және оларға қолданылатын амалдар туралы ғылым (грекше arіthmetіke, arіthmos – сан).

Тапсырма деңгейіндегі параллелизм – параллелизмнің жоғарғы деңгейі.

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

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

Жиынтық - геологияда: жарылымдармен шектеле отырып, бірқалыпты қатпарланған қат-қабаттар тобының немесе қатпарлардың бір бағытта ғана еңістенген осьтік жазықтықтарының бірлестігі.
Орталық процессор және енгізу – шығару жүйелері параллель жұмыс і стейді.

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



Программаның деңгейіндегі параллелизм

Программа деңгейіндегі параллелизмде пбір программа бөліктерге, оның құраушыларына бөлінеді.

Мысалы, матрицалардың көбейтіндісі: С=AxB матрицаларды квадраттарға бөлу жолымен есептеледі:


В11

В12

В21

В22

А11

А12

А21

А22



С11

С
=

X
12

С21

С22

Жалпы, программа деңгейіндегі параллелизм екі әдіспен көрінеді:

● берілген программаның тәуелсіз бөліктердеге бөлу;

Шаршы (Квадрат) - шаршы деп сыбайлас қабырғалары өзара тең тіктөртбүрышты айтады. Техникада Шаршы тәрізді тесіктері бар тетіктер көп кезігеді.

● итерациялар арасында ешқандай байланыс жоқ циклің жеке итерацияларын қолдану.

Параллелизмнің бұл түрін процессорлар жиынтығы немесе функциональды модулдер жиынтығын қолдануы мүмкін.

Программа деңегейіндегі параллелизмнің көруінуінің қарапайым мысалы: қосындыларын есептеу. Төменде екі массив элементтерінің қосындысын есептеу коды көрсетілген:

for (i=0;

Массив (латынның massa сөзінен туындаған француздың massif сөзі - "жақпартас") - Тектоникада: өзіне іргелес яки көршілес жатқан тектоникалық құрылымдармен салыстырғанда көнелеу, көп уақыттар бойы жоғары көтерілуі нәтижесінде ашылып қалған, қазіргі кезеңде тектоникалық тұрғыдан салғырт тектоникалық құрылым.
i

A[i]=B[i] C[i]

Қосындылар тәуелсіз, яғни B[i] C[i] есептеуі B[i] C[i]-ге тәуелсіз, кез – келген j

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



Команда деңгейіндегі параллелизм

Программаның деңгейіндегі параллелизм – архетектураның төменгі деңгейі және компьютер ұйымдастыру саласына жатады. Параллелизмнің бұл түрін жүзеге асырудың жалпы әдісі – конвейерлер.

Бұл жағдайда, жеке командалар қабысуы мүмкін, немесе берілген команда ішкі амалдарға бөлінуі мүмкін, ал ол ішкі амалдар тағы да ішкі амалдарға бөлініп, олар да қабысуы мүмкін.

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

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



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

Мысалы, Cray фирмасының супен ЭЕМ-і вектордың ұзынығы – 64 бит немесе одан аз болғана неғұрлым тиімді және ұзын векторлардың кішкене бөліктеріне амалдар қолданатын қайта құру программалары жұмысты жақсарады.

Компилятор (compiler; compiling programm - компиляциялаушы программа) - 1) жоғарғы деңгейлі программалау тілінде жазылған алғашқы программаны машиналық тілге (алгоритмдік тілдер, түсіндіргіш, аударғыш) түрлендіруді орындайтын компьютердің жалпы математикалық жасақтамасының құрамды бөлігі.
Бағытталған кесінді A B → }} деп A - “бас нүктесінен” бастап екінші B - “соңғы”нүктесіне дейінгі түзу бойындағы нүктелер жиыны.



Арифметикалық және биттік туралау параллелизм. Арифметикалық және биттік туралау параллелизмі – параллелизмнің ең төменгі деңгейі.

Параллелизмнің бұл деңгейі орталық процессордағы арифметикалық логикалық құрылғыға қатысты.

Мысалы, 64 битке қосынды екі түрлі әдісен есептелуі мүмкін:


  1. барлық 64 битті бірден қосу (неғұрлым маңызды биттерге тасымал кез-келген екі биттің қосындысының жылдамдығындай есептеуі және болжауы мүмкін);

  2. амалы 4 биттік бөлікке және 16 циклдағы толық қосындысын есептеуге болады.

Параллель программалық жасау үшін фундаментальды талаптар бар:

● параллелизм;

● масштабтылық (әр жақтылық);

● жергіліктілік;

● модульдік.

Параллелизм – көптеген амалдарды біруақытта орындауға қабілеттілік.

Әр жақтылық – процессорларды санын өсіруге «икемілік» қасиеті.

Жергіліктілік қашықтағы жадыға қатынаудың жергілікті жадыға қатынауына қатынастарының коэффициенттерінің жоғарылылығын білдіреді.

Модульдік – күрделі объектілердің қарапайым компоненттерге декомпозициясы.


    1. Программалау модельдері: параллель және тізбекті

Тізбекті модель.

Фон Нейман моделі:

● Командалар тізбегін орындауға қабілетті процессор;

● Команда берілген шаманың адресін анықтайды, орындалатын команданың немесе келесі команданың адресін жадыдан оқиды немесе жазады.

Бүгінгі күні, компьютерді осы негізгі модель терминінде машиналық тілде программалауға болады.

Машиналық тіл (Машинный язык; Machine language; computer language) - 1) есеп шығаруды бейнелейтін және мазмұны мен ережелері нақты компьютердің аппараттық құралдары арқылы жүзеге асырылатын формальды тіл.

Бұл әдістің кемшілігі мынада: біз жадының милиондаған ұяшығын бақылауымыз керек және мыңдаған машиналық командалардың орындалуын ұйымдастыруымыз керек.

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

Параллель модель.

3-суретте қарапайым модель «есептер/каналдар» моделі көрсетілген.



3-сурет. Қарапайым параллель модель: «есептер/каналдар» моделі.

Есептеу процесі каналдармен байланысқан (стрелкалар) есептер жиынын (дөңгелекпен белгіленген) шешуден тұрады.

Есептер программа және жергілікті жадыны инкапсуяциялайды және ортамен өзара әрекеттесетін порттар жиынын анықтайды.

Канал – хабарлар кезегі, оған жіберуші хабар орналастыа алады және алушы хабарды жоя алады, егер хабар қатынауы болмаса, онда канал қатынауды «бұғатайды».

Параллель модельдерді қарастырғанда кейбір келісімдер мен абстракцияларды қабылдау қажет. Параллель программалық жасау үшін фундаментальдық шарттарды қолдану келесі абстракцияларды қабылдауға мәжбүр етеді:

● Параллель есептеу бір немесе бірнеше есептерді шешуден тұратын. Есептер бір уақытта орындалады. Есептер саны программаның орындалуы кезеңінде өзгеруі мүмкін.

Кезең - тау жотасы қырқаларының биік бөліктері мен кейбір төбелердің аралығында орналасқая ояң бөліктер. Олардың едәуір белігі тау жоталарының бір жағынан екінші жағына өтуге мүмкіндік туғызады. Кезең - тектоникалық немесе эрозиялық-денудациялық генезисті тау жотасы төбелерінің аралығындағы қырқалар; бар өрісіндегі жоғары қысымды екі атырап пен төмен кысымды екі атыраптың арасындағы кеңістік.

● Есеп тізбекті программа және жергілікті жадыны инкапсуяциялайды. (шындығында, ұл Фон Нейманның виртуальды машинасы). Одан басқа, ішкі порттар (inports) және қашықтағы порттар (outports) жиынтығы оның оаға өзара әрекетін анықтайды.

● Есептерді жергілікті жадыдан оқу мен жазудан басқа қосымша төрт негізгі амалды орындай алады: алыс порттарға хабар беру, ішкі порттарын хабар алу, сондай-ақ жаңа есептер құру және оларды аяқтау.

● Outports/imports жұптары канадар деп аталатын хабарлар кезегімен байланысқан. Каналдар құрылуы және жойылуы мүмкін және каналдарға (порттарға) нұсқағыштар хабарға кіруі мүмкін, садған байланысты қамтамасыз ету динамикалық өзгеруі мүмкін.

● Есепер физикалық процессорларға әртүрлі әдіспен бейнеленуі мүмкін; қолданылатын бейнелеу программаның семантикасын қозғамайды.

Семантика (көне грекше: σημαντικός - танбалаушы, білдіруші) - тіл және тіл бірліктері (сөз, грамматикалық тұлға, сөз тіркесі, сөйлем) арқылы білдірілетін хабарды, заттар мен құбылыстардың мән-мазмұның зерттейтін тіл білімінің саласы, семиотиканың негізгі бөлімдерінің бірі.
Дербес жағдайларда есептердің көптігі бірпроцессорлы компьютерлерге де жарамды.

Ары қарай, программалаудың негізгі параллель модельдерін қарастырамыз.



    1. Программалаудың негізгі параллель модельдері

Параллель программалаудың әр түрлі модельдері бар. Олар есептердің өзара әрекеттесу механизмдерімен есептерді талдап тексеру дәрежесімен, орналасуын қолдаумен, әржақтылық пен модельділігімен ерекшеленеді:

● Хабар беру.

● Деректер параллелизмі.

● Жалпықатынау жадысы.

Келесі лекцяларда оларға толығырақ тоқталамыз. Мұнда тек олардың әрбіреуінің негізгі принциптеріне тоқталамыз.

Хабар беру

Хабар беру программаларды есептер жиынын құрады, олардың әрбіреуінің жергілікті деректен тұады. әрбір есеп басқа есептермен өзара әрекеттестікте болады, берілген есепке хабар береді немесе берілген есептен хабар алады.



Деректер параллелизмі

Деректер параллелизмі үлестірілген есептеулерді қолданады. Олар деректер құрылымының элементтер жиынына қолданылатын бір ғана амалдан және бір қосымшадан шыққан.

Қағида немесе принцип (лат. principim – принцип; негіз, алғы бастама) - белгілі білім жүйесінің түп-негізі, алғы бастамасы, абстрактылы түрдегі ең қысқа жалпылама мазмұны. Ғылыми танымда идея, теория, әдіс сияқты таным түрлерімен өзара байланыста тұжырымдалады.
Құрылым (лат. structura - түзіліс, орналасу, тәртіп) - объектінің тұтастығын, тепе-теңдігі мен негізгі қасиеттерінің сақталуын қамтамасыз ететін байланыстар мен қатынастар жиынтығы. Құрылым жүйе және элемент ұғымдарымен тығыз байланысты.
Деректердің әрбір элементіне қолданыатын әрбір амалды тәуелсіз есеп деп қарастыруға болады.



Жалпықатынау жадысы

Жалпыанықтау жадысында модельді программалағанда есептер жалпы адрестік кеңістікті бірге қолданады, олар оны асинхронды оқиды және жазады. Сонымен қатар, жалпықатынау жадысына қатынауды басқару үшін әртүрлі механизмдер қолданылуы мүмкін.

Механизм (гр. mehane - құрал, мәшине) - бір немесе бірнеше қатты денелерді басқа қатты денелер арқылы қажетті қозғалысқа келтіретін денелер жүйесі. Механизм құрылымдық белгілері бойынша топсалы (иінтіректі), бағдартқышты, тісті, сыналы, бұрамалы, ыңғайландырғыш, арнайы, шыбық қысқыш, иілгіш буынды, гидравликалық, пневматикалық және электрлі құрылғылары бар және т.б.

  1   2   3   4   5   6

  • Математика және информатика кафедрасы
  • Құрастырушы: ______аға оқытушы Алимова Ж.С.
  • Кафедра меңгерушісі ___________________ Джарасова Г.С.

  • жүктеу 1.28 Mb.