Verschil tussen symmetrische en asymmetrische multiprocessing
Inhoud
- Vergelijkingstabel
- Definitie van symmetrische multiprocessing
- Definitie van asymmetrische multiprocessing
- Gevolgtrekking:
Er zijn twee soorten multiprocessing, symmetrische multiprocessing en asymmetrische multiprocessing. Multiprocessing-systeem heeft meer dan één processor en ze kunnen meerdere processen tegelijkertijd uitvoeren. In Symmetric Multiprocessing delen processors hetzelfde geheugen. In Asymmetric Multiprocessing is er een processor met één master die de gegevensstructuur van het systeem bestuurt. Het primaire verschil tussen symmetrische en asymmetrische multiprocessing is dat in Symmetrische multiprocessing alle processor in het systeem voert taken in OS uit. Maar in Asymmetrische multiprocessing alleen de hoofdprocessor voert een taak uit in OS.
U kunt Symmetrische Multiprocessor en Asymmetrische Multiprocessor op een aantal andere punten onderscheiden. Ze worden besproken in de onderstaande vergelijkingstabel.
- Vergelijkingstabel
- Definitie
- Belangrijkste verschillen
- Gevolgtrekking
Vergelijkingstabel
Basis voor vergelijking | Symmetrische multiprocessing | Asymmetrische multiprocessing |
---|---|---|
basis- | Elke processor voert de taken in het besturingssysteem uit. | Alleen de Master-processor voert de taken van het besturingssysteem uit. |
Werkwijze | Processor neemt processen uit een gemeenschappelijke wachtrij, of er kan een wachtrij zijn voor elke processor. | Hoofdprocessor wijst processen toe aan de slave-processors, of ze hebben een aantal vooraf gedefinieerde processen. |
architectuur | Alle processor in Symmetric Multiprocessing heeft dezelfde architectuur. | Alle processors in Asymmetric Multiprocessing kunnen dezelfde of verschillende architectuur hebben. |
Communicatie | Alle processors communiceren met een andere processor via een gedeeld geheugen. | Processoren hoeven niet te communiceren omdat ze worden bestuurd door de hoofdprocessor. |
Mislukking | Als een processor faalt, vermindert de rekencapaciteit van het systeem. | Als een master-processor faalt, wordt een slave naar de master-processor gedraaid om de uitvoering voort te zetten. Als een slave-processor faalt, wordt zijn taak overgeschakeld naar andere processors. |
Gemak | Symmetrische multiprocessor is complex omdat alle processors moeten worden gesynchroniseerd om de belastingsbalans te behouden. | Asymmetrische multiprocessor is eenvoudig als master-processor toegang tot de gegevensstructuur. |
Definitie van symmetrische multiprocessing
Symmetrische multiprocessing is er een waarin de hele processor de taken in het besturingssysteem uitvoert. Het heeft geen meester-slaaf relatie zoals asymmetrische multiprocessing. Alle processors hier communiceren via de gedeelde herinnering.
De processors beginnen met het uitvoeren van de processen vanuit de gemeenschappelijke wachtrij. Elke processor heeft mogelijk ook een eigen wachtrij met gereedstaande processen om te worden uitgevoerd. Het moet worden verzorgd door de scheduler dat geen twee processoren hetzelfde proces uitvoeren.
Symmetrische multiprocessing heeft de juiste taakverdeling, beter fouttolerantie en vermindert ook de kans op CPU bottleneck. Het is complex omdat het geheugen wordt gedeeld door alle processors. Bij symmetrische multiprocessing resulteert een processorfout in verminderde rekencapaciteit.
Definitie van asymmetrische multiprocessing
Asymmetrische multiprocessing heeft de master-slave relatie tussen de verwerkers. Er is één master-processor die de resterende slave-processor bestuurt. De masterprocessor wijst processen toe aan slave-processor, of ze kunnen een vooraf gedefinieerde taak uitvoeren.
De masterprocessor regelt de data structuur. De het roosteren van processen, IO verwerking en andere systeemactiviteiten worden beheerd door de hoofdprocessor.
In het geval dat een master-processor faalt, wordt één processor onder de slave-processor de master-processor gemaakt om de uitvoering voort te zetten. Als een slave-processor faalt, neemt de andere slave-processor zijn taak over. Asymmetrische multiprocessing is gemakkelijk omdat er slechts één processor is die de gegevensstructuur en alle activiteiten in het systeem beheert.
- Het meest onderscheidbare punt tussen symmetrische en asymmetrische multiprocessing is dat de taken in OS alleen worden afgehandeld door de masterprocessor in Asymmetric Multiprocessing. Aan de andere kant voeren alle processors in symmetrische multiprocessing de taken in OS uit.
- Bij symmetrische multiprocessing kan elke processor zijn eigen privéwachtrij hebben van kant-en-klare processen, of ze kunnen processen uit een gemeenschappelijke kant-en-wachtrij nemen. Maar in asymmetrische multiprocessing wijst de masterprocessor processen toe aan de slave-processors.
- Alle processor in Symmetric Multiprocessing heeft dezelfde architectuur. Maar de structuur van processors in asymmetrische multiprocessor kan verschillen.
- Processoren in symmetrische multiprocessing communiceren met elkaar via het gedeelde geheugen. De processors in Asymmetric Multiprocessing hoeven echter niet met elkaar te communiceren omdat ze worden bestuurd door de masterprocessor.
- In het geval dat de master-processor faalt, wordt een slave-processor omgezet in master-processor om de uitvoering voort te zetten. Maar als een processor in symmetrische multiprocessing faalt, wordt de rekencapaciteit van het systeem verminderd.
- Asymmetrische multiprocessor is eenvoudig omdat alleen de hoofdprocessor toegang heeft tot de gegevensstructuur, terwijl de symmetrische multiprocessor complex is omdat alle processors synchroon moeten werken.
Gevolgtrekking:
Multiprocessors verhogen de snelheid van het systeem, omdat men meerdere processen tegelijkertijd kan uitvoeren. Asymmetrische multiprocessing is eenvoudig, slechts één processor (master) heeft toegang tot de gegevensstructuur. Hoewel symmetrische multiprocessing complex is omdat de datastructuur wordt gedeeld tussen alle processors en alle processors synchroon moeten werken.