- •Питання:
- •Області застосування і задачі паралельної обробки
- •5. Рівні розпаралелювання
- •Рівень процедур
- •6. Паралельні операції
- •7. Основні принципи паралелізму (розпаралелення)
- •8. Класифікація структур паралельної обробки
- •Тема №2 “Методи оцінки продуктивності паралельних алгоритмів і систем” Питання:
- •2. Фактори, що необхідно враховувати при оцінці продуктивності
- •3. Методи оцінки продуктивності паралельних систем
- •4. Характеристики продуктивності паралельних алгоритмів.
- •Масштабність (Scaleup)
- •Визначення для варіантів програми, що мають різну величину
- •5. Порівняння mimd і simd структур за продуктивністю
- •Висновки
- •2. Прості мережі Петрі
- •3. Розширені мережі Петрі
- •4. Приклади реалізації мереж Петрі
- •Тема 4: Розробка паралельного алгоритму
- •1. Паралелізм даних
- •2. Паралелізм задач
- •3. Етапи розробки паралельного алгоритму
- •1. Паралелізм даних
- •2. Паралелізм задач
- •3. Етапи розробки паралельного алгоритму
- •Тема №5: Структури зв’язку між процесорами
- •2. Шинні мережі
- •3. Мережі з комутаторами
- •4. Структури, що забезпечують зв'язок типу "пункт-пункт"
- •5. Методи комутацій
- •Питання:
- •2. Масивно - паралельні системи (mpp)
- •Симетричні мультипроцесорні системи (smp)
- •Системи з неоднорідним доступом до пам'яті (numa)
- •Паралельні векторні системи (pvp)
- •Кластерні системи
- •Тема №7: Схеми паралельних алгоритмів задач. Питання:
- •1. Схеми алгоритмів задач
- •2. Алгоритми перемноження матриці на матрицю і їх реалізація на структурах типу: кільцева, 2d (решітка), 3d (куб)
- •Схеми алгоритмів задач
- •2. Алгоритми перемноження матриці на матрицю і їх реалізація на структурах типу: кільцева, 2d (решітка), 3d (куб)
- •7. Збір результатів у с
- •2.Scatter b координати 3. Broadcast підматриць a
- •4. Broadcast 5. Обчислення підматриць b добутків (підматриць в c)
- •6. Збір результатів в c
- •2. Scatter b 3. Broadcast підматриць з а
- •4. Broadcast підматриць з у 5. Обчислення добутків підматриць у с)
- •6. Reduce (підсумовування)добутків 7. Gather c (збір результатів)
- •Тема №8: Мови паралельного програмування Питання:
- •2. Класифікація мов і систем паралельного програмування
- •3. Особливості організації паралельної програми
- •4. Технології паралельного програмування Message Passing Interface (mpi)
- •5. Операції обміну повідомленнями
- •Висновки
- •Література
- •Додатки Додаток а
- •Додаток б концепції паралельної обробки Співпрограми
- •Fork (розгалуження, виникнення паралельних процесів) I Join (об’єднання)
- •Процеси
- •Дистанційний виклик
- •Неявна паралельність
- •Проблеми асинхронної паралельності
- •Несумісні дані
- •Втрачена модифікація даних
- •Блокування
- •Балансування завантаження
- •Проблеми синхронної паралельності
- •Індексовані векторні операції
- •Відображення віртуальних процесорів на фізичні процесори
- •Зменшення пропускної спроможності під час підключення периферійної апаратури
- •Ширина частотної смуги комутаційних мереж.
- •Робота в режимі багатьох користувачів і толерантність до помилок.
- •Організація паралельних обчислень Навчальний посібник
- •Розподілені обчислення
- •[Ред.]Список проектів розподілених обрахунків
- •[Ред.]Список українських проектів розподілених обчислень
- •[Ред.]Біологія та медицина
- •[Ред.]Математика та криптографія
- •[Ред.]Природничі науки
- •[Ред.]пз для організації розподілених обчислень
- •[Ред.]Дивіться також
- •[Ред.]Ресурси інтернету
- •Паралельні та розподілені обчислення
- •[Ред.]Симетрична багатопроцесорність
- •[Ред.]Розподілені обчислення
- •[Ред.]Кластерні обчислення
- •[Ред.]Масово паралельні обчислення
- •[Ред.]Обчислення Ґрід
- •[Ред.]Спеціальні паралельні комп'ютери
- •[Ред.]Посилання
- •Основні етапи проектування паралельних та розподілених алгоритмів
- •8.1. Декомпозиція
- •8.2. Зв'язок
- •8.3. Синхронізація
2. Фактори, що необхідно враховувати при оцінці продуктивності
При оцінці продуктивності необхідно враховувати: тип алгоритму, тип програмного забезпечення, параметри протоколів каналів передачі даних, структуру окремого процесора.
Тип алгоритму. Алгоритм, що ідеально пристосований для роботи на одній архітектурі, на іншій (з цією ж кількістю процесорів) може працювати набагато гірше. Для масивно-паралельних систем необхідний масштабований алгоритм (для “оптимального” завантаження всіх процесорів). Виграш дає оптимальне поєднання “структура - алгоритм”. Тобто, на паралельній машині продуктивність залежить від відповідності між структурою апаратних елементів і структурою обчислень в алгоритмі. Не можна переносити результат з однієї на іншу систему.
Тип програмного забезпечення. Програмне забезпечення (ПЗ) паралельних структур має певні особливості, а саме: вартість програм є високою, при перенесенні програми з однієї машини на іншу необхідна доробка програми, всі системи відлагодження програми впливають на її поведінку (наприклад, покрокове відлагодження для паралельних систем неефективне). Крім того, програмісту важко навчитися мислити паралельними категоріями.
До складу ПЗ необхідно включати процедури маршрутизації. Для оцінки продуктивності розподіленої системи необхідно знати: топологію зв’язків, швидкість виконання арифметичних операцій, час ініціалізації каналу зв’язку, час передачі одиниці інформації.
Крім того, потрібно пам’ятати, що ріст продуктивності процесорів випереджає ріст швидкості комутаційних каналів.
Протокол каналів передачі. Для паралельних машин доцільно визначити бібліотеку передачі повідомлень, яка враховує особливості машини. В 1994 році прийнятий стандартний інтерфейс передачі повідомлень МРІ (Message Passing Interface Standart) – процедурний інтерфейс для мов С і Fortran). Інтерфейс визначає всі функції, необхідні для передачі повідомлень “точка-точка”. Для колективних повідомлень вводяться поняття групи процесорів (з якими можна оперувати як з кінцевими множинами), комунікатора (реалізують контекст для передачі повідомлень). Забезпечує трансляцію повідомлень з форми одного процесора у вид, який необхідний іншому процесорові. Не вирішена проблема динамічного балансування.
3. Методи оцінки продуктивності паралельних систем
Є такі методи оцінки продуктивності паралельних систем: метод обчислення продуктивності складових частин, метод експертних оцінок, розрахунковий метод, практичний метод.
Метод обчислення продуктивності складових частин. Для паралельних систем неефективний.
Метод експертних оцінок. Найскладніший і найзаперечливіший з усіх методів. Розроблений консорціумом стандартизації методів всесторонніх оцінок системи (PC Bench Concortium). Особлива увага приділена апаратному підходу (стараються наслідувати ідеалізовану тестову модель – виключити вплив сторонніх систем, які в даний момент не тестуються).
Використовується дві групи тестів:
-
синтетичні (вимірюють швидкість роботи і базуються на хронометражі роботи реальних застосувань; легко ізолюють процесор від решти компонентів системи. До реальної задачі можна віднести з натяжкою);
-
виключно процесорні тести (для процесорів окремо).
Розрахунковий метод. Базується на обчисленні продуктивності. Є трудомістким і недосконалим.
Практичний метод. Розв’язання конкретної задачі на конкретній структурі. Дає об’єктивну оцінку продуктивності. Недолік – продуктивність можна оцінити тільки після виготовлення системи. При негативному результаті – висока ціна помилки.