
- •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. Тестування провести з замірами часу.
50. Навести і охарактеризувати віртуальні топології mpi.
Топологія – це механізм зіставлення процесам деякого комунікатора альтернативної схеми адресації. У MPI топології віртуальні, тобто вони не пов'язані з фізичною топологією комунікаційної мережі.
Топологія використовується програмістом для зручнішого позначення процесів, і таким чином, наближення паралельної програми до структури математичного алгоритму. Крім того, топологія може використовуватися системою для оптимізації розподілу процесів по фізичних процесорах використовуваного паралельного комп'ютера за допомогою зміни порядку нумерації процесів усередині коммуникатора.В MPI предусмотрены два типа топологий:
декартова топологія (прямокутні грати довільної розмірності);
топологія графа.
MPI_TOPO_TEST(COMM, TYPE, IERR)
INTEGER COMM, TYPE, IERR
Процедура визначення типу топології, пов'язаної з комунікатором COMM.
Декартова топологія
MPI_CART_CREATE(COMM, NDIMS, DIMS, PERIODS, REORDER, COMM_CART,
IERR)
INTEGER COMM, NDIMS, DIMS(*), COMM_CART, IERR
LOGICAL PERIODS(*), REORDER
Створення комунікатора COMM_CART, що володіє декартовою топологією, з процесів коммуникатора COMM. Параметр NDIMS задає розмірність отримуваних декартових грат, DIMS(I) – число елементів у вимірі I
1≤I≤NDIMS. PERIODS – логический массив из NDIMS элементов,
определяющий, является ли решетка периодической (значение .TRUE.) вдоль
каждого измерения.
REORDER логічний масив з NDIMS елементів, що визначає, чи є грати періодичними (значення .TRUE.) уздовж кожного виміру. REORDER – логічний параметр, що визначає, що при значенні .TRUE. системі дозволено міняти порядок нумерації процесів для оптимізації розподілу процесів по фізичних процесорах використовуваного паралельного комп'ютера. Процедура є колективною, а значить, має бути викликана всіма процесами коммуникатора COMM. Якщо кількість процесів в тій, що задається
топологиї COMM_CART менше числа процесів у вихідному комунікаторі СОММА, то деяким процесам може повернутися значення Mpi_comm_null
Топологія графа
Mpi_graph_create(COMM, NNODES, INDEX, EDGES, REORDER, Comm_graph, IERR) INTEGER COMM, NNODES, INDEX(*), EDGES(*), Comm_graph, IERR LOGICAL REORDER Створення на основі комуникатора COMM нового комуникатора Comm_graph з топологією графа. Параметр NNODES задає число вершин графа, INDEX(I) містить сумарну кількість сусідів для перших I вершин. Масив EDGES містить впорядкований список номерів процесів-сусідів всіх вершин. Параметр REORDER при значенні .TRUE. означає, що системі раз- вирішено міняти порядок нумерації процесів. Процедура є колективною, а значить, має бути викликана всіма процесами вихідного коммуникатора. Якщо NNODES менше числа процесів коммуникатора COMM, то деяким процесам повернеться значення Mpi_comm_null, а значить, вони не прийматимуть участі в створюваній топології. Якщо NNODES більше числа процесів комунікатора COMM, то виклик процедури є помилковим.
51.OpenMP–це стандарт для реалізації бібліотек, призначених для написання додатків, що працюють на загальному полі пам'яті (SMP, NUMA). Даний стандарт передбачає реалізацію розпаралелювання шляхом використовування POSIX-threads. На відміну від останнього, OpenMP передбачає інтерфейс як до С-, так і до FORTRAN-програм. Існують відкриті реалізації стандарту, наприклад, OdinMP. Стандарт багатопотокового програмування! Орієнтується на SMP.
Переваги ОМР :
Технологія є ефективнішою при створенні програми з великими паралельними циклами. Розробнику не потрібно створ. нову паралельну програму, а варто лише додати в текст послідовної програми ОpenMP директиви.
Зручний спосіб контролю виконання паралельної програми
ОpenMP програма на одноядерній платформі може виконуватися як послідовна.
Директиви просто ігноруються на етапі компіляції, аое при потребі можу бути перекомпілюована в паралельну.
Підтримка orphan(відірвані директиви), тобто директиви синхронізації і розподілу роботи можуть не входити бузпосередньо в лексичний контекст паралельної області програми.
Gcc, ! gomp- бібліотека
Gcc –fopenmp hello.c –o hello