
- •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. Тестування провести з замірами часу.
47Навести і охарактеризувати основні типи даних mpi.
Тип даних, які будуть передаватися - з плаваючою точкою, наприклад. Цей тип даних повинен бути тим же самим для дзвінків надсилання й отримання. Винятком з цього правила є тип даних MPI_PACKED, який є одним із способів обробки повідомлень зі змішаним типом даних (найкращим методом є метод з похідними типами даних). Перевірка типів не потрібна в цьому випадку.
Типи даних вже визначені для вас називаються "основними типами даних" і перераховані нижче
На латиницi
Типы данных MPI Типы данных C
MPI_CHAR signed char
MPI_SHORT signed short int
MPI_INT signed int
MPI_LONG signed long int
MPI_UNSIGNED_CHAR unsigned char
MPI_UNSIGNED_SHORT unsigned short int
MPI_UNSIGNED unsigned int
MPI_UNSIGNED_LONG unsigned long int
MPI_FLOAT float
MPI_DOUBLE double
MPI_LONG_DOUBLE long double
MPI_BYTE
MPI_PACKED
48Охарактеризувати основні методи для обміну повідомленнями між окремими процесами технології mpi.
Всі процедури передачі повідомлень в MPI діляться на дві групи. До однієї групи входять процедури, які призначені для взаємодії лише двох процесів програми. Такі операції називаються індивідуальними або операціями типа крапка-крапка. Процедури іншої групи передбачають, що в операцію мають бути залучені всі процеси деякого коммуникатора. Такі операції називаються колективними.
Почнемо опис процедур обміну повідомленнями з обговорення операцій типа крапка-крапка. У таких взаємодіях беруть участь два процеси, причому один процес є відправником повідомлення, а інший – одержувачем. Процес-відправник повинні викликати одну з передачі даних і явно вказати номер в деякому комунікаторі процесу-одержувача, а процес-одержувач повинні викликати одну з процедур прийому з вказівкою того ж коммуникатора, причому в деяких випадках він може не знати точний номер процесу-відправника в даному комунікаторі. Всі процедури даної групи, у свою чергу, так само діляться на два класи:
процедури з блокуванням (з синхронізацією) і процедури без блокування (асинхронні). Процедури обміну з блокуванням припиняють працю процесу до виконання деякої умови, а повернення з асинхронних процедур відбувається негайно після ініціалізації відповідної комунікаційної операції.
Передача/прийом повідомлень з блокуванням
MPI надає наступні модифікації процедури передачі даних з блокуванням Mpi_send
MPI_BSEND — передача повідомлення з буферизацією. Якщо прийом посиланого повідомлення ще не ініціалізував процессом- одержувачем, то повідомлення буде записано в спеціальний буфер, і станеться негайне повернення з процедури. Виконання даної процедури ніяк не залежить від відповідного виклику процедури прийому повідомлення. Проте, процедура може повернути код помилки, якщо місця під буфер недостатньо.
MPI_SSEND — передача повідомлення з синхронізацією. Вихід з даної процедури станеться лише тоді, коли прийом посиланого повідомлення ініціалізує процесом-одержувачем. Таким чином, завершення передачі з синхронізацією говорить не лише про можливість повторного використання буфера посилки, але і про гарантоване досягнення процесом-одержувачем точки прийому повідомлення в програмі.
MPI_RSEND — передача повідомлення по готовності. Даною процедурою можна користуватися лише в тому випадку, якщо процес-одержувач вже ініціював прийом повідомлення
Передача/прийом повідомлень без блокування
В MPI передбачений набір процедур для здійснення асинхронної передачі даних. На відміну від блокуючих процедур, повернення з процедур даної групи відбувається відразу після виклику без якої-небудь зупинки роботи процесів. На тлі подальшого виконання програми одночасно відбувається і обробка асихронно запущеної операції. додаткові варіанти процедури MPI_ISEND:
MPI_IBSEND — неблокуюча передача повідомлення з буферизацією;
MPI_ISSEND — неблокуюча передача повідомлення з синхронізацією;
MPI_IRSEND — неблокуюча передача повідомлення по готовності.
Відкладені запити на взаємодію
Процедури даної групи дозволяють понизити накладні витрати, що виникають в рамках одного процесора при обробці прийому/передачі і переміщенні необхідної інформації між процесом і мережевим контроллером. Аналогічно трьом модифікаціям процедур
Mpi_send і Mpi_isend, передбачені три додаткові варіанти процедури MPI_SEND_INIT:
MPI_BSEND_INIT — формування відкладеного запиту на передачу повідомлення з буферизацією;
MPI_SSEND_INIT — формування відкладеного запиту на передачу повідомлення з синхронізацією;
MPI_RSEND_INIT — формування відкладеного запиту на передачу повідомлення по готовності.
Тупикові ситуації (deadlock)
Використання блокуючих процедур прийому і посилки пов'язане з можливим виникненням тупикової ситуації.
49-