Close-up van een processorchip op het moederbord van een computer
Afbeelding tegoed: Riccardo_Mojana/iStock/Getty Images
Parallelle en seriële verwerking beschrijven of een computersysteem rekentaken kan opsplitsen om te gebruiken meerdere processors of cores tegelijk of als het afhankelijk is van het voltooien van taken met een enkele processor kern. Alle individuele computerprocessors voor consumenten waren seriële processors vóór medio 2005, toen Intel de eerste dual-coreprocessor voor consumenten introduceerde. Verschillende single-coreprocessors kunnen samenwerken om seriële verwerking af te handelen via parallelle computerclusters in een netwerk of meerdere processors op één moederbord te laten draaien.
Computers zijn multitaskingmachines
Een typische moderne computer voert op elk moment tientallen tot honderden taken uit; elke kern werkt echter slechts aan één proces tegelijk. De processor springt constant tussen de verschillende verwerkings "threads" of "instructie streams" om verschillende gelijktijdige programma's uit te voeren onder een real-time illusie genaamd concurrency. De computer verspilt uiteindelijk processorcycli bij het schakelen tussen taken en werkt niet optimaal bij multitasking.
Video van de dag
Taken parallel uitvoeren
Een parallelle verwerkingsomgeving kan taken sneller verwerken wanneer programma's zijn ontworpen om parallelle verwerking te gebruiken. Seriële programma's brengen alle instructies in een seriële opstelling en communiceren met de processor via een enkele thread. Parallelle programma's werken door taken op te splitsen in afzonderlijke delen die kunnen worden verdeeld over verschillende processorkernen en opnieuw kunnen worden samengesteld als voltooide taken. Parallelle processors kunnen de verwerkingskracht van vergelijkbare geklokte seriële processors vermenigvuldigen met correct geschreven code. Een seriële processor met een hogere kloksnelheid kan echter beter presteren dan parallelle processors bij het werken met een enkele thread.
Seriële verwerking in actie
Programma's die zijn geschreven voor seriële verwerking gebruiken slechts één kern tegelijk en verwerken taken in sequentiële volgorde. Een seriële processor werkt net als het hebben van een dozijn open kassarijen in een supermarkt met één kassier die tussen de verschillende rijstroken loopt en iedereen tegelijkertijd afrekent. De kassier, of CPU, springt van baan naar baan en bekijkt een paar items tegelijk voordat hij doorgaat naar de volgende met als doel alle bestellingen tegelijkertijd af te ronden.
Parallelle verwerking in actie
Het idee achter parallelle processors is dat meer cores die samenwerken tot betere prestaties zullen leiden. Een parallelle processor gedraagt zich alsof er meer dan één kassier een dozijn kassarijen bedient. Als een programma is opgezet om te profiteren van parallelle verwerking, kan de "klant" zijn bestelling opsplitsen in kleinere groepen en meerdere kassarijen tegelijk gebruiken.
Parallelle processors breiden mogelijkheden uit
In 2007 gebruikte Nvidia voor het eerst parallelle verwerking om de grafische technologie vooruit te helpen. Grafische verwerkingseenheden gebruiken parallelle verwerking op een niveau dat de seriële verwerkingsprestaties wegblaast bij het maken van kleine berekeningen. Hoewel CPU's over het algemeen een gemakkelijk telbaar aantal kernen hebben, kunnen GPU's duizenden kernen met een lager vermogen hebben die beter geschikt zijn voor het uitvoeren van eenvoudigere gelijktijdige berekeningen. GPU's worden vaak gebruikt voor grafische afbeeldingen, maar kunnen andere berekeningen uitvoeren voor zaken als sorteren en matrixalgebra.