Parallell Databehandling Definisjon
Parallell databehandling er en type databehandling arkitektur der flere prosessorer samtidig utføre flere, mindre beregninger brutt ned fra en samlet større, komplekst problem.
Vanlige Spørsmål
Hva Er Parallell Databehandling?
Parallell databehandling refererer til prosessen med å bryte ned større problemer i mindre, uavhengige, ofte lignende deler som kan utføres samtidig av flere prosessorer som kommuniserer via delt minne, hvor resultatene kombineres ved ferdigstillelse som en del av en samlet algoritme. Det primære målet med parallell databehandling er å øke tilgjengelig beregningskraft for raskere applikasjonsbehandling og problemløsning.
Parallell databehandlingsinfrastruktur er vanligvis plassert i et enkelt datasenter hvor flere prosessorer er installert i en server rack; beregningsforespørsler distribueres i små biter av applikasjonsserveren som deretter utføres samtidig på hver server. det er generelt fire typer parallell databehandling, tilgjengelig fra både proprietære og åpen kildekode parallelle databehandlingsleverandører-bit-nivå parallellisme, instruksjonsnivå parallellisme, oppgave parallellisme, eller superword-nivå parallellisme:
- Bit – nivå parallellisme: øker prosessorordstørrelsen, noe som reduserer mengden instruksjoner prosessoren må utføre for å utføre en operasjon på variabler som er større enn lengden på ordet.
- parallellisme På Instruksjonsnivå: maskinvaretilnærmingen fungerer på dynamisk parallellisme, der prosessoren ved kjøring bestemmer hvilke instruksjoner som skal utføres parallelt; programvaretilnærmingen fungerer på statisk parallellisme, der kompilatoren bestemmer hvilke instruksjoner som skal utføres parallelt: En vektoriseringsteknikk som kan utnytte parallellisme av inline-kode
- Multi-core computing: En multi-core prosessor er en datamaskinprosessor integrert krets med to eller flere separate prosessorkjerner, som hver utfører programinstruksjoner parallelt. Kjerner er integrert på flere dør i en enkelt chip pakke eller på en enkelt integrert krets dør, og kan implementere arkitekturer som multithreading, superscalar, vektor, ELLER VLIW. Multi-core arkitekturer er kategorisert som enten homogene, som inkluderer bare identiske kjerner, eller heterogene, som inkluderer kjerner som ikke er identiske.
- Symmetrisk multiprosessering: multiprosessor maskinvare og programvarearkitektur der to eller flere uavhengige, homogene prosessorer styres av en enkelt operativsystemforekomst som behandler alle prosessorer likt, og er koblet til et enkelt, delt hovedminne med full tilgang til alle vanlige ressurser og enheter. Hver prosessor har et privat cache-minne, kan kobles til ved hjelp av nettverksnett, og kan fungere på en hvilken som helst oppgave, uansett hvor dataene for den oppgaven er plassert i minnet.
- Distribuert databehandling: Distribuerte systemkomponenter er plassert på forskjellige nettverksdatamaskiner som koordinerer sine handlinger ved å kommunisere via rene HTTP -, RPC-lignende kontakter og meldingskøer. Vesentlige egenskaper ved distribuerte systemer inkluderer uavhengig svikt av komponenter og samtidighet av komponenter. Distribuert programmering er vanligvis kategorisert som klient-server, tre-lags, n-lags eller peer-to-peer arkitekturer. Det er mye overlapping i distribuert og parallell databehandling, og vilkårene brukes noen ganger om hverandre.
- Massivt parallell databehandling: refererer til bruk av mange datamaskiner eller dataprosessorer for samtidig å utføre et sett med beregninger parallelt. En tilnærming innebærer gruppering av flere prosessorer i en tett strukturert, sentralisert dataklynge. En annen tilnærming er grid computing, hvor mange distribuerte datamaskiner jobber sammen og kommuniserer via Internett for å løse et bestemt problem.andre parallelle datamaskinarkitekturer inkluderer spesialiserte parallelle datamaskiner, cluster computing, grid computing, vektorprosessorer, applikasjonsspesifikke integrerte kretser, generell databehandling på grafikkbehandlingsenheter (GPGPU) og omkonfigurerbar databehandling med feltprogrammerbare gate arrays. Hovedminnet i en parallell datamaskinstruktur er enten distribuert minne eller delt minne.
Parallelle Databehandlingsløsninger og-Teknikker
Samtidige programmeringsspråk, Api-Er, biblioteker og parallelle programmeringsmodeller har blitt utviklet for å legge til rette for parallell databehandling på parallell maskinvare. Noen parallelle programvareløsninger og teknikker inkluderer:
- Sjekkpunkt For Applikasjon: en teknikk som gir feiltoleranse for datasystemer ved å registrere alle programmets nåværende variable tilstander, slik at applikasjonen kan gjenopprette og starte på nytt fra det punktet i tilfelle feil. Checkpointing er en viktig teknikk for svært parallelle datasystemer der høy ytelse databehandling kjøres over et stort antall prosessorer.
- Automatisk parallellisering: refererer til konvertering av sekvensiell kode til multi-threaded kode for å bruke flere prosessorer samtidig i en delt minne multiprosessor (SMP) maskin. Automatiske parallelliseringsteknikker inkluderer Analyse, Analyse, Tidsplan og Kodegenerering. Typiske eksempler på vanlige parallelliserende kompilatorer og verktøy er Paradigm compiler, Polaris compiler, Rice Fortran d compiler, SUIF compiler og Vienna Fortran compiler.
- Parallelle programmeringsspråk: Parallelle programmeringsspråk er vanligvis klassifisert som enten distribuert minne eller delt minne. Mens distribuerte minneprogrammeringsspråk bruker meldingspassering til å kommunisere, kommuniserer programmeringsspråk med delt minne ved å manipulere delte minnevariabler.
Forskjellen Mellom Parallell Databehandling og Cloud Computing
Cloud computing er et generelt begrep som refererer til levering av skalerbare tjenester, for eksempel databaser, datalagring, nettverk, servere og programvare, over Internett på en etter behov, pay-as-you-go basis. Cloud computing-tjenester kan være offentlige eller private, administreres fullt ut av leverandøren, og letter ekstern tilgang til data, arbeid og applikasjoner fra en hvilken som helst enhet på et hvilket som helst sted som er i Stand til å etablere En Internett-tilkobling. De tre vanligste tjenestekategoriene er Infrastructure as As Service (Iaas), Platform as A Service (PaaS) og Software as A Service (Saas). Cloud computing Er et relativt nytt paradigme i programvareutvikling som letter bredere tilgang til parallell databehandling via store virtuelle dataklynger, slik at den gjennomsnittlige brukeren og mindre organisasjoner kan utnytte parallell prosessorkraft og lagringsalternativer som vanligvis er reservert for store bedrifter.
Forskjellen Mellom Parallell Prosessering og Parallell Databehandling
Parallell prosessering er en metode i databehandling der separate deler av en samlet kompleks oppgave er brutt opp og kjøre samtidig på flere Cpuer, og dermed redusere mengden av tid for behandling.Å Dele og tilordne hver oppgave til en annen prosessor utføres vanligvis av datavitenskapere ved hjelp av parallelle prosesseringsverktøy, som også vil arbeide for å samle og lese dataene når hver prosessor har løst sin spesielle ligning. Denne prosessen gjøres enten via et datanettverk eller via en datamaskin med to eller flere prosessorer.Parallell prosessering og parallell databehandling skjer i tandem, derfor brukes begrepene ofte om hverandre; men hvor parallell prosessering gjelder antall kjerner og Cpuer som kjører parallelt i datamaskinen, gjelder parallell databehandling måten programvaren oppfører seg for å optimalisere for den tilstanden.
Forskjellen mellom Sekvensiell Og Parallell Databehandling
Sekvensiell databehandling, også kjent som seriell beregning, refererer til bruken av en enkelt prosessor for å utføre et program som er brutt ned i en sekvens av diskrete instruksjoner, hver utført etter hverandre uten overlapping til enhver tid. Programvare har tradisjonelt blitt programmert i rekkefølge, noe som gir en enklere tilnærming, men er betydelig begrenset av prosessorens hastighet og evnen til å utføre hver serie instruksjoner. Der uni-prosessormaskiner bruker sekvensielle datastrukturer, er datastrukturer for parallelle databehandlingsmiljøer samtidig.Måling av ytelse i sekvensiell programmering er langt mindre kompleks og viktig enn benchmarks i parallell databehandling, da det vanligvis bare innebærer å identifisere flaskehalser i systemet. Benchmarks i parallell databehandling kan oppnås med benchmarking og ytelse regresjon testing rammeverk, som benytter en rekke målemetoder, for eksempel statistisk behandling og flere repetisjoner. Evnen til å unngå denne flaskehalsen ved å flytte data gjennom minnehierarkiet er spesielt tydelig i parallell databehandling for datavitenskap, maskinlæring parallell databehandling og parallell databehandling av kunstig intelligens. Sekvensiell databehandling er det motsatte av parallell databehandling. Mens parallell databehandling kan være mer komplisert og komme til en større kostnad foran, oppveier fordelen av å kunne løse et problem raskere ofte kostnadene ved å anskaffe parallell databehandling.
Tilbyr OmniSci En Parallell Databehandlingsløsning?
omnisci-plattformen utnytter Den massive parallelle datakraften Til Gpu-Er for big Data analytics, noe som gir big data-analytikere og datavitenskapere muligheten til å interaktivt spørre, visualisere og drive datavitenskaps arbeidsflyter over milliarder poster i millisekunder. OmniSci-plattformen er designet for å overvinne skalerbarheten og ytelsesbegrensningene til eldre analyseverktøy som står overfor skalaen, hastigheten og plasseringsattributtene til dagens store datasett.
Parallelle applikasjoner klassifiseres vanligvis som enten finkornet parallellisme, hvor deloppgaver vil kommunisere flere ganger per sekund; grovkornet parallellisme, hvor deloppgaver ikke kommuniserer flere ganger per sekund; eller pinlig parallellisme, hvor deloppgaver sjelden eller aldri blir brukt.aldri kommunisere. Kartlegging i parallell databehandling brukes til å løse pinlig parallelle problemer ved å bruke en enkel operasjon på alle elementer i en sekvens uten å kreve kommunikasjon mellom deloppgavene.populariseringen og utviklingen av parallell databehandling i det 21. århundre kom som svar på prosessorfrekvensskalering som rammet kraftveggen. Økninger i frekvens øker mengden strøm som brukes i en prosessor, og skalering av prosessorfrekvensen er ikke lenger mulig etter et bestemt punkt; derfor begynte programmerere og produsenter å designe parallell systemprogramvare og produsere energieffektive prosessorer med flere kjerner for å løse problemet med strømforbruk og overoppheting av sentrale prosesseringsenheter. betydningen av parallell databehandling fortsetter å vokse med den økende bruken av flerkjernede prosessorer og Gpu-Er. Gpuer jobber sammen med Cpuer for å øke gjennomstrømningen av data og antall samtidige beregninger i et program. Ved hjelp av parallellitet kan EN GPU fullføre mer arbeid enn EN CPU i en gitt tid.
Fundamentals Of Parallel Computer Architecture
Parallel computer architecture finnes i en rekke parallelle datamaskiner, klassifisert i henhold til nivået der maskinvaren støtter parallellitet. Parallell datamaskinarkitektur og programmeringsteknikker jobber sammen for å effektivt utnytte disse maskinene. Klassene av parallelle datamaskinarkitekturer inkluderer: