Asymmetrisk multiprocessing

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 7 april 2019; kontroller kräver 12 redigeringar .

AMP eller ASMP (från engelska: Asymmetric multiprocessing , ryska: Asymmetric multiprocessing eller Asymmetric multiprocessing ) är en typ av multiprocessor-datorsystemarkitektur som användes innan symmetrisk multiprocessing (SMP)-teknik skapades. Används även som ett billigare alternativ på system som stöder SMP.

I ett system med asymmetrisk multiprocessing spelar inte alla processorer samma roll. Till exempel kan ett system använda (antingen på hårdvaran eller på operativsystemnivå) endast en processor för att exekvera operativsystemkod, eller tilldela endast en processor att utföra I/O-operationer. I andra AMP-system kan alla processorer utföra operativsystemkod och I/O-operationer, så från den här sidan beter de sig som ett symmetriskt multiprocessorsystem, men viss kringutrustning kan bara anslutas till en processor, så från sidan av att arbeta med detta systemet verkar asymmetriskt med hårdvaran.

Historik

På 1960- och 1970-talen kunde du öka en dators processorkraft helt enkelt genom att lägga till en annan processor till den. Att lägga till en annan identisk processor var billigare än att köpa en ny dator som var dubbelt så snabb. Att bara lägga till ytterligare en processor var också mer lönsamt än att köpa en andra hel dator, vilket krävde ett separat datorrum, ytterligare kringutrustning och underhållspersonal.

De första systemen som en andra processor kunde läggas till var Burroughs B5000, DECsystem-1055 och IBM System/360 modell 65MP. Dessutom har vissa universitet också byggt experimentdatorer med dubbla processorer [1] .

Problemet med att lägga till en processor var dock att dåtidens operativsystem endast var designade för datorer med en processor, och att göra ändringar för att tillförlitligt stödja två processorer var tidskrävande. För att komma runt denna svårighet modifierades operativsystem med stöd för en processor endast något för att ge minimalt stöd för en andra processor. "Minimalt stöd" innebar att operativsystemet körde på "startprocessorn" (bootprocessorn), och endast användarprogram kördes på den andra processorn. Till exempel, i Burroughs B5000, hade den andra processorn inte förmågan att exekvera "kontrollkod" i hårdvaran [2] .

I andra system kunde operativsystemet köras på vilken som helst av processorerna, men antingen var all kringutrustning ansluten till bara en processor, eller så kunde bara vissa kringutrustning nås via varje processor.

Burroughs B5000

Burroughs B5000 [2] kan valfritt lägga till en "processor B". Denna andra processor hade, till skillnad från "Processor A", inte tillgång till kringutrustning, men båda processorerna hade tillgång till delat minne. Operativsystemet körde endast på processor A, och användaruppgiften kördes på processor B. När användaruppgiften behövde tillgång till operativsystemets funktioner, skickade processor B ett systemanrop till OS-koden på processor A, stoppade och väntade på OS-koden för att bearbeta systemanropet, och först efter att ha fått resultatet av bearbetningen av systemanropet, fortsatte arbetet. [3] .

CDC 6500 och 6700

Control Data Corporation erbjöd två varianter i "CDC 6000-serien", som hade två processorer: CDC 6500 [4] dubbelprocessor CDC 6400, och CDC 6700, som var en CDC 6600 superdator med en CDC 6400-processor tillagd till den .

Dessa system byggdes något annorlunda än de andra multiprocessorsystem som nämns i denna artikel. Operativsystemet här fungerade bara på perifera processorer, och användaruppgiften fungerade på de centrala processorerna. Så dessa system kan de facto inte vara varken AMP-system eller SMP- system .

DECsystem-1055

Digital Equipment Corporation (DEC) erbjöd kunder en version av deras DECsystem-1050-dator med två KA10-processorer [5] [6] . Då fanns samma alternativ i PDP-10-serien med datorer.

PDP-11/74

Digital Equipment Corporation utvecklade, men kom aldrig till marknaden, en multiprocessorversion av PDP-11- datorn  , PDP-11/74 [7] , som körde en multiprocessorversion av operativsystemet RSX-11M [8] . I det här systemet kunde vilken som helst av processorerna köra operativsystemkod och utföra I/O, men inte all kringutrustning var tillgänglig för var och en av processorerna - de flesta kringutrustningen var kopplade till endast en processor, så processorn utan kringutrustning att arbeta med någon enhetsprocessor-granne som krävs för att skicka en särskild begäran [8] .

VAX-11/782

DEC:s första VAX -multiprocessordator ,  VAX-11/782, var asymmetrisk. (Endast den första processorn hade tillgång till I/O-enheter [9] .)

Univac 1108-II

Upp till tre processorer kunde installeras i Univac 1108-II-datorn och dess efterföljande varianter [10] [11] . Dessa datorer körde operativsystemet UNIVAC EXEC 8, men det framgår inte av den tillgängliga dokumentationen i vilken utsträckning operativsystemet stödde asymmetrisk eller symmetrisk multiprocessing.

IBM System/370 modell 168

Tillägget av en andra processor till IBM System/370 modell 168 erbjöds på två sätt [12] . Den första erbjöds i form av en specialmodul IBM 3062 Attached Processing Unit , där processorn inte hade tillgång till I/O-kanaler och därför fungerade på liknande sätt, som "Processor B" i Burroughs B5000-datorn, eller som en andra processor i DEC VAX-11/782. I det andra alternativet var det meningen att den skulle ansluta en fullfjädrad processor, som liknade 65MP-modellen från den tidigare System / 360 -linjen .

Compaq System Pro

I november 1989 tillkännagav Compaq lanseringen av den första Compaq SystemPro x86 multiprocessorservern med två 33 MHz Intel 80386-processorer [13] . Senare modeller släpptes med Intel 80486-processorn när den kom in på marknaden. Compaq SystemPro var ett asymmetriskt multiprocessorsystem - den andra processorn installerades på expansionskortet förutom standarden och körde endast användarprogram, medan den första processorn hanterade avbrott, systemanrop och laddade operativsystemet. Detta gjorde det möjligt att använda olika processorer i ett system, till exempel lägga till en Intel 486 till den första Intel 386:an på ett expansionskort och vice versa.

Vid den tiden var det bara Novell NetWare , Microsoft LAN Manager och SCO UNIX/386 [14] som stödde multiprocessing på x86-arkitekturen .

Av alla modellerna i SystemPro-serien erbjöds bara den senare modellen, SystemPro XL, med standard symmetrisk multiprocessorkapacitet tills den ersattes av Compaq ProLiant -serien med SMP-servrar hösten 1993 .

Se även

Anteckningar

  1. Tidiga datorer på Stanford: dubbelprocessordatorn vid AI-labbet . Hämtad 11 oktober 2013. Arkiverad från originalet 13 augusti 2014.
  2. 1 2 Funktionsegenskaper hos processorerna för Burroughs B5000 . Burroughs. Hämtad 11 oktober 2013. Arkiverad från originalet 24 september 2019.
  3. En berättande beskrivning av B5500 MCP, sidorna 29 (initiera rutin) och 40 (en notering om parallell bearbetning) . Hämtad 11 oktober 2013. Arkiverad från originalet 7 september 2012.
  4. KONTROLLDATA 6400/6500/6600 COMPUTER SYSTEMS Referensmanual Arkiverad 2 januari 2014.
  5. Introduktion till programvaran DECsystem-10, avsnitt 1.4 (DECsystem-10 Multiprocessing) . Hämtad 11 oktober 2013. Arkiverad från originalet 19 mars 2012.
  6. DECsystem-10 Teknisk sammanfattning sida 2-1 . Hämtad 11 oktober 2013. Arkiverad från originalet 7 september 2012.
  7. (PDP-11) Vanliga frågor om flera processorer .  (inte tillgänglig länk)
  8. 12 RSX -11M multiprocessing . Digital Equipment Corporation. Hämtad 11 oktober 2013. Arkiverad från originalet 7 september 2012.
  9. VAX Product Sales Guide, sidorna 1-23 och 1-24 Arkiverad 16 juni 2012 på Wayback Machine : VAX-11/782 beskrivs som ett asymmetriskt multiprocessingssystem 1982
  10. Univac 1108-II meddelande . Sperry Rand. Hämtad 11 oktober 2013. Arkiverad från originalet 27 september 2011.
  11. En historik över Univac-datorer och operativsystem (nedlänk) . Hämtad 11 oktober 2013. Arkiverad från originalet 2 augusti 2014. 
  12. IBM. IBM System/370 Model 168 Funktionella egenskaper (januari 1976). Hämtad 11 oktober 2013. Arkiverad från originalet 12 augusti 2012.
  13. InfoWorld 13 november 1989 . Hämtad 29 oktober 2017. Arkiverad från originalet 18 oktober 2013.
  14. Nätverksvärlden 13 november 1989 . Hämtad 29 oktober 2017. Arkiverad från originalet 17 oktober 2013.