AMP eller ASMP (fra engelsk: Asymmetric multiprocessing , russisk: Asymmetric multiprocessing eller Asymmetric multiprocessing ) er en type multiprocessor-computersystemarkitektur, der blev brugt før symmetrisk multiprocessing (SMP)-teknologi blev skabt. Bruges også som et billigere alternativ på systemer, der understøttede SMP.
I et system med asymmetrisk multiprocessing spiller ikke alle processorer den samme rolle. For eksempel kan et system kun bruge (enten på hardware- eller operativsystemniveau) én processor til at udføre operativsystemkode, eller kun tildele én processor til at udføre I/O-operationer. I andre AMP-systemer kan alle processorer udføre operativsystemkode og I/O-operationer, så fra denne side opfører de sig som et symmetrisk multiprocessorsystem, men visse perifere enheder kan kun tilsluttes én processor, så fra siden af at arbejde med dette systemet virker asymmetrisk med hardwaren.
I 1960'erne og 1970'erne kunne du øge processorkraften på en computer blot ved at tilføje en anden processor til den. At tilføje en anden identisk processor var billigere end at købe en ny computer, der var dobbelt så hurtig. Også blot at tilføje en anden processor var mere rentabelt end at købe en anden hel computer, hvilket krævede et separat computerrum, ekstra perifert udstyr og vedligeholdelsespersonale.
De første systemer, hvortil der kunne tilføjes en anden processor, var Burroughs' B5000, DECsystem-1055 og IBM System/360 model 65MP. Derudover har nogle universiteter også bygget eksperimentelle computere med dobbelte processorer [1] .
Problemet med at tilføje en processor var imidlertid, at datidens operativsystemer kun var designet til computere med én processor, og det var tidskrævende at foretage ændringer for pålideligt at understøtte to processorer. For at omgå denne vanskelighed blev operativsystemer med understøttelse af én processor kun ændret lidt for at give minimal support til en anden processor. "Minimal support" betød, at operativsystemet kørte på "boot processor" (boot processor), og kun brugerprogrammer blev udført på den anden processor. For eksempel, i Burroughs B5000, havde den anden processor ikke mulighed for at udføre "kontrolkode" i hardware [2] .
I andre systemer kunne operativsystemet køre på en hvilken som helst af processorerne, men enten var alle periferiudstyr tilsluttet kun én processor, eller også kunne kun visse perifere enheder tilgås gennem hver processor.
Burroughs B5000 [2] kunne eventuelt tilføje en "processor B". Denne anden processor havde i modsætning til "Processor A" ikke adgang til periferiudstyr, men begge processorer havde adgang til delt hukommelse. Operativsystemet kørte kun på Processor A, og brugeropgaven kørte på Processor B. Når brugeropgaven havde brug for adgang til operativsystemets funktioner, udsendte Processor B et systemkald til OS-koden på Processor A, stoppede og ventede på OS-koden at behandle systemkaldet, og først efter at have modtaget resultatet af behandlingen af systemkaldet, fortsatte arbejdet. [3] .
Control Data Corporation tilbød to varianter i "CDC 6000-serien", som havde to processorer: CDC 6500 [4] dual-processor CDC 6400, og CDC 6700, som var en CDC 6600 supercomputer med en CDC 6400 processor tilføjet. .
Disse systemer blev bygget noget anderledes end de andre multiprocessorsystemer, der er nævnt i denne artikel. Operativsystemet her fungerede kun på perifere processorer, og brugeropgaven arbejdede på de centrale processorer. Så disse systemer kan de facto ikke være hverken AMP-systemer eller SMP- systemer .
Digital Equipment Corporation (DEC) tilbød kunderne en version af deres DECsystem-1050-computer med to KA10-processorer [5] [6] . Så var den samme mulighed til stede i PDP-10-serien af computere.
Digital Equipment Corporation udviklede, men bragte aldrig på markedet, en multiprocessorversion af PDP-11- computeren , PDP-11/74 [7] , som kørte en multiprocessorversion af RSX-11M- operativsystemet [8] . I dette system kunne enhver af processorerne udføre operativsystemkode og udføre I/O, men ikke alle perifere enheder var tilgængelige for hver af processorerne - de fleste af de perifere enheder var kun tilsluttet én processor, så processoren uden periferiudstyr at arbejde med enhver enhedsprocessor-nabo, der skal sende en særlig anmodning [8] .
DECs første VAX multiprocessor-computer , VAX-11/782, var asymmetrisk. (Kun den første processor havde adgang til I/O-enheder [9] .)
Op til tre processorer kunne installeres i Univac 1108-II computeren og dens efterfølgende varianter [10] [11] . Disse computere kørte UNIVAC EXEC 8-operativsystemet, men det fremgår ikke klart af den tilgængelige dokumentation, i hvilket omfang operativsystemet understøttede asymmetrisk eller symmetrisk multiprocessing.
Tilføjelsen af en anden processor til IBM System/370 model 168 blev tilbudt på to måder [12] . Den første blev tilbudt i form af et særligt modul IBM 3062 Attached Processing Unit , hvor processoren ikke havde adgang til I/O-kanaler og derfor fungerede på lignende måde, som "Processor B" i Burroughs B5000-computeren, eller som en anden processor i DEC VAX-11/782. I den anden mulighed var det meningen, at den skulle tilslutte en fuldgyldig processor, som svarede til 65MP-modellen fra den tidligere System / 360 -linje .
I november 1989 annoncerede Compaq udgivelsen af den første Compaq SystemPro x86 multiprocessorserver med to 33 MHz Intel 80386-processorer [13] . Senere modeller blev udgivet med Intel 80486-processoren, da den kom på markedet. Compaq SystemPro var et asymmetrisk multiprocessorsystem - den anden processor blev installeret på udvidelseskortet ud over standarden og udførte kun brugerprogrammer, mens den første processor håndterede afbrydelser, systemkald og indlæste operativsystemet. Dette gjorde det muligt at bruge forskellige processorer i ét system, f.eks. tilføje en Intel 486 til den første Intel 386 på et udvidelseskort og omvendt.
På det tidspunkt var det kun Novell NetWare , Microsoft LAN Manager og SCO UNIX/386 [14] operativsystemer, der understøttede multiprocessing på x86-arkitekturen .
Af alle modellerne i SystemPro-serien var det kun den senere model, SystemPro XL, der blev tilbudt med standard symmetrisk multiprocessorkapacitet, indtil den blev erstattet af Compaq ProLiant -serien af SMP-servere i efteråret 1993 .