- •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. Тестування провести з замірами часу.
2. Навести класифікацію обчислювальних систем згідно з м.Флінном.
Найбільш відомою класифікацією архітектур обчислювальних систем є класифікація М. Флінн, запропонована в 1966 році. Класифікація базується на понятті потоку - послідовність команд або даних, обробляється процесором. На основі кількості потоків даних М. Флінн виділив 4 класу архітектур:
SISD (Single Instruction stream / Single Data stream) - одиночний потік команд і одинарний потік даних, їх обробки. Сюди можна віднести звичайні послідовні ЕОМ.
SIMD (Single Instruction stream / Multiple Data stream) - одиночний потоком команд і множинний потік даних. В архітектурі зберігається один потік команд, що включає, на відміну від попереднього класу, векторні команди, тобто це системи, в яких в кожний момент часу може виконуватися одна і та ж команда для обробки декількох інформаційних елементів, наприклад над елементами вектора.
MISD (Multiple Instruction stream / Single Data stream) - множинний потік команд і одинарний потік даних, тобто в архітектурі присутній багато процесорів, що обробляють один і той же потік даних. Однак прикладів конкретних ЕОМ, які відповідають даному типу обчислювальних систем, не існує. Введення даної архітектури починається для повноти системи класифікації.
MIMD (Multiple Instruction stream / Multiple Data stream) - множинний потоком команд і множинним потоком даних. У обчислювальної системі є декілька пристроїв обробки команд, об'єднаних у комплекс, що працюють кожне зі своїм потоком команд і даних. До подібного класу систем відноситься більшість паралельних багатопроцесорних обчислювальних систем.
3. Навести основні архітектури високопродуктивних систем опрацювання даних.
Характеристика симетричного багатопроцесорного вузла (SMP):
вузол містить два або більше однакових рівноправно використовуваних процесорів;
всі процесори мають однаковий доступ до обчислювальних ресурсів вузла;
Операційна система майже автоматично масштабує додатки, даючи їм можливість використовувати нарощувані ресурси;
Додатки не міняються при додаванні процесорів і стежать за тим, на яких процесорах вони працюють;
Переносимість програм - одне з основних достоїнств SMP-платформ.
Простота і універсальність для програмування;
Для SMP-систем існують порівняно ефективні засоби автоматичного розпаралелювання;
Легкість в експлуатації;
Відносно невисока ціна.
Масивно-паралельні системи (МРР)
Вузли в архітектурі MPP складаються з одного ЦПУ, невеликої пам'яті і декількох пристроїв введення-виведення;
У кожному вузлі працює своя копія OC;
Вузли об'єднуються між собою спеціалізованим швидким з'єднанням;
Взаємозв'язки між вузлами не вимагають апаратної підтримуваної когерентності;
Когерентність реалізується програмними засобами, з використанням техніки передачі повідомлень.
Затримки, властиві програмній підтримці когерентності в тисячі разів більші, однак реалізація – дешевша;
В МРР-вузлах затримкою доводиться жертвувати, щоб під'єднати більшу кількість процесорів - тисячі вузлів;
Під'єднати велику кількість процесорів дуже просто.
Головною перевагою систем з роздільною пам'яттю є хороша масштабованість: на відміну від SMP-систем в машинах з роздільною пам'яттю кожен процесор має доступ тільки до своєї локальної пам'яті, у зв'язку з чим не виникає необхідності в потактовой синхронізації процесорів.
Схема архітектури МРР з розподіленою пам'яттю
Системи з неоднорідним доступом до пам'яті (NUMA)
Система складається з однорідних базових модулів, що включають декілька процесорів і блок пам'яті.
Модулі об'єднані за допомогою високошвидкісного комутатора.
Підтримується єдиний адресний простір та апаратний доступ до віддаленої пам'яті інших модулів.
Доступ до локальної пам'яті у декілька разів швидший, ніж до віддаленої.
Існують архітектури системи з апаратною когерентністю кешів у всій системі (cc-NUMA).
Зазвичай вся система працює під управлінням єдиної ОС, як в SMP. Але можливі варіанти динамічного "підрозділу" системи, коли окремі "розділи" системи працюють під управлінням різних ОС.
Паралельно-векторні системи (PVP)
Основною ознакою PVP-систем є наявність спеціальних векторно-конвейєрних процесорів, в яких передбачені команди однотипної обробки векторів незалежних даних;
Векторно-конвейєрні процесори можуть об'єднуватися в системи з використанням загальної або розподіленої пам'яті;
Декілька процесорів працюють одночасно над загальною пам'яттю (аналогічно SMP) і декілька вузлів можуть бути об'єднані за допомогою комутатора (аналогічно MPP);
Ефективне програмування - векторизація циклів (для досягнення розумної продуктивності одного процесора) і їх розпаралелювання (для одночасного завантаження декількох процесорів одним додатком).