- Wat is Concurrency of Single Core?
- Wat is parallelle uitvoering of (Multi-Core)?
- KEY DIFFERENCE
- Wat is Thread?
- Wat is Multithreading?
- Hoe werkt multithreading?
- Wat is CPU Core?
- Wat is het voornaamste probleem met Single Core?
- De oplossing van Multi-Core:
- Voordelen van Multi-core Processor
- Verschil tussen Core vs. Threads
- Wat is Hyper-Threading?
- Samenvatting:
Wat is Concurrency of Single Core?
In besturingssystemen wordt concurrency gedefinieerd als het vermogen van een systeem om twee of meer programma’s in overlappende tijdsfasen uit te voeren.
Zoals u ziet, is er op elk gegeven moment slechts één proces in uitvoering. Concurrency is daarom slechts een algemene benadering van echte parallelle uitvoering. Een dergelijke situatie kan worden aangetroffen in systemen met een single-core processor.
In deze Concurrency tutorial, leert u
- Wat is Concurrency of Single Core?
- Wat is parallelle uitvoering of (Multi-Core)?
- Wat is Thread?
- Wat is Multithreading?
- Hoe werkt Multithreading?
- Wat is CPU Core?
- Wat is het grootste probleem met Single Core?
- De oplossing van Multi-Core:
- Voordelen van Multi-core Processor
- Verschil tussen Core en Threads
- Wat is Hyper-Threading?
Wat is parallelle uitvoering of (Multi-Core)?
Bij parallelle uitvoering worden de door een proces uit te voeren taken opgesplitst in sub-taken, en meerdere CPU’s (of meerdere cores) verwerken elke sub-taak op precies hetzelfde moment.
Zoals u kunt zien, zijn op elk willekeurig moment alle processen in uitvoering. In werkelijkheid zijn het de subtaken van een proces die parallel worden uitgevoerd, maar voor een beter begrip kunt u ze visualiseren als processen.
Parallellisme is dus de werkelijke manier waarop meerdere taken tegelijk kunnen worden verwerkt. Dit soort situaties komt voor in systemen met multicore-processoren, waartoe bijna alle moderne, commerciële processoren behoren.
KEY DIFFERENCE
- Cores verhogen de hoeveelheid werk die per keer wordt verricht, terwijl threads de doorvoer, de snelheid van de berekening, verbeteren.
- Cores is een feitelijke hardwarecomponent, terwijl threads een virtuele component is die de taken beheert.
- Cores gebruiken content switching terwijl threads meerdere CPU’s gebruiken voor het uitvoeren van talrijke processen.
- Cores vereisen slechts een signaal proceseenheid terwijl threads meerdere verwerkingseenheden vereisen.
Wat is Thread?
Een thread is een eenheid van uitvoering op gelijktijdige programmering. Multithreading is een techniek die een CPU in staat stelt vele taken van één proces tegelijkertijd uit te voeren. Deze threads kunnen afzonderlijk worden uitgevoerd, terwijl hun middelen worden gedeeld.
Wat is Multithreading?
Multithreading verwijst naar de gemeenschappelijke taak die meerdere threads van uitvoering binnen een besturingssysteem uitvoert. Het kan meerdere systeemprocessen omvatten.
Hoe werkt multithreading?
De meeste moderne CPU’s ondersteunen bijvoorbeeld multithreading. Een eenvoudige app op uw smartphone kan u daarvan een live demo geven.
Wanneer u een app opent waarvoor bepaalde gegevens van het internet moeten worden opgehaald, wordt het inhoudsgebied van de app vervangen door een spinner. Deze draait rond totdat de gegevens zijn opgehaald en weergegeven.
Op de achtergrond zijn er twee threads:
- Eén haalt de gegevens op van een netwerk, en
- Eén rendert de GUI die de spinner weergeeft
Beide van deze threads voeren de een na de ander uit om de illusie van gelijktijdige uitvoering te geven.
Wat is CPU Core?
Een CPU core is het deel van iets dat centraal staat in zijn bestaan of karakter. Op dezelfde manier wordt in het computersysteem de CPU ook wel de kern genoemd.
Er zijn in principe twee soorten kernprocessoren:
- Single-Core Processor
- Multi-Core Processor
Wat is het voornaamste probleem met Single Core?
Er zijn hoofdzakelijk twee problemen met Single Core.
- Om de taken sneller uit te voeren, moet je de kloktijd verhogen.
- Het verhogen van de kloktijd verhoogt het stroomverbruik en de warmteafvoer tot een extreem hoog niveau, wat de processor inefficiënt maakt.
De oplossing van Multi-Core:
- Het creëren van twee of meer kernen op dezelfde matrijs verhoogt de verwerkingskracht, terwijl ook de kloksnelheid op een efficiënt niveau wordt gehouden.
- Een processor met twee kernen met een efficiënte snelheid kan instructies verwerken met een snelheid die vergelijkbaar is met die van de single-core processor. De kloksnelheid is twee keer zo hoog, maar het multicoreproces verbruikt minder energie.
Voordelen van Multi-core Processor
Hier zijn enkele voordelen van de multicore processor:
- Meer transistor per keuze
- Kortere verbindingen
- Lager capaciteit
- Een kleine schakeling kan op hoge snelheid werken
Verschil tussen Core vs. Threads
Parameters | Core | Threads |
Definitie | CPU cores betekenen de eigenlijke hardwarecomponent. | Threads verwijst naar de virtuele component die de taken beheert. |
Process | De CPU wordt gevoed met taken uit een thread. Daarom gaat hij alleen naar de tweede thread als de informatie van de eerste thread niet betrouwbaar is. | Er zijn veel verschillende variaties van hoe CPU met meerdere threads kan samenwerken. |
Uitvoering | Uitgevoerd door interleaving operatie | Uitgevoerd door supping multiple CPU’S |
Voordeel | Vergroot de hoeveelheid werk die per keer wordt verricht. | Verbetering van de verwerkingscapaciteit, versnelling van de berekeningen. |
Gebruik maken van | Core maakt gebruik van content switching | Gebruik maken van meerdere CPU’s voor het uitvoeren van talrijke processen. |
Vereist verwerkingseenheden | Behoefte aan alleen signaalverwerkingseenheid. | Behoefte aan meerdere verwerkingseenheden. |
Voorbeeld | Meerdere toepassingen tegelijk uitvoeren. | Het draaien van web crawler op een cluster. |
Wat is Hyper-Threading?
Hyper-threading was Intels eerste poging om parallelle berekeningen naar PC’s van eindgebruikers te brengen. Het werd voor het eerst gebruikt op desktop CPU’s met de Pentium 4 in 2002.
De Pentium 4’s van die tijd hadden slechts één CPU-kern. Daarom voert hij slechts een enkele taak uit en kan hij geen meervoudige bewerkingen uitvoeren.
Een enkele CPU met hyper-threading verschijnt als twee logische CPU’s voor een besturingssysteem. In dit geval is de CPU enkelvoudig, maar het OS beschouwt twee CPU’s voor elke kern, en CPU-hardware heeft een enkele set uitvoeringsbronnen voor elke CPU-kern.
Daarom gaat de CPU ervan uit dat hij meerdere kernen heeft dan het geval is, en het besturingssysteem gaat ervan uit dat er twee CPU’s zijn voor elke enkele CPU-kern.
Samenvatting:
- Een thread is een eenheid van uitvoering op concurrent programmeren.
- Multithreading verwijst naar de gemeenschappelijke taak die meerdere threads van uitvoering binnen een besturingssysteem uitvoert
- Heden ten dage ondersteunen veel moderne CPU’s multithreading
- Hyper-threading was Intel’s eerste poging om parallelle berekeningen naar de PC’s van eindgebruikers te brengen.
- Een CPU-kern is het deel van iets dat centraal staat in zijn bestaan of karakter
- In, Operating System wordt concurrency gedefinieerd als het vermogen van een systeem om twee of meer programma’s in overlappende tijdsfasen uit te voeren.
- In parallelle uitvoering worden de door een proces uit te voeren taken opgesplitst in subonderdelen.
- Het belangrijkste probleem van single-core processor is dat om de taken sneller uit te voeren, je de kloktijd moet verhogen.
- Multicore lost dit probleem op door twee of meer kernen op dezelfde dobbelsteen te maken om de verwerkingskracht te vergroten, en het houdt ook de kloksnelheid op een efficiënt niveau.
- Het grootste voordeel van het multicore-systeem is dat het u helpt om meer transistor per keuze te maken
- De CPU-kernen betekenen de werkelijke hardwarecomponent terwijl threads verwijzen naar de virtuele component die de taken beheert.