- •1. Назвати основні сфери застосування високопродуктивних систем опрацювання даних і коротко їх охарактеризувати.
- •2. Навести класифікацію обчислювальних систем згідно з м.Флінном.
- •3. Навести основні архітектури високопродуктивних систем опрацювання даних.
- •4.Архітектура мрр
- •5.Архітекттура smp
- •7. Охарактерізуваті архітектуру numa.
- •8. Охарактеризувати кластерні системи.
- •9. Охарактерізуваті архітектуру grid.
- •10.Навести переваги використання багатоядерних процесорних систем у порівнянні з багатопроцесорними системами.
- •11. Навести переваги використання спеціалізованих графічних процесорів (gpu) у порівнянні з центральними процесорами (cpu) комп'ютерних систем для високопродуктивних обчислень.
- •12.Як визначається час виконання паралельного алгоритму?
- •13. Мінімальний можливий час виконання паралельного алгоритму визначається довжиною максимального шляху обчислювальної схеми алгоритму:
- •14. Основною характеристикою алгоритму, визначальною ефективність його виконання на багатопроцесорній системі є його ступінь паралелізму.
- •16.Закон Амдала
- •17.Закон Густавсона – Барсиса
- •20. Навести та охарактеризувати основні типи апаратних комунікаційних інтерфейсів для організації високопродуктивних систем опрацювання даних.
- •22.Охарактеризувати спеціалізований комунікаційний інтерфейс Myrinet
- •23.Охарактеризувати комунікаційний інтерфейс Gigabit Ethernet.
- •25 Охарактеризувати принципи роботи технології виклику віддалених процедур, методів, обєктів
- •26 Дати означення терміну маршалізація даних при виклику віддалених процедур
- •27 Дати означення терміну серіалізація обєктів
- •28. Пояснити причини використання клієнтської та серверної заглушок (stub) при написанні програм виклику віддалених процедур та методів.
- •29. Навести основні проблеми, які виникають при використанні технологій виклику віддалених процедур, методів, об'єктів.
- •30. Охарактеризувати технологію rpc.
- •31.Архітектура rmi.
- •1.Rmi (англ. Remote Method Invocation) - програмний інтерфейс виклику видалених методів в мові Java.
- •34. Охарактерізуваті технологію dcom
- •35. Проаналізувати використання программ з багатьма підпроцесами для організації високопродуктивних систем опрацювання даних.
- •36.Дати означення термінам семафор, м'ютекс, критична секція.
- •37.Навести основні проблеми, які виникають при використанні програм з багатьма підпроцесами, зокрема гонка процесів, вхід/вихід з критичних секцій, синхронізація підпроцесів.
- •38.Проаналізувати використання програм зі з'єднанням на основі сокетів для організації високопродуктивних систем опрацювання даних.
- •39.Дати означення терміну сокет, мережевий сокет, unix-сокет.
- •42. Навести приклад найпростішої програми на мові с з використанням технології mpi, яка виводить прізвище студента
- •43 Описати процес компіляції і виконання програми засобами середовища OpenMpi та компілятора gcc.
- •51Директива parallel
- •57. Охарактеризувати технологію pvm.
- •58 Проаналізувати можливість використання технології OpenMp, mpi та mpi/openmp на архітектурах mpp, smp та кластерній
- •59 Охарактеризувати високодоступні кластери
- •60 Охарактеризувати високопродуктивні кластери
- •61. Які є базові операції rpc?
- •62.Які є етапи виконання rpc.
- •63.Навести основні етапи розробки паралельних алгоритмів.
- •65.Навести і описати паралельні методи множення матриць.
- •66. Навести і описати паралельні методи розв'язку систем лінійних рівнянь.
- •67. Навести і описати паралельні методи сортування.
- •69.Навести і описати паралельні методи розв'язання диференціальних рівнянь у частинних похідних.
- •71. У вихідному коді програми на мові с вставити пропущені виклики процедур підключення мрі, визначення кількості процесів і рангу процесів.
- •72. Програма, яка виводить «Hello Word from process I for n».
- •73. Програма генерації чисел в одному процесі і сумування їх у іншому процесі і надсилення результату в перший процес.
- •88. Написати програму з використанням бібліотеки Posix threads на мові с з метою тестування роботи кластера під керуванням OpenMosix. Тестування провести з замірами часу.
12.Як визначається час виконання паралельного алгоритму?
Безліч операцій, виконувані в досліджуваному алгоритмі рішення обчислювальної задачі, і інформаційні залежності, що існують між операціями, можуть бути представлені у вигляді ациклічного орієнтованого графа
- безліч вершин графа, що представляють виконувані операції алгоритму
R - безліч дуг графа; дуга r(i,j) належить графові тільки якщо операція j використовує результат виконання операції i
Вершини без вхідних дуг можуть використовуватися для завдання операцій введення, а вершини без вихідних дуг – для операцій висновку.
V – безліч вершин графа без вершин введення,
D(G) – діаметр графа (давжина максимального шляху)
Модель паралельного алгоритму:
Час виконання паралельного алгоритму з заданим порядком:
Час виконання параллельного алгоритму з оптимальним порядком:
Мінімально можливий час розвязку задачі при заданій кількості процесів:
Оцінка найбільш швидкого виконання алгоритму:
час виконання послідовного алгоритму для заданої розрахункової схеми:
Час виконання послідовного алгоритму:
Час послідовного розрахунку задачі:
Рекомендації
–при виборі обчислювальної схеми алгоритму повинен використовуватися граф з мінімально можливим діаметром
–для паралельного виконання доцільна кількість процесорів визначається величиною p~T1/T∞
13. Мінімальний можливий час виконання паралельного алгоритму визначається довжиною максимального шляху обчислювальної схеми алгоритму:
При зменшенні числа використовуваних процесорів час виконання алгоритму збільшується пропорційно величині зменшення кількості процесорів, тобто :
при виборі обчислювальної схеми алгоритму повинен використовуватися граф з мінімально можливим діаметром
Приклад: граф алгоритму обчислення площі прямокутника, заданого координатами двох кутів, що протилежать
14. Основною характеристикою алгоритму, визначальною ефективність його виконання на багатопроцесорній системі є його ступінь паралелізму.
Принциповий момент при розробці паралельних алгоритмів - аналіз ефективності використання паралелізму:
- Оцінка ефективності розпаралелювання конкретних вибраних методів виконання обчислень
- Оцінка максимально можливого прискорення процесу рішення даної задачі (аналіз всіх можливих способів виконання обчислень)
Ступенем паралелізму алгоритму називають число дій алгоритму, які можуть виконуватися одночасно, кожен на своєму процесорі.
Підкреслимо, що ступінь паралелізму не залежить від числа процесорів, на яких передбачається виконувати відповідну програму. Ступінь паралелізму є внутрішньою властивістю вибраного алгоритму. Від числа процесорів залежить тільки час виконання реальної програми при її запуску на цих процесорах.
Можна зробити вивід про те, що прискорити виконання програми більше чим в число разів, визначуване ступенем паралелізму її алгоритму, не можна.
15. Ефективність паралельних обчислень сильно залежить від об'єму обміну у виконуваному застосуванні і від свойст коммуникатора. Щоб оцінити цей вплив, постороїм деяку формульную модель виконання додатку на кластері.Як модель обчислень ухвалимо мережевий закон Амдала. Мережевий закон Амдала володіє великими можливостями розширення і дозволяє врахувати витрати часу на міжпроцесорний обмін даними. У окремому випадку він може виглядати так:
Тут:T1 - час вирішення додатку на однопроцесорній системі; Tn - час вирішення того ж застосування на n - процесорній системі; w -число обчислювальних операцій в додатку; wс -число скалярних операцій в пріложенійі; wо - число операцій обміну; t - час виконання однієї обчислювальної операції; tо - время виконання однієї операції обміну; а - питома вага операцій обміну.
Окрім прискорення для характеристики ефективності обчислень часто використовують коефіцієнт використання процесорного часуh, який по суті є коефіцієнтом корисної дії процесорів (ККД):
Цей параметр дозволяє оцінити масштабованість кластера. Під масштабованістю розуміють ступінь збереження ефективності при зміні розмірів системи (числа процесорів або розміру даних).
Для простоти покладемо а=0, тоді
Досліджуємо на цьому спрощеному варіанті мережевого закону Амдала, як міняється ефективність обчислень при збільшенні числа процесорів. Для багатьох завдань відношення часу обміну до часу рахунку
Відповідний графік для цього діапазону зміни z приведений нижче. Зазвичай вважають, що ККД не має бути нижче 0.5. З графіка видно, що цій умові в кращому разі задовольняють 256 процесорів.
Значення z в сильному ступені визначається характеристиками коммуникатора, тобто величиною wo∙ to. Тому можна допустити, що крива для wo∙ to =0.10 відповідає комунікатору Fast Ethernet, а крива wo∙to = 0.005 - швидшому комунікатору, наприклад, SCI.