- •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. Тестування провести з замірами часу.
34. Охарактерізуваті технологію dcom
Технологія COM (Component Object Model) і її варіант для розподілених систем DCOM (Distributed Component Object Model) була розроблена компанією Microsoft. DCOM є розширенням технології СОМ і включає середовище розподілених обчислень DCE (Distributed Computing Environment) і механізм видаленого виклику процедур (RFC — Remote Procedure Calling).
Технологія базується на основних принципах ООП, а саме: повторне використання об’єктів, технологія базується на ідеях поліморфізму та інкапсуляції.
Філософія СОМ полягає в наступному: програма-клієнт використовує при своїй роботі об'єкт (об'єкти) деякій іншої програми (сервера) так, немов ці об'єкти є частиною самого клієнта. Основну роль при цьому грає інтерфейс об'єктів. Під інтерфейсом об'єкту мається на увазі пойменована безліч функціонально зв'язаних методів (операцій) об'єкту. Інтерфейс може формуватися, як правило, за допомогою IDL (Interface Definition Language), спеціального C++ — подібної мови опису інтерфейсів. Клієнт отримує саме інтерфейс об'єкту, що зажадався. Сервер же є програмою, що містить, крім усього іншого, ще один або декілька об'єктів СОМ. Сервер СОМ може створювати реалізації об'єктів з декількох класів, кожен з яких представляє різні варіанти поведінки об'єкту. СОМ-клієнт взаємодіє з СОМ-СЕРВЕРОМ через покажчик на інтерфейс і використовує цей покажчик для виклику методів сервера.
Технологія DCOM: клієнт і сервер — різні програми на різних комп'ютерах у складі мережі. Причому ці комп'ютери можуть бути апаратний несумісний і працювати під управлінням різних операційних систем. Передача даних між комп'ютерами відбувається шляхом використання стандартних протоколів, наприклад TCP/IP.
DCOM являє собою типовий приклад двухзвенной розподіленої архітектури. При цьому він володіє всіма достоїнствами і недоліками подібної архітектури.
DСОМ містить всі елементи, необхідні для побудови розподіленої системи:
технологію видаленого виклику методів (як статичних, так і динамічних);
бази даних серверних об'єктів (бібліотеки типів), які можуть бути імпортовані для аналізу структури серверів СОМ;
універсальний протокол обміну між клієнтами і серверами;
специфікації так званих "складених документів" (ActiveDoc);
об'єктний монітор транзакцій (MTS);
компонентну модель (ACTIVEX) і ін.
На основі СОМ булі побудована технологія ACTIVEX (працює лише на цій технології);
Програма складається із взаємодіючих Сом-обєктів її архітектура визначається принципами взаємодії цих обєктів;
Кожен Сом-обєкт має свій ідентифікатор, який вноситися до загальгний регістр Сом-обєктів
Сом-обєкт взаємодіє з іншими через Сом-інтерфейс (набір абстрактних функцій і властивостей;
Для роботи з Сом-обєктамі є низка спеціалізованих Win32 API;
Широка підтримка Сом-обєктів забезпечується MFS(це набір стандартних класів Microsoft).
35. Проаналізувати використання программ з багатьма підпроцесами для організації високопродуктивних систем опрацювання даних.
У сучасних ОС вирізняють поняття «процес», «запущена програма» і поняття «нитка» або «підпроцес», яка визначає деякі потоки в рамках одного процесу. У ОС процес визначається ідентифікатором (PID-process ID)деяке ціле число, яку присвоюється ядром ОС.
Потоком (нитка) є послідовний потік управління (послідовність команд) в рамках однієї програми. При створенні процесу породжується головний потік, що виконує ініціалізацію процесу. Він же починає виконання команд.
Потік і процес співвідносяться таким чином
процес має головний потік, що ініціалізував виконання команд процесу;
будь-який потік може породжувати в рамках одного процесу інші потоки;
кожен потік має власний стек;
потоки, відповідні одному процесу, мають загальні сегменти коди і даних.
При розробці багатопотокових застосувань виникають наступні проблеми:
гонки за даними;
блокування;
незбалансованість завантаження.
Гонки за даними (data races) - є наслідком залежностей, коли декілька потоків модифікують вміст однієї і тієї ж області пам'яті. Наявність гонок за даними не завжди є очевидним.
Блокування виникає, якщо потік чекає виконання умови, яка не може бути виконане. Звичайне виникнення тупикової
ситуації є наслідком конкуренції потоків за ресурс, який утримується одним з них.
Умови виникнення блокування:
доступ до ресурсу эксклюзивен (можливий тільки одним потоком);
потік може утримувати ресурс, запрошуючи інший;
жоден з конкуруючих потоків не може звільнити запрошуваний ресурс