Асиметрично мултипроцесирање

Асиметрично мултипроцесирање, или AMP, била софтверска затка за управување со повеќе обработувачи пред симетричното мултипроцесирање, односно пред СМП да стане достапно. Мултипроцесирање значи, повеќе од еден обработувач во еден компјутерски систем. CPU (Централно Обработувачка Единица) е аритметичка и локичка машина која извршува кориснички апликации; влезно/излезен интерфејс како што е GPU, дури и ако е применет користејќи вграден обработувач, не формира Централно Обработувачка Единица(CPU) затоа што не покренува кориснички апликативни програми. Со повеќе CPU, можат да се покренуваат (да работат) повеќе од една корисничка апликација, во исто време. Сите од обработувачите го имаат истиот кориснички инструкциски режим, така извршувањето на една работа може да биде прераспределена од еден обработувач на друг.
1 Позадина и Историја!
За компјутерите со големина на соба од периодот на ’60 и ’70 години, исплатлив начин за зголемување на компјутерската моќ било додавањето на втор обработувач (CPU). Уште од времето на тие компјутери, кои биле најблиску до најбрзиот кој бил на располагање (близу врвот на соодносот цена:перформанси), два обработувачи со стандардна брзина биле далеку поевтини отколку обработувач кој работи двапати побрзо. Исто така, додавање на втор обработувач било помалко скапо отколку целосен втор компјутер, на кој ќе му бидат потребни сопствени периферни уреди, што значи потреба за поголем простор и зголемен број на извршен персонал.
Значајни понуди од компјутерските производители биле Burroughs B5000, DECsystem-1055 и IBM System/360. Имало исто двојни обработувачи (dual CPU) машини изградени во факултетите.
Проблемот со додавање на втор обработувач во компјутерски систем било тоа што оперативниот систем бил развиен за единечен обработувачкки систем, а со проширувањето за да подржи повеќе обработувачи ефикасно и сигурно, требало долго време. За да се потполни јазот, оперативните системи наменети за единецни обработувачи биле првично проширени да обезбедат минимална поддршка за втор обработувач. Со оваа минимална поддршка, оперативниот систем, се стартува на обработувачот за бутирање, со други единствено дозволено да извршува кориснички програми.
Со текот на времето оперативните системи се подобриле во искористувањето на дополнителните обработувачи, сè додека не достигнале Симетрично Мултипроцесирање, во кој оперативниот систем и апликациите под негова контрола, се извршуваат на сите обработувачи истовремено.
2 Borroughs B5000
Опција на Borroughs B5000 бил “Обработувач Б”. Овој втор обработувач за разлика од “Обработувач А” нема врски со периферните уреди, значи двата обработувачи делат главна меморија. Оперативниот систен работи само на Обработувачот А. Кога имало корисничка задача што треба да се изврши, може да биде извршена на Обработувачот Б, но кога таа задача ќе се обиде да пристапи до оперативниот систем, обработувачот запира и сигнализира на Обработувачот А. Тогаш бараната задача од оперативниот систем е извршена на Обработувачот А.
3 IBM Систем/360 модели 65MB и 67-2
IBM понуди компјутерски систем со двоен обработувач, заснован на неговиот System/360 модел 65 и сличниот на него, моделот 67. Оперативниот систем кој работи на овие машини бил OS/360 M65MP и TSS/360. Исто така имало и софтвер развиен во универзитетите кој ги користел и двата обработувачи, особено MTS. Двата обработувачи имаат пристап до каналите за податоци, и така можат да иницираат ВЛЕЗ/ИЗЛЕЗ.
M65MP бил поблизок до SMP отколку MCP за B5000 или TOPS-10 за DECsystem-1055, откако јадрото на оперативнот систем работи на двата обработувачи и периферните уреди можат да бидат приклучени на двата обработувачи. MTS контролер (UMMPS) работи на еден или на двата обработувачи од IBM System/360 модел 67-2. Контролите клуцеви биле мали и биле користени да ги заштитат структурите од лични податоци до кои може да се пристапи од двата обработувачи. Како со M65MP, поединечните задачи (работи, процеси) ќе бидат извршени само на еден обработувач во одреден момент.
4 CDC 6500 и 6700
CDC понуди две конфигурации од својата серија CDC 6000. која вклучува два обработувачи. CDC 6500 беше CDC 6400 со два обработувачи. CDC 6700 беше CDC 6600 со CDC 6400 обработувач додаден на него. Овие системи биле организирани прилично различно од другите мултиобработувачи во овој параграф. Оперативниот систем работи на периферни обработувачи, додека корисничките апликации се извршуваат на Централната Процесна Единица. Така да термините ASMP и SMP не соопдветно се применуваат кај овие мултиобработувачи.
5 DECсистем-1055
Digital Equipment Corporation понуди верзија на својот DECsystem-1050(која користи KA10 обработувачи) со двоен обработувач. Оваа понуда беше проширена со подоцнежните обработувачи од PDP-10 линијата. DEC исто така имаа и мултиобработувач PDP-11 и неколку мултиобработувачни системи VAX.
6 IBM Систем/370 модел 168
Две опции биле на располагање за IBM Систем/370 модел 168 за прикачување на втор обработувач. Еден бил IBM 3062 прикачена обработувачка единица, во кој вториот обработувач нема пристап до каналите, и затоа бил сличен со B5000 Обработувачот Б или вториот обработувач ма VAX-11/782. Другата опција понудила втора ЦПЕ(Централна Обработувачка Единица) и затоа беше повеќе како Систем/360 модел 65MP.
7 Наводи
* Bell, C. Gordon, Mudge, J. Craig, McNamara John E. "The PDP-10 Family". (1979).Дел V од Компјутерско инженерство: Преглед на дизајнот на хардверскиот систем на DEC. Digital Equipment Corp.
* Rajkumar Buyya (издавач): High Performance Cluster Computing: Architectures and Systems, Volume 1, ISBN 0-13-013784-7, Prentice Hall, Њујорк, УСА 1999.
* Rajkumar Buyya (издавач): High Performance Cluster Computing: Programming and Applications, Volume 2, ISBN 0-13-013785-5, Prentice Hall, NJ, USA, 1999.
* IBM, IBM System/360 and System/370 Asymmetric Multiprocessing System: Прирачник за општи информации, Програмски број 360A-CX-15X, GH20-1173