Поняття про паралельні та розподілені обчислення
Зміст
Вступ | ||
Тема 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: Основні поняття про паралельні обчислення
Питання:
Поняття про паралельні та розподілені обчислення