concurrency

samtidighet, samtidiga förlopp – det att flera delar av samma program (trådar) körs jämsides samtidigt i ett it‑system; eller att de kan äga rum samtidigt. – Samtidigt betyder här att var och en av trådarna kan köras i gång utan att behöva vänta på att de andra har av­slutats. Detta kan vara en tillgång eller ett problem, beroende på omständigheterna. (Det är ett problem när man hanterar databaser med många sam­tidiga användare.) – Concurrency / samtidig­het ska skiljas från parallellism, som är mer renodlat. Parallellism innebär att trådarna kan köras samtidigt från början till slut, oberoende av varandra, på olika processorer. Trådarna ska inte behöva vänta på varandra. Concurrent/samtidig programkörning innebär att två eller flera trådar kan köras på samma gång, men inte nödvändigt­vis att de kan avslutas oberoende av varandra. De kan behöva vänta in resultat från andra trådar vid vissa punkter i körningen. – Ett exempel på concurrency i var­dags­livet är att en person diskar, en annan torkar disken och en tredje ställer in den torkade disken i skåpet. De är inte helt oberoende av varandra. Parallellism är som när en person byter däck på vänster framhjul samtidigt som en annan byter däck på höger framhjul (bortsett från att båda måste vara klara för att man ska kunna köra bilen). – Concurrency / samtidighet kan, till skillnad från parallellism, genomföras på en enda processor genom att trådarna turas om att använda den. Det kan då vara ett sätt att utnyttja processorn mer effektivt genom att död­tiden minskar. – Concurrency errors, samtidighetsproblem, är fel eller problem som kan uppstå vid samtidig programkörning, till exempel vid kapplöpning (data race). – Se också concurrent.

[it-system] [parallellt] [programmering] [ändrad 28 maj 2018]

parallellism

körning av datorprogram på flera processorer eller kärnor som arbetar relativt oberoende av varandra. – För att parallellism ska vara möjlig måste programmet alltså vara uppdelat i trådar som samtidigt kan köras från början till slut utan att behöva vänta på resultat från andra trådar. (Jämför med concurrency, samtidighet.) Parallellism förutsätter att programmet körs på ett datorsystem med flera processorer, minst en för varje tråd. Huvudtyper är symmetriska multiprocessorsystem och massivt parallella datorsystem.

[parallellt] [programmering] [ändrad 25 februari 2022]

flerkärnad

(multicore eller multi-core)flerkärnad processorprocessor sammansatt av flera självständigt fungerande processorer – kärnor (cores). – En flerkärnad processor ser ut och monteras som en enda processor (ett enda chipp). Men den består av två (dualcore) eller fler kärnor som kan bearbeta instruktioner samtidigt, oberoende av varandra. Detta förutsätter att programmet som körs kan delas upp i parallella trådar. – Flerkärnade processorer är närmast standard på 2010‑talet i persondatorer. Det har nämligen blivit svårt att få traditionella enkärniga processorer att uträtta mer arbete per sekund därför att strömförbrukningen och värmeutvecklingen ökar drastiskt med ökande prestanda. I stället för att göra processorn fyra gånger så snabb delar man därför upp den i fyra kärnor som delar på arbetet. – Ibland skiljer man på engelska på multicore och manycore. Multicore står för processorer med ett fåtal kärnor, medan manycore står för processorer med tiotals eller hundratals kärnor.

[parallellt] [processorer] [ändrad 6 december 2019]