Асимметричная многопроцессорная обработка
Система асимметричной многопроцессорной обработки ( AMP или ASMP ) — это многопроцессорная компьютерная система, в которой не все несколько взаимосвязанных центральных процессоров (ЦП) обрабатываются одинаково. Например, система может позволять (либо на уровне оборудования, либо на уровне операционной системы ) только одному ЦП выполнять код операционной системы или может разрешать только одному ЦП выполнять операции ввода-вывода. Другие системы AMP могут позволять любому ЦП выполнять код операционной системы и выполнять операции ввода-вывода, чтобы они были симметричны относительно ролей процессора, но прикрепляли некоторые или все периферийные устройства к конкретным ЦП, чтобы они были асимметричными относительно периферийных устройств. вложение.
Асимметричная многопроцессорная обработка была единственным методом управления несколькими процессорами до того, как стала доступна симметричная многопроцессорная обработка (SMP). Он также использовался для предоставления менее дорогих вариантов. [1] в системах, где был доступен SMP.
Предыстория и история [ править ]
Для компьютеров размером с комнату 1960-х и 1970-х годов экономически эффективным способом увеличения вычислительной мощности было добавление второго процессора. Поскольку эти компьютеры уже были близки к самым быстрым из доступных (около пика соотношения цена/производительность), два процессора со стандартной скоростью были намного дешевле, чем процессор, который работал в два раза быстрее. Кроме того, добавление второго процессора обходилось дешевле, чем второй полный компьютер, которому потребовались бы собственные периферийные устройства, что потребовало бы гораздо больше площади и увеличение штата обслуживающего персонала.
Известными ранними предложениями AMP от производителей компьютеров были Burroughs B5000 , DECsystem-1055 и IBM System/360 model 65MP. В университетах также строились двухпроцессорные машины. [2]
Проблема с добавлением второго процессора в компьютерную систему заключалась в том, что операционная система была разработана для однопроцессорных систем, и ее расширение для эффективной и надежной работы с несколькими процессорами занимало много времени. Чтобы восполнить этот пробел, операционные системы, предназначенные для одного процессора, изначально были расширены, чтобы обеспечить минимальную поддержку второго процессора. При этой минимальной поддержке операционная система работала на «загрузочном» процессоре, а другому разрешалось запускать только пользовательские программы. В случае с Burroughs B5000 аппаратное обеспечение второго процессора не могло выполнять код «состояния управления». [3]
Другие системы позволяли операционной системе работать на всех процессорах, но либо подключали все периферийные устройства к одному процессору, либо подключали определенные периферийные устройства к определенным процессорам.
Берроуз B5000 и B5500 [ править ]
Опцией Burroughs B5000 был «Процессор B». Этот второй процессор, в отличие от «Процессора А», не имел связи с периферийными устройствами, хотя два процессора использовали общую основную память, а процессор Б не мог работать в состоянии управления. [3] Операционная система работала только на процессоре A. Когда нужно было выполнить пользовательское задание, оно могло быть запущено на процессоре B, но когда это задание пыталось получить доступ к операционной системе, процессор останавливался и сигнализировал процессору A. Запрошенная служба операционной системы затем запускался на процессоре А.
На B5500 процессор A или процессор B может быть назначен как процессор 1 с помощью переключателя на панели инженера, а другой процессор — как процессор 2; оба процессора использовали общую основную память и имели аппаратный доступ к процессорам ввода-вывода, следовательно, к периферийным устройствам, но только процессор 1 мог реагировать на периферийные прерывания. [4] Когда задание на процессоре 2 требовало службы операционной системы, оно переназначалось на процессор 1, который отвечал как за инициацию активности процессора ввода-вывода, так и за реагирование на прерывания, указывающие на завершение. На практике это означало, что, хотя пользовательские задания могли выполняться либо на процессоре 1, либо на процессоре 2 и иметь доступ к встроенным библиотечным процедурам, не требующим поддержки ядра, операционная система по возможности планировала их на последнем. [5]
CDC 6500 и 6700 [ править ]
Корпорация Control Data предложила две конфигурации своей серии CDC 6000 с двумя центральными процессорами . CDC 6500 [6] был CDC 6400 с двумя центральными процессорами. CDC 6700 представлял собой CDC 6600 с добавленным к нему центральным процессором CDC 6400.
Эти системы были организованы совершенно иначе, чем другие мультипроцессоры в этой статье. Операционная система работала на периферийных процессорах , а пользовательское приложение — на центральных процессорах. Таким образом, термины ASMP и SMP не применимы к этим мультипроцессорам.
DECsystem-10 [ править ]
Digital Equipment Corporation (DEC) предложила двухпроцессорную версию своей DECsystem-1050 , в которой использовались два процессора KA10; все периферийные устройства были подключены к одному процессору, основному процессору, и основной процессор выполнял код операционной системы. [7] Это предложение было распространено на процессоры KL-10 и KS-10 линейки PDP-10; в этих системах загрузочный ЦП обозначается как «ЦП политики», который запускает интерпретатор команд, меняет местами задания в памяти и из нее, а также выполняет несколько других функций; другие функции операционной системы и ввод-вывод могут выполняться любым из процессоров, и в случае сбоя процессора политики другой процессор берет на себя функции процессора политики. [8]
ПДП-11/74 [ править ]
Компания Digital Equipment Corporation разработала, но так и не выпустила мультипроцессор PDP-11 , PDP-11/74. [9] работает многопроцессорная версия RSX-11M . [10] В этой системе любой процессор мог запускать код операционной системы и выполнять ввод-вывод, но не все периферийные устройства были доступны всем процессорам; большинство периферийных устройств были подключены к одному или другому процессору, так что процессор, к которому периферийное устройство не было подключено, при необходимости выполнить операцию ввода-вывода на этом периферийном устройстве запрашивал процессор, к которому было подключено периферийное устройство. выполнить операцию. [10]
ВАКС-11/782 [ править ]
Первая многопроцессорная система VAX компании DEC , VAX-11/782, представляла собой асимметричную двухпроцессорную систему; только первый процессор имел доступ к устройствам ввода-вывода. [11]
IBM System/370 модель 168 [ править ]
Для IBM System/370 Model 168 было доступно два варианта подключения второго процессора. [12] IBM 3062 Одним из них был подключенный процессор , в котором второй процессор не имел доступа к каналам и поэтому был похож на процессор B B5000 или второй процессор на VAX-11/782. Другой вариант предлагал полный второй процессор и, таким образом, был больше похож на модель System / 360 65MP.
См. также [ править ]
- 3Б20С
- Сотовая многопроцессорная обработка
- Гигантский замок
- Гетерогенные вычисления
- Многоядерный (вычисления)
- Программная блокировка
- Симметричная многопроцессорная обработка
Примечания [ править ]
- ^ IBM (декабрь 1976 г.). Краткое описание системы IBM System/370 (PDF) . Седьмое издание. стр. 6–12, 6–15–6.16.1. ГА22·7001·6.
- ^ «Ранние компьютеры в Стэнфорде: двухпроцессорный компьютер в лаборатории искусственного интеллекта» . Проверено 27 марта 2023 г.
- ↑ Перейти обратно: Перейти обратно: а б «Рабочие характеристики процессоров Burroughs B5000» (PDF) . Берроуз . Проверено 13 сентября 2023 г.
- ^ Повествовательное описание B5500 MCP (PDF) . п. 18.
- ^ Повествовательное описание B5500 MCP (PDF) . стр. 29 (программа инициализации) и 40 (примечание о параллельной обработке)
- ^ «Справочное руководство по компьютерным системам CONTROL DATA 6400/6500/6600» (PDF) .
- ^ «1.4 Многопроцессорная обработка DECsystem-10». Введение в программное обеспечение DECsystem-10 (PDF) . DEC-10-MZDC-D . Проверено 13 сентября 2023 г.
- ^ Техническое описание DECsystem-10 (PDF) . 1981. с. 2-1.
- ^ «(PDP-11) Часто задаваемые вопросы по многопроцессорным процессорам» . [ постоянная мертвая ссылка ]
- ↑ Перейти обратно: Перейти обратно: а б «Мультипроцессор RSX-11M» (PDF) . Корпорация цифрового оборудования.
- ^ Руководство по продажам продукции VAX, страницы 1-23 и 1-24 : VAX-11/782 описан как асимметричная многопроцессорная система в 1982 году.
- ^ IBM (январь 1976 г.). Функциональные характеристики IBM System / 370 Model 168 (PDF) . Пятое издание. ГА22·7010-4.
Ссылки [ править ]
- Белл, К. Гордон, Мадж, Дж. Крейг, Макнамара Джон Э. «Семейство PDP-10». (1979). Часть V компьютерной инженерии: взгляд DEC на проектирование аппаратных систем . Компания «Цифровое оборудование»
- Раджкумар Буйя (редактор): Высокопроизводительные кластерные вычисления: архитектуры и системы , Том 1, ISBN 0-13-013784-7 , Прентис Холл, Нью-Джерси, США, 1999 г.
- Раджкумар Буйя (редактор): Высокопроизводительные кластерные вычисления: программирование и приложения , Том 2, ISBN 0-13-013785-5 , Прентис-Холл, Нью-Джерси, США, 1999 г.
Внешние ссылки [ править ]
- Учебник OpenMP по параллельному программированию. Архивировано 18 сентября 2008 г. на Wayback Machine.
- Блог новостей о многоядерности
- История мультиобработки
- Linux и многопроцессорность
- ASOSI: Асимметричная инфраструктура операционных систем, Учеб. 21-я конференция по параллельным и распределенным вычислениям и системам связи (PDCCS 2008), Новый Орлеан, Луизиана, стр. 193–198, 2008 г.