Vad är symmetrisk multiprocessering?
Symmetric multiprocessing (SMP) är en typ av datorarkitektur där två eller flera centrala processorenheter (CPU) delar en gemensam länk till samma minne. Det utvecklades ursprungligen på 1960-talet och har använts i olika konfigurationer sedan. Varje processor i ett SMP-system kan komma åt och köra programvara från valfri del av det delade minnet. Populariteten för denna installation har fluktuerat under året då tekniken har utvecklats och marknadsplatserna har förändrats, men det är fortfarande bland de vanligaste formerna för multiprocessorteknologier.
SMP har sitt ursprung i början av 1960-talet som ett sätt att ansluta flera processorer via en höghastighetsanslutning och göra det möjligt för dem att få tillgång till samma uppsättning minnesmoduler. Eftersom minnet delas mellan processorer kan SMP-hårdvara vara billigare än andra tekniker som kan ägna minne till varje processor. Många varianter av denna inställning har använts, medan vissa använder en enkel tvärstång för att ansluta två processorer, medan andra använde mer sofistikerade sammankopplingar mellan så många som 32 processorer. Alla symmetriska multiprocessionssystem kan hållas tillbaka av hastigheten och kapaciteten för denna sammankoppling; ett system med 32 processorer kommer inte nödvändigtvis att vara 32 gånger snabbare eftersom den gemensamma länken mellan dessa processorer och systemminnet kan bli överbelastad.
En viktig fördel som symmetrisk multiprocessering har jämfört med andra tekniker är att ett SMP-system mer eller mindre behandlar alla sina processorer lika, vilket ger varandra samma åtkomstkvalitet till annan datormaskinvara. Detta innebär att alla processorer i systemet kan läsa och köra instruktioner från programvara oavsett var dessa program finns i datorns minne. Många program är nu uppdelade i mindre bitar kända som trådar; när dessa program körs på ett SMP-system kan varje processor köra en tråd i programmet och därmed öka den totala prestandan ytterligare. Programvara på användarnivå behöver inte modifieras för att köras på ett system som stöder symmetrisk multiprocessering, men det underliggande operativsystemet måste stödja tekniken.
Populariteten för symmetrisk multiprocessering har minskat och växat under åren då andra tekniker har utvecklats och nya arkitekturer har utforskats. Offentlighet om teknikens möjliga inverkan på datoranvändning kom fram i början av 1990-talet; ett antal företag, främst Sequent Computersystem, började specialisera sig på att bygga avancerade SMP-system. Sequent, som förvärvades av IBM 1999, berömdes för sina konstruktioner men kunde aldrig konkurrera effektivt med datorindustrins jättar. Nyare multiprocesseringstekniker som icke-enhetlig minnesåtkomst (NUMA) har delvis ersatt SMP i avancerade system.
Datortillverkare har experimenterat med symmetrisk multiprocessering i hårdvara på konsumentnivå under åren; utanför dyr entusiastmaskinvara, men de flesta personliga datorer saknar tekniken. Nya tekniker för att effektivisera system med en enda processor, till exempel samtidigt multitrådning eller ”hypertrådning”, tillsammans med ökningen av multikärnteknologi har ökat datorns prestanda utan extrakostnader för SMP. Det är emellertid möjligt att kombinera dessa teknologier, och de mest kraftfulla stationära datorer kan innehålla flera flerkärniga processorer anslutna via SMP, vilket skapar ett system med enorma mängder beräkningskraft.