Программа дисциплины для студентов


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



бет6/45
Дата06.01.2022
өлшемі0,76 Mb.
#12433
түріБағдарламасы
1   2   3   4   5   6   7   8   9   ...   45
2 Лекция. Параллелизм. Программалау модельдері.

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

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

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

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

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


Primary memory



Level 2 cache

Level 1 cache

CPU

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

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

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

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

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

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

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

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



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

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

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

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

Параллелизм

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

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

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

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

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

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

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

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

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



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

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

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


В11

В12

В21

В22


А11

А12

А21

А22



С11

С
=

X
12

С21

С22

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

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

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

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

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

for (i=0; i

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

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

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





Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   45




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет