Hva er symmetrisk flerbehandling?
Symmetric multiprocessing (SMP) er en type datamaskinarkitektur der to eller flere sentrale prosesseringsenheter (CPUer) deler en felles kobling til det samme minnet. Den ble opprinnelig utviklet på 1960-tallet og har blitt brukt i forskjellige konfigurasjoner siden. Enhver prosessor i et SMP-system kan få tilgang til og kjøre programvare fra hvilken som helst del av det delte minnet. Populariteten til dette oppsettet har svingt gjennom året etter hvert som teknologien har utviklet seg og markedsplassene har endret seg, men det er fortsatt en av de vanligste formene for multiprosessorteknologier.
SMP oppstod på begynnelsen av 1960-tallet som en måte å koble flere prosessorer over en høyhastighetsforbindelse og gjøre dem i stand til å få tilgang til det samme settet med minnemoduler. Siden minnet er delt mellom prosessorer, kan SMP-maskinvare være billigere enn andre teknologier som kan dedikere minne til hver prosessor. Mange varianter av dette oppsettet har blitt brukt, mens noen bruker en enkel tverrstang for å koble to prosessorer, mens andre benyttet mer sofistikerte sammenkoblinger mellom så mange som 32 prosessorer. Ethvert symmetrisk flerbehandlingssystem kan holdes tilbake av hastigheten og kapasiteten til denne sammenkoblingen; et system med 32 prosessorer vil ikke nødvendigvis være 32 ganger raskere fordi den vanlige koblingen mellom disse prosessorene og systemminnet kan bli overbelastet.
En viktig fordel som symmetrisk flerbehandling har i forhold til andre teknikker, er at et SMP-system mer eller mindre behandler alle prosessorene sine likt, og dermed gir hver den samme kvaliteten på tilgangen til annen maskinvare. Dette betyr at enhver prosessor i systemet kan lese og utføre instruksjoner fra programmer uavhengig av hvor disse programmene ligger i datamaskinens minne. Mange programmer er nå delt opp i mindre biter kjent som tråder; når disse programmene kjøres på et SMP-system, kan hver prosessor kjøre en tråd av programmet, og dermed øke den generelle ytelsen ytterligere. Programvare på brukernivå trenger ikke å modifiseres for å kunne kjøres på et system som støtter symmetrisk multiprosessering, men det underliggende operativsystemet må støtte teknologien.
Populariteten til symmetrisk prosessering har avtatt og vokst gjennom årene etter hvert som andre teknikker er utviklet og nye arkitekturer har blitt utforsket. Offentlighet om teknologiens mulige innvirkning på databehandling dukket opp på begynnelsen av 1990-tallet; en rekke selskaper, spesielt Sequent Computer Systems, begynte å spesialisere seg i å bygge avanserte SMP-systemer. Sequent, som ble anskaffet av IBM i 1999, fikk ros for sine design, men klarte aldri effektivt å konkurrere med gigantene i datamaskinindustrien. Nyere multiprosesseringsteknikker som ikke-enhetlig minnetilgang (NUMA) har delvis erstattet SMP i avanserte systemer.
Dataprodusenter har eksperimentert med symmetrisk prosessering i maskinvare på forbrukernivå gjennom årene; utenom dyr entusiastmaskinvare, mangler imidlertid de fleste personlige datamaskiner teknologien. Nye teknikker for å effektivisere enkelt-CPU-systemer, for eksempel samtidig multithreading eller "hyperthreading", sammen med økningen av multicore-teknologi har økt datamaskinens ytelse uten ekstra kostnader for SMP. Det er imidlertid mulig å kombinere disse teknologiene, og de kraftigste stasjonære datamaskiner kan inneholde flere flerkjerneprosessorer koblet gjennom SMP, og dermed skape et system med enorme datamengder.