Суперкомп'ютери: минуле, сьогодення і майбутнє
Вперше термін "суперЕОМ" був використаний на початку 60-х років, коли група фахівців Іллінойського університету (США) під керівництвом доктора Д. Слотніка запропонувала ідею реалізації першого в світі паралельної обчислювальної системи. Проект, що отримав назву SOLOMON, базувався на принципі векторної обробки, який був сформульований ще Дж. фон Нейманом, і концепції матричної паралельної архітектури, запропонованої С. Унгер на початку 50-х років.
Справа в тому, що більшість суперкомп'ютерів демонструє вражаючу уяву продуктивність завдяки саме цьому (векторному) виду паралелізму. Будь-який програміст, розробляючи програми на звичних мовах високого рівня, напевно неодноразово стикався з так званими циклами DO. Але мало хто замислювався, який потенціал збільшення продуктивності полягає в цих, часто використовуваних операторах. Відомий фахівець в області систем програмування Д. Кнут показав, що цикли DO займають менше 4% коду програм на мові FORTRAN, але вимагають більше половини рахункового часу завдання.
Ідея векторної обробки циклів такого роду полягає в тому, що в систему команд комп'ютера вводиться векторна операція, яка працює з усіма елементами векторів-операндів. При цьому реалізуються відразу дві можливості прискорення обчислень: по-перше, скорочується число виконуваних процесором команд об'єктного коду, оскільки відпадає необхідність в перерахунку індексів і організації умовного переходу і, по-друге, всі операції додавання елементів векторів-операндів можуть бути виконані одночасно в силу паралелізму обробки.
Важливо відзначити ще одну особливість векторної обробки, пов'язану з кількістю елементарних операцій циклу: чим більше паралельних операцій входить до векторізуемий цикл, тим відчутніше виграш у швидкості виконання обчислень, тому що скорочується частка непродуктивних витрат часу на вибірку, дешифрування і запуск на виконання векторної команди.
Першої суперЕОМ, що використовує переваги векторної обробки, була ILLIAC IV (SIMD архітектура). На початку 60-х років група все того ж Слотніка, об'єднана в Центр передових обчислювальних технологій при Іллінойському університеті, приступила до практичної реалізації проекту векторної суперЕОМ з матричної структурою. Виготовлення машини взяла на себе фірма Burroughs Corp. Технічна сторона проекту досі вражає своєю масштабністю: система повинна була складатися з чотирьох квадрантів, кожен з яких містив у собі 64 процесорних елемента (ПЕ) і 64 модуля пам'яті, об'єднаних комутатором на базі мережі типу Гіперкуб. Всі ПЕ квадранта обробляють векторну інструкцію, яку їм направляє процесор команд, причому кожен виконує одну елементарну операцію вектора, дані для якої зберігаються у зв'язаному з цим ПЕ модулі пам'яті. Таким чином, один квадрант ILLIAC IV здатний одночасно обробити 64 елемента вектора, а вся система з чотирьох квадрантів - 256 елементів. У 1972 р. перша система ILLIAC IV була встановлена в дослідницькому центрі NASA в Еймс. Результати її експлуатації в цій організації отримали неоднозначну оцінку. З одного боку, використання суперкомп'ютера дозволило вирішити ряд складних задач аеродинаміки, з якими не могли впоратися інші ЕОМ. Навіть сама швидкісна ЕОМ для наукових досліджень того часу - Control Data CDC 7600, яку, до речі, проектував "патріарх суперЕОМ" Сеймур Крей, могла забезпечити продуктивність не більше 5 MFLOPS, тоді як ILLIAC IV демонструвала середню продуктивність приблизно в 20 MFLOPS. З іншого боку, ILLIAC IV так і не була доведена до повної конфігурації з 256 ПЕ; практично розробники обмежилися лише одним квадранта. Причинами з'явилися не стільки технічні складності у нарощуванні числа процесорних елементів системи, скільки проблеми, пов'язані з програмуванням обміну даними між процесорними елементами через комутатор модулів пам'яті. Всі спроби вирішити це завдання за допомогою системного програмного забезпечення зазнали невдачі, в результаті кожен додаток вимагало ручного програмування передач комутатора, що й породило незадовільні відгуки користувачів.
Якби розробникам ILLIAC IV вдалося подолати проблеми програмування матриці процесорних елементів, то, ймовірно, розвиток обчислювальної техніки пішло б зовсім іншим шляхом і сьогодні домінували б комп'ютери з матричної архітектурою. Проте ні в 60-х роках, ні пізніше задовільний і універсальне рішення двох таких принципових проблем, як програмування паралельної роботи декількох сотень процесорів і при цьому забезпечення мінімуму витрат рахункового часу на обмін даними між ними, так і не було знайдено. Було потрібно ще приблизно 15 років зусиль різних фірм з реалізації суперЕОМ з матричної архітектурою, щоб поставити остаточний діагноз: комп'ютери даного типу не в змозі задовольнити широке коло користувачів і мають досить обмежену область застосування, часто в рамках одного або декількох видів завдань.
З часом освоєння коштів надшвидкісний обробки даних розрив між вдосконаленням методів векторизації програм, тобто автоматичного перетворення в процесі компіляції послідовних мовних конструкцій у векторну форму, і надзвичайною складністю програмування комутації та розподілу даних між процесорними елементами привів до досить жорсткої реакції користувачів щодо матричних суперЕОМ - широкому колу програмістів була потрібна більш проста і "прозора" архітектура векторної обробки з можливістю використання стандартних мов високого рівня типу FORTRAN. Рішення було знайдено в кінці 60-х років, коли фірма Control Data, з якої в той час співпрацював Крей, представила машину STAR-100, засновану на векторно-конвеєрному принципі обробки даних. Відмінність векторно-конвеєрної технології від архітектури матричних ЕОМ полягає в тому, що замість безлічі процесорних елементів, які виконують одну й ту саму команду над різними елементами вектора, застосовується єдиний конвеєр операцій, принцип дії якого повністю відповідає класичному конвеєру автомобільних заводів Форда. Навіть така архаїчна за сучасними поняттями суперЕОМ, як STAR-100, показала граничну продуктивність на рівні 50 MFLOPS. При цьому істотно, що векторно-конвеєрні суперЕОМ значно дешевше своїх матричних "родичів". Наприклад, розробка та виробництво ILLIAC IV обійшлися в 40 млн. дол за витрат на експлуатацію близько 2 млн. доларів на рік, тоді як ринкова вартість перших суперкомп'ютерів фірм CRAY та Control Data знаходилася в межах 10 - 15 млн. дол, залежно від обсягу пам'яті, складу периферійних пристроїв та інших особливостей конфігурації системи.
Другий істотною особливістю векторно-конвеєрної архітектури є те, що конвеєр операцій має всього один вхід, за яким надходять операнди, і один вихід результату, тоді як у матричних системах існує безліч входів з даних в процесорні елементи і безліч виходів з них. Іншими словами, в комп'ютерах з конвеєрної обробкою дані всіх паралельно виконуваних операцій вибираються і записуються в єдину пам'ять, у зв'язку з чим відпадає необхідність у комутаторі процесорних елементів, що став каменем спотикання при проектуванні матричних суперЕОМ.
Наступний удар по позиціях суперЕОМ з матричної архітектурою завдали дві машини фірми Control Data Corp. - CYBER-203 і CYBER-205. Пікова продуктивність першого склала 100, а другий - вже 400 MFLOPS.
CRAY-1 здійснює переворот Векторна-конвеєрний суперкомп'ютер STAR-100 та машини серії CYBER-200, образно кажучи, з'явилися тільки "нокдауном" для матричної архітектури. Нокаутуючий удар був нанесений в 1974 р., коли Крей, на той час покинув корпорацію CDC і заснував власну фірму Cray Research, оголосив про випуск CRAY-1 - векторно-конвеєрної суперЕОМ, що стала епохальною подією в світі обчислювальної техніки. Ця малогабаритна машина (її висота трохи перевершує середній людський зріст, а займана процесором площу трохи більше 2,5 кв.м), мала продуктивність 160 MFLOPS і ємність оперативної пам'яті 64 Мбайт. Після нетривалої пробної експлуатації в Лос-Аламоської лабораторії, де новинка отримала найвищі відгуки програмістів і математиків, Cray Research налагодила серійний випуск машин CRAY-1, які активно розкуповувалися в США. Цікаво, що адміністрація США належною мірою оцінила стратегічну цінність CRAY-1 і контролювала постачання цього комп'ютера навіть у дружні держави. Поява CRAY-1 викликало інтерес не тільки у користувачів, які потребують в засобах надшвидкісний обробки даних, а й у фахівців з архітектури суперкомп'ютерів. Для багатьох несподіваним (а для розробників CYBER-205 навіть неприємним) став той факт, що з більшістю завдань маленький комп'ютер CRAY-1 справлявся швидше, чим значно перевершує його за габаритами і пікової продуктивності CYBER-205. Так, при тестуванні на пакеті рішення лінійних рівнянь LINPACK Джек Донгарра з Національної лабораторії в аргоновому оцінив продуктивність CRAY-1S в межах 12 - 23 MFLOPS залежно від способу програмування, тоді як CYBER-205 показав продуктивність лише 8,4 MFLOPS. Пояснення знайшлося, як тільки згадали про закон Амдала (G. Amdahl), який відомий архітектор системи IBM/360 сформулював у 1967 р. у вигляді наступного постулату: "Продуктивність обчислювальної системи визначається самим повільним її компонентом". Стосовно до векторних суперЕОМ парадокс Амдала заломлюється наступним чином. Будь-яка задача, яка виконується в суперЕОМ, складається з двох взаємопов'язаних частин - векторних команд, згенерованих компілятором при векторизації вихідної програми, і скалярних операцій, що компілятор не зумів перевести у векторну форму. Якщо уявити собі суперкомп'ютер, який вміє однаково швидко робити скалярні і векторні операції, то парадокс Амдала "не спрацьовує" і така система з однаковою швидкістю буде виконувати завдання будь-якого ступеня векторизації. Але само собою, що скалярна обробка займає більше часу, плюс до всього CRAY-1 при циклі 12,5 нс має більшу швидкодію скалярною обробки у порівнянні з комп'ютером CYBER-205, у якого цикл дорівнює 20 нс.
Існує ще одна причина, по якій CRAY-1 перевершує CYBER-205 за швидкістю рішення більшості прикладних задач. Вперше в практиці надшвидкісний обробки даних, а можливо, і взагалі в обчислювальній техніці CRAY-1 був розроблений як комп'ютер з повністю закінченою архітектурою "регістр-регістр". Всі операції обробки даних, які виконує центральний процесор цієї машини, вибирають операнди і записують результати обчислень, використовуючи не оперативну пам'ять, як це було зроблено в CYBER-205 і більш ранніх суперкомп'ютерах, а спеціально призначені для цієї мети програмно-адресуються регістри. Для реалізації цієї архітектури в CRAY-1 було введено принципове нововведення - векторні регістри, які адресувалися командами центрального процесора подібно до звичайних регістрів даних, але могли запам'ятати до 64 елементів вектора кожен при 64 - розрядному форматі окремих елементів. Природно, що в порівнянні з CYBER-205 кожна окрема векторна команда в CRAY-1 виконувалася швидше, оскільки операції типу "регістр-регістр" відрізняються від операцій типу "пам'ять-пам'ять" меншими тимчасовими витратами на читання операндів і запис результату. Однак вирішальні переваги CRAY-1 перед суперЕОМ CDC і матричними суперкомп'ютерами визначаються не стільки кращою збалансованістю показників продуктивності, скільки простотою і зручністю експлуатації, а також високою якістю системного програмного забезпечення. При розробці своєї першої суперЕОМ Крей взяв до уваги ту важливу обставину, що більшість існуючих пакетів прикладних програм написано на мовах послідовного типу, найчастіше на мові FORTRAN. Тому до складу програмного забезпечення CRAY-1 був включений інтелектуальний FORTRAN-компілятор CFT, здатний виявляти паралелізм у програмах послідовного дії і перетворювати їх у векторізованний код. Природно, що при такому підході все наявне у користувача програмне забезпечення з незначними доробками може бути перенесено на суперЕОМ.
Крім векторизації циклічних конструкцій, в компіляторі CFT суперкомп'ютера CRAY-1 було введено ще одне принципове нововведення - автоматичний пошук у вихідній програмі і побудова многоконвейерних ланцюжків. Суть його полягає в наступному: якщо в програмі зустрічаються дві пов'язані векторні операції (тобто результат першого служить операндом друга), то на відміну від випадку пов'язаних скалярних операцій, коли виконання другої операції починається тільки після завершення попередньої, обидві векторні команди можуть оброблятися практично паралельно, що подвоює продуктивність системи.
Загалом CRAY-1 продемонстрував те, як треба поєднувати простоту і ефективність технічних рішень в області апаратного і програмного забезпечення суперкомп'ютера з простотою і зручністю його використання і, в першу чергу програмування у звичній для більшості розробників середовищі "класичних" послідовних мов типу FORTRAN.
Через деякий час, фахівці з Fujitsu, Hitachi і Nippon Electric (NEC) в короткий термін зуміли видати даний відповідь Крею з шести моделей суперЕОМ, мало поступаються CRAY-1 за основними характеристиками, а де в чому і перевершують свій американський прототип.
Справа в тому, що на початку 70-х років Японія включилася в гонку суперкомп'ютерів, оголосивши про початок державної програми створення ЕОМ надвисокої продуктивності. В якості основних виконавців цієї програми були обрані три провідні комп'ютерні фірми Японії. Корпорація NEC утворила спільне підприємство з Honeywell під назвою Honeywell-NEC Supercomputers (HNS), а фірма Fujitsu зуміла укласти угоду з Джином Амдалом, який на той час пішов з IBM і заснував власну компанію Amdahl Corp. Результатом цього союзу стала машина AMDAHL V/6, що відкрила еру комп'ютерів на великих інтегральних схемах і змусила серйозно похвилюватися керівництво IBM, коли з'ясувалося, що експлуатаційні характеристики AMDAHL V/6 не залишають серйозних шансів на перемогу жодному з комп'ютерів IBM того часу. Володіючи технологією та досвідом розробки ЕОМ на БІС, яких американці у той час не мали, так як CYBER-200 і CRAY-1 були розроблені на мікросхемах середнього ступеня інтеграції, японські фірми пішли в наступ на фронті суперкомп'ютерів.
На початку 80-х років світ побачили одразу три сімейства суперЕОМ японського виробництва, причому кожен суперкомп'ютер з Країни сонця, що сходить мав свою архітектурну родзинку. По-перше, у всіх японських суперЕОМ в порівнянні з CRAY-1 було збільшено число скалярних і векторних регістрів (наприклад, NEC SX має в своєму розпорядженні 256 скалярними і 256 векторними регістрами проти восьми регістрів обох типів у CRAY-1). За рахунок цього вдалося знизити навантаження на оперативну пам'ять системи, а також, що значно істотніше, отримати великі можливості для ефективної векторизації програм. Ще одне цікаве нововведення ввели розробники суперЕОМ сімейства NEC SX, об'єднавши векторну архітектуру "регістр-регістр" з принципом многоконвейерной обробки, раніше реалізованому в суперкомп'ютерах STAR-100, CYBER-203 і CYBER-205 фірми Control Data.
Правда, тут слід зазначити наступне: по-перше, многоконвейерная обробка вимагає встановлення додаткових модулів, що збільшує вартість центрального процесора, по-друге, виконання однієї векторної команди на декількох паралельних конвеєрах призводить до зростання частки непродуктивних витрат часу на запуск команди, підготовку операндів і запис результату. Наприклад, якщо конвеєр, який виконує одну елементарну операцію за п'ять тактів, замінити на чотири таких же конвеєра, то при довжині векторів в 100 елементів векторна команда прискорюється всього в 3,69, а не в 4 рази. Ефект "відставання" зростання продуктивності від збільшення числа конвеєрів особливо помітний, коли процесор витрачає значний час на обмін даними між конвеєром і пам'яттю. Це обставина не була належним чином оцінена при розробці CYBER-205, і в результаті архітектура "пам'ять-пам'ять" даної моделі настільки погіршила динамічні параметри чотирьох конвеєрів її векторного процессора, що для досягнення продуктивності, близькою до 200 MFLOPS, потрібна була дуже висока ступінь векторизації програм (близько 1 тис. елементів у векторі), тобто потенційно найпотужніша суперЕОМ 70-х років реально могла ефективно обробляти тільки обмежений клас задач. Звичайно, такий прорахунок негативно позначився на ринковій долі CYBER-205 і на всій програмі суперЕОМ компанії Control Data. Після CYBER-205 фірма CDC припинила спроби освоєння ринку суперЕОМ.
Використання в суперкомп'ютерах NEC SX архітектури "регістр-регістр" дозволило нейтралізувати недоліки многоконвейерной обробки, і модель NEC SX-2 з 16 векторними конвеєрами стала першою суперЕОМ, що подолала рубіж в мільярд операцій з плаваючою крапкою за секунду - її пікова продуктивність склала 1 , 3 GFLOPS. Фірма Hitachi пішла іншим шляхом. У суперкомп'ютерах серії S-810 ставка була зроблена на паралельне виконання відразу шести векторних команд. Далі Hitachi, продовжує лінію цього сімейства моделями S-810/60 і S-810/80; остання займає гідне третє місце за результатами тестування продуктивності на пакеті LINPACK, поступаючись лише грандам з CRAY і NEC. Відносну комерційну стабільність суперкомп'ютерів Hitachi можна пояснити тим, що вони, як і суперЕОМ фірми Fujitsu, повністю сумісні з системою IBM/370 по скалярним операціях. Це дозволяє застосовувати програми, створені на IBM VS FORTRAN і в стандарті ANSI X3.9 (FORTRAN 77), а також використовувати стандартну операційну середу MVS TSO/SPF і більшість системних розширень IBM, включаючи управління вводом/виводом для IBM-сумісних дискових і стрічкових накопичувачів. Іншими словами, японські суперЕОМ фірм Hitachi і Fujitsu першими у світі суперкомп'ютерів використовували дружній інтерфейс для користувачів найбільш поширеною в той час обчислювальної системи - IBM/370.
Натиск японських виробників був вражаючий, але тут С. Крей завдає своєчасний контрудар - в 1982 р. на ринку з'явилася перша модель сімейства суперкомп'ютерів CRAY X-MP, а двома роками пізніше в Ліверморської національної фізичної лабораторії ім. Лоуренса був встановлений перший примірник суперЕОМ CRAY-2. Машини від Cray Research випередили конкурентів в головному - вони ознаменували зародження нового покоління ЕОМ надвисокої продуктивності, в яких векторно-конвеєрний паралелізм доповнювався мультипроцесорної обробкою. Крей застосував у своїх комп'ютерах неординарні рішення проблеми збільшення продуктивності. Зберігши в CRAY-2 і CRAY X-MP архітектуру та структурні напрацювання CRAY-1, він поламав конкурентів відразу на двох фронтах: досяг рекордно малої тривалості машинного циклу (4,1 нс) і розширив паралелізм системи за рахунок мультипроцесорної обробки. У підсумку Cray Research зберегла за собою звання абсолютного чемпіона по продуктивності: CRAY-2 продемонструвала пікову продуктивність 2 GFLOPS, обігнавши NEC SX-2 - найшвидшу японську суперЕОМ - у півтора рази. Для вирішення проблеми оптимізації машинного циклу Крей пішов далі японців, які вже володіли технологією ECL-БИС, що дозволила в Fujitsu VP досягти тривалості машинного циклу в 7,5 нс. Крім того що в CRAY-2 були використані швидкодіючі ECL-схеми, конструктивне рішення блоків ЦП забезпечувало максимальну щільність монтажу компонентів. Для охолодження такої унікальної системи, яка виділяла ні багато ні мало 195 кВт, була використана технологія занурення модулів в карбід фтору - спеціальний рідкий холодоагент виробництва американської фірми 3M.
Друге революційне рішення, реалізоване в суперкомп'ютері CRAY-2, полягало в тому, що об'єм оперативної пам'яті був доведений до 2 Гбайт. С. Крею вдалося виконати критерій балансування продуктивності і ємкості оперативної пам'яті по Флинну: "Кожному мільйону операцій продуктивності процесора має відповідати не менш 1 Мбайт ємності оперативної пам'яті". Суть проблеми полягає в тому, що типові завдання гідро-та аеродинаміки, ядерної фізики, геології, метеорології та інших дисциплін, що вирішуються за допомогою суперЕОМ, вимагають обробки значного обсягу даних для отримання результатів прийнятної точності. Eстественно, за таких обсягів обчислень відносно мала ємність оперативної пам'яті викликає інтенсивний обмін з дискової пам'яттю, що в повній відповідності з законом Амдала веде до різкого зниження продуктивність системи.
Все-таки новий якісний рівень суперкомп'ютера CRAY-2 визначався не стільки надмалою тривалістю машинного циклу і надвеликої ємністю оперативної пам'яті, скільки мультипроцесорної архітектурою, запозиченою в іншої розробки Cray Research - сімейства багатопроцесорних суперЕОМ CRAY X-MP. Його три базові моделі - X-MP/1, X-MP/2 і X-MP/4 - пропонували користувачам одно-, дво-або чотирипроцесорні конфігурацію системи з продуктивністю 410 MFLOPS на процесор. Спектр доступних варіантів розширювався за рахунок можливості встановлення пам'яті різного об'єму (від 32 до 128 Мбайт на систему). Такий орієнтований на ринок підхід до побудови суперкомп'ютера згодом приніс фірмі Cray Research відчутний комерційний ефект. Мультипроцесорна архітектура суперкомп'ютерів виробництва CRAY була розроблена з урахуванням досягнень і недоліків багатопроцесорних мейнфреймів, в першу чергу фірми IBM. На відміну від "класичних" операційних систем IBM, які використовують для взаємодії процесів механізм глобальних змінних і семафорів в загальній пам'яті, мультипроцесорна архітектура CRAY передбачає обмін даними між процесорами через спеціальні кластерні регістри, крім того, для обслуговування взаємодії процесів в архітектурі CRAY передбачені апаратно - реалізовані семафорні прапорці, які встановлюються, скидаються і аналізуються за допомогою спеціальних команд, що також прискорює міжпроцесорних обмін і в підсумку збільшує системну продуктивність. В результаті цих нововведень коефіцієнт прискорення двопроцесорної суперЕОМ CRAY X-MP/2 по відношенню до однопроцесорній CRAY X-MP/1 становить не менше 1,86.
На відміну від сімейства CRAY X-MP, моделі якого працюють під управлінням операційної системи COS (Cray Operating System), CRAY-2 комплектувалася новою операційною системою CX-COS, створеної фірмою Cray Research на базі Unix System V.
У другій половині 80-х років Control Data, "зійшла з дистанції" після невдачі з моделлю CYBER-205 знову з'являється на ринку сперЕВМ. Строго кажучи, за розробку нової восьмипроцесорний суперЕОМ взялася ETA Systems - дочірня фірма CDC, - проте в цьому проекті був задіяний практично весь потенціал Control Data. Спочатку проект під назвою ETA-10, який отримав підтримку уряду через контракти і дотації потенційним користувачам викликав пожвавлення серед фахівців з надшвидкісний обробці. Адже нова суперЕОМ повинна була досягти продуктивності в 10 GFLOPS, тобто в п'ять разів перевершити CRAY-2 по швидкості обчислень. Перший зразок ETA-10 з одним процесором продуктивністю 750 MFLOPS був продемонстрований в 1988 р., проте далі справи пішли гірше. У другому кварталі 1989 Control Data оголосила про згортання діяльності компанії ETA Systems через нерентабельність виробництва.
Не залишився осторонь від проблем надвисокої продуктивності і гігант комп'ютерного світу - фірма IBM. Не бажаючи поступатися своїх користувачів конкурентам з Cray Research, компанія приступила до програми випуску старших моделей сімейства IBM 3090 з засобами векторної обробки (Vector Facility). Сама потужна модель цієї серії - IBM 3090/VF-600S оснащена шістьма векторними процесорами і оперативною пам'яттю ємністю 512 Мбайт. У подальшому ця лінія була продовжена такими машинами архітектури ESA, як IBM ES/9000-700 VF і ES/9000-900 VF, продуктивність яких в максимальній конфігурації досягла 450 MFLOPS.
Ще одна відома в комп'ютерному світі фірма - Digital Equipment Corp. - У жовтні 1989 анонсувала нову серію мейнфреймів з векторними засобами обробки. Старша модель VAX 9000/440 оснащена чотирма векторними процесорами, що підвищують продуктивність ЕОМ до 500 MFLOPS.
Висока вартість суперЕОМ і векторних мейнфреймів виявилася не по кишені досить широкому колу замовників, потенційно готових скористатися комп'ютерними технологіями паралельних обчислень. До їх числа відносяться дрібні і середні наукові центри та університети, а також виробничі компанії, які потребують високопродуктивної, але порівняно недорогий обчислювальної техніки.
З іншого боку, такі найбільші виробники суперЕОМ, як Cray Research, Fujitsu, Hitachi і NEC, явно недооцінили потреби "середніх" користувачів, зосередившись на досягненні рекордних показників продуктивності і, на жаль, ще більше рекордної вартості своїх виробів. Вельми гнучкою виявилася стратегія Control Data, яка після невдачі з CYBER-205 основну увагу приділила випуску наукових комп'ютерів середнього класу. На кінець 1988 виробництво машин типу CYBER-932 вдвічі перевищило випуск старших моделей серії CYBER-900 і суперЕОМ з маркою CDC. Основним конкурентом Control Data на ринку малогабаритних паралельних комп'ютерів, які отримали загальну назву "міні-суперЕОМ", стала майбутній лідер в світі міні-суперкомп'ютерів фірма Convex Computer. У своїх розробках Convex перша реалізувала векторну архітектуру за допомогою надвеликих інтегральних схем (НВІС) за технологією КМОП. В результаті користувачі отримали серію відносно недорогих комп'ютерів за ціною менше 1 млн. дол, що володіють продуктивністю від 20 до 80 MFLOPS. Попит на ці машини перевершив усі очікування. Явно ризиковані інвестиції в програму Convex обернулися швидким і солідним доходом від її реалізації. Історія розвитку суперкомп'ютерів однозначно показує, що в цій складній області інвестування високих технологій, як правило, дає позитивний результат - треба тільки, щоб проект був адресований досить широкому колу користувачів і не містив дуже ризикованих технічних рішень. Convex, яка, отримавши таку перевагу на старті, стала успішно розвиватися. Спочатку вона випустила на ринок сімейство Convex C-3200, старша модель якого C-3240 має продуктивність 200 MFLOPS, а потім - родина Convex C-3800, що складається з чотирьох базових моделей в одно-, дво-, чотирьох-і восьмипроцесорний конфігурації. Сама потужна машина цієї серії Convex C-3880 має продуктивність, гідну "справжньою" суперЕОМ 80-х років, і при тестуванні на пакеті LINPACK обігнала по швидкості обчислень такі системи, як IBM ES/9000-900 VF, ETA-10P і навіть CRAY -1S. Відзначимо, що Cray Research, випускає міні-суперЕОМ CRAY Y-EL, також реалізовану на технології КМОП-НВІС. Цей комп'ютер може поставлятися в одно-, дво-або чотирипроцесорний конфігурації і забезпечує продуктивність 133 MFLOPS на процесор. Об'єм оперативної пам'яті змінюється в залежності від побажань замовника в діапазоні 256-1024 Мбайт.
Домінування векторних суперкомп'ютерів у державних програмах і стійке положення "царя гори", зайняте Cray Research, явно не влаштовувало прихильників MIMD-паралелізму. Спочатку в цей клас були включені багатопроцесорні мейнфрейми, а згодом до них додалися суперЕОМ третього покоління з мультипроцесорної структурою. І ті й інші засновані на сформульований фон Нейманом принципі управління обчислювальним процесом по командах програми, або управління потоком команд (Instruction Flow). Однак приблизно з середини 60-х років математики стали обговорювати проблему розбиття задачі на велике число паралельних процесів, кожен з яких може оброблятися незалежно від інших, а управління виконанням всієї задачі здійснюється шляхом передачі даних від одного процесу до іншого. Цей принцип, відомий як управління потоком даних (Data Flow), в теорії виглядає дуже багатообіцяючим. Теоретики DataFlow-паралелізму припускали, що систему можна буде організувати з невеликих і тому дешевих однотипних процесорів. Досягнення надвисокої продуктивності цілком покладалося на компілятор, який здійснює розпаралелювання обчислювального процесу, і ОС, координуючу функціонування процесорів. Зовнішня простота принципу MIMD-паралелізму викликала до життя безліч проектів.
З найбільш відомих розробок систем класу MIMD варто згадати IBM RP3 (512 процесорів, 800 MFLOPS), Cedar (256 процесорів, 3,2 GFLOPS; комп'ютер однойменної фірми), nCUBE/10 (1024 процесора, 500 MFLOPS) і FPS - T (4096 процесорів, 65 GFLOPS). На жаль, жоден з цих проектів не завершився повним успіхом і жодна зі згаданих систем не показала оголошеної продуктивності. Справа в тому, що, як і у випадку з матричними SIMD-суперкомп'ютерами, дуже багато технічних і програмних проблем було пов'язано з організацією комутатора, що забезпечує обмін даними між процесорами. Крім того, процесори, складові MIMD-систему, виявилися на практиці не такі вже й маленькими і дешевими. Як наслідок, нарощування їх числа призводило до такого збільшення габаритів системи та подовження міжпроцесорних зв'язків, що стало абсолютно очевидно: за що існував наприкінці 80-х років рівні елементної бази реалізація MIMD-архітектури не може привести до появи систем, здатних конкурувати з векторними суперкомп'ютерами.
неординарне рішення проблеми комутаційної мережі процесорів MIMD-системи запропонувала мало кому відома фірма Denelcor, яка виконала розробку багатопроцесорної моделі HEP-1. Цей суперкомп'ютер був задуманий як MIMD-система, яка містить від 1 до 16 виконавчих процесорних елементів і до 128 банків пам'яті даних по 8 Мбайт кожен. Система з 16 процесорів повинна була мати максимальною продуктивністю 160 MFLOPS при паралельній обробці 1024 процесів (по 64 процесу в кожному з 16 ПЕ). Цікавою архітектурною особливістю HEP-1 було те, що MIMD-обробка безлічі процесів виконувалася без використання комутаційної мережі, яку замінила так звана "вертушка Флінна".
Нагадаємо, що ідея "вертушки Флінна" полягає в організації мультипроцесора як нелінійної системи, що складається з групи процесорів команд (ПРК), кожен з яких "веде" свій потік команд, і спільного для всіх ПРК набору арифметичних пристроїв, циклічно підключаються до кожному з ПРК для виконання їхніх команд. Неважко помітити, що ефект "вертушки Флінна" полягає в скороченні обсягу, займаного арифметичними пристроями в багатопроцесорної системі, оскільки на "арифметику" може припадати до 60% апаратних ресурсів центрального процесора.
На перший погляд структура HEP-1 практично не відрізняється від класичної "вертушки Флінна" - такий же циклічний запуск команд, що належать різним процесам, і ті ж загальні для безлічі процесів арифметичні пристрої. Однак на вході виконавчих пристроїв перемикаються не процесор команд, а процеси за допомогою спеціального механізму вибірки, збереження та відновлення слів стану кожного виконуваного процесу. По-друге, в HEP-1 застосовуються конвеєрні виконавчі пристрої, що дозволяє арифметичним пристроїв обробляти істотно більше операцій, ніж прототипам мейнфреймів. Здавалося б, нарешті знайдено рішення, що поєднує переваги MIMD-архітектури і конвеєрної обробки даних (звідси назва "MIMD-конвейеризації") і до того ж що виключає основний недолік MIMD-структури - наявність мережевого комутатора процесорів. Однак після досить успішних тестів суперЕОМ HEP-1 і схвальних відгуків аналітиків запущений у виробництво проект наступної подібної машини HEP-2 був закритий через відсутність замовлень. Подібно до безлічі інших проектів створення суперкомп'ютерів з MIMD-архітектурою, програма HEP не отримала схвалення користувачів через недоліки системного ПЗ. Справа в тому, що на відміну від векторних суперкомп'ютерів, які успішно справляються з завданнями, представленими на стандартних мовах послідовного типу, для ефективного програмування MIMD-систем знадобилося введення в обіг цілком нових мов паралельного програмування.
Якщо проектувальникам суперкомп'ютерів класу MIMD вдасться вирішити проблеми системного ПЗ, доступних мов паралельного програмування, а також компіляторів для цих мов, то в розвитку обчислювальної техніки треба чекати досить крутого і драматичного повороту подій.
Після комерційного успіху моделей CRAY X-MP фірма Cray Research випустила модифіковане сімейство суперкомп'ютерів CRAY Y-MP, що володіють великим числом процесорів (до восьми) і зниженою тривалістю машинного циклу (6 нс). Старша модель цього сімейства CRAY Y-MP/832 мала пікову продуктивність 2666 MFLOPS і займала дванадцяту позицію в рейтингу Дж. Донгарра за результатами тестування на пакеті LINPACK.
Першіж п'ять позицій належали представникам CRA Y-MP C90, старша модель якого - 16-процесорна машина CRAY Y-MP C90/16256 - мала оперативну пам'ять ємністю 2 Гбайт і могла демонструвати продуктивність на рівні 16 GFLOPS. Всі 16 процесорів і оперативна пам'ять цього комп'ютера розміщувалися в одній стійці досить скромних розмірів: 2,95 x2, 57x2, 17 м3. Підсистема введення/виводу CRAY Y-MP C90 мала до 256 каналів із загальною пропускною здатністю 13,6 Гб/с, вбудований кремнієвий диск ємністю 16 Гбайт і підтримувала дискову пам'ять загальною місткістю до 4 Тбайт. "Суперпараметри" моделі CRAY Y-MP C90 ефектно доповнюються розвиненим програмним забезпеченням, центральним ядром якого є компілятори CF77 Fortran, Cray Standard C Compiler, Cray ADA і Pascal.
Приблизно в цей час Сеймур Крей залишає засновану ним фірму Cray Research і створює нову компанію Cray Computer з метою розробки суперкомп'ютерів нового покоління CRAY-3 і CRAY-4. Причинами цього кроку стали дві обставини: по-перше, керівництво Cray Research не хотів наражати на фірму фінансовому і моральному ризику у випадку невдачі нових проектів, а по-друге, сам Крей вважав за краще займатися піонерськими розробками, залишивши для Cray Research завдання закріплення ринкового успіху вже створених продуктів. В результаті, звільнившись від тягаря проектування CRAY-3 і CRAY-4, його колишнє дітище зосередилося на "шліфуванні" апаратного та програмного забезпечення сімейства CRAY Y-MP, а нове зайнявся пошуком технічних рішень, що дозволяють кардинально підвищити продуктивність векторно-конвеєрної обробки. Справа в тому, що наприкінці 80-х років Крей зумів передбачити ситуацію, що склалася в області векторних суперкомп'ютерів до середини 90-х: архітектурні та програмні можливості збільшення продуктивності за рахунок багатопроцесорної обробки і вдосконалення операційних систем і компіляторів для суперЕОМ цього класу виявилися практично вичерпані, а їх традиційна елементна база - ECL і BiCMOS БІС зі ступенем інтеграції порядку 10 тис. вентилів на кристал - не дозволяє подолати поріг тривалості машинного циклу в 2-3 нс. В основу проекту CRAY-3 була закладена ідея переходу на принципово нову елементну базу - БІС на основі арсеніду галію, яка теоретично дозволяє забезпечити субнаносекундную тривалість машинного циклу. Витівка здавалася дуже ризикованою, тим більше що в кінці 80-х років у світі не існувало промислово освоєної технології для виробництва подібної елементної бази. У всякому разі проект CRAY-3 "загальмувався" саме через незадовільний стан технології розробки і виробництва GaAs-мікросхем, а також збірки з них окремих модулів. Проте після приблизно п'яти років роботи над проектом CRAY-3 "вийшла у світ" і відразу опинився у трійці рекордсменів продуктивності, обігнавши всі конкуруючі суперкомп'ютери з тактовою частотою.
Приблизно в середині 90-х років сумашедший темп розвитку суперкомп'ютерів було втрачено. В якості основних причин слід вказати наступні: величезний спад державної підтримки програми розвитку суперЕВ