p>
Технічні
характеристики сучасних серверів
Симетричні мультипроцесорні системи
компанії Bull
Група компаній, об'єднаних під загальною назвою Bull, є одним з найбільших виробників інформаційних систем на світовому комп'ютерному ринку і
має свої відділення в Європі та США. Більша частина акцій компанії належить французькому уряду. У зв'язку з відбувалася в останньому п'ятиріччі
перебудовою структури комп'ютерного ринку компанія оголосила про свою прихильність до напрямку побудови відкритих систем. В даний час компанія продовжує
випускати комп'ютери класу мейнфрейм (серії DPS9000/900, DPS9000/800, DPS9000/500) і середнього класу (серії DPS7000 і DPS6000), що працюють під
управлінням фірмової операційної системи GCOS8, UNIX-системи (серії DPX/20, Escala), а також широкий ряд персональних комп'ютерів компанії Zenith Data
Systems (ZDS), що входить до групи Bull. p>
Активність Bull в області відкритих систем зосереджена головним чином на побудові UNIX-систем. У результаті технологічного угоди з компанією
IBM, у 1992 році Bull анонсувала ряд комп'ютерів DPX/20, що базуються на архітектурі POWER, а пізніше в 1993 році на архітектурі PowerPC і працюють
під управлінням операційної системи AIX (версія системи UNIX компанії IBM). Версія ОС AIX 4.1, розроблена спільно фахівцями IBM і Bull,
підтримує симетричну многопроцесоорную обробку. p>
Архітектура PowerScale, являє собою першу реалізацію симетричною мультипроцесорної архітектури (SMP), розробленої Bull спеціально для
процесорів
PowerPC. На початку вона була реалізована на процесорі PowerPC 601, але легко
модернізується для процесорів 604 і 620. Ця нова SMP-архітектура використовується в сімействі систем Escala. p>
Архітектура процесорів PowerPC
Основою архітектури PowerPC є багатокристальні архітектура POWER, яка була розроблена перш за все в розрахунку на однопроцесорних реалізацію
процесора. При розробці PowerPC для задоволення потреб трьох різних компаній (Apple, IBM і Motorola) в архітектурі POWER було зроблено
декілька змін у наступних напрямках: p>
спрощення архітектури з метою її пристосування для реалізації
дешевих однокристальних процесорів;
усунення команд, які можуть стати перешкодою підвищення
тактової частоти;
усунення архітектурних перешкод суперскалярної обробці і
позачергового виконання команд;
додавання властивостей, необхідних для підтримки симетричної
мультипроцесорної обробки;
додавання нових властивостей, які вважаються необхідними для майбутніх
прикладних програм;
забезпечення тривалого часу життя архітектури шляхом її
розширення до 64-бітової.
Архітектура PowerPC підтримує ту ж саму базову модель програмування і призначення кодів операцій команд, що й архітектура POWER. У тих місцях, де
були зроблені зміни, які потенційно могли порушити двійкову сумісність з додатками, написаними для архітектури POWER, були
розставлені "пастки", що забезпечують переривання і емуляцію за допомогою програмних засобів. Такі зміни вводилися, природно, тільки в тих
випадках, якщо відповідна можливість або використовувалася не дуже часто в кодах прикладних програм, або була ізольована в бібліотечних програмах,
які можна просто замінити. p>
Мікропроцесор PowerPC підтримує багатопроцесорних, обробку, зокрема, модель тісно пов'язаних обчислень в розділяється (загальної) пам'яті.
Робота тісно пов'язаних процесорів припускає використання різними процесорами однієї спільної пам'яті і однієї операційної системи, яка управляє
всіма процесорами і апаратурою системи. Процесори повинні конкурувати за колективні ресурси. p>
У симетричною мультипроцесорної системі всі процесори вважаються функціонально еквівалентними і можуть виконувати операції введення/виводу і інші
обчислення. Можливості управління подібною системою з пам'яттю, що розділяється реалізовані в ОС AIX 4.1. p>
Розроблене Bull сімейство Escala забезпечує масштабованість і високу готовність систем, центральним місцем яких є симетрична
мультипроцесорна архітектура, названа PowerScale, що дозволяє проводити поступову модернізацію й об'єднувати в системі від 1 до 8 процесорів. p>
Проблеми реалізації SMP-архітектури
За визначенням симетрична мультипроцесорна обробка (SMP) є архітектурою, в якій кілька процесорів поділяють доступ до єдиної
спільної пам'яті і працюють під управлінням однієї копії операційної системи. У цьому випадку завдання можуть відповідним чином плануватися для роботи на
різних процесорах в межах "пулу наявних ресурсів", допускаючи розпаралелювання, оскільки декілька процесів в такій системі можуть
виконуватися одночасно. p>
Головною перевагою архітектури SMP в порівнянні з іншими підходами до реалізації мультипроцесорних систем є прозорість для програмних
додатків. Цей фактор суттєво покращує час виходу на ринок і готовність традиційних комерційних додатків на системах SMP в порівнянні з іншими
мультіпроцесорними архітектурою. p>
У сучасних системах SMP найбільш актуальним питанням розробки є створення високопродуктивної підсистеми пам'яті для забезпечення
високошвидкісних RISC-процесорів даними і командами. Загальне вирішення цієї проблеми полягає у використанні великої високошвидкісної кеш-пам'яті, тобто
у створенні ієрархії пам'яті між процесорами і розділяється глобальної пам'яттю. Архітектура PowerScale пропонує новий підхід до вирішення питань традиційного
вузького горла, що обмежує продуктивність SMP-систем, а саме, нову організацію управління кеш-пам'яттю і доступу до пам'яті. p>
PowerScale являє собою високо оптимізовану розробку, що є результатом інтенсивних досліджень параметрів продуктивності
сучасних комерційних додатків. Зазвичай виконання цих прикладних систем пов'язано з необхідністю маніпулювання величезними обсягами даних і розділення
доступу до цих даних між багатьма користувачами або програмами. Такого роду робоче навантаження характеризується наявністю великих робочих наборів даних з
низьким рівнем локалізації. При моделюванні прикладних систем подібного профілю на системах SMP, були помічені два особливих ефекту: p>
Через малу ймовірність знаходження відповідних даних до
кеш-пам'яті виникає досить інтенсивний трафік між системною пам'яттю і
кешами ЦП. Тому дуже важливо сконструювати систему, що забезпечує
широкосмуговий доступ до пам'яті.
У традиційній SMP-системі за замовчуванням одне із завдань планувальника
полягає в тому, щоб запустити наступного дозволений для виконання
процес на першому ж процесорі, який стає вільним. Тому за
міру того, як збільшується число процесорів і процесів, імовірність
переміщення процесів з одного процесора на інший, також збільшується.
Ця побічна міграція процесів призводить до істотного збільшення рівня
трафіку між кешами ЦП. Тому ключовим питанням забезпечення високої
системної продуктивності стає фізична реалізація
когерентності кеш-пам'яті.
У традиційній SMP-архітектурі зв'язку між кешами ЦП і глобальної пам'яттю реалізуються за допомогою загальної шини пам'яті, що розділяється між різними
процесорами. Як правило, ця шина стає слабким місцем конструкції системи і прагне до насичення при збільшенні числа інстальованих
процесорів. Це відбувається тому, що збільшується трафік пересилань між кешами і пам'яттю, а також між кешами різних процесорів, які конкурують
між собою за пропускну здатність шини пам'яті. При робочого навантаження, що характеризується інтенсивною обробкою транзакцій, ця проблема є навіть
ще більш гострою. p>
В архітектурі PowerScale компанії Bull інтерфейс пам'яті реалізований з урахуванням зазначеного вище профілю додатків і розрахований на використання декількох
поколінь процесорів з дедалі більшою продуктивністю. Насправді архітектура PowerScale з самого початку була розроблена в
розрахунку на підтримку до 8 процесорів PowerPC 620. p>
Опис архітектури PowerScale
В архітектурі PowerScale (рис. 4.1) основним засобом оптимізації доступу до поділюваного основної пам'яті є використання достатньо складної системної
шини. Насправді ця "шина" є комбінацією шини адреси/управління, реалізованої класичним способом, і набору
магістралей даних, які з'єднуються між собою за допомогою високошвидкісного матричного комутатора. Ця система межз'єднань отримала
назва MPB_SysBus. Шина пам'яті використовується тільки для пересилання простих адресних тегів, а неблокіруемий матричний комутатор - для забезпечення більш
інтенсивного трафіку даних. До матричних комутатора можуть бути приєднані до 4 двопроцесорних портів, порт введення/виводу і підсистема пам'яті. p>
Головною перевагою такого підходу є те, що він дозволяє кожному процесору мати прямий доступ до підсистеми пам'яті. Іншою важливою властивістю
реалізації є використання розшарування пам'яті, що дозволяє багатьом процесорам звертатися до пам'яті одночасно. p>
Нижче наведена схема, яка ілюструє загальну організацію доступу до пам'яті (мал. 4.2) Кожен процесорний модуль має свій власний виділений порт
пам'яті для пересилання даних. При цьому загальна шина адреси і управління гарантує, що на рівні системи всі адреси є когерентним. p>
Питання балансування навантаження b> p>
У процесі розробки системи було зроблено вибір у напрямку використання великих кешей другого рівня (L2), що доповнюють кеші першого рівня (L1),
інтегровані в процесорах PowerPC. Це рішення викликало необхідність більш глибокого розгляду роботи системи в цілому. Щоб отримати повне
перевага від використання просторової локальності даних, присутніх у кешах L2, потрібно мати змогу знову призначити раніше
відкладений процес на процесор, на якому він раніше виконувався, навіть якщо цей процесор не є наступним вільним процесором. Подібна
"налаштування" системи є основою для балансування навантаження і аналогічна процесу планування. p>
p>
Рис. 4.1. Архітектура PowerScale h2>
Очевидно, що завжди корисно виконувати процес на одному і тому ж процесорі і мати більш високий коефіцієнт попадань в кеш, ніж при виконанні процесу
на наступному доступному процесорі. Використовуючи алгоритми, що базуються на засобах ядра системи, можна визначити найбільш відповідне використання пулу
процесорів з урахуванням поточного коефіцієнта попадань в кеш. Це дозволяє оптимізувати рівень міграції процесів між процесорами і збільшує
загальну пропускну спроможність системи. p>
p>
Рис. 4.2. Схема організації доступу до пам'яті h2>
Модель пам'яті b> p>
Процесор PowerPC визначає слабо упорядковану модель пам'яті, яка дозволяє оптимізувати використання пропускної здатності пам'яті системи.
Це досягається за рахунок того, що апаратурі дозволяється переупорядочівать операції завантаження і записи так, що потребують тривалого часу операції
завантаження можуть виконуватися раніше визначених операцій запису. Такий підхід дозволяє зменшити дійсну затримку операцій завантаження. Архітектура
PowerScale повністю підтримує цю модель пам'яті як на рівні процесора за рахунок набору команд PowerPC, так і глобально шляхом реалізації наступних
обмежень: p>
Звернення до глобальних змінним синхронізації виконуються строго
послідовно.
Жодне звернення до змінної синхронізації не видається
процесором до завершення виконання всіх звернень до глобальних даних.
Жодні звернення до глобальних даних не видаються процесором до
завершення виконання попередніх звернень до змінної синхронізації.
Для забезпечення такої моделі впорядкованих звернень до пам'яті на рівні кожного процесора системи використовуються певна апаратна підтримка і
явні команди синхронізації. Крім того, на системному рівні дотримання необхідних протоколів для забезпечення впорядкування звернень між
процесорами або між процесорами і підсистемою введення/виводу покладено на програмне забезпечення. p>
Підсистема пам'яті b> p>
З реалізацією архітектури глобальної пам'яті в мультипроцесорної системі зазвичай пов'язаний дуже важливе питання. Як об'єднати переваги
"логічно" локальної для кожного процесора пам'яті, що має малу затримку доступу, з вимогами реалізації розділяється глобальної пам'яті? p>
Компанія Bull розробила патентовану архітектуру, в якій масив пам'яті повністю розшарувати до рівня довжини рядка системного кеша (32 байти). Така
організація забезпечує мінімум конфліктів між процесорами при роботі підсистеми пам'яті і гарантує мінімальну затримку. Вимога реалізації
глобальної пам'яті забезпечується тим, що масив пам'яті для програмних засобів завжди є безперервним. p>
Запропонована конструкція вирішує також проблему, часто виникає в інших системах, в яких використання методів розшарування для організації
послідовного доступу до різних областей пам'яті можливо тільки, якщо плати пам'яті встановлюються збалансовано. Цей, що здається тривіальним,
питання може призводити до зайвих закупівель додаткових ресурсів і пов'язаний виключно з можливостями конструкції системи. PowerScale дозволяє обійти
цю проблему. p>
Архітектура PowerScale автоматично оптимізує ступінь розшарування пам'яті в залежності від того, які плати пам'яті інсталювати у системі. У
залежно від конкретної конфігурації вона буде використовувати низьку або високу ступінь розшарування або їх комбінацію. Все це повністю прозоро для
програмного забезпечення і, що більш важливо, для користувача. p>
Архітектура матричного комутатора b> p>
Архітектура комутатора реалізована за допомогою апаратної мережі, яка здійснює індивідуальні з'єднання типу точка-точка процесора з
процесором, процесора з основною пам'яттю і процесора з магістраллю даних введення/виводу. Ця мережа працює спільно з розділяється адресною шиною. Такий
збалансований підхід дозволяє використати найкращі властивості кожного з цих методів організації з'єднань. p>
Колективна адресна шина спрощує реалізацію спостереження (snooping) за адресами, яка необхідна для апаратної підтримки когерентності пам'яті.
Адресні транзакції конвейерізовани, виконуються асинхронно (розщеплено) по відношенню до пересилання даних і вимагають відносно невеликий смуги
пропускання, гарантуючи, що цей ресурс ніколи увійде в стан насичення. p>
Організація пересилань даних потребує більше уваги, оскільки рівень трафіку і час зайнятості ресурсів фізичного межз'єднань тут істотно
вище, ніж це потрібно для пересилання адресної інформації. Операція пересилання адреси являє собою одиночну пересилання, у той час як операція
пересилання даних повинна задовольняти вимогу багатобайтові пересилання відповідно до розміру рядка кеша ЦП. При реалізації окремих магістралей
даних з'являється ряд додаткових можливостей, які забезпечують: p>
максимальну швидкість передачі даних за допомогою з'єднань
точка-точка на більш високих тактових частотах;
паралельну передавання даних за допомогою організації виділеного
шляхи для кожного з'єднання;
поділ адресних транзакцій і транзакцій даних. Тому
архітектуру PowerScale компанії Bull можна назвати багатопотокової
апаратної архітектурою (multi-threaded hardware architecture) з
можливостями паралельних операцій.
На рис. 4.3 показані основні режими та операції, що виконуються матричних комутатором. p>
p>
Рис. 4.3. Матричний комутатор. ССA2 - здвоєний контролер адрес кеш-пам'яті;
CCD2 - здвоєний контролер даних кеш-пам'яті; IOD - дочірня плата введення/виводу;
DCB - матричний комутатор даних; SMC - контролер системної пам'яті p>
Режим звернення до пам'яті - Memory mode: (a) p>
Процесорний вузол або вузол в/в комутується з масивом пам'яті (MA). Таке з'єднання використовується для організації операцій читання п?? мяті або записи в
пам'ять. p>
Режим втручання (читання): (b) p>
Читающий вузол комутується з іншим вузлом (втручатись вузлом) і шиною даних MA. Цей режим використовується тоді, коли при виконанні операції читання
рядки від механізму спостереження за когерентним станом пам'яті надходить відповідь, що даний рядок знаходиться в кеш-пам'яті другого вузла і модифікована.
У цьому випадку дані, що витягають із рядка кеша власника, подаються читающему вузлу і одночасно записуються в MA. Якщо хто читає, і втручається ЦП
знаходяться всередині одного й того ж вузла, то дані загортаються тому на рівні вузла та одночасно записуються в пам'ять. p>
Режим втручання (читання з наміром модифікації - RWITM): (c) p>
Процесорний вузол або вузол в/в (читає вузол) комутується з іншим процесорним вузлом або вузлом в/в. Цей режим використовується тоді, коли при виконанні
операція RWITM від механізму спостереження надходить відповідь, що даний рядок знаходиться в кеш-пам'яті другого вузла і модифікована. У цьому випадку дані,
добуваються з рядка кеша власника, подаються тільки читає вузла і не записуються в пам'ять. p>
Режим програмованого введення/виводу (PIO): (d) p>
Процесорний вузол комутується з вузлом в/в. Це випадок операцій PIO, при якому дані обмінюються тільки між процесором і вузлом в/в. p>
Режим в/в з відображенням у пам'яті (memory mapped): p>
Головний вузол комутується з вузлами в/в (підлеглими вузлами), залученими до транзакцію. Це випадок операцій з пам'яттю. p>
Параметри продуктивності b> p>
Слідом за настановної фазою транзакції (наприклад, після установки адреси на адресній шині) дані можуть пересилатися через комутатор на повній швидкості
синхронізації. Це можливо завдяки організації з'єднання точка-точка, що створюється для кожної окремої транзакції. Тому надалі
будь-які перешкоди відсутні. Можливо також виконувати паралельно кілька операцій, наприклад, множинний доступ до пам'яті або пересилання між кешами. p>
Для того щоб зменшити затримку пам'яті, операції читання починаються до виконання будь-яких дій із забезпечення глобальної когерентності на
рівні системи. Відповіді когерентності повністю синхронізовані, вирішуються за фіксований час і роблять завжди перш, ніж буде захоплений розділяється
ресурс - шина пам'яті. Це допомагає уникнути непотрібних захоплень шини. Будь-які транзакції, які не дозволяються когерентно за дане фіксований час,
пізніше будуть повторені системою. p>
яка використовується в системі внутрішня частота синхронізації дорівнює 75 МГц, що дозволяє оцінити рівень продуктивності розробленої архітектури.
Інтерфейс фізичної пам'яті має ширину 32 байти і, з огляду на арбітраж шини, дозволяє пересилати 32 байти кожні 3 такту синхронізації. Це дає швидкість
передачі даних 800 Мбайт/с, що підтримується на рівні інтерфейсу пам'яті. Кожен порт ЦП має ширину 8 байт і здатний передавати по 8 байти за такт, тобто з
швидкістю 600 Мбайт/с. Слід зазначити, що це швидкість, що досягається як при пересиланні ЦП-пам'ять, так і при пересиланні кеш-кеш. Швидкість 800 Мбайт/с для
пам'яті підтримується за допомогою буферів до комутаторі, які дозволяють конвейерізовать кілька операцій. p>
Оскільки кілька операцій можуть виконуватися через комутатор на повній швидкості паралельно, то для оптимальної суміші операцій (дві пересилання з ЦП у
пам'ять, плюс пересилання кеш-кеш), пропускна здатність може досягати пікового значення 1400 Мбайт/с. Таким чином, максимальна пропускна
здатність буде варіюватися в діапазоні від 800 до 1400 Мбайт/с в залежності від коефіцієнта влучень кеш-пам'яті. p>
Когерентність кеш-пам'яті b> p>
Відомо, що вимоги, що пред'являються сучасними процесорами до смуги пропускання пам'яті, можна істотно скоротити шляхом застосування великих
багаторівневих кешей. Проблема когерентності пам'яті в мультипроцесорної системі виникає через те, що значення елемента даних, що зберігається у
кеш-пам'яті різних процесорів, доступно цим процесорам тільки через їх індивідуальні кеші. При цьому певні операції одного з процесорів можуть
впливати на достовірність даних, що зберігаються в кешах інших процесорів. Тому в подібних системах життєво необхідний механізм забезпечення когерентного
(погодженого) стану кешей. З цією метою в архітектурі PowerScale використовується стратегія зворотного запису, реалізована в такий спосіб. p>
Вертикальна когерентність кешей b> p>
Кожен процесор для своєї роботи використовує дворівневий кеш з властивостями досяжності. Це означає, що крім внутрішнього кеша першого рівня (кеша L1),
вбудованого в кожен процесор PowerPC, є пов'язаний з ним кеш другого рівня (кеш L2). При цьому кожен рядок в кеші L1 є також і в кеші L2. У
даний час обсяг кеша L2 складає 1 Мбайт на кожен процесор, а в майбутніх реалізаціях передбачається його розширення до 4 Мбайт. Сама по собі
кеш-пам'яті другого рівня дозволяє істотно зменшити кількість звернень до пам'яті і збільшити ступінь локалізації даних. Для підвищення швидкодії кеш
L2 побудований на принципах прямого відображення. Довжина рядка дорівнює 32 байт (розміром когерентної гранулювання системи). Слід зазначити, що, хоча з
точки зору фізичної реалізації процесора PowerPC, 32 байти становлять тільки половину рядка кеша L1, це не міняє протокол когерентності, який
управляє операціями кеша L1 і гарантує що кеш L2 завжди містить дані кеша L1. p>
Кеш L2 має зовнішній набір тегів. Таким чином, будь-яка активність механізму спостереження за когерентним станом кеш-пам'яті може бути пов'язана з кешем
другого рівня, в той час як більшість звернень з боку процесора можуть оброблятися первинним кешем. Якщо механізм спостереження виявляє
попадання в кеш другого рівня, то він повинен виконати арбітраж за первинний кеш, щоб оновити стан і можливо знайти дані, що зазвичай буде
приводити до припинення процесора. Тому глобальна пам'ять може працювати на рівні тегів кешу L2, що дозволяє істотно обмежити кількість
операцій спостереження, що генеруються системою в напрямку даного процесора. Це, у свою чергу, суттєво збільшує продуктивність системи,
оскільки будь-яка операція спостереження в напрямку процесора сама по собі може призводити до припинення його роботи. p>
Вторинна когерентність кеш-пам'яті b> p>
Вторинна когерентність кеш-пам'яті потрібно для підтримки когерентності кешей L1 & L2 різних процесорних вузлів, тобто для забезпечення когерентного
стану всіх наявних в мультипроцесорної системі розподілених кешей (природно включаючи підтримку когерентної буферизації введення/виводу як по
читання, так і за записом). p>
Вторинна когерентність забезпечується за допомогою перевірки кожної транзакції, яка виникає на шині MPB_SysBus. Така перевірка дозволяє виявити, що
запитувана по шині рядок вже кешовані в процесорному вузлі, і забезпечує виконання необхідних операцій. Це робиться за допомогою тегів кеша L2 і
логічно підтримується тим фактом, що L1 є підмножиною L2. p>
Протокол MESI і функція втручання b> p>
У рамках архітектури PowerScale використовується протокол MESI, який представляє собою стандартний спосіб реалізації вторинної когерентності
кеш-пам'яті. Одним з основних завдань протоколу MESI є відкладання на максимально можливий термін операції зворотного запису кешованих даних у
глобальну пам'ять системи. Це дозволяє поліпшити продуктивність системи за рахунок мінімізації непотрібного трафіку даних між кешами і основною пам'яттю.
Протокол MESI визначає чотири стану, в яких може перебувати кожен рядок кожного кешу системи. Ця інформація використовується для визначення
відповідних подальших операцій (рис. 4.4). p>
Стан рядка "Единственная" (Exclusive): p>
Дані цього рядка достовірні в даному кеші і недостовірні в будь-якому іншому сервері. Дані не модифіковані по відношенню до пам'яті. p>
Стан рядка "розділяє" (Shared): p>
Дані цього рядка достовірні в даному кеші, а також в одному або декількох віддалених кешах. p>
Стан рядка "Модифікована" (Modified): p>
Дані цього рядка достовірні тільки в даному кеші і були модифіковані. Дані недостовірні в пам'яті. p>
Стан рядка "Недостовірна" (Invalid): p>
Достовірні дані не були знайдені в даному кеші. p>
p>
Рис. 4.4. Діаграм переходів станів протоколу MESI h2>
Для підтримки мультипроцесорної організації були реалізовані кілька примітивів адресної шини. Це дозволяє одному головного пристрою шини
передавати, а інших пристроїв виявляти (або спостерігати) поява цих примітивів на шині. Пристрій-власник кешу спостерігає за адресною шиною у
час глобальної запиту і порівнює цільової адреса з адресами тегів у своєму кеші L2. Якщо відбувається попадання, то їх дії визначаються
природою запиту. p>
Як вже було зазначено, однією з функцій тегів L2 є зменшення накладних витрат, пов'язаних з відповідями на запити механізму спостереження. Доступ
до тегам L2 ділиться між процесорами та адресної шиною. Теги L2 практично виконують роль фільтрів по відношенню до активного спостереження. Це дозволяє
процесорам продовжувати обробку замість того, щоб відповідати на кожен запит спостереження. Хоча теги L2 представляють собою розділяється між процесором і
шиною ресурс, його захоплення настільки короткочасний, що практично не призводить до жодних конфліктів. p>
Стан рядка кеш-пам'яті "модифікована" означає зокрема те, що кеш, який зберігає такі дані, несе відповідальність за
правильність цих даних перед системою в цілому. Оскільки в основній пам'яті ці дані недостовірні, це означає, що власник такого кеша повинен
будь-який спосіб гарантувати, що жоден інший модуль системи не прочитає ці недостовірні дані. Зазвичай для опису такої відповідальності
використовується термін "втручання" (intervention), що являє собою дію, що виконується пристроєм-власником
модифікованих кешованих даних при виявленні запиту спостереження за цими даними. Втручання сигналізується за допомогою відповіді станом
"рядок модифікована" протоколу MESI, за яким слідують пересилаються запитувача, а також потенційно в пам'ять, дані. p>
Для збільшення пропускної спроможності системи в PowerScale реалізовані два способи виконання функції втручання: p>
Негайна кроссіровка (Cross Immediate), яка використовується
коли канал даних джерела та одержувача вільні і можна пересилати
дані через комутатор на повній швидкості.
Пізня кроссіровка (Cross Late), коли ресурс (магістраль даних)
зайнятий, тому дані будуть записуватися в буфер комутатора і пізніше
пересилатися запитувача.
Фізична реалізація архітектури b> p>
Нижче на рис. 4.5 показана схема, що представляє системні плати, розроблені компанією Bull, які використовуються для фізичної реалізації
архітектури PowerScale. p>
Багатопроцесорна плата: p>
Багатопроцесорна материнська плата, яка використовується також в якості монтажної панелі для встановлення модулів ЦП, модулів основної пам'яті і однієї
плати в/в (IOD). p>
Модуль ЦП (дочірня процесорна плата): p>
Кожен модуль ЦП, побудований на базі PowerPC 601/604, включає два мікропроцесора та пов'язані з ними кеші. Є можливість модернізації
системи, побудованої на базі процесорів 601, шляхом встановлення модулів ЦП з процесорами 604. Змішані конфігурації 601/604 не підтримуються. p>
Дочірня плата введення/виводу: (IOD) p>
IOD працює як міст між шинами MCA і комплексом ЦП та пам'яті. Підтримуються 2 каналу MCA зі швидкістю передачі 160 Мбайт/с кожен. Хоча
постачається сьогодні підсистема в/в базується на технології MCA, це не є принциповим елементом архітектури PowerScale. В даний час
проводяться дослідження можливостей реалізації кількох альтернативних шин введення/виводу, наприклад, PCI. p>
p>
Рис. 4.5. Фізична реалізація PowerScale h2>
Плати пам'яті: p>
Кожна плата пам'яті складається з парного числа банків. Максимальне число банків дорівнює 16. Об'єм пам'яті на кожній платі може бути 64, 256 або 512 Мбайт.
p>
Коммутатор даних (DCB) інтегрований в декількох НВІС (4х16 біт) і функціонально з'єднує магістраль даних MPB_SysBus з підсистемою пам'яті,
модулями ЦП і платою в/в. Ширина магістралі даних DCB на рівні масиву пам'яті становить 256 + 32 біт, а ширина магістралі даних для кожного порту ЦП і
порту в/в дорівнює 64 + 8 біт. Операції DCB управляються контролером системної пам'яті (SMC) за допомогою командного шини, що забезпечує необхідну комутацію
пристроїв. p>
Сімейство UNIX-серверів Escala
На російський ринок у цей час активно просуваються UNIX-сервери сімейства Escala - багатопроцесорні системи з архітектурою PowerScale,
побудовані на базі мікропроцесора PowerPC 601. Вони пропонуються для роботи в якості декількох типів серверів додатків: сервера транзакцій (Transation
Server) при використанні моніторів обробки транзакцій подібних Tuxedo, сервера бази даних (Database Server) на основі таких відомих систем як
Oracle або Informix, а також керуючого сервера (System Management Server), що забезпечує управління інфраструктурою підприємства й істотно
спрощує адміністрування гетерогенними системами та мережами. Сервери Escala двійковій сумісні з системами Bull DPX/20, а їх архітектура розроблена з
урахуванням можливості застосування новітніх процесорів PowerPC 604 і 620. p>
Основні характеристики серверів Escala в залежності від застосовуваного конструктиву дані в таблиці 4.1. Системи сімейства Escala забезпечують
підключення наступних комунікаційних адаптерів: 8 -, 16 - і 128-входові адаптерів асинхронних послідовних портів, 1 - або 4-входові адаптерів
портів 2 Мбіт/с X.25, а також адаптерів Token-Ring, Ethernet і FDDI. p>
Таблиця 4.1 p>
МОДЕЛЬ Escala b>
M101 b>
M201D201 b> D401 b> R201 b>
Mini-Tower
DesksideRack-Mounted
ЦП
Тип процесора
PowerPC 601
Тактова частота (МГц)
75
7575 75 75
Число процесорів
1/4
2/42/8 4/8 2/8
Розмір кеша другого рівня (Кб)
512
5121024 1024 1024
ПАМ'ЯТЬ
Стандартний обсяг (Мб)
32
6464 64 64
Максимальний обсяг (Мб)
512
5122048 2048 2048
Ввід/Вивід
Тип шини
MCA
MCAMCA MCA MCA
Пропускна здатність (Мб/с)
160
160160 2x160 2x160
Кількість слотів
6
615 15 16
Кількість місць для сидіння
3.5 "
4
47 7 7
5.25 "
2
23 3 3
Ємність внутрішнього
дискової пам'яті Гб)
1/18
1/182/36 4/99 --
Ємність зовнішньої
дискової пам'яті (Гб)
738
7381899 1899 2569
Кількість мережевих адаптерів
1/4
1/41/12 1/12 1/13
ПРОДУКТИВНІСТЬ (число процесорів 2/4)
SPECint92
77
7777 77 77
SPECfp92
84
8484 84 84
SPECrate_int92
3600/6789
3600/67893600/6789 -/6789 3600/6789
SPECrate_fp92
3900/7520
3900/75203900/7520 -/7520 3900/7520
Tpm-C
750/1350
750/1350750/1350 750/1350 750/1350
Висновок b> p>
При розробці PowerScale Bull вдалося створити архітектуру з досить високими характеристиками продуктивності в розрахунку на задоволення потреб
додатків користувачів сьогодні і завтра. І робиться це не тільки збільшенням кількості процесорів в системі, але й можливістю модернізації
поколінь процесорів PowerPC. Розроблена архітектура приваблива як для розробників систем, так і користувачів, оскільки в її основі лежить один з
головних процесорних архітектур в комп'ютерній промисловості - PowerPC. p>