GeeksforGeeks

Innan vi tar en titt på parallell beräkning ska vi först ta en titt på bakgrunden till datorprogrammens beräkningar och varför de misslyckades i modern tid.

Datorprogramvara skrevs konventionellt för seriell beräkning. Detta innebar att för att lösa ett problem delar en algoritm upp problemet i mindre instruktioner. Dessa diskreta instruktioner exekveras sedan en efter en på en dators centrala processorenhet. Först när en instruktion är klar börjar nästa.

Ett verkligt exempel på detta är människor som står i en kö och väntar på en biobiljett och det finns bara en kassör.Kassören ger biljetten en efter en till personerna. Komplexiteten i denna situation ökar när det finns två köer och bara en kassörska.

Så, i korthet är Serial Computing följande:

  1. I detta bryts en problembeskrivning ner i diskreta instruktioner.
  2. Därefter utförs instruktionerna en efter en.
  3. Endast en instruktion utförs vid varje tidpunkt.

Se på punkt 3. Detta orsakade ett stort problem inom dataindustrin eftersom endast en instruktion utfördes vid varje tidpunkt. Detta var ett enormt slöseri med hårdvaruresurser eftersom endast en del av hårdvaran kommer att köras under en viss instruktion och tid. Eftersom problemformuleringarna blev allt tyngre och mer omfattande, ökade också tiden för utförandet av dessa formuleringar. Exempel på processorer är Pentium 3 och Pentium 4.

Nu återgår vi till vårt verkliga problem. Vi kan definitivt säga att komplexiteten minskar när det finns två köer och två kassörskor som ger biljetter till två personer samtidigt. Detta är ett exempel på parallell beräkning.

Parallell beräkning –
Det är användningen av flera bearbetningselement samtidigt för att lösa ett problem. Problemen delas upp i instruktioner och löses samtidigt eftersom varje resurs som har använts för att arbeta arbetar samtidigt.

Fördelarna med parallell beräkning jämfört med seriell beräkning är följande:

  1. Det sparar tid och pengar eftersom många resurser som arbetar tillsammans förkortar tiden och minskar eventuella kostnader.
  2. Det kan vara opraktiskt att lösa större problem med seriell beräkning.
  3. Det kan dra nytta av icke-lokala resurser när de lokala resurserna är begränsade.
  4. Serial Computing ”slösar” bort den potentiella beräkningskraften, så parallellberäkningar utnyttjar hårdvaran bättre.

Typer av parallellberäkningar:

  1. Bit-level parallellism: Det är den form av parallellberäkningar som bygger på den ökande processorstorleken. Den minskar antalet instruktioner som systemet måste utföra för att utföra en uppgift på stora data.
    Exempel: Tänk på ett scenario där en 8-bitars processor måste beräkna summan av två 16-bitars heltal. Den måste först summera de 8 lägre biterna och sedan addera de 8 högre biterna, vilket kräver två instruktioner för att utföra operationen. En 16-bitars processor kan utföra operationen med bara en instruktion.
  2. Parallellitet på instruktionsnivå: En processor kan endast adressera mindre än en instruktion för varje klockcykelfas. Dessa instruktioner kan omorganiseras och grupperas och senare exekveras samtidigt utan att påverka programmets resultat. Detta kallas parallellism på instruktionsnivå.
  3. Uppgiftsparallellism: Uppgiftsparallellism: Uppgiftsparallellism innebär att en uppgift delas upp i deluppgifter och sedan tilldelas var och en av deluppgifterna för utförande. Processorerna utför deluppgifterna samtidigt.

Varför parallellberäkning?

  • Hela den verkliga världen är dynamisk, dvs. många saker händer samtidigt vid en viss tidpunkt men på olika platser samtidigt. Dessa data är omfattande enorma att hantera.
  • Data från den verkliga världen kräver mer dynamisk simulering och modellering, och för att uppnå detsamma är parallella beräkningar nyckeln.
  • Parallella beräkningar ger samtidighet och sparar tid och pengar.
  • Komplexa, stora datamängder och deras hantering kan organiseras endast och enbart med hjälp av parallella beräkningars tillvägagångssätt.
  • Säkerställer ett effektivt utnyttjande av resurserna. Hårdvaran garanteras att användas effektivt, medan det vid seriell beräkning endast är en del av hårdvaran som används och resten som blir overksamt.
  • Det är också opraktiskt att implementera realtidssystem med hjälp av seriell beräkning.

Användningsområden för parallell beräkning:

  • Databaser och datautvinning.
  • Realtidssimulering av system.
  • Vetenskap och teknik.
  • Avancerad grafik, förstärkt verklighet och virtuell verklighet.

Begränsningar av parallell beräkning:

  • Den tar upp t.ex. kommunikation och synkronisering mellan flera deluppgifter och processer, vilket är svårt att uppnå.
  • Algoritmerna måste hanteras på ett sådant sätt att de kan hanteras i den parallella mekanismen.
  • Algoritmerna eller programmet måste ha låg koppling och hög sammanhållning. Men det är svårt att skapa sådana program.
  • Mer tekniskt kunniga och sakkunniga programmerare kan koda ett parallellitetsbaserat program på ett bra sätt.

Future of Parallel Computing: Beräkningsgrafen har genomgått en stor övergång från seriell beräkning till parallell beräkning. Teknikjättar som Intel har redan tagit ett steg mot parallell beräkning genom att använda flerkärniga processorer. Parallella beräkningar kommer att revolutionera datorernas sätt att arbeta i framtiden, för det bästa. Med en värld som är ännu mer sammankopplad med varandra än tidigare spelar parallellberäkningen en viktigare roll för att hjälpa oss att förbli på samma sätt. Med snabbare nätverk, distribuerade system och datorer med flera processorer blir det ännu mer nödvändigt.

Attention läsare! Sluta inte att lära dig nu. Få grepp om alla viktiga CS Theory-begrepp för SDE-intervjuer med CS Theory-kursen till ett studentvänligt pris och bli redo för industrin.

Artikel Taggar :

Diverse
Practice Tags :

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *