
|
|
Главная \ Методичні вказівки \ Технології розподілених систем та паралельних обчислень
Технології розподілених систем та паралельних обчислень« Назад
Технології розподілених систем та паралельних обчислень 16.07.2014 20:42
Частина 1. Архітектура обчислювальних машин і систем. Тема 1. Загальна характеристика і еволюція розвитку розподілених і паралельних обчислень. Поняття високопродуктивних систем, розподілених і паралельних обчислень. Задачі розподілених систем. Паралельна і конвеєрна обробка. Супер – ЕОМ, надвисока продуктивність ЕОМ. Еволюція розвитку високопродуктивних систем. Сучасні тенденції застосування високопродуктивної обчислювальної техніки. Основні архітектурні поняття. Архітектура високопродуктивних обчислювальних систем. Класична Фон-Неймановська архітектура. Архітектура пам'яті. Методи підвищення швидкодії пам'яті: ієрархія пам'яті; просторова і тимчасова локальність, кеш-пам'ять і стратегії її використання; розшарування пам'яті.
Тема 2. Класифікації обчислювальних систем. Підходи до класифікації архітектур обчислювальних систем та їх взаємозв’язок. Класифікація Флинна: єдиність або множинність потоків даних і команд. Доповнення Ванга і Бріггса: конкретизація класів SISD, SIMD, MIMD. Класифікація Фенга: дві прості чисельні характеристики паралелізму (послівний і порозрядний паралелізм). Класифікація Шора: шість "типової архітектури" обчислювальних систем. Класифікація Хендлера: кількісний опис паралелізму на трьох різних рівнях обробки даних(виконання програми, виконання команд, обробка бітів). Класифікація Хокни : конкретизація класу MIMD. Класифікація Шнайдера: конкретизація класу SIMD(основна ідея - виділення етапів вибірки і безпосередньо виконання в потоках команд і даних). Класифікація Джонсона: чотири класи MIMD- комп'ютерів(комп'ютери із загальною або розподіленою пам'яттю, що програмуються за допомогою передачі повідомлень або змінних, що розділяються). Класифікація Базу: послідовність рішень, прийнятих на етапі проектування архітектури.Класифікація Кришнамарфи: чотири якісні характеристики паралелізму(міра гранулярної паралелізму, спосіб реалізації, топологія і природа зв'язку процесоров, спосіб управління процесорами). Класифікація Скилликорна : опис архітектури комп'ютера як абстрактної структури, що складається з компонент 4 типів(процесор команд, процесор даних, ієрархія пам'яті, комутатор). Класифікація Дазгупти: побудова схем архітектури з семи базових понять.
Тема. 3. Сучасні високопродуктивні комп’ютери Вимоги до сучасних комп’ютерів. Класифікація комп’ютерів за сферами застосування. Шляхи підвищення продуктивності комп’ютерів. Сучасні мікропроцесори і мікропроцерні системи. Системи високої готовності і відмовостійкі системи. Суперкомп’ютери. Векторні і матричні комп’ютери, багатопроцесорні комп’ютери і багатомашинні комплекси, векторизація і розпаралелювання алгоритмів, машини потоків команд і машини потоків даних, транс’ютери, нейрокомп’ютери. Приклади застосування суперкомп’ютерних технологій. Мультипроцесори. Гомогенні та гетерогенні мультиком’ютері системи. Архітектура сучасних багатоядерних процесорів. Архітектура векторно-конвейерних супер-ЕОМ CRAY C90. Паралельні комп’ютери із спільною пам’яттю. Обчислювальні системи з розподіленою пам’яттю. Архитектура масивно-паралельних комп’ютерів (на прикладі CRAY T3D). Особливості програмування. Комп’ютери з нетрадиційною архітектурою.
Тема 4. Розподілені та паралельні обчислення. Поняття розподілених обчислень. Метакомпьютинг. Розподілені задачі і алгоритми. Особливості розподілу задач і передачі даних. Обчислювальні мережі. Принципи організації. Мережеві протоколи. Мережа INTERNET. Протокол TCP/IP. IP адресація. Потокові і нейронні системи. Віддалений виклик процедур. Звернення до віддалених об’єктів. Зв’язок на основі повідомлень та потоків даних. Синхронізація. Не протиріччя і реплікація. Відмовостійкість. Захист розподілених систем. Grid- технології. Поняття паралельних обчислень і алгоритмів. Основні принципи паралельних обчислень. Гетерогенні обчислення.
Тема 5. Альтернативні обчислювальні системи. Оптичні обчислювальні системи. Квантово-механічні обчислення. Природний паралелізм квантово-механічних і оптичних систем.
Частина 2. Програмне і математичне забезпечення високопродуктивних обчислень Тема. 6. Паралельні чисельні методи Елементи комп’ютерної арифметики. Цілі числа: значення, операції, розширення. Дійсні числа: значення, операції, причини помилок. Приклади алгоритмів виконання типових операцій. Методи рішення систем лінійних алгебраїчних рівнянь (СЛАР). Прямі методи рішення СЛАР. Метод виключення Гауса. Метод Холецького. Метод прогонки. Метод редукції. Методи рішення систем з розрідженою матрицею. Ітераційні методи рішення СЛАР. Метод простої ітерації. Метод верхньої релаксації. Метод споріднених градієнтів Методи рішення диференційних рівнянь в часних похідних. Рішення задачі Діріхле для рівняння Пуассона. Організація паралельних обчислень. Методы Монте-Карло.
Тема 7. Моделювання і аналіз паралельних обчислень Модель обчислень у вигляді "операції-операнди". Схема паралельного виконання алгоритму. Визначення часу паралельного виконання алгоритму. Показники ефективності паралельного виконання алгоритму. Обчислення часних сум послідовності числових начень. Оцінка максимально досяжного паралелізму. Закон Амдаля. Закон Густавсона–Барсиса. Аналіз масштабованості паралельних обчислень.
Тема 8. Програмне забезпечення високопродуктивних обчислень. Роль програмного забезпечення у високопродуктивних обчисленнях Операційні системи підтримки паралельних і розподілених обчислень: UNIX(Linux) і Windows. Коротка характеристика основних мов високопродуктивних обчислень: C, C++, High Performance Fortran(HPF) Програмне забезпечення паралельних обчислень. Дві моделі програмування: послідовна і паралельна. Паралелізм даних і завдань. Обчислювальні кластери. Трудовитрати на розпаралелювання або векторизацію програми. Методи векторизації і розпаралелювання програм. Застосування різних мов програмування. Взаємодія трьох частин програм - паралельною, послідовною і обміном даними. Синхронізація процесів. Паралельні бібліотеки. Сучасні методи розпаралелювання обчислень. Інженерні і наукові завдання. Алгоритми для високопродуктивних обчислень. Програмне забезпечення розподілених обчислень. Розподілені додатки та бази даних. Технологія Inprise. Технології паралельного програмування: Message Passing Interface (MPI), OpenMP. Система Linda. Нові мови для паралельних обчислень. Мова паралельного програмування Х10. Мова програмування CAF.
Тема 9. Спеціалізовані і універсальні програмні продукти. Пакети чисельного моделювання. Коротка специфікація і характеристика сучасних програмних продуктів універсального призначення. Спеціалізовані пакети і їх застосування. Пакети для наукових і технічних розрахунків. Пакети MATLAB, MATCAD: коротка характеристика і класифікація. Пакети символьного моделювання. Спеціалізовані і універсальні пакети: характеристика і класифікація. Короткий опис пакетів MATHEMATICA, MAPLE. Можливості розпаралелювання символьних обчислень. Коротка характеристика паралелізму в пакетах комп'ютерної алгебри MATHEMATICA(Parallel Computing Toolkit for MATHEMATICA 4.0) MAPLE Відкитий стандарт паралельних обчислень – Open Computing Langugage (OpenCL) Використання технологій COM(DCOM), COM,.NET, а також CORBA технологій при побудові ефективних інформаційних систем. Библиотеки CUBLAS, CUFFT, CURAND, CUSPARSE
Тема 10. Технологія паралельного програмування Message Passing Interface (MPI). Загальні процедури MPI. Прийом/передача повідомлень між окремими процесами. Об’єднання запитів на взаємодію. Сумісний прийом/передача повідомлень. Колективні взаємодії процесів. Синхронізація процесів. Робота з групами процесів. Приклади MPI-програм Паралельні бібліотеки універсальних і спеціальних методів рішення наукових завдань. Використання векторних операцій і функцій High Performance Fortran (HPF). Технологія PVM і MPI. Використання Parallel Virtual Machine (PVM) і Message Passing Interface (MPI) в чисельних розрахунках в кластерних системах. Fortran, C, C реалізації. Бібліотеки процедур. Відладка і проходження програм на PVM і MPI: термінологія і позначення. Загальні процедури. Прийом-передача повідомлень між окремими процесами.
Тема 11. Технологія паралельного програмування OpenMP. Основи технології OpenMP. Виокремлення паралельно-виконавчих фрагментів програмного коду. Розподіл обчислювального навантаження між потоками. Розпаралелювання по даним для циклів. Управління розподілом ітерацій циклу між потоками. Управління порядком виконання обчислень Синхронізація обчислень після закінчення виконання циклу. Введення умов при визначенні паралельних фрагментів(параметр if директиви parallel). Управління даними для паралельно-виконавчих потоків. Визначення загальних і окальних змінних Спільна обробка локальних змінних(операція редукції) Організація взаємовиключення при використанні спільних змінних. Забезпечення атомарності (неподільності) операцій Використання критичних секцій Застосування змінних семафорного типу(замків) Розподіл обчислювального навантаження між потоками(розпаралелювання по задачам за допомогою директиви sections) Розширені можливості OpenMP
Тема 12. Засоби створення і проектування паралельних програм. Засоби створення паралельних програм Code Visual Parallel Programming System (CODE). Засоби HEterogeneous Network Computing Environment. (HeNCE) Інструменти паралельного програмування в системами із спільною пам’яттю. Засоби профілювання і відладки паралельних програм Total View Multiprocess Debugger/Analyzer. Система TimeScan Multiprocess Event Analyzer . Засоби Intel Thread Checker Профілювання і оптимізація по швидкості паралельних програм . Intel Thread Profiler: балансування навантаження і синхронізація Розробка паралельних програм в системах із спільною пам’яттю з використанням інструментів Intel Parallel Studio і бібліотек Intel Threading Building Blocks та Intel Math Kernel Library Системи підтримки паралельного програмування DVM (Distributed Virtual Machine, Distributed Virtual Memory). DVM – технологія розробки паралельних программ для обчислювальних кластерів
Частина 3. Сфери застосування паралельних і розподілених обчислень Тема 13. Паралельні і розподілені СКБД. Розробка нових і адаптація існуючих СКБД для СУПЕРЕОМ масивної паралельної, кластерної і гібридної архітектури.
Тема 14. Розподілені інформаційні системи. Основні поняття розподілених систем та їх класифікація. Розподілені системи об’єктів. Розподілені файлові системи. Розподілені системи документів. Розподілені системи узгодження. Корпоративні обчислювальні і інформаційні системи. Приклади розподілених інформаційних систем. Моделювання розподілених систем. Мова Triad.
Тема 15. Grid- технології. Основи Grid-технології. Архітектура Grid. Обчислювальні ресурси Grid. Проміжне програмне забезпечення Grid. Перспективні напрями в Grid-технологіях.
Тема 16. Високопродуктивні обчислення в наукових дослідженнях. Математичне і комп'ютерне моделювання. Основні принципи і сучасні тенденції. Методи і засоби сучасних комп'ютерних технологій. Сучасні методи математичного моделювання в природознавстві. Класифікація основних проблем при моделюванні складних систем. Ієрархія моделей. Обчислювальний експеримент. Паралельні і розподілені обчислення при моделюванні фізичних систем. Основні типи завдань і класифікація математичних методів
Тема 17. Гіпермедіа-технології і віртуальна реальність. Роль гіпермедіа технологій в наукових, освітніх і технологічних завданнях. Електронні(цифрові) бібліотеки; концепції побудови, наповнення контентом, технології доступу. Навчальні інформаційні системи. Основні принципи побудови систем дистанційного навчання. Концепція розподіленого університету.
Розділ 18. Системи візуалізації. Роль 2D - і 3D-графики в сучасних наукових і технологічних завданнях. Відмінність обчислювальних експериментів від натурних. Принципи побудови 2D і 3D-графики. Пакети візуалізації.
КомментарииКомментариев пока нет Пожалуйста, авторизуйтесь, чтобы оставить комментарий. |