
- •1 Вступ
- •2 Класи комп’ютерних систем Комп’ютери із спільною пам’яттю (мультиплексорні системи)
- •3 Класифікація протоколів когерентності кешів
- •4 Реалізація smp систем
- •6 Технології mmx, 3dnow!, sse1, sse2, sse3, sse4 (самостійно)
- •8 Класифікація комп’ютерних систем
- •10 Матричні процесори
- •11 Numa архітектура
- •13 Машинні потоки команд (Data Flow)
- •14 Кластерні системи
- •15 Операційні системи
- •16 Фізична організація файлових систем
- •17 Файлова система ntfs (New Technology File System)
- •18 Файлова система ext2
- •19 Архітектура ос
- •20 Багатошарова структура операційної системи
- •21 Віртуальна пам’ять
- •22 Архітектура ос
10 Матричні процесори
Матричні процесори якнайкраще пристосовані для вирішення задач, які характеризуються паралелізмом незалежних об’єктів чи даних. Одним з перших матричних процесорів був SOLOMON. Система SOLOMON містила 1024 процесорних елементів, які були розкладені в матрицю 32х32. Кожен процесорний елемент складається з процесора, а також оперативної пам’яті обсягом 16 Кб. Довжина слова змінна від 1 до 128 біт. Розмір слова встановлювався програмою. По каналах зв’язку від пристрою керування передаються команди та загальні константи. Процесорний елемент використовувала так звана багатомодальна логіка, яка дозволяє процесору виконувати або не виконувати спільну для всіх процесорних елементів команду. В кожен момент часу ці процесорні елементи виконують одну і ту ж команду, що працює з даними в своїй локальній оперативній пам’яті. Ідея багато модальності в тому, що коден процесорний елемент має спеціальний регістр на 4 стани, так звані регістри моди. Мода в цей регістр заноситься від пристроїв управління. При виконанні послідовності команд перевіряється мода даної команди з модою в регістрі. Якщо вони рівні, команда виконується.
11 Numa архітектура
Non-Uniform Memory Access (пам’ять з нерівномірним доступом)
Дана архітектура є комбінацією SMP систем та систем з розподіленою пам’яттю. Основою комп’ютерних систем Numa є обчислюваний вузол, який складається з процесора та оперативної пам’яті. Між собою обчислювальні вузли з’єднуються високошвидкісними шинами обміну даних. Вся оперативна пам’ять є спільною для кінцевого користувача і кожен процесор може отримати доступ до даних з іншого обчислювального вузла. В залежності від того, де розміщуються запитувані дані, переда даних може бути швидкою або повільною. Фізично вся оперативна пам’ять є розділеною, але логічно вона являє собою єдиний адресний простір. В загальному будь-яка Numa комп’ютер є єдиним комп’ютером з єдиною ОС.
Переваги даного підходу:
Теоретично безмежне розширення архітектури (збільшення вузлів);
Простіша реалізація за рахунок відсутності складних засобів для синхронізації процесорів між собою.
Дана архітектура підходить для вирішення крупно паралельних задач, тобто таких, де можна чітко розділити паралельні ділянки. Також як і для SMP, в Numa є проблема когерентності кешів. Архітектури, в яких реалізується підтримка когерентності, називається ccNuma (cashe coherent). Алгоритм когерентності кешів подібні до алгоритму багатопроцесорних систем. Архітектуру Numa також варто порівнювати з архітектурою COMA (Cashe Only Memory Archtecture). В даній архітектурі кожен обчислювальний вузол не містить оперативної пам’яті, а лише великий обсяг кеш пам’яті.
12 RAID (Redundant Array of Independent Disks)
Це масив з декількох дисків, які контролюються певним одним контролером, і які ззовні сприймаються як єдиний диск.
В залежності від алгоритму роботи контролера, RAID масив може забезпечувати різні ступені відмово стійкості або покращення швидкодії.
Розрізняють декілька типів масивів RAID:
RAID0 — це дисковий масив, який складається з двох або більше жорстких дисків, в якому інформація розбита на блоки (Аі) і послідовно записується на кожен диск.
Призначення цього масиву — збільшення швидкодії за рахунок розпаралелення операцій запису/зчитування. Також враховується ситуація, коли при зчитуванні і-го блоку керується і+1 блок (в 90% випадків програма користувача зчитує дані послідовно).
Недоліком даного методу є підвищення ненадійності даного масиву. При виході з ладу хоча б одного жорсткого диску втрачаються всі дані. Якщо є к дисків, розмірністю N байт, то загальний розмір масиву k*N. Якщо об’єми дисків різні, то розраховують по найменшому диску.
RAID1 (зеркало). В даному масиві дані дублюються на всі жорсткі диски.
Переваги: висока надійність (масив може працювати до тих пір, поки працює хоча б один жорсткий диск. Недолік: малий розмір масиву.
RAID2. В масивах даного типу диски розділяються на 2 групи:
Диски для збереження даних
Диски для збереження кодів корекції помилок (вони розраховуються по коду Хемінга і дозволяють виправити на ходу однократні помилки і виявити двократні). Якщо є N дисків для корекції помилок, то вони забезпечують 2n -n-1 дисків для збереження даних. Мінімальна кількість дисків — 7. З них 4 для даних.
Широкого розповсюдження не здобув, так як значна кількість дисків відводиться для корекції помилок.
RAID3. В масиві з k дисків дані записуються на k-1 диск послідовно і побайтно. Останній диск використовується для контролю парності. При виході з ладу хоча б одного жорсткого диску дані можна відновити. Недолік — велике навантаження на диск з контрольними сумами.
RAID4. Аналогічний RAID3, проте дані розбиваються на блоки, а на контрольний диск записується контрольна сума блоку. В наш час RAID3 і RAID4 не використовується.
RAID5. Дані розбиваються по блоках, проте контрольна сума рівномірно розділяється по всіх жорстких дисках. Мінімальна кількість дисків — 3. Контрольна сума рахується як операція xor.
При виході з ладу одного жорсткого диску масив продовжує працювати, проте значно повільніше, так як вимагає додаткової дії для відновлення даних на льоту. При виході з ладу двох жорстких дисків дані втрачаються. Якщо є k дисків N байт кожен, то загальний обсяг масиву (k-1)*N.
RAID6. Мінімальна кількість дисків 4. Використовуються 2 диски для запису контрольних сум. Самі контрольні суми записуються по двох алгоритмах і масив продовжує роботу після виходу з ладу 2-х дисків.
RAID7. Виділяється 1 жорсткий диск для контрольних сум, а на k-1 дисках зберігаються дані. Проте додається використання кеш, використання пришвидшеного контролера. Недолік — дороговизна.
Комбіновані масиви
Всі розглянуті типи RAID можна комбінувати між собою. Наприклад:
RAID10 — це віддзеркалення декількох RAID0.
RAID11 — віддзеркалення дзеркал.
RAID50 — це декілька масивів RAID0, об’єднані в RAID5.
RAID51 — об’єднання декількох RAID1 в RAID5.
Комбінування 2-х типів зазвичай об’єднує переваги, проте недоліки також об’єднуються.
Програмний RAID
Для об’єднання дисків в масив можна використати і програмні засоби. Використання програмованого RAID є більш економним рішенням, проте знижує продуктивність і надійність системи в цілому. ОС Linux дозволяє реалізувати RAID06, ОС Windows 2003 — 8 дозволяє RAID0, RAID1, RAID5.