Високопродуктивні комп’ютерні системи. Вступ до дисципліни
Завантажити презентаціюПрезентація по слайдам:
Тема 1. Вступ Викладач: д.т.н., проф. Саченко А.О. Високопродуктивні комп’ютерні системи Тернопіль 2006 Тернопільський Національний Економічний Університет Факультет комп'ютерних інформаційних технологій Кафедра Інформаційно обчислювальних систем та управління
Зміст лекції Загальна класифікація комп’ютерів та її нечіткість Історія розвитку суперкомп'ютерів Проблемна, наочна і об'єктна орієнтація високопродуктивних комп'ютерів і обчислювальних систем Системи класифікації високопродуктивних суперкомп’ютерів Огляд архітектур багатопроцесорних обчислювальних систем Нові парадигми у високопродуктивних обчисленнях
1. Загальна класифікація комп’ютерів та її нечіткість Персональні комп'ютери Робочі станції Х-термінали Сервери Суперсервери Мейнфрейми Мінісуперкомп'ютери і Суперкомп'ютери Кластери
Персональні комп'ютери (ПК) Персональні комп'ютери (ПК) - результат еволюції мінікомп'ютерів внаслідок переходу елементної бази машин на великі і надвеликі інтегральні схеми. ПК, завдяки своїй низькій вартості, дуже швидко завоювали хороші позиції на комп'ютерному ринку і створили передумови для розробки нових програмних засобів, орієнтованих на кінцевого користувача.
Робочі станції Мінікомп'ютери стали прабатьками і іншого напряму розвитку сучасних систем - настільних систем високої продуктивності, які сьогодні відомі як робочі станції.
Х-термінали X-термінали є комбінацією бездискових робочих станцій і стандартних ASCII-терміналів. Бездискові робочі станції часто застосовувалися як дорогі робочі місця які не повністю використовують локальну обчислювальну потужність. X-термінали надали користувачам ASCII-терміналів можливість роботи в багатовіконній графічній системі.
Елементи типового Х-терміналу Типовий X-термінал включає наступні елементи: Екран високої роздільної здатності; Мікропроцесор; Додатковий окремий графічний співпроцесор; Базові мережеві та системні програми X-Windows; Програмне забезпечення сервера X11; Змінний об'єм локальної пам'яті для робочої станції; Порти для підключення клавіатури і миші. Робота X-терміналів залежить від головної (хост) системи, до якої вони підключені за допомогою мережі.
Схема Х-терміналу X сервер завантажується на X терміналі, і з'єднується з центральним комп'ютером, що працює як X дисплей менеджер. У цьому прикладі, клієнтські програми (xterm та xedit) запускаються на тому ж X дисплей менеджері.
Сервери Сервери – прикладні, розраховані на багато користувачів комерційні і бізнес-системи, що включають: системи управління базами даних і обробки транзакцій; великі видавничі системи; мережеві додатки і системи обслуговування комунікацій; модель обчислень "клієнт-сервер" і розподілену обробку.
Типи серверів Існує декілька типів серверів, орієнтованих на різні застосування: файл-сервер; сервер бази даних; принт-сервер; обчислювальний сервер; сервер додатків. Отже, тип сервера визначається видом ресурсу, яким він володіє (файлова система, база даних, принтери, процесори або прикладні пакети програм).
Нечіткість класифікації Розбиття на Сервери і Суперсервери вельми умовне і відображає тільки потужність машини. Така ж нечіткість присутня у класифікації Мінісуперкомп'ютерів і Суперкомп'ютерів – потужних обчислювальниз систем спеціального призначення, для вирішення певного кола задач.
Мейнфрейми Мейнфрейми - найбільш могутні (не рахуючи суперкомп'ютерів) обчислювальні системи загального призначення, що забезпечують безперервний цілодобовий режим експлуатації. Включають один або декілька процесорів, що можуть оснащуватися векторними співпроцесорами. У нашій свідомості мейнфрейми все ще асоціюються з великими по розмірах машинами. Проте прогрес в області елементно-конструкторської бази дозволив істотно скоротити їх габарити.
Кластери Кластер - це зв'язаний набір повноцінних комп'ютерів, використовуваний як єдиний ресурс. “Повноцінний комп'ютер“ - завершена комп'ютерна система, що володіє всім, що потрібний для її функціонування, включаючи процесори, пам'ять, підсистему введення/висновку, а також операційну систему, підсистеми, додатки і т.д. Зазвичай для цього годяться персональні комп'ютери, комп'ютери з архітектурою SMP, NUMA та інші.
2. Історія розвитку суперкомп'ютерів Один з перших комп'ютерів - EDSAC, 1949 р., Кембрідж, мав час такту 2 мікросекунди і продуктивність в середньому 100 арифметичних операцій в секунду. Обчислювальний вузол сучасного суперкомп'ютера Hewlett-Packard V2600: має час такту приблизно 1.8 наносекунди, і пікову продуктивність близько 77 мільярдів арифметичних операцій в секунду. За півстоліття продуктивність комп'ютерів виросла більш, ніж в сімсот мільйонів разів. При цьому виграш в швидкодії, пов'язаний із зменшенням часу такту з 2 мікросекунд до 1.8 наносекунд, складає лише близько 1000 разів. Звідки ж узялося інше? Відповідь очевидна -- використання нових рішень в архітектурі комп'ютерів. Основне місце серед них займає принцип паралельної обробки даних, що утілює ідею одночасного (паралельного) виконання декількох дій.
3. Проблемна, наочна і об'єктна орієнтація ВКС. Області, що породжують нові складні задачі та постійно вимагають більших потужностей суперкомп’ютерів: Наукові дослідження, що зазвичай зводяться до моделювання тих або інших складно відтворних процесів Військові потреби, завдання програми типу C3I (command, control, communication & intelligence) Комерційна сфера (Графічні додатки для кіно і телебачення, завдання, що припускають інтенсивну та оперативну обробку транзакцій для надвеликих БД, системи підтримки ухвалення рішень і організація інформаційних складів).
Вимоги, які пред'являють до суперкомп'ютерів Відношення вартість/продуктивність; Надійність і відмовостійкість; Масштабованість.
Відношення вартість/продуктивність Поява будь-якого нового напряму в обчислювальній техніці визначається вимогами комп'ютерного ринку. Тому у розробників комп'ютерів немає однієї єдиної мети. Для досягнення поставленої мети при проектуванні високопродуктивних конструкцій доводиться ігнорувати вартісні характеристики. Суперкомп'ютери фірми Cray Research і високопродуктивні мейнфрейми компанії IBM відносяться саме до цієї категорії комп'ютерів. Іншим крайнім прикладом може служити низьковартісна конструкція, де продуктивність принесена в жертву для досягнення низької вартості. Типовими прикладами такого роду комп'ютерів є робочі станції.
Надійність і відмовостійкість Надійність - найважливіша характеристика обчислювальних систем. Підвищення надійності засноване на принципі запобігання несправностям шляхом зниження інтенсивності відмов і збоїв за рахунок застосування: електронних схем і компонентів з високим і надвисоким ступенем інтеграції, зниження рівня перешкод, полегшених режимів роботи схем, забезпечення теплових режимів їх роботи, вдосконалення методів збірки апаратури.
Надійність і відмовостійкість Відмовостійкість - властивість обчислювальної системи, яка забезпечує можливість продовження дій, заданих програмою, після виникнення несправностей. Концепції паралельності і відмовостійкості природним чином зв'язані між собою, оскільки в обох випадках потрібні додаткові функціональні компоненти (апаратні і програмні), що можуть гнучко використовуватися як для підвищення продуктивності, так і для підвищення надійності. Структура багатопроцесорних і багатомашинних систем пристосована до автоматичної реконфігурації і продовження роботи після виникнення несправностей. Головною метою підвищення надійності систем є цілісність даних, що зберігаються в них.
Масштабованість Масштабованість - можливість нарощування числа і потужності процесорів, об'ємів оперативної і зовнішньої пам'яті і інших ресурсів обчислювальної системи. Масштабованість повинна забезпечуватися архітектурою і конструкцією комп'ютера, а також відповідними засобами програмного забезпечення. Додавання кожного нового процесора повинне давати прогнозоване збільшення продуктивності і пропускної спроможності при прийнятних витратах. Основне завдання при побудові масштабованих систем - мінімізація вартості розширення комп'ютера і спрощення планування. У ідеалі додавання процесорів до системи повинне приводити до лінійного зростання її продуктивності.
Втрати продуктивності при масштабуванні Втрати продуктивності можуть виникати при: недостатній пропускній спроможності шин через зростання трафіку між процесорами і основною пам'яттю; між пам'яттю і пристроями введення/виведення. Насправді реальне збільшення продуктивності важко оцінити наперед, оскільки це залежить як від динаміки поведінки прикладних завдань, так і від апаратних можливосте, наприклад, перехід на могутніший процесор може привести до перевантаження інших компонентів системи. Отже, система повинна бути збалансована по всіх параметрах.
4. Системи класифікації високопродуктивних суперкомп’ютерів Здебільшого суперкомп’ютери класифікують по загальних принципах функціонування: векторний-конвейєрні; масивно-паралельні; комп'ютери з широким командним словом; систолічні масиви; гіперкуби; спецпроцесори і мультипроцесори; ієрархічні і кластерні комп'ютери; dataflow; матричні ЕОМ та інші.
Класифікація високопродуктивних суперкомп’ютерів Спроби систематизувати всю безліч архітектури почалися після публікації М.Флінном першого варіанту класифікації обчислювальних систем в кінці 60-х років і безперервно продовжуються до цього дня. В основі будь-якої класифікації закладено два питання: для кого дана класифікація створюється і на рішення якої задачі направлена?
5. Огляд архітектур багатопроцесорних обчислювальних систем На основі числа потоків команд і потоків даних Флінн виділяє чотири класи архітектури: SISD - (single instruction stream / single data stream) - одиночний потік команд і одиночний потік даних. SIMD - (single instruction stream / multiple data stream) - одиночний потік команд і множинний потік даних. MISD - (multiple instruction stream / single data stream) - множинний потік команд і одиночний потік даних. MIMD - (multiple instruction stream / multiple data stream) - множинний потік команд і множинний потік даних.
SISD - (single instruction stream / single data stream) До цього класу відносяться класичні послідовні машини фон-нейманівського типу, наприклад, PDP-11 або VAX 11/780. У таких машинах є тільки один потік команд, всі команди обробляються послідовно один за одним і кожна команда ініціює одну операцію з одним потоком даних. Не має значення той факт, що для збільшення швидкості обробки команд і швидкості виконання арифметичних операцій може застосовуватися конвейєрна обробка - як машина CDC 6600 з скалярними функціональними пристроями, так і CDC 7600 з конвейєрними потрапляють в цей клас.
SIMD - (single instruction stream / multiple data stream) У архітектурі подібного роду зберігається один потік команд, що включає, на відміну від попереднього класу, векторні команди. Це дозволяє виконувати одну арифметичну операцію відразу над багатьма даними - елементами вектора. Спосіб виконання векторних операцій не обмовляється, тому обробка елементів вектора може проводиться або процесорною матрицею, як в ILLIAC IV, або за допомогою конвейєра, як, наприклад, в машині CRAY-1.
MISD - (multiple instruction stream / single data stream) Наявність в архітектурі багатьох процесорів, що обробляють один і той же потік даних. Проте ні Флінн, ні інші фахівці в області архітектури комп'ютерів до цих пір не змогли представити переконливий приклад реально існуючої обчислювальної системи, побудованої на даному принципі. Ряд дослідників [3,4,5] відносять конвейєрні машини до даного класу, проте це не знайшло остаточного визнання в науковому співтоваристві.
MIMD - (multiple instruction stream / multiple data stream) Клас комп'ютерів з множинним потоком команд і множинним потоком даних припускає, що в обчислювальній системі є декілька пристроїв обробки команд об'єднаних в єдиний комплекс і кожен працює з своїм потоком команд і даних. Сюди також належать так звані масово-паралельні обчислювальні (massively parallel processing – MPP) системи. Загальне число процесорів у реальних системах досягає декількох тисяч (Asci Red, Blue Mountain). Програмування в рамках моделі передачі повідомлень (MPI, PVM, BSPlib).
6. Нові парадигми у високопродуктивних обчисленнях Кластери займають головну позицію як класичні вузли у високопродуктивних обчисленнях і завойовують усі індустріальні сфери. Великі SMP- комп'ютери продовжують бути головною архітектурою для великих баз даних з випадковим доступом до даних якщо час очікування є критичним З точки зору користувачів акцент у високопродуктивних обчисленнях повинен робитися на наступному: Збільшення щільності компонентів Зменшення тепловиділення Збільшення працездатності Спрощення управління Строге дотримання стандартів
Література Загальна класифікація комп’ютерів та її нечіткість [1, 2, 3, 6, 9] Історія розвитку суперкомп'ютерів [1, 2, 3, 6] Проблемна, наочна і об'єктна орієнтація високопродуктивних комп'ютерів і обчислювальних систем [1, 2, 3, 5, 9, 13, 17] Системи класифікації високопродуктивних суперкомп’ютерів [2, 3, 6, 9, 10, 12, 14, 15] Огляд архітектур багатопроцесорних обчислювальних систем [1, 2, 3, 6, 9, 10, 12, 14, 15] Нові парадигми у високопродуктивних обчисленнях [13, 19, 20, 21, 22]
Схожі презентації
Категорії