stringtranslate.com

CDC СТАР-100

CDC STAR-100 — это векторный суперкомпьютер , разработанный, изготовленный и продаваемый Control Data Corporation (CDC). Это была одна из первых машин, использовавших векторный процессор для повышения производительности в соответствующих научных приложениях. Это был также первый суперкомпьютер, использовавший интегральные схемы , и первый, оснащенный миллионом слов компьютерной памяти . [5]

STAR представляет собой смесь колец ST ( двоичных цифр) и лучей AR . [6] Число 100 указывает на номинальную пиковую скорость обработки в 100 миллионов операций с плавающей точкой в ​​секунду ( MFLOPS ); [5] более ранний CDC 7600 обеспечивал пиковую производительность в 36 MFLOPS, но обычно работал на уровне около 10 MFLOPS.

Проект был частью заявки, поданной в Ливерморскую национальную лабораторию Лоуренса (LLNL) в середине 1960-х годов. [5] Ливермор искал партнера, который построит гораздо более быструю машину за свой счет, а затем сдаст в аренду лаборатории полученный проект. Это было публично объявлено в начале 1970-х годов, а 17 августа 1971 года CDC объявила, что General Motors разместила на него первый коммерческий заказ.

Ряд основных конструктивных особенностей машины привели к тому, что ее реальная производительность оказалась намного ниже ожидаемой при первом коммерческом использовании в 1974 году, и это стало одной из главных причин, по которой CDC лишилась своего прежнего доминирования на рынке суперкомпьютеров, когда в 1975 году был анонсирован Cray-1. Было поставлено всего три системы STAR-100: две в LLNL и одна в Исследовательский центр NASA в Лэнгли .

Описание

STAR имел 64-битную архитектуру , состоящую из 195 инструкций . [7] Его главным нововведением было включение 65 векторных инструкций для векторной обработки . Операции, выполняемые этими инструкциями, находились под сильным влиянием концепций и операторов из языка программирования APL ; в частности, концепция «управляющих векторов» (векторных масок в современной терминологии) и несколько инструкций для перестановки векторов с управляющими векторами были перенесены непосредственно из APL. [8] [9]

Векторные инструкции работали с векторами, которые хранились в последовательных ячейках основной памяти; адресация памяти была виртуальной . Векторные инструкции питали арифметический конвейер ; одна инструкция могла сложить два вектора переменной длины до 65 535 элементов всего за одну выборку инструкции. STAR также извлекал векторные операнды в 512-битных единицах (суперсловах), уменьшая среднюю задержку памяти.

Поскольку местоположение памяти "следующего" операнда известно, ЦП может извлекать следующие операнды, пока он работает с предыдущими. Как и в случае с конвейерами инструкций в целом, время, необходимое для завершения любой инструкции, не улучшилось по сравнению с тем, что было раньше, но поскольку ЦП работает с несколькими точками данных одновременно, общая производительность резко повышается.

Многие из инструкций STAR были сложными, особенно векторные макроинструкции, которые выполняли сложные операции, которые обычно требовали бы длинных последовательностей инструкций. Эти инструкции, наряду с общей сложной архитектурой STAR, были реализованы с помощью микрокода . [10]

Основная память имела емкость 65 536 512-битных слов , называемых суперсловами (SWORD). [11] Основная память была 32-канальной с чередованием для конвейерного доступа к памяти. Она была построена из основной памяти со временем доступа 1,28 мкс. Основная память была доступна через 512-битную шину, контролируемую контроллером доступа к хранилищу (SAC), который обрабатывал запросы от потокового блока . Потоковый блок обращается к основной памяти через SAC через три 128-битные шины данных, две для чтения и одну для записи. Также имеется 128-битная шина данных для выборки инструкций, ввода-вывода и доступа к вектору управления. Потоковый блок служит в качестве блока управления, выбирая и декодируя инструкции, инициируя доступ к памяти от имени конвейерных функциональных блоков и управляя выполнением инструкций, среди прочих задач. Он также содержит два буфера чтения и один буфер записи для потоковой передачи данных в блоки выполнения. [11]

STAR-100 имеет два арифметических конвейера. Первый имеет сумматор и умножитель с плавающей точкой, а второй может выполнять все скалярные инструкции. Он также содержит сумматор, умножитель и делитель с плавающей точкой. Оба конвейера являются 64-битными для операций с плавающей точкой и управляются микрокодом. STAR-100 может разделить свои конвейеры с плавающей точкой на четыре 32-битных конвейера, удваивая пиковую производительность системы до 100 MFLOPS за счет половины точности. [11]

STAR-100 использует процессоры ввода-вывода для разгрузки ввода-вывода от ЦП. Каждый процессор ввода-вывода представляет собой 16-битный миникомпьютер с собственной основной памятью объемом 65 536 слов по 16 бит каждое, которая реализована с помощью основной памяти. Все процессоры ввода-вывода совместно используют 128-битную шину данных для SAC.

Реальная производительность, пользователи и влияние

Реальная производительность STAR-100 была лишь долей его теоретической производительности по ряду причин. Во-первых, векторные инструкции, будучи «память-в-память», имели относительно долгое время запуска, поскольку конвейер от памяти до функциональных блоков был очень длинным. В отличие от конвейерных функциональных блоков на основе регистров в 7600, конвейеры STAR были намного глубже. Проблема усугублялась тем фактом, что у STAR было более медленное время цикла, чем у 7600 (40 нс против 27,5 нс). Таким образом, длина вектора, необходимая для того, чтобы STAR работал быстрее, чем 7600, составляла около 50 элементов; если циклы работали с наборами данных с меньшим количеством элементов, временные затраты на настройку векторного конвейера были выше, чем экономия времени, обеспечиваемая векторной инструкцией(ями).

Когда машина была выпущена в 1974 году, быстро стало очевидно, что общая производительность была разочаровывающей. Очень немногие программы могут быть эффективно векторизованы в ряд отдельных инструкций; почти все вычисления будут полагаться на результаты некоторых более ранних инструкций, однако результаты должны были очистить конвейеры, прежде чем их можно было подать обратно. Это вынуждало большинство программ платить высокую стоимость настройки векторных блоков, и, как правило, те, которые «работали», были крайними примерами. Хуже того, базовая скалярная производительность была принесена в жертву улучшению векторной производительности. Всякий раз, когда программе приходилось выполнять скалярные инструкции, общая производительность машины резко падала. (См. Закон Амдаля .)

Две системы STAR-100 в конечном итоге были доставлены в Национальную лабораторию Лоуренса в Ливерморе и одна в Исследовательский центр NASA в Лэнгли . [12] В ходе подготовки к поставкам STAR программисты LLNL разработали библиотеку подпрограмм , названную STACKLIB , на 7600 для эмуляции векторных операций STAR. В процессе разработки STACKLIB они обнаружили, что программы, преобразованные для ее использования, работали быстрее, чем раньше, даже на 7600. Это оказало дополнительное давление на производительность STAR.

STAR-100 разочаровал всех участников. Джим Торнтон , бывший близкий помощник Сеймура Крэя по проектам CDC 1604 и 6600 и главный конструктор STAR, покинул CDC, чтобы основать Network Systems Corporation . Обновленная версия базовой архитектуры была позже выпущена в 1979 году как Cyber ​​203 , [12] за которой в 1980 году последовал Cyber ​​205 , но к этому моменту на рынке появились системы от Cray Research со значительно более высокой производительностью. Провал STAR привел к тому, что CDC была оттеснена от своего прежнего доминирования на рынке суперкомпьютеров, что они попытались решить, основав ETA Systems в сентябре 1983 года. [12]

Установки

Было построено пять самолетов CDC STAR-100. Поставки начались с 1974 года: [1]

Ссылки

  1. ^ abcd БОЛЬШИЕ КОМПЬЮТЕРНЫЕ СИСТЕМЫ И НОВЫЕ АРХИТЕКТУРЫ, Т. Блох, ЦЕРН, Женева, Швейцария, ноябрь 1978 г.
  2. ^ abcd Предложение компьютерной лаборатории Atlas по компьютерной системе STAR, Майкл Бейлис, Control Data, апрель 1972 г.
  3. ^ Справочное руководство по оборудованию Star-100
  4. ^ История и результаты сравнительного анализа Whetstone
  5. ^ abc MacKenzie, Donald (1998). Знающие машины: очерки о технических изменениях. MIT Press. ISBN 978-0-262-63188-4.
  6. ^ CJ Purcell (1974). "The Control Data STAR-100 - Performance Measurements". AFIPS 1974 International Workshop on Managing Requirements Knowledge . стр. 385. doi :10.1109/AFIPS.1974.113. S2CID  43509695.
  7. ^ Хванг, Кай; Бриггс, Фейе Алайе (1984). Архитектура компьютера и параллельная обработка . McGraw-Hill. С. 234–249.
  8. ^ Хокни, Р. В.; Джессшоп, К. Р. (1981). Параллельные компьютеры: архитектура, программирование и алгоритмы . Адам Хильгер. стр. 15.
  9. ^ Иббетт, Р. Н.; Топхэм, Н. П. (1989). Архитектура высокопроизводительных компьютеров, том I: Однопроцессорные и векторные процессоры . Springer-Verlag . стр. 159.
  10. ^ Шнек, ПБ (1987). Архитектура суперкомпьютера . Kluwer Academic. С. 99–118.
  11. ^ abc PM Kogge, Архитектура конвейерных компьютеров , Taylor & Francis, 1981, стр. 162–164.
  12. ^ abc RW Hockney и CR Jesshope, Параллельные компьютеры 2: Архитектура, программирование и алгоритмы , Адам Хильгер, 1988, стр. 21.

Дальнейшее чтение

Внешние ссылки