Приклади|зразки| побудови|шикування| комунікаційних середовищ|середи| на основі когерентного інтерфейсу SCI|, що масштабується

SCI| (Scalable| Coherent| Interface|) прийнятий як стандарт в 1992 р. (ANSI/IEEE Std| 1596-1992). Він призначений для досягнення високих швидкостей передачі з|із| малим часом затримки і при цьому забезпечує архітектуру, що масштабується, дозволяє будувати системи, що складаються з безлічі блоків. SCI| є комбінацією шини і локальної мережі|сіті|, забезпечує реалізацію когерентності кеш-пам'яті, що розміщується у вузлі SCI|, за допомогою механізму розподілених директорій, який покращує продуктивність, приховуючи витрати|затрати| на доступ до видалених|віддалених| даних в моделі з|із| розподіленою пам'яттю, що розділяється. Продуктивність передачі даних зазвичай|звично| знаходиться|перебуває| в межах від 200 Мбайт/с до 1000 Мбайт/с на відстанях десятків метрів з використанням електричних кабелів і кілометрів – з використанням оптоволокна|. SCI| зменшує час міжвузлових комунікацій в порівнянні з традиційними схемами передачі даних в мережах|сітях| шляхом усунення звернень до програмних рівнів – операційної системи і бібліотек часу виконання; комунікації представляються як частина|частка| простій операції завантаження|загрузки| даних процесором (командами load| або store|). Звичайне|звичне| звернення до даних, що фізично розташованим|схильним| в пам'яті іншого обчислювального вузла і не знаходяться|перебувають| в кеші, приводить|призводить,наводить| до формування запиту до видаленого|віддаленого| вузла для отримання|здобуття| необхідних даних, які протягом декількох мікросекунд доставляються в локальний кеш, і виконання програми продовжується|триває|. Колишній підхід вимагав формування пакетів на програмному рівні з|із| подальшою|наступною| передачею їх апаратному забезпеченню. Так само відбувався|походив| і прийом, внаслідок чого затримки були в сотні разів більше, ніж у|біля,в| SCI|. Проте|однак| для сумісності SCI| має можливість|спроможність| переносити пакети інших протоколів.

Ще одна перевага SCI| – використання простих протоколів типу|типа| RISC|, які забезпечують велику пропускну спроможність. Вузли з|із| адаптерами SCI| можуть використовувати для з'єднання|сполучення,сполуки| комутатори або ж з'єднуватися в кільце. Зазвичай|звично| кожен вузол виявляється|опиняється| включеним в два кільця (мал. 5.1).

 


 

 

 

 



Рисунок. 5.1. Матриця вузлів кластера на основі мережі|сіті| SCI|

 

На відміну від HIPPI|, дана технологія оптимізована для роботи з|із| динамічним трафіком, проте|однак| може бути менш ефективна при роботі з|із| великими блоками даних. Протокол передачі даних забезпечує гарантовану доставку і відсутність дедлоков|. Протокол SCI| достатньо|досить| складний, він передбачає широкі можливості|спроможності| управління трафіком, але|та| використання цих можливостей|спроможностей| припускає|передбачає| наявність розвиненого програмного забезпечення. На комунікаційній технології SCI| заснована система зв'язку гіпервузлів CTI| (Convex| Torroidal| Interconnect|) в системах HP/Convex Exemplar| X-class|, крім того, на ній побудовані|спорудити| кластерні системи SCALI| Computer|, системи сімейства hpcLine| компанії Siemens|, а також cc-NUMA| сервера Data| General| і Sequent|.

Традиційна область застосування|вживання| SCI| – це комунікаційні середовища|середа| багатопроцесорних систем. На основі цієї технології побудовані|спорудити|, зокрема, комп'ютери серії hpcLine| від Siemens| або модульних серверів NUMA-Q| від IBM|, раніше відомі як Sequent|.

Модульні SCI-коммутаторы| Dolphin| дозволяють споживачам будувати кластерні вирішення класу підприємства, що масштабуються, на платформах Windows| NT/2000/XP, Linux|, Solaris|, VxWorks|, LynuxWorks| і NetWare| з використанням стандартизованого обладнання|обладнання| і програмного забезпечення.

8. Комунікаційне середовище|середа| MYRINET|

Мережеву|мережну| технологію Myrinet| представляє|уявляє| компанія Myricom|, яка вперше|уперше| запропонувала свою комунікаційну технологію в 1994 році, а на сьогодні має вже більше 1000 інсталяцій по всьому світу. Технологія Myrinet| заснована на використанні багатопортових комутаторів при обмежених декількома метрами довжинах зв'язків вузлів з|із| портами комутатора. Вузли в Myrinet| з'єднуються один з|із| одним через комутатор (до 128 портів). Максимальна довжина ліній зв'язку варіюється залежно від конкретної реалізації.

Як комутована мережа|сіть|, аналогічна по структурі сегментам Ethernet|, сполученим|з'єднаним| за допомогою комутаторів, Myrinet| може одночасно передавати декілька пакетів, кожен з яких йде з|із| швидкістю, близькою до 2 Гбіт/с. На відміну від некомутованих Ethernet| і FDDI| мереж|сітей|, які розділяють загальне|спільне| середовище|середу| передачі, сукупна пропускна спроможність мережі|сіті| Myrinet| зростає із|із| збільшенням кількості машин. На сьогодні Myrinet| найчастіше використовують як локальну мережу|сіть| (LAN|) порівняно невеликого розміру, зв'язуючи разом комп'ютери усередині|всередині| кімнати або будівлі. Із-за своєї високої швидкості, малого часу затримки, прямої комутації і помірної вартості Myrinet| часто використовується для об'єднання комп'ютерів в кластери. Myrinet| також використовується як системна мережа|сіть| (System| Area| Network|, SAN|), яка може об'єднувати комп'ютери в кластер усередині|всередині| стійкі з|із| тією ж продуктивністю, але|та| з|із| нижчою вартістю, ніж Myrinet| LAN|. Пакети Myrinet| можуть мати будь-яку довжину. Таким чином, вони можуть включати інші типи|типів| пакетів, зокрема IP-пакеты|. Об'єднання обчислювальних вузлів з|із| адаптерами Myrinet| в мережу|сіть| відбувається|походить| за допомогою комутаторів, які мають зараз 4, 8, 12 або 16 портів. У комутаторах використовується передача пакетів шляхом встановлення з'єднання|сполучення,сполуки| на час передачі, для маршрутизації повідомлень|сполучень| застосовується алгоритм прокладки|прокладення| шляху|колії,дороги| (wormhole|, "червоточина"). Комутатори, як і мережеві|мережні| адаптери, побудовані|спорудити| на спеціалізованих мікропроцесорах LANai| компанії Myricom.

На фізичному рівні линки| Myrinet| складаються з 9 провідників: 8 бітів призначено для передачі інформації, що інтерпретується залежно від стану|достатку| дев'ятого біта як байт даних або символ, що управляє; при цьому на кожному линке| забезпечується управління потоком і контроль помилок. Середовище|середа| Myrinet| вигідно відрізняється від багатьох інших середовищ|середи| передачі, зокрема, SCI|, простотою концепції і апаратної реалізації протоколів. Вона містить|утримує| обмежений набір засобів|коштів| управління трафіком, що використовують приливно-отливный| буфер, символи, що управляють, і таймерні інтервали. Myrinet| є|з'являється,являється| відкритим|відчиняти| стандартом, компанія Myricom| пропонує широкий вибір мережевого|мережного| обладнання|обладнання| по порівняно невисоких цінах. Технологія Myrinet| надає широкі можливості|спроможності| масштабування мережі|сіті| і часто використовується при побудові|шикуванні| високопродуктивних обчислювальних кластерів.

Асоціативні процесори

Асоціативний спосіб обробки даних дозволяє подолати|здолати| багато обмежень, властивих адресному доступу до пам'яті, за рахунок завдання|задавання| деякого критерію відбору і проведення необхідних перетворень, тільки|лише| над тими даними, які задовольняють цьому критерію. Критерієм відбору може бути збіг з|із| будь-яким елементом даних, достатнім для виділення шуканих даних з|із| тих, що всіх є|наявний|. Пошук даних може відбуватися|походити| по фрагменту, що має велику або меншу кореляцію із|із| заданим елементом даних.

Досліджені і різною мірою застосовуються декілька підходів, що розрізняються повнотою реалізації моделі асоціативної обробки. Якщо реалізується тільки|лише| асоціативна вибірка даних з|із| подальшим|наступним| почерговим використанням знайдених даних, то говорять про асоціативну пам'ять або пам'ять, що адресується по вмісту. При достатньо|досить| повній|цілковитій| реалізації всіх властивостей асоціативної обробки використовується термін «асоціативний процесор».

Асоціативні системи відносяться до класу: один потік команд – безліч потоків даних (SIMD| = Single| Instruction| Multiple| Data|). Ці системи включають велике число операційних пристроїв|устроїв|, здатних|здібних| одночасно по командах пристрою|устрою|, що управляє, вести обробку декількох потоків даних. У асоціативних обчислювальних системах інформація на обробку поступає|надходить| від асоціативних пристроїв|устроїв| (АЗУ), що запам'ятовують, характеризуються тим, що інформація в них вибирається не за певною адресою, а по її змісту|вмісту,утриманню|.

 

 

 

 


Рисунок. 6.1. Схема асоціативної системи

Конвеєрні процесори

Процесори сучасних комп'ютерів використовують особливу технологію – конвеєри, які дозволяють обробляти більш за одну команду одночасно.

Обробка команди може бути розділена на декілька основних етапів, назвемо|накликатимемо| їх мікрокомандами. Виділимо основні п'ять мікрокоманд:

· вибірка команди;

· розшифровка команди;

· вибірка необхідних операндів;

· виконання команди;

· збереження|зберігання| результатів.

Всі етапи команди задіюються тільки|лише| один раз і завжди в одному і тому ж порядку|ладі|: одна за одною. Це, зокрема, означає, що якщо перша мікрокоманда виконала свою роботу і передала результати другою, то для виконання поточної команди вона більше не знадобиться, і, отже, може приступити до виконання наступної|такої| команди. Виділимо кожну команду в окрему частину|частку| пристрою|устрою| і розташуємо їх в порядку виконання. У перший момент часу виконується перша мікрокоманда. Вона завершує свою роботу і починає|розпочинає,зачинає| виконуватися друга мікрокоманда, тоді як перша готова для виконання наступної|такої| інструкції. Перша інструкція може вважатися|лічити| виконаною, коли завершать роботу всі п'ять мікрокоманд.

Така технологія обробки команд носить назву конвеєрної обробки. Кожна частина|частка| пристрою|устрою| називається ступенем|рівнем| конвеєра, а загальне|спільне| число ступенів|рівнів| – довжиною конвеєра.

У багатьох обчислювальних системах разом з|поряд з,поряд із| конвеєром команд використовуються і конвеєри даних.

Поєднання цих двох конвеєрів дозволяє досягти дуже високої продуктивності на певних класах завдань|задач|, особливо якщо використовується декілька різних конвеєрних процесорів, здатних|здібних| працювати одночасно і незалежно один від одного.

Однією з найбільш високопродуктивних обчислювальних конвеєрних систем вважається|лічить| Сrаy. У цій системі конвеєрний принцип обробки використовується в максимальному ступені|мірі|. Є|наявний| і конвеєр команд, і конвеєр арифметичних і логічних операцій. У системі широко застосовується суміщена|поєднувати| обробка інформації декількома пристроями|устроями|. Максимальна пікова продуктивність процесора може складати 12 GFLOPS|.

В даний час|нині| створені однокристальні векторно-конвеєрні процесори, основними компонентами яких є|з'являються,являються| скалярний процесор і 8 ідентичних векторних пристроїв|устроїв|, сумарна продуктивність яких складає 64 GFLOPS|. На їх основі побудована|спорудити| система SX-6| компанії NEC|.

Матричні процесори

Найбільш поширеними з|із| систем класу один потік команд – безліч потоків даних (SIMD|) є|з'являються,являються| матричні системи, які краще всього пристосовані для вирішення завдань|задач|, незалежних об'єктів, що характеризуються паралелізмом, або даних. Організація систем подібного типу|типа|, на перший погляд, достатньо|досить| проста. Вони мають загальний|спільний| пристрій|устрій|, що управляє, генерує потік команд і велике число процесорних елементів, що працюють паралельно і оброблювальних кожна свій потік даних. Таким чином, продуктивність системи виявляється|опиняється| рівній сумі производительностей| всіх процесорних елементів. Проте|однак| на практиці щоб|аби| забезпечити достатню ефективність системи при вирішенні широкого круга|кола| завдань|задач|, необхідно організувати зв'язки між процесорними елементами з|із| тим, щоб|аби| найповніше завантажити їх роботою. Саме характер|вдача| зв'язків між процесорними елементами і визначає різні властивості системи.

Одним з перших матричних процесорів був SОLОМОN| (60-і роки).


 

 

 


 

Рисунок. 6.2. Структура матричної обчислювальної системи SOLOMON|

Система SOLOMON| містить|утримує| 1024 процесорних елементу, які сполучені|з'єднані| у вигляді матриці: 32х32. Кожен процесорний елемент матриці включає процесор, що забезпечує виконання послідовних порозрядних арифметичних і логічних операцій, а також оперативне ЗУ ємкістю|місткістю| 16 Кбайт. Довжина слова – змінна від 1 до 128 розрядів. Розрядність слів встановлюється програмно. По каналах зв'язку від пристрою|устрою| управління передаються команди і загальні|спільні| константи. У процесорному елементі використовується так звана багатомодальна логіка, яка дозволяє кожному процесорному елементу виконувати або не виконувати загальну|спільну| операцію залежно від значень оброблюваних даних. У кожен момент всі активні процесорні елементи виконують одну і ту ж операцію над даними, що зберігаються у власній пам'яті і мають одну і ту ж адресу.

Ідея багато-модальності | полягає в тому, що в кожному процесорному елементі є|наявний| спеціальний регістр|реєстр| на 4 стани|достатки| – регістр|реєстр| моди. Мода (модальність) заноситься в цей регістр|реєстр| від пристрою|устрою| управління. При виконанні послідовності команд модальність передається в коді операції і порівнюється з|із| вмістом регістра|реєстру| моди. Якщо є збіги, то операція виконується. У інших випадках процесорний елемент не виконує операцію, але|та| може, залежно від коду, пересилати свої операнди сусідньому процесорному елементу. Такий механізм дозволяє виділити рядок або стовпець процесорних елементів, що дуже корисно при операціях над матрицями. Взаємодіють процесорні елементи з|із| периферійним обладнанням через зовнішній процесор.

Подальшим|дальшим| розвитком матричних процесорів стала система ILLIАS-4|, розроблена фірмою|фірма-виготовлювачем| BARROYS|. Спочатку система повинна була включати 256 процесорних елементів, розбитих на групи, кожен з яких повинен управлятися спеціальним процесором. Проте|однак| з різних причин була створена система, що містить|утримує| одну групу процесорних елементів і процесор, що управляє. Якщо на початку передбачалося|припускалося| досягти швидкодії 1 млрд. операцій в секунду, то реальна система працювала з|із| швидкодією 200 млн. операцій в секунду. Ця система протягом ряду|лави,низки| років вважалася|лічила| однією з самих високопродуктивних в світі.