Процессор гетерогенных элементов

Паспортная табличка Denelcor HEP H1000

Гетерогенный элементный процессор ( HEP ) [1] был представлен компанией Denelcor, Inc. в 1982 году. Архитектором HEP был Бертон Смит . Машина была разработана для решения задач гидродинамики для Баллистической исследовательской лаборатории . [2] Система HEP, как следует из названия, была собрана из множества гетерогенных компонентов — процессоров , модулей памяти данных и модулей ввода-вывода. Компоненты были соединены через коммутируемую сеть .

Один процессор, называемый PEM (Process Execution Module), в системе HEP (можно было подключить до шестнадцати PEM) был довольно необычным; с помощью «очереди слова состояния программы (PSW)» можно было одновременно поддерживать до пятидесяти процессов на оборудовании. Самая большая система, когда-либо поставленная, имела 4 PEM. Восьмиступенчатый конвейер инструкций позволял инструкциям из восьми различных процессов выполняться одновременно. Фактически, только одна инструкция из данного процесса могла присутствовать в конвейере в любой момент времени. Таким образом, полная пропускная способность процессора 10 MIPS могла быть достигнута только при восьми или более активных процессах; ни один отдельный процесс не мог достичь пропускной способности более 1,25 MIPS. Этот тип многопоточной обработки классифицирует сегодня HEP как процессор-баррель , в то время как его разработчики описывали его как конвейерный процессор MIMD [3] . Аппаратная реализация HEP PEM представляла собой эмиттерно-связанную логику .

Процессы классифицировались как процессы пользовательского уровня или уровня супервизора. Процессы пользовательского уровня могли создавать процессы уровня супервизора, которые использовались для управления процессами пользовательского уровня и выполнения ввода-вывода. Процессы одного класса должны были быть сгруппированы в одну из семи пользовательских задач и семи задач супервизора.

Каждый процессор, в дополнение к очереди PSW и конвейеру инструкций, содержал память инструкций, 2048 64-битных регистров общего назначения и 4096 константных регистров. Константные регистры отличались тем, что только процессы-супервизоры могли изменять их содержимое. Сами процессоры не содержали памяти данных; вместо этого модули памяти данных могли быть отдельно подключены к коммутируемой сети.

Память HEP состояла из полностью раздельной памяти инструкций (до 128 МБ) и памяти данных (до 1 ГБ). Пользователи видели 64-битные слова, но в действительности слова памяти данных были 72-битными с дополнительными битами, используемыми для состояния, см. следующий абзац, четности, тегирования и других целей.

HEP реализовал тип взаимного исключения , при котором все регистры и ячейки в памяти данных имели ассоциированные состояния «пусто» и «полное». Чтение из ячейки устанавливало состояние на «пусто», а запись в нее устанавливала состояние на «полное». Программист мог разрешить процессам останавливаться после попытки чтения из пустой ячейки или записи в полную ячейку, обеспечивая критические разделы.

Коммутируемая сеть [4] между элементами во многом напоминала современную компьютерную сеть. В сети были наборы узлов, каждый из которых имел три ссылки. Когда пакет прибывал в узел, он обращался к таблице маршрутизации и пытался переслать пакет ближе к месту назначения. Если узел становился перегруженным, все входящие пакеты передавались без маршрутизации. Пакеты, обработанные таким образом, имели повышенный уровень приоритета; когда несколько пакетов соперничали за один узел, пакет с более высоким уровнем приоритета направлялся раньше пакетов с более низким уровнем приоритета.

Другим компонентом коммутируемой сети была система sO с собственной памятью и множеством отдельных шин DEC UNIBUS, подключенных для дисков и других периферийных устройств. Система также имела возможность сохранять полные/пустые биты, которые обычно не видны напрямую. Первоначальная производительность системы ввода-вывода оказалась крайне неадекватной из-за высокой задержки при запуске операций ввода-вывода. Рон Натали (из BRL) и Бертон Смит спроектировали новую систему из запасных частей на салфетках в местном стейк-хаусе и ввели ее в эксплуатацию в течение следующей недели.

Основным языком программирования приложений HEP был уникальный вариант Fortran . Со временем были добавлены C , Pascal и SISAL . Синтаксис переменных данных, использующих биты «полностью пусто», добавлял «$» перед их именем. Таким образом, «A» будет называть локальную переменную, но $A будет блокирующей переменной «полностью пусто». Таким образом, была возможна тупиковая ситуация в приложении. Проблематично, что отсутствие «$» могло привести к непреднамеренной числовой неточности.

Первой операционной системой HEP была HEPOS. Майк Муусс участвовал в портировании Unix для Баллистической исследовательской лаборатории. HEPOS не была Unix-подобной операционной системой.

Хотя было известно, что у HEP плохое соотношение цены и производительности, он привлек внимание из-за нескольких революционных на тот момент особенностей. HEP имел производительность компьютера класса CDC 7600 в эпоху Cray-1 . Системы HEP были арендованы Лабораторией баллистических исследований (четыре системы PEM), Лос-Аламосом [1] , Аргоннской национальной лабораторией (один PEM), Агентством национальной безопасности и Shoko Ltd (Япония, 1 PEM). Немецкая компания Messerschmitt (три системы PEMS) — единственный клиент, который купил ее [5] . Denelcor также поставила систему с двумя PEM Университету Джорджии в обмен на помощь с программным обеспечением (система также была предложена Университету Мэриленда). [6] Messerschmitt был единственным клиентом, который использовал HEP для «реальных» приложений; другие клиенты использовали ее для экспериментов с параллельными алгоритмами. Система BRL использовалась для подготовки фильма с использованием программного обеспечения BRL-CAD в качестве ее единственного реального приложения. Более быстрые и крупные проекты для HEP-2 и HEP-3 были начаты, но так и не завершены. Архитектурная концепция позже будет воплощена под кодовым названием Horizon.

Внешнее изображение
значок изображенияФотография системы, установленной в BRL, доступна в Архиве компьютерной истории Майка Мусса.

Смотрите также

Ссылки

  1. ^ ab "Опыт Лос-Аламоса с компьютером HEP". Параллельные вычисления MIMD: Суперкомпьютер HEP и его приложения. MIT Press. 1985-06-27. ISBN 978-0-262-25653-7. Получено 2024-12-09 .
  2. ^ «История вычислительной техники в BRL».
  3. ^ Параллельные вычисления MIMD: суперкомпьютер HEP и его приложения. MIT Press. 1985-06-27. ISBN 978-0-262-25653-7. Получено 2024-12-09 .
  4. ^ Мур , Джеймс У. (1983). «Параллельный процессор HEP» (PDF) . Los Alamos Science . 1983 : 72–75 . Получено 09.12.2024 .
  5. ^ Кулас, Мэри К. (1987). Новые технологии много/параллельной обработки (конкурентный анализ). Digital Equipment Corporation (DEC) - Внутренний отчет . Получено 2024-12-09 .
  6. ^ Падуа, Дэвид (2011). Энциклопедия параллельных вычислений, том 4. Нью -Йорк, Нью-Йорк : Springer Verlag.
Взято с "https://en.wikipedia.org/w/index.php?title=Гетерогенный_Элементный_Процессор&oldid=1263047389"