[go: up one dir, main page]

Idun - dataklynge ved NTNU med flere prosessorer og grafikkort
Lisens: CC BY SA 3.0

Parallellprosessering er å få tilgang til mer datakraft ved å dele en beregningsoppgave opp i mindre deler som kan utføres samtidig (parallelt) på flere prosessorer. Dette gjør det mulig å løse oppgaven vesentlig raskere enn ved å kjøre den i serie gjennom én og samme prosessor.

Faktaboks

Uttale

parallellprosessering

Også kjent som

Parallel Processing /Parallel Computing

Parallellprosessering brukes om to forskjellige ting. Det ene er stormaskiner og superdatamaskiner med opptil mange hundretusener av prosessorer (datakjerner), som settes sammen fysisk og logisk slik at så mange som mulig kan arbeide parallelt for å gjennomføre større sammensatte beregninger på kortest mulig tid. Disse faller ofte inn under høyytelsesberegninger (HPC), og bruker typisk distribuert minne.

Det andre området er databrikkene eller prosessorene på alt fra grafikkprosessorene i PC-er og servere, til databrikkene i smarttelefoner, biler, og andre ting som bruker elektronikk. Disse har flere beregningskjerner eller vektorenheter som gjør at man kan bryte opp innkommende instruksjoner og data i flere parallelle strømmer eller tråder, og gjennomføre flere interne utregninger samtidig.

For å få mest mulig regnekraft fra et system må man parallellisere koden både på CPU-ene og grafikkortene.

Parallellprosessering er ikke det samme som fleroppgavekjøring og flerprosessering. Fleroppgavekjøring er kjøring av flere oppgaver samtidig på én og samme prosessor, noe som blir mulig gjennom såkalt tidsdeling (engelsk timesharing). Under flerprosessering fordeles mange oppgaver på flere tilgjengelige prosessorer, men ingen av oppgavene kjører på mer enn én prosessor av gangen.

Hvorfor parallellprosessering

Rundt år 2005 var det ikke lenger mulig å øke ytelsene til databrikkene ved å øke klokkefrekvensen på databrikkene, siden de da ble for varme til å kunne kjøles effektivt. Mye av den ytelsesøkningen man har opplevd i prosessorer siden den tid har derfor kommet av at databrikkene/prosessorene nå har flere datakjerner og vektorenheter som gjør parallellprosessering mulig.

Parallellprosessering har derfor vært gjenstand for stor oppmerksomhet, og det er utviklet mange arkitekturer for superdatamaskiner med utgangspunkt i både standardprosessorer og spesialiserte prosessorer.

Etter midten av 2000-tallet inkluderer de mest parallelle systemene ofte akseleratorer, som på grafikkort med grafikkprosessorer (GPU-er) med flere tusen eller titusener av datakjerner, gjør parallellprosessering mulig.

Både parallelprosessering og fleroppgavekjøringer kan gjøres på alt fra kraftige PC-er og arbeidsstasjoner, til større dataklynger satt sammen av flere prossessor/grafikkprossessor-enheter, som for eksempel dataklyngen Idun ved NTNU.

Parallelprosessering og programmering

De mest brukte C/C++ -baserte standardene for paralleprosessering har siden midten av 2000-tallet vært:

  • CUDA og OpenCL for grafikkprosessorer, der CUDA brukes på grafikkprosessorer fra Nvidia mens OpenCL er et åpent rammeverk ofte brukt på AMD og andre grafikkort.
  • OpenMP for flerkjerneprosessorer (systemer med fellesminne).
  • MPI (Message Passing Interface) for systemer med distribuert minne.

Les mer i Store norske leksikon

Eksterne lenker

Kommentarer

Kommentarer til artikkelen blir synlig for alle. Ikke skriv inn sensitive opplysninger, for eksempel helseopplysninger. Fagansvarlig eller redaktør svarer når de kan. Det kan ta tid før du får svar.

Du må være logget inn for å kommentere.

eller registrer deg