Асимметричная многопроцессорность - Asymmetric multiprocessing

An асимметричная многопроцессорность (AMP или же ASMP) система является мультипроцессор компьютерная система, в которой не все многочисленные взаимосвязанные центральные процессоры (ЦП) обрабатываются одинаково. Например, система может разрешить (на оборудовании или Операционная система уровень) только один ЦП для выполнения кода операционной системы или может позволить только одному ЦП выполнять операции ввода-вывода. Другие системы AMP могут позволить любому ЦП выполнять код операционной системы и выполнять операции ввода-вывода, чтобы они были симметричными по отношению к ролям процессора, но присоединяли некоторые или все периферийные устройства к конкретным ЦП, так что они были асимметричными по отношению к периферийным устройствам. вложение.

Асимметричная многопроцессорная обработка была единственным методом работы с несколькими процессорами до этого. симметричная многопроцессорная обработка (SMP) был доступен. Он также использовался для предоставления менее дорогих вариантов.[1] в системах, где доступен SMP.

Асимметричная многопроцессорность

Предпосылки и история

Для компьютеров размером с комнату 1960-х и 1970-х годов экономически эффективным способом увеличения вычислительной мощности было добавление второго ЦП. Поскольку эти компьютеры уже были близки к самым быстрым из доступных (почти на пике соотношения цена / производительность), два ЦП со стандартной скоростью были намного дешевле, чем ЦП, который работал в два раза быстрее. Кроме того, добавление второго ЦП обошлось дешевле, чем установка второго целого компьютера, которому потребовались бы собственные периферийные устройства, что потребовало бы гораздо большего пространства на полу и увеличения числа сотрудников.

Известными ранними предложениями AMP от производителей компьютеров были Берроуз B5000, то DECsystem-1055, а IBM System / 360 модель 65МП. В университетах также были построены двухпроцессорные машины.[2]

Проблема с добавлением второго ЦП в компьютерную систему заключалась в том, что операционная система была разработана для однопроцессорных систем, и расширение ее для эффективной и надежной обработки нескольких ЦП заняло много времени. Чтобы восполнить этот пробел, операционные системы, предназначенные для одного ЦП, изначально были расширены, чтобы обеспечить минимальную поддержку второго ЦП. При этой минимальной поддержке операционная система работала на «загрузочном» процессоре, а на другом процессоре разрешалось запускать только пользовательские программы. В случае Burroughs B5000 аппаратное обеспечение второго процессора не могло выполнять код «состояния управления».[3]

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

Берроуз B5000 и B5500

Опцией Burroughs B5000 был «Процессор B». Этот второй процессор, в отличие от «Процессора A», не имел связи с периферийными устройствами, хотя два процессора совместно использовали основную память, и процессор B не мог работать в состоянии управления.[3] Операционная система работала только на процессоре A. Когда нужно было выполнить задание пользователя, оно могло быть запущено на процессоре B, но когда это задание пыталось получить доступ к операционной системе, процессор остановился и отправил сигнал процессору A. Запрошенная служба операционной системы затем был запущен на процессоре A.

На B5500 процессор A или процессор B может быть обозначен как процессор 1 переключателем на панели инженера, а другой процессор - это процессор 2; оба процессора совместно использовали основную память и имели аппаратный доступ к процессорам ввода-вывода, следовательно, к периферийным устройствам, но только процессор 1 мог реагировать на периферийные прерывания.[4] Когда задание на процессоре 2 требовало обслуживания операционной системы, оно переносилось на процессор 1, который отвечал как за инициирование активности процессора ввода-вывода, так и за реакцию на прерывания, указывающие на завершение. На практике это означало, что, хотя пользовательские задания могли выполняться как на процессоре 1, так и на процессоре 2 и могли обращаться к внутренним подпрограммам библиотеки, которые не требовали поддержки ядра, операционная система планировала их на последнем, когда это возможно.[5]

CDC 6500 и 6700

Control Data Corporation предложила две конфигурации своего CDC 6000 серии это показало два центральные процессоры. CDC 6500[6] был CDC 6400 с двумя центральными процессорами. CDC 6700 был CDC 6600 с добавленным к нему центральным процессором CDC 6400.

Эти системы были организованы совершенно иначе, чем другие мультипроцессоры в этой статье. Операционная система работала на периферийные процессоры, в то время как приложение пользователя выполнялось на процессорах. Таким образом, термины ASMP и SMP не применимы к этим мультипроцессорам.

DECsystem-10

Корпорация цифрового оборудования (DEC) предложила двухпроцессорную версию своего DECsystem-1050 в котором использовались два процессора KA10; все периферийные устройства были подключены к одному процессору, основному процессору, и на основном процессоре выполнялся код операционной системы.[7] Это предложение было распространено на процессоры KL-10 и KS-10 в линейке PDP-10; в этих системах загрузочный ЦП обозначается как «ЦП политики», который запускает интерпретатор команд, меняет местами задания в памяти и из нее и выполняет несколько других функций; другие функции операционной системы и операции ввода-вывода могут выполняться любым процессором, и если процессор политики выходит из строя, другой процессор берет на себя функции процессора политики.[8]

PDP-11/74

Корпорация цифрового оборудования разработали, но так и не выпустили, мультипроцессор PDP-11, ПДП-11/74,[9] запуск многопроцессорной версии RSX-11M.[10] В этой системе любой из процессоров мог запускать код операционной системы и мог выполнять ввод-вывод, но не все периферийные устройства были доступны для всех процессоров; большинство периферийных устройств были подключены к одному или другому ЦП, поэтому процессор, к которому периферийное устройство не было подключено, при необходимости выполнить операцию ввода-вывода на этом периферийном устройстве запрашивал процессор, к которому периферийное устройство было подключено выполнить операцию.[10]

VAX-11/782

Первый мультипроцессор DEC VAX система VAX-11/782 была асимметричной двухпроцессорной системой; только первый процессор имел доступ к устройствам ввода-вывода.[11]

IBM System / 370 модель 168

Для IBM System / 370 Модель 168 для подключения второго процессора.[12] Одним из них был IBM 3062 Присоединенный процессор, в котором второй процессор не имел доступа к каналам и, следовательно, был аналогичен процессору B B5000 или второму процессору VAX-11/782. Другой вариант предлагал полностью второй процессор и, таким образом, был больше похож на модель System / 360 65MP.

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

Примечания

  1. ^ IBM (декабрь 1976 г.). Обзор системы IBM System / 370 (PDF). Издание седьмое. С. 6–12, 6-15-6.16.1. GA22 · 7001 · 6.
  2. ^ Первые компьютеры в Стэнфорде: двухпроцессорный компьютер в лаборатории искусственного интеллекта
  3. ^ а б «Эксплуатационные характеристики процессоров Burroughs B5000» (PDF). Берроуз.
  4. ^ "Повествовательное описание B5500 MCP" (PDF). п. 18.
  5. ^ Повествовательное описание B5500 MCP, страницы 29 (процедура запуска) и 40 (примечание о параллельной обработке)
  6. ^ "Справочное руководство по компьютерным системам CONTROL DATA 6400/6500/6600" (PDF).
  7. ^ «1.4 DECsystem-10 Многопроцессорность». Введение в программное обеспечение DECsystem-10 (PDF). DEC-10-MZDC-D.
  8. ^ Техническое описание DECsystem-10 (PDF). 1981. с. 2-1.
  9. ^ "(PDP-11) Multiprocessor FAQ".
  10. ^ а б «Многопроцессорность RSX-11M» (PDF). Корпорация цифрового оборудования.
  11. ^ Руководство по продажам продукции VAX, страницы 1-23 и 1-24: VAX-11/782 описывается как асимметричная многопроцессорная система в 1982 году.
  12. ^ IBM (январь 1976 г.). Функциональные характеристики IBM System / 370 Model 168 (PDF). Пятое издание. GA22 · 7010-4.

Рекомендации

  • Белл, К. Гордон, Мадж, Дж. Крейг, Макнамара, Джон Э. «Семья PDP-10». (1979). Часть V Компьютерная инженерия: взгляд DEC на проектирование аппаратных систем. Digital Equipment Corp.
  • Раджкумар Буйя (редактор): Высокопроизводительные кластерные вычисления: архитектуры и системы, Том 1, ISBN  0-13-013784-7, Прентис Холл, Нью-Джерси, США, 1999.
  • Раджкумар Буйя (редактор): Высокопроизводительные кластерные вычисления: программирование и приложения, Том 2, ISBN  0-13-013785-5, Прентис Холл, Нью-Джерси, США, 1999.

внешняя ссылка