Открыть сервис

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 использовались в основном в научных и инженерных расчётах:

Критика и наследие

Несмотря на коммерческий успех (было продано несколько сотен систем), 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 →