Зміст
| Вступ | ||
| Тема 1: Основні поняття про паралельні обчислення | ||
| 1. Поняття про паралельні та розподілені обчислення | ||
| 2. Області застосування і задачі паралельної обробки | ||
| 3. Конвеєризація і паралелізм | ||
| 4. Засоби для проведення паралельних обчислень | ||
| 5. Рівні розпаралелення | ||
| 6. Паралельні операції | ||
| 7. Основні принципи паралелізму (розпаралелення) | ||
| 8. Класифікація структур паралельної обробки | ||
| Вправи і завдання до теми №1 | ||
| Тема 2: Методи оцінки продуктивності паралельних алгоритмів і систем | ||
| 1. Загальні зауваження стосовно оцінки продуктивності паралельних алгоритмів та систем | ||
| 2. Фактори, які необхідно враховувати при оцінці продуктивності | ||
| 3. Методи оцінки продуктивності паралельних систем | ||
| 4. Характеристики продуктивності паралельних алгоритмів | ||
| 5. Порівняння MIMD i SIMD структур за продуктивністю | ||
| Вправи і завдання до теми №2 | ||
| Тема 3: Організація мереж Петрі | ||
| 1. Поняття про мережі Петрі | ||
| 2. Прості мережі Петрі | ||
| 3. Розширені мережі Петрі | ||
| 4. Приклади реалізації мереж Петрі | ||
| Вправи і завдання до теми №3 | ||
| Тема 4: Розробка паралельного алгоритму | ||
| 1. Паралелізм даних | ||
| 2. Паралелізм задач | ||
| 3. Етапи розробки паралельного алгоритму: | ||
| Вправи і завдання до теми №4 | ||
| Тема 5: Структури зв’язку між процесорами | ||
| 1. Основні положення | ||
| 2. Шинні мережі | ||
| 3. Мережі з комутаторами | ||
| 4. Структури, що забезпечують зв’язок типу “пункт-пункт | ||
| 5. Методи комутацій | ||
| Вправи і завдання до теми №5 | ||
| Тема 6: Основні класи паралельних комп’ютерів | ||
| Вступ | ||
| 1. Масивно-паралельні системи | ||
| 2. Симетричні мультипроцесорні системи | ||
| 3. Системи з неоднорідним доступом до пам’яті | ||
| 4. Паралельні векторні процесори | ||
| 5. Кластерні системи | ||
| Вправи і завдання до теми №6 | ||
| Тема 7: Схеми паралельних алгоритмів задач | ||
| 1. Класи алгоритмів задач | ||
| 2. Алгоритми перемноження матриці на матрицю і їх реалізація на структурах типу: кільцева, 2D, 3D | ||
| Вправи і завдання до теми №7 | ||
| Тема 8: Мови паралельного програмування | ||
| 1. Загальні зауваження | ||
| 2. Класифікація мов і систем паралельного програмування | ||
| 3. Особливості організації паралельної програми | ||
| 4. Технології паралельного програмування Message Passing Interface | ||
| 5. Операції обміну повідомленнями | ||
| Вправи і завдання до теми №8 | ||
| Висновки | ||
| Література | ||
| Додатки | ||
| Додаток А. Ресурси Інтернет стосовно паралельних обчислень | ||
| Додаток Б. Концепції паралельної обробки | ||
| Додаток В. Проблеми асинхронної паралельності | ||
| Додаток Г. Проблеми синхронної паралельності |
ВСТУП
Для розв’язання багатьох задач (прогноз погоди, задачі гідро- і газодинаміки, квантової хімії, астрономії, спектроскопії, біології, ядерної фізики) необхідна висока продуктивність та висока швидкість передачі інформації по каналах зв’язку, великі об’єми оперативної і постійної пам’яті, які не можуть забезпечити типові обчислювальні засоби. Одним з шляхів забезпечення таких вимог є організація паралельних та розподілених обчислень і відповідних технічних засобів їх реалізації.
Причому, ефективність паралельної обробки залежить як від продуктивності комп’ютерів, так і від розмірів і структури пам’яті, пропускної здатності каналів зв’язку, використаних мов програмування, компіляторів, операційних систем, чисельних методів та інших математичних досліджень. Такий широкий обсяг параметрів вимагає проведення досліджень на різних рівнях: на рівні розпаралелення алгоритмів, створення спеціальних мов програмування, компіляторів, багатопроцесорних систем, неоднорідних систем, кластерів і систем, що розподілені на великих територіях.
Великий спектр задач не дозволяє охопити в навчальному посібнику всі проблеми організації паралельних та розподілених обчислень.
Для тих, хто хоче краще орієнтуватися в перспективних напрямках розвитку обчислювальної техніки і краще розуміти специфіку паралельних та розподілених обчислень радимо, насамперед, скористатись матеріалами сайту www.parallel.ru
Метою вивчення дисципліни є засвоєння основних методів та алгоритмів організації паралельних та розподілених обчислень, принципів побудови відповідних структур, набуття початкових практичних навиків проектування таких засобів.
В результаті вивчення курсу студент повинен знати основні методи, алгоритми і засоби паралельної та розподіленої обробки інформації, засоби програмування на паралельних та розподілених структурах, склад апаратних засобів та програмного забезпечення обчислювальних систем з елементами паралельної та розподіленої обробки і класи мов програмування високого рівня для них; вміти виконувати елементарні вправи з розпаралелення задач та алгоритмів, проводити розрахунки параметрів процесорів, проектувати окремі вузли.
В розділі курсу “ Організація паралельних обчислень ” розглядаються такі основні питання:
- основні поняття про паралельні обчислення;
- методи оцінки продуктивності паралельних алгоритмів;
- організація мереж Петрі;
- розробка паралельного алгоритму;
- структури зв’язку між процесорами;
- основні класи паралельних комп’ютерів;
- схеми паралельних алгоритмів задач;
- мови паралельного програмування.
Тема №1: Основні поняття про паралельні обчислення
Питання:
Поняття про паралельні та розподілені обчислення






