Смекни!
smekni.com

Огляд компютерних систем (стр. 1 из 5)

Огляд комп’ютерних систем

(курсова робота)

Содержание

Функціонально розподілені системи

Паралельні комп’ютери

Продуктивність паралельних комп’ютерів

Методи розподілення доступу до спільної пам’яті в багатопроцесорних системах

Системи з розподіленою пам’яттю

Класичні матричні системи

Архітектура NUMA

Використання в комп’ютерах Cray T3D/T3D. Система „Еврика"

Обчислювальні кластери

Комунікаційні середовища кластерних систем

Метакомп’ютери

Класифікація Флінна та Хонні. Класи обчислювальних систем

Класифікація Флінна

Пам’ять з чергуванням адрес

Асоціативна пам’ять (безадресна пам’ять)

Обчислювальні системи з структурою, що перебудовується

Трансп’ютери

Функціонально розподілені системи

В ЕОМ перших трьох поколінь всі обчислювальні функції реалізовувались одним процесором і інтерпретувалися ним, як арифметичні та логічні операції. Висока продуктивність системи утворилась на основі багатопроцесорних комплексів.

Використання в таких комплексах однотипних процесорів є економічно невигідним, оскільки в кожному процесорі використовується лише та частина ресурсів, яка необхідна для виконання певної операції в певний момент часу. Найбільш економічний спосіб побудови багатопроцесорних систем - це використання спеціалізованих процесорів, орієнтованих на реалізацію певних функцій: обробка скалярних величин, текстів, матрична обробка, ввід-вивід даних.

Система складається із сукупності процесорів, що мають індивідуальну та основну пам’ять.

Ядро системи забезпечує інформаційне спряження усіх пристроїв. Воно може бути реалізоване у вигляді системної шини комутаційного поля або комутатора основної пам’яті. Управляючий процесор виконує супервізорні функції, обробляючий - обробку числових і символьних даних, матричний - матричну і векторну обробку.

Склад процесора конкретної системи залежить від складу конкретної задачі. Обробка кожної задачі розподіляється між процесорами. Різні кроки завдань, програми і гілки програм виконуються обробляючим, матричним і мовним процесорами. Розподіл задач здійснюється управляючим процесором.

Паралельні комп’ютери

За останній час архітектура паралельних комп’ютерів зросла досить великими темпами. В даний час налічується дуже багато архітектурних рішень, проте всіх їх можна поділити на два класи:

1. Комп’ютери з спільною пам’яттю (мультипроцесорні системи). В даних комп’ютерах декілька процесорів мають доступ до спільної оперативної пам’яті одночасно. Всі процесори працюють в одному адресному просторі.

2. Комп’ютери з розподіленою пам’яттю. Складаються з декількох ЕОМ, кожна з яких має свою власну оперативну пам'ять, окрему операційну систему, свої пристрої введення / виведення. Об’єднання цих комп’ютерів відбувається через єдине комутаційне середовище.

Векторно-конвеєрні комп’ютери

Класичним прикладом комп’ютерів даного типу є комп’ютери Cray C90, що був випущений на початку 90-х років. Даний комп’ютер містить 16 рівноцінних процесорів, з часом такту 4,1нс, тобто тактова частота складає 250 МГц. Всі процесори однакові, як по характеристиках, так і по відношенню по розділенню ресурсів.

Структура ОЗП.

Кожне слово в пам’яті складається з 80 біт, 64 з них - біти даних, 16 біт - для корекції помилок. Для реалізації паралельного доступу вся пам'ять розбита на банки. При максимальній конфігурації вся пам'ять розбивається на 1024 банки, які в свою чергу об’єднуються в секції та підсекції. Кожна з восьми секцій включає в себе 8 підсекцій, кожна з яких включає 64 банки. При одночасному зверненні до однієї підсекції, конфлікт вони вирішують за 6 тактів. Якщо вибірка відбувається з кроком, то час вирішення конфлікта збільшується із збільшенням значення стеку. Кожен процесор має доступ до ОЗП через чотири порти, що працюють зі швидкістю два слова за такт. З цих чотирьох портів обов’язково один виділяється для операції вводу/виводу. Ще один обов’язково виділяється для проведення запису.


Секція вводу виводу.

Підтримує три типи каналів для роботи із зовнішніми пристроями:

1. Low-speed channels (LOSP) 6 Мбіт/с

2. High-speed channels (HISP) 200Мбіт/с

3. Very high-speed channels (VHISP) 1800 Мбіт/с

Секція міжпроцесорної взаємодії.

Основне завдання - це передача даних та керуючої інформації між процесорами та синхронізація їх взаємної роботи. Містить розділені регістри та семафори, які об’єднуються в групи, що називаються кластерами. Кожен кластер містить вісім 32-розрядних регістрів, вісім 64-розрядних регістра і 32 однобітних семафори. Кількість кластерів визначається конфігурацією комп’ютера.

Регістрова структура процесора.

Так як всі процесори даного комп’ютера є однакові, то розглянемо структуру одного процесора. Кожен процесор вміє обробляти три типи даних:

адреси

скаляри

вектори.

Кожен процесор має набір основних та проміжних регістрів. До основних відносяться: А-регістри, що призначені для роботи з адресами, S-регістри, що призначені для роботи із скалярними даними. Проміжні регістри В та Т, призначені для запису проміжних результатів обміну процесора з пам’яттю. Адресні регістри містять вісім регістрів у основному наборі та 64 в проміжному. Всі регістри 64-розрядні і призначені для виконання скалярних операцій. Кожен з векторних регістрів містить 128 64-розрядних елементів. Призначені для збереження елементів вектора. Кількість таких регістрів - 8. для виконання векторних операцій є два додаткових регістра - 8-розрядний VL, в якому зберігається довжина вектора та регістр 128-бітний VM - регістр маски. Якщо і-тий розряд даного регістра рівний 1, то процесор буде виконувати операції над і-тим елементом вектора.

Продуктивність паралельних комп’ютерів

Необхідність оцінювання продуктивності комп’ютерів виникла з початку їх виникнення. Основна задача оцінювання - знайти оптимальний критерій для визначення ефективності роботи, що буде універсальним для вибору комп’ютера.

Однією з одиниць оцінки продуктивності є пікова продуктивність, тобто кількість операцій, що виконує комп’ютер у найбільш сприятливих умовах (конвеєри заповнені, дані в регістрах, немає конфліктів з пам’яттю). Проте пікова продуктивність - це лише теоретичний показник. На одних задачах продуктивність може досягати до пікової продуктивності, а на інших задачах буде досягати лише 2% пікової продуктивності.

Користувача цікавить, наскільки продуктивно комп’ютер буде працювати на його програмах, тому показник пікової продуктивності не є універсальним при виборі комп’ютера.

Ще один спосіб оцінки продуктивності - це обрахунок кількості операцій за секунду. Вимірюється в МІРS-ах. Для визначення цього показника достатньо порахувати кількість операцій процесора за одиницю часу. Цей показник також не є універсальним, так як кожний процесор має свій власний набір інструкцій і програма користувача може на різних процесорах утворювати різну кількість операцій. Наприклад, операція а+b на процесорах Intel буде потребувати 3 мікрооперації, 2 з яких - зчитування значень з пам’яті, а третя - безпосередньо додавання. На інших процесорах ця операція може мати іншу кількість мікрооперацій.

Інший приклад - комп’ютер ILLIAC IV. Продуктивність комп’ютера - 10 мільярдів операцій/с. проте продуктивність досягалась тільки при роботі з даними розмірності "байт". На більших розмінностях продуктивність різко падала. Ще один недолік використання даного показника - це неможливість точного вимірювання продуктивності з використанням співпроцесора. Якщо співпроцесор існує, то всі операції з плаваючою комою покладаються на нього, тобто головний процесор виконує меншу кількість операцій. Якщо ж співпроцесора немає, то головний процесор регулює його роботу, тобто починає виконувати велику кількість операцій для виконання дій з плаваючою комою, тобто фактично кількість збільшується. Виникає протиріччя: з використанням співпроцесора кількість інструкцій зменшується, а отже, продуктивність зменшується, проте операції з плаваючою комою виконуються швидко; а коли співпроцесора немає, кількість інструкцій за секунду велика, а отже, продуктивність велика, проте реально операції над числами з плаваючою комою виконуються повільніше.

Отже, при оцінці продуктивності комп’ютерних систем не варто користуватися лише апаратними показниками, потрібно також враховувати програмно-апаратне середовище. На основі деяких критеріїв формуються еталонні тестові програми, які при запуску на кожній комп’ютерній системі показують продуктивність даної системи. Ці програми називають benchmark.

Однією з найпопулярніших тестових програм є тест LINPACK, який для тестового завдання розв’язує систему рівнянь із щільною матрицею. Спочатку в цьому тесті розв’язується система із ста рівнянь. Проте продуктивність сучасних систем є настільки великою, що дана система рівнянь вирішується надзвичайно швидко і оцінити продуктивність стає неможливо. Тому дана програма поставляється з відкритим кодом і кожен користувач може змінювати розмірність матриці.

Також існує ще ряд тестових програм, наприклад STREAM для тестування векторних операцій, LFK, PERFECT та багато інших. Проте жоден з цих тестів не покаже реальну продуктивність системи. Тому потрібно проводити комплексне тестування системи, також потрібно чітко розуміти призначення комп’ютерної системи та які задачі вона буде вирішувати.