
- •1. Назвати основні сфери застосування високопродуктивних систем опрацювання даних і коротко їх охарактеризувати.
- •2. Навести класифікацію обчислювальних систем згідно з м.Флінном.
- •3. Навести класифікацію обчислювальних систем згідно з р.Хокні.
- •4. Навести основні архітектури високопродуктивних систем опрацювання даних.
- •5.Архітектура мрр
- •6.Архітекттура smp
- •8. Охарактерізуваті архітектуру numa.
- •9. Охарактеризувати кластерні системи.
- •10. Охарактерізуваті архітектуру grid.
- •11.Навести переваги використання багатоядерних процесорних систем у порівнянні з багатопроцесорними системами.
- •12. Навести переваги використання спеціалізованих графічних процесорів (gpu) у порівнянні з центральними процесорами (cpu) комп'ютерних систем для високопродуктивних обчислень.
- •13.Як визначається час виконання паралельного алгоритму?
- •14. Мінімальний можливий час виконання паралельного алгоритму визначається довжиною максимального шляху обчислювальної схеми алгоритму:
- •15 Основною характеристикою алгоритму, визначальною ефективність його виконання на багатопроцесорній системі є його ступінь паралелізму.
- •16. Ефективність паралельних обчислень сильно залежить від об'єму обміну у виконуваному застосуванні і від свойст коммуникатора.
- •17.Закон Амдала
- •18.Закон Густавсона – Барсиса
- •20.Навести основні принципи, яких необхідно дотримуватись при розробці паралельних алгоритмів.
- •21. Навести та охарактеризувати основні типи апаратних комунікаційних інтерфейсів для організації високопродуктивних систем опрацювання даних.
- •22. Охарактеризувати спеціалізований комунікаційний інтерфейс sci (Scalable Coherent Interface).
- •23.Охарактеризувати спеціалізований комунікаційний інтерфейс Myrinet
- •24.Охарактеризувати комунікаційний інтерфейс Gigabit Ethernet.
- •26 Охарактеризувати принципи роботи технології виклику віддалених процедур, методів, обєктів
- •27 Дати означення терміну маршалізація даних при виклику віддалених процедур
- •28 Дати означення терміну серіалізація обєктів
- •29. Пояснити причини використання клієнтської та серверної заглушок (stub) при написанні програм виклику віддалених процедур та методів.
- •30. Навести основні проблеми, які виникають при використанні технологій виклику віддалених процедур, методів, об'єктів.
- •31. Охарактеризувати технологію rpc.
- •32.Архітектура rmi.
- •1.Rmi (англ. Remote Method Invocation) - програмний інтерфейс виклику видалених методів в мові Java.
- •35. Охарактерізуваті технологію dcom
- •36. Проаналізувати використання программ з багатьма підпроцесами для організації високопродуктивних систем опрацювання даних.
- •37.Дати означення термінам семафор, м'ютекс, критична секція.
- •38.Навести основні проблеми, які виникають при використанні програм з багатьма підпроцесами, зокрема гонка процесів, вхід/вихід з критичних секцій, синхронізація підпроцесів.
- •39.Проаналізувати використання програм зі з'єднанням на основі сокетів для організації високопродуктивних систем опрацювання даних.
- •40.Дати означення терміну сокет, мережевий сокет, unix-сокет.
- •42. Охарактеризуйте технологію mpi, її призначення і реалізації
- •43. Навести приклад найпростішої програми на мові с з використанням технології mpi, яка виводить прізвище студента
- •44 Описати процес компіляції і виконання програми засобами середовища OpenMpi та компілятора gcc.
- •45.Навести необхідні функції mpi для ініціалізації і завершення mpi-коду програми.
- •46Охарактеризувати поняття групи і комунікатора у технології mpi.
- •47Навести і охарактеризувати основні типи даних mpi.
- •48Охарактеризувати основні методи для обміну повідомленнями між окремими процесами технології mpi.
- •50. Навести і охарактеризувати віртуальні топології mpi.
- •52Директива parallel
- •53Навести конструкції технології OpenMp на мові с для паралельного виконання циклу області технології OpenMp.
- •58. Охарактеризувати технологію pvm.
- •59 Проаналізувати можливість використання технології OpenMp, mpi та mpi/openmp на архітектурах mpp, smp та кластерній
- •60 Охарактеризувати високодоступні кластери
- •61 Охарактеризувати високопродуктивні кластери
- •62. Які є базові операції rpc?
- •63.Які є етапи виконання rpc.
- •64.Навести основні етапи розробки паралельних алгоритмів.
- •65.Завдання множення матриці на вектор визначається співвідношеннями
- •66.Навести і описати паралельні методи множення матриць.
- •67. Навести і описати паралельні методи розв'язку систем лінійних рівнянь.
- •67. Навести і описати паралельні методи сортування.
- •69.Навести і описати паралельні методи опрацювання графів.
- •70.Навести і описати паралельні методи розв'язання диференціальних рівнянь у частинних похідних.
- •71.Навести і описати паралельні методи багатоекстремальної оптимізації
- •72. У вихідному коді програми на мові с вставити пропущені виклики процедур підключення мрі, визначення кількості процесів і рангу процесів.
- •73. Програма, яка виводить «Hello Word from process I for n».
- •74. Програма генерації чисел в одному процесі і сумування їх у іншому процесі і надсилення результату в перший процес.
- •85.Налаштувати обчислювальний кластер засобами OpenMosix і пояснити принципи його роботи
- •88.Пояснити що таке mfs і продемонструвати прозору взаємодію файлових систем кластера
- •89. Написати програму з використанням бібліотеки Posix threads на мові с з метою тестування роботи кластера під керуванням OpenMosix. Тестування провести з замірами часу.
26 Охарактеризувати принципи роботи технології виклику віддалених процедур, методів, обєктів
Технологія віддаленого виклику процедур(Romote Procedure Call, RPC)є прикладом синхронного обміну повідомленнями із підтвердженням отримання.
Розглянемо послідовність кроків, необхідних для обміну даними в цьому разі.
Операцію send оформляють як виклик процедури із параметрами.
Після виклику такої процедури відправник переходить у стан очікування, а дані(ім’я процедури і параметри) доставляються одержувачеві. Одержувач може перебувати на тому самому комп’ютері чи на віддаленій машині; технологія RPC приховує це. Класичний віддалений виклик процедур передбачає, що процес-одержувач створено внаслідок запиту.
Одержувач виконує операцію receive і на підставі даних, що надійшли, виконує відповідні дії(викликає локальну процедуру за іменем, передає їй параметри і обчислює результат).
Обчислений результат повертають відправникові як окреме повідомлення.
Після отримання цього повідомлення відправник продовжує своє виконання, розглядаючи обчислений результат як наслідок виклику процедури.
Remote Method invocation – запуск віддаленого методу . Технологія базується на методах RPC але працює лише для технології java . Lозволяє програмісту створювати розподілені Java-технології заснована на технологію Java-додатків, в яких методи віддалених об'єктів Java можуть бути викликані з інших віртуальних машин Java *, можливо, на різних комп'ютерах. RMI використовує сериализация об'єкта, керівництво і unmarshal параметрів і не обрізає типів, підтримка об'єктно-орієнтований поліморфізм
27 Дати означення терміну маршалізація даних при виклику віддалених процедур
Для того, щоб переслати дані між віддаленими адресними просторами, необхідно ініціювати процеси маршалізаціі (marshaling) і демаршалізаціі (unmarshaling). Маршалізація в цілому означає упаковку запиту, включаючи параметри, повертається значення, сам запит, у стандартний формат, який підходить для передачі по мережі. Демаршалізація є зворотна операція, що означає розпакування всіх даних в потрібний формат представлення даних (структури, класи) в адресному просторі процесу-одержувача. Термін "маршалізація" схожий за значенням з екстерналізації, проте в об'єктної термінології екстернелізація вживається в основному як зовнішнє подання примірника об'єкта.
28 Дати означення терміну серіалізація обєктів
Серіалізація це процес перетворення деякої структури даних (обєктів)в послідовність бітів. Вона використовується для передачі обєктів по мережі, зберігання їх у файли , бази данних. Такж вона передбачає коректне врахування ієрархії класів, а також при десерелізації коректне вживання приведених обєктних типів даних.
29. Пояснити причини використання клієнтської та серверної заглушок (stub) при написанні програм виклику віддалених процедур та методів.
клієнтська і серверна заглушки - це деяка компонента програми, яка створюється на стані її компілювання і дає змогу розробнику створювати код, в якому здійснюється виклик функцій, методів ,процедур та обєктів, які знаходяться або будуть знаходитися в іншій частині програми або в іншій програмі, яка виконується. Тобто йде виклик змінних ,методів, об’єктів, яких по суті немає у створюваній програмі.
клієнтське додаток викликає локальну заглушку замість коду, безпосередньо що реалізовуватиме необхідної процедури. Заглушка компілюється і линкуется з клієнтським додатком.
Заглушка клієнта виконує такі дії:
* Затребувана необхідні параметри з адресного простору клиента
* Перекладає параметри в стандартну форму уявлення даних у мережі (NDR - standard network data representation)
* Викликає необхідні функції з бібліотеки часу виконання RPC для посилання запиту з параметрами на сервер.
Причини:
* Клієнтська бібліотека часу виконання RPC приймає значення, які повертаються віддаленій процедурою і повертає їх заглушке
* Заглушка клієнта конвертує дані з формату NDR в формат, використовуваний клієнтським приложением
Заглушка серверу виконує такі кроки:
* Бібліотека часу виконання RPC приймає запит і процедуру заглушки сервера
* Заглушка серверу приймає параметра з буфера і конвертує їх із формату NDR в формат, процедури сервера.
* Заглушка викликає необхідної процедури на сервере.
Причини:
Віддалена процедура повертає дані заглушке сервера
Заглушка серверу конвертує які повертаються параметри в формат NDR і повертає їх функції бібліотеки часу виконання RPC