Intel iPSC
Intel iPSC — это семейство параллельных суперкомпьютеров, выпускавшихся компанией Intel с 1985 по 1992 год. iPSC (Intel Personal Supercomputer) представляли собой одни из первых коммерчески доступных систем с массовым параллелизмом (MPP), построенных на стандартных микропроцессорах Intel и объединённых гиперкубической топологией сети. Они сыграли ключевую роль в популяризации параллельных вычислений и стали предшественниками современных суперкомпьютерных архитектур.
История
Предпосылки и разработка
В начале 1980-х годов компания Intel, известная в первую очередь как производитель микропроцессоров и микросхем памяти, начала проявлять интерес к рынку высокопроизводительных вычислений. В то время доминировали векторные суперкомпьютеры (Cray, CDC) и симметричные мультипроцессорные системы (Sequent, Alliant). Однако подход, основанный на соединении множества дешёвых микропроцессоров в единую вычислительную сеть, казался перспективным.
Проект iPSC был инициирован в исследовательском подразделении Intel в Бивертоне (Орегон). Руководителем разработки стал Джастин Раттнер, впоследствии известный как один из создателей архитектуры x86-64. Первая система, iPSC/1, была анонсирована в 1985 году.
Первое поколение: iPSC/1 (1985)
iPSC/1 был прямым коммерческим продолжением исследовательского проекта Intel «Cosmic Cube» (1983), который представлял собой 64-узловой параллельный компьютер на процессорах Intel 8086/8087. iPSC/1 использовал те же принципы, но на более мощной элементной базе.
- Процессоры: Intel 80286 (16-битный) с математическим сопроцессором Intel 80287.
- Топология: 7-мерный гиперкуб (до 128 узлов).
- Память: 512 КБ на узел (расширялось до 4,5 МБ).
- Сеть: Каналы связи со скоростью 10 Мбит/с на основе прямого соединения узлов.
Система поставлялась в виде стоечного шасси, напоминающего современные серверные стойки. Управляющий компьютер (front-end) подключался через Ethernet к одному из узлов. Пользователи писали программы на Фортране или Си с использованием библиотеки передачи сообщений (NX — Node eXecutive). iPSC/1 позиционировался как «персональный суперкомпьютер» — доступный по цене (от 150 000 долларов США) и размещаемый в обычной лаборатории.
Второе поколение: iPSC/2 (1987)
iPSC/2 стал значительным шагом вперёд. Он был основан на 32-битных процессорах Intel 80386 (с частотой 16 МГц) и сопроцессорах Intel 80387. Ключевым нововведением стала Direct-Connect Module (DCM) — специализированный аппаратный маршрутизатор, встроенный в каждый узел. DCM позволял передавать сообщения между узлами без участия центрального процессора, что резко снижало задержки и повышало пропускную способность сети.
- Процессоры: Intel 80386/80387 (16 МГц).
- Топология: 7-мерный гиперкуб (до 128 узлов).
- Память: 1–8 МБ на узел.
- Сеть: DCM, скорость до 2,8 МБ/с на канал.
- Операционная система: NX/2 (Node eXecutive) — многозадачная, поддерживающая асинхронный обмен сообщениями.
iPSC/2 также предлагал опциональные векторные сопроцессоры (VX — Vector eXtension) на базе Intel i860, что позволяло выполнять операции с плавающей запятой с производительностью до 10 МФлопс на узел. Система использовалась в научных учреждениях, включая Окриджскую национальную лабораторию и Калифорнийский технологический институт.
Третье поколение: iPSC/860 (1990)
Последняя и наиболее мощная модель семейства, iPSC/860, была построена на процессорах Intel i860 (RISC-архитектура, 40 МГц). Каждый узел содержал один или два процессора i860, а также до 16 МБ памяти. Гиперкубическая топология была расширена до 8 измерений (до 256 узлов).
- Процессоры: Intel i860 (40 МГц, 64-битный RISC).
- Топология: 8-мерный гиперкуб (до 256 узлов).
- Память: 8–16 МБ на узел.
- Сеть: DCM с пропускной способностью до 2,8 МБ/с на канал.
- Пиковая производительность: до 5,2 ГФлопс (на 256 узлах).
iPSC/860 стала одной из первых коммерческих систем, достигших производительности в несколько гигафлопс. Она применялась для моделирования ядерных реакций, аэродинамики, сейсморазведки и задач искусственного интеллекта. Однако к 1992 году Intel прекратила выпуск iPSC, сосредоточившись на проекте Intel Paragon — более масштабируемой системе на базе процессоров i860, которая использовала двумерную решётку вместо гиперкуба.
Архитектура и устройство
Топология гиперкуба
Все системы семейства iPSC использовали топологию n-мерного гиперкуба. В такой топологии каждый узел (компьютер) соединяется напрямую с n другими узлами, где n — размерность куба. Например:
- 1-мерный куб — 2 узла (линия).
- 2-мерный куб — 4 узла (квадрат).
- 3-мерный куб — 8 узлов (куб).
- 7-мерный куб — 128 узлов.
- 8-мерный куб — 256 узлов.
Гиперкуб обеспечивал короткие средние расстояния между узлами (логарифмическая зависимость от числа узлов) и высокую отказоустойчивость: при выходе из строя одного узла система могла продолжать работу, используя альтернативные маршруты.
Узел (Node)
Каждый узел iPSC представлял собой полноценный компьютер на одной плате:
- Процессор: Intel 80286 (iPSC/1), 80386 (iPSC/2) или i860 (iPSC/860).
- Сопроцессор: Intel 80287, 80387 или встроенный FPU в i860.
- Память: ОЗУ (от 512 КБ до 16 МБ).
- Сетевой интерфейс: DCM (Direct-Connect Module) — аппаратный маршрутизатор для передачи сообщений.
- Загрузочное ПЗУ: Содержало микрокод для начальной загрузки и диагностики.
Система управления (Front-end)
Для управления iPSC использовался отдельный компьютер (обычно Intel 386/486 или рабочая станция на Unix), подключённый к одному из узлов гиперкуба через Ethernet. Этот компьютер выполнял функции:
- Компиляции и загрузки пользовательских программ.
- Мониторинга состояния узлов.
- Управления очередями заданий.
Пользователи не имели прямого доступа к узлам гиперкуба — они работали через управляющую машину, которая загружала исполняемые файлы в память узлов и запускала их.
Программное обеспечение
Операционная система
На узлах iPSC работала специализированная операционная система NX (Node eXecutive), разработанная Intel. NX была минимальной — она не поддерживала виртуальную память, многозадачность в привычном понимании или файловую систему. Её основная задача — управление передачей сообщений между узлами и выполнение пользовательского кода.
- NX/1 (iPSC/1): Однозадачная, поддерживала синхронный обмен сообщениями.
- NX/2 (iPSC/2): Многозадачная, поддерживала асинхронный обмен, приоритеты сообщений и блокировки.
- NX/860 (iPSC/860): Адаптирована для архитектуры i860, поддерживала кэширование и конвейеризацию.
Библиотеки и компиляторы
Intel поставляла компиляторы Fortran и C, которые автоматически распараллеливали циклы и распределяли данные по узлам. Основной библиотекой для программирования была NX Library, предоставляющая функции:
csend()/crecv()— синхронная передача/приём сообщений.isend()/irecv()— асинхронная передача/приём.global_sum()/global_max()— коллективные операции (суммирование, поиск максимума).nodeid()— получение идентификатора текущего узла.
Позднее, для iPSC/860, была разработана библиотека BLAS (Basic Linear Algebra Subprograms), оптимизированная для векторных вычислений.
Применение
Системы семейства iPSC использовались в основном в научных и инженерных расчётах:
- Ядерная физика: Моделирование цепных реакций и нейтронного транспорта (Лос-Аламосская национальная лаборатория).
- Аэродинамика: Расчёт обтекания крыла самолёта и турбулентных потоков (NASA Ames).
- Сейсморазведка: Обработка данных сейсмических волн для поиска нефти и газа (Schlumberger).
- Метеорология: Моделирование погоды и климата (Национальный центр атмосферных исследований США).
- Искусственный интеллект: Обучение нейронных сетей и генетические алгоритмы.
Критика и наследие
Несмотря на коммерческий успех (было продано несколько сотен систем), iPSC подвергался критике за:
- Сложность программирования: Ручное распределение данных и сообщений было трудоёмким.
- Ограниченную масштабируемость: Гиперкуб требовал, чтобы количество узлов было степенью двойки (2, 4, 8, 16, 32, 64, 128, 256). Это ограничивало гибкость конфигураций.
- Высокую стоимость: Даже «персональный» iPSC/1 стоил более 100 000 долларов.
Тем не менее, iPSC заложил основы для современных суперкомпьютеров с массовым параллелизмом. Многие идеи, реализованные в iPSC (аппаратная маршрутизация сообщений, топология гиперкуба, библиотеки передачи сообщений), были впоследствии использованы в системах Intel Paragon, Cray T3D, IBM Blue Gene и других. Кроме того, iPSC стимулировал развитие стандарта MPI (Message Passing Interface), который стал основным протоколом для параллельных вычислений.
Интересные факты
- Название iPSC расшифровывалось как «Intel Personal Supercomputer», что отражало маркетинговую стратегию Intel — сделать суперкомпьютер доступным для отдельной лаборатории или отдела.
- В 1985 году iPSC/1 был занесён в Книгу рекордов Гиннесса как самый быстрый компьютер в мире среди построенных на микропроцессорах.
- Процессор i860, использовавшийся в iPSC/860, изначально разрабатывался как графический ускоритель, но был перепрофилирован для высокопроизводительных вычислений.
- Одна из систем iPSC/860, установленная в Калифорнийском технологическом институте, использовалась для моделирования гравитационных взаимодействий в галактиках.
Источники
- Intel Corporation. iPSC/2 System Overview. 1987.
- Intel Corporation. iPSC/860 Product Brief. 1990.
- David H. Bailey, Parallel Supercomputing with the Intel iPSC/860. NASA Ames Research Center, 1991.
- John L. Gustafson, The Intel iPSC/860: A Scientific Supercomputer. 1992.
- The Cosmic Cube and the Intel iPSC. IEEE Annals of the History of Computing, 2015.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →