CDC STAR-100¶
CDC STAR-100 — это суперкомпьютер, разработанный и выпущенный компанией Control Data Corporation (CDC) в 1974 году. Он стал первым в мире коммерчески доступным векторным суперкомпьютером, ознаменовав собой переход от скалярных архитектур к обработке массивов данных с помощью векторных инструкций. STAR-100 (STAR — аббревиатура от «String ARray») предназначался для решения сложных научных и инженерных задач, требующих высокой производительности при работе с большими объёмами однотипных данных.
¶История
¶Предпосылки создания
К началу 1970-х годов вычислительная техника столкнулась с проблемой «стены памяти»: скорость процессоров росла быстрее, чем скорость оперативной памяти. Для задач, связанных с обработкой больших массивов данных (например, в метеорологии, физике плазмы, аэродинамике), традиционные скалярные процессоры тратили значительное время на выборку и декодирование инструкций, а также на последовательную обработку каждого элемента данных. Компания CDC, уже имевшая успешный опыт создания суперкомпьютеров серии CDC 6600 и CDC 7600, решила разработать архитектуру, которая могла бы выполнять одну операцию сразу над целым набором данных.
¶Разработка и выпуск
Проект STAR-100 был начат в конце 1960-х годов. Главным архитектором выступил Сеймур Крей, который, однако, вскоре покинул CDC, чтобы основать собственную компанию Cray Research. Разработку продолжила команда под руководством Джима Торнтона. Первый экземпляр STAR-100 был поставлен заказчику в 1974 году. Система была ориентирована на крупные государственные и научные учреждения, такие как Лос-Аламосская национальная лаборатория (США) и Национальное управление по аэронавтике и исследованию космического пространства (NASA).
¶Место в истории
STAR-100 стал первым коммерческим векторным компьютером, но его коммерческий успех был ограничен. Он уступал по производительности на скалярных задачах своим предшественникам (CDC 7600) и был сложен в программировании. Тем не менее, он заложил концептуальную основу для последующих векторных суперкомпьютеров, таких как Cray-1 (1976) и серия CDC Cyber 200. В СССР в 1980-х годах на основе архитектуры STAR-100 была разработана серия суперкомпьютеров «Электроника СС БИС» (например, «Эльбрус-1» и «Эльбрус-2»), хотя и с существенными отличиями.
¶Архитектура и устройство
¶Векторная обработка
Ключевое нововведение STAR-100 — поддержка векторных инструкций. Вектор — это упорядоченный набор однотипных данных (например, массив чисел). Векторная инструкция могла выполнить одну арифметическую или логическую операцию над всеми элементами вектора за один такт (или за несколько тактов с конвейеризацией). Это позволяло значительно ускорить обработку больших массивов по сравнению с циклической обработкой каждого элемента в скалярном режиме.
¶Структура процессора
STAR-100 имел два основных процессора:
- Векторный процессор (Vector Processor): Выполнял векторные инструкции. Состоял из нескольких конвейерных функциональных устройств (сложение, умножение, логические операции), которые могли работать параллельно.
- Скалярный процессор (Scalar Processor): Выполнял обычные скалярные инструкции, управлял потоком команд, обрабатывал условные переходы и адресацию. Скалярный процессор был относительно медленным по сравнению с векторным, что стало узким местом системы.
¶Память
STAR-100 использовал виртуальную память с сегментацией и страничной организацией. Объём оперативной памяти мог достигать 1 миллиона 64-битных слов (около 8 Мбайт), что было огромным по тем временам. Память была организована в виде 32 банков, что позволяло осуществлять одновременный доступ к нескольким словам для подачи данных в векторный конвейер.
¶Система команд
Система команд STAR-100 была ориентирована на работу со строками и векторами. Она включала инструкции для:
- Загрузки и сохранения векторов.
- Арифметических операций над векторами (сложение, вычитание, умножение, деление).
- Логических операций (И, ИЛИ, НЕ) над векторами.
- Операций сжатия и расширения векторов (gather/scatter).
- Операций сравнения векторов.
¶Характеристики
¶Производительность
- Тактовая частота: 40 МГц (такт 25 нс).
- Пиковая производительность (векторная): до 100 MFLOPS (миллионов операций с плавающей запятой в секунду) на 64-битных числах.
- Производительность на скалярных задачах: значительно ниже, чем у CDC 7600 (около 10-15 MFLOPS).
- Разрядность: 64-битная архитектура.
¶Физические параметры
- Размер: Система занимала несколько стоек, общая площадь — около 50-70 квадратных метров.
- Энергопотребление: около 100 кВт.
- Система охлаждения: жидкостная (фреон).
¶Программное обеспечение
¶Операционная система
STAR-100 работал под управлением операционной системы SCOPE (Supervisory Control of Program Execution), разработанной CDC. SCOPE поддерживала многозадачность, управление виртуальной памятью, файловую систему и сетевой обмен.
¶Языки программирования
Основным языком программирования для STAR-100 был FORTRAN с расширениями для векторных операций. Программистам приходилось вручную указывать, какие циклы следует векторизовать, или использовать специальные директивы компилятора. Существовали также ассемблер (STAR-100 Assembly Language) и язык управления заданиями (JCL).
¶Сложность программирования
Программирование на STAR-100 было сложной задачей. Требовалось глубокое понимание архитектуры, чтобы эффективно использовать векторные возможности. Неправильное использование векторных инструкций могло привести к снижению производительности. Отсутствие автоматической векторизации в компиляторах того времени делало разработку трудоёмкой.
¶Применение
STAR-100 использовался в основном в научных и военных целях:
- Метеорология: Моделирование погоды и климата.
- Аэродинамика: Расчёты обтекания тел (например, самолётов и ракет).
- Ядерная физика: Моделирование ядерных реакций и взрывов.
- Нефтегазовая разведка: Обработка сейсмических данных.
- Криптография: Взлом шифров и анализ данных.
¶Критика и недостатки
- Низкая скалярная производительность: STAR-100 был значительно медленнее на обычных задачах, чем его предшественник CDC 7600. Это делало его неэффективным для многих приложений, где векторная обработка была не основным режимом.
- Сложность программирования: Отсутствие развитых компиляторов и необходимость ручной векторизации кода отпугивали многих потенциальных пользователей.
- Высокая стоимость: Система стоила несколько миллионов долларов, что делало её доступной только для крупных организаций.
- Проблемы с надёжностью: Как и многие суперкомпьютеры того времени, STAR-100 страдал от проблем с охлаждением и сбоями в работе.
¶Интересные факты
- Название «STAR» расшифровывалось как «String ARray», что отражало ориентацию архитектуры на обработку строк и массивов.
- Первый экземпляр STAR-100 был установлен в Лос-Аламосской национальной лаборатории.
- В СССР на основе архитектуры STAR-100 была разработана серия суперкомпьютеров «Электроника СС БИС», которая использовалась в оборонной промышленности и научных исследованиях.
- Несмотря на коммерческий провал, STAR-100 оказал огромное влияние на развитие векторных вычислений и стал предшественником таких машин, как Cray-1 и Fujitsu VP.
¶Источники
- Control Data Corporation. «CDC STAR-100 Hardware Reference Manual». 1974.
- Control Data Corporation. «CDC STAR-100 Software Reference Manual». 1974.
- Thornton, J. E. «Design of a Computer: The Control Data 6600». Scott, Foresman and Company, 1970.
- Hockney, R. W., Jesshope, C. R. «Parallel Computers: Architecture, Programming and Algorithms». Adam Hilger, 1981.
- Бабаян, Б. А. «История суперкомпьютеров в СССР». Наука, 2008.