Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Асимметричная многопроцессорная ( АМР или 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». Этот второй процессор, в отличие от «Процессора 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 [ править ]

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

PDP-11/74 [ править ]

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

VAX-11/782 [ править ]

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

IBM System / 370 модель 168 [ править ]

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

См. Также [ править ]

  • 3B20C
  • Многоядерный (вычисления)
  • Блокировка программного обеспечения
  • Гигантский замок
  • Симметричная многопроцессорная обработка
  • Гетерогенные вычисления

Примечания [ править ]

  1. ^ IBM (декабрь 1976 г.). Обзор системы IBM System / 370 (PDF) . Издание седьмое. С. 6–12, 6-15-6.16.1. GA22 · 7001 · 6.
  2. Первые компьютеры в Стэнфорде: двухпроцессорный компьютер в лаборатории искусственного интеллекта.
  3. ^ a b «Эксплуатационные характеристики процессоров Burroughs B5000» (PDF) . Берроуз.
  4. ^ «Повествовательное описание B5500 MCP» (PDF) . п. 18.
  5. ^ Описание B5500 MCP, страницы 29 (процедура запуска) и 40 (примечание о параллельной обработке)
  6. ^ "ДАННЫЕ УПРАВЛЕНИЯ 6400/6500/6600 КОМПЬЮТЕРНЫЕ СИСТЕМЫ Справочное руководство" (PDF) .
  7. ^ "1.4 DECsystem-10 Multiprocessing". Введение в программное обеспечение DECsystem-10 (PDF) . DEC-10-MZDC-D.
  8. ^ Техническое резюме DECsystem-10 (PDF) . 1981. с. 2-1.
  9. ^ "(PDP-11) Multiprocessor FAQ" .
  10. ^ a b "Многопроцессорность 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. 
  • Раджкумар Буйя (редактор): High Performance Cluster Computing: Programming and Applications , Volume 2, ISBN 0-13-013785-5 , Prentice Hall, NJ, USA, 1999. 

Внешние ссылки [ править ]

  • Учебник OpenMP для параллельного программирования
  • Блог Multicore News
  • История мультиобработки
  • Linux и многопроцессорность
  • ASOSI: Asymmetric Operating System Infrastructure, Proc. 21-я конференция по параллельным и распределенным вычислениям и системам связи (PDCCS 2008), Новый Орлеан, Луизиана, стр. 193–198, 2008 г.