Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМКД_параллель есептеулер.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
4.82 Mб
Скачать

3. Лабораториялық жұмыстарды орындау

3.1. Параллель программалау. С++ тілінің кеңеймесін қолдана отырып, параллель алгоритмдерге программалық код құру.

Тапсырмалар

  1. Параллельді компьютерлердің және параллельді есептеулер қолданылатын облыстарды талдап, жазыңдар.

  2. Программалар деңгейінің параллельділігіне мысал ретінде екі массив элементтерінің қосындысын тап.

3. Куб көлемі - 100х100х100 нүктелерден тұрады.Әрбір нүктеде орындалатын функциялар – жылдамдық, қысым, температура, компоненттің концентрациясы (су, газ, мұнай, т.б. ). Барлығы 5-20 функция (орташа-10). Бұл функциялар сызықты емес. Сондықтан оларды есептеу үшін 200-1000 операция орындалу керек (орташа -500). Жүріп жатқан процестер стандартты емес, сондықтан қадамдар саны 100-1000 (орташа-500).

Сонда куб ішінде орындалатын арифметикалық операциялар санын есептеп тап.

4. Берілген сандар жиынының ең кіші k-сыншы ретті санды табатын параллельді программаны жазыңдар.

5. Тақ-жұп сұрыптаудың салыстыру-және-алмастыру тәсілін пайдаланып, төмендегі 16 санды сұрыптаңдар: 12 2 11 4 9 1 10 15 5 7 14 3 8 13 6 16.

6. Тақ-жұп сұрыптауды орындауға кететін уақыттың O(log2n)-ге тең екенін дәлелдеңдер.

3.2. Программалау тілдерінің синхронизациясын қолдана отырып, есептерді шешу: блоктар/блоктан алу; критикалық секция; семафорлар.

Тапсырмалар

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

  2. Критикалық секция есебін талдаңыз.

3.3. Ағындарды қолданып, Linux- те программалар құру.

Тапсырмалар

  1. Linux операциялық жүйесінің ерекшеліктері талдау

  2. Ағындар. Ағындар түрлерін қарастыру

3.4. Хабарламаларды беруді программалау (mpi).

Тапсырмалар

  1. MPI программасын қондыру және күйін келтіру.

  2. Процессорлардың жалпы санын анықтау (MPI_Comm_Size).

  3. Процесстердің жеке номерін анықтау (MPI_Comm_Rank).

  4. “Нүкте-Нүкте” типті блокталынған коммуникациялық функция көмегімен мәліметті жіберуді ұйымдастыру (MPI_Send, MPI_Recv).

  5. Бірмезгілде мәліметті жіберуді ұйымдастыру (MPI_Sendrecv)

3.5. PVM-де жұмыс. Ағындарды құру және PVM-де мәліметтерді параллель өңдеу.

Тапсырмалар

  1. PVM-ді қондыру және күйін келтіру.

  2. Кластердің коммуникациялық ортасын тестілеу.

  3. Кластердің өнімділігін тестілеу.

  4. PVM –де мәліметті жіберуді ұйымдастыру.

  5. Тағайындалған процесске хабарламаның асинхронды берілуі.

  1. Лабораториялық жұмыстарды тапсыруға дайындалу

4.1 Параллель программалау. С++ тілінің кеңеймесін қолдана отырып, параллель алгоритмдерге программалық код құру.

Бақылау сұрақтары

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

  2. Параллельділік. Мәліметтер параллельдігі.

  3. Параллельділік. Тапсырма деңгейінің паралельділігі.

  4. Параллельділік. Программа деңгейінің параллельділігі.

  5. Параллельділік. Командалар деңгейінің параллельділігі.

  6. Параллелді компьютерлер типтері. Көппроцессорлы жүйе.

  7. Параллельді компьютерлер типтері. Үлестірімді жадылы мультикомпьютерлер.

  8. Параллельді программалық жабдықтау үшін қандай талаптар орындалу керек?