Process Scheduling - Multi-Processor Scheduling
9 belangrijke vragen over Process Scheduling - Multi-Processor Scheduling
Wat wordt bedoeld met 'processor affinity'?
Processor affinity wordt toegepast bij systemen met meerdere processoren, en houdt in dat een proces wordt gekoppeld aan een bepaalde processor. Deze koppeling kan zacht (soft affinity) of hard (hard affinity) zijn. Door een proces steeds aan dezelfde processor toe te wijzen hoeft er geen uitwisseling van data tussen de cachegeheugens van de verschillende processoren plaats te vinden.
Als de verschillende processoren in een multiprocessorsysteem elk hun eigen ready-queue hebben, kan er een disbalans in de taakverdeling tussen de processoren ontstaan. Om dit te voorkomen wordt load balancing toegepast. Welke twee vormen van load balancing worden onderscheiden?
- Push migration: een aparte taak zorgt ervoor dat de belasting van de verschillende processoren periodiek wordt gecontroleerd. Als er sprake is van een onbalans, dan worden processen uit de ready-queue van de overbelaste processor verplaatst naar de ready-queue van de onderbelaste processor.
- Pull migration: een processor die onderbelast is haalt een proces uit de ready-queue van een overbelaste processor.
Wanneer is sprake van 'memory stall' en op welke manier kan het verlies aan performance dat hiervan het gevolg is worden gecompenseerd?
Van memory stall is sprake als een processorkern moet wachten op het geheugen. Dit verlies kan worden gecompenseerd door aan een processorkern twee kernelthreads toe te kennen, zodat de ene thread de wachttijd van de andere thread kan benutten.
- Hogere cijfers + sneller leren
- Niets twee keer studeren
- 100% zeker alles onthouden
Leg uit waarom een multithreaded multicore processor twee niveaus van scheduling vereist.
Eerst moeten software threads worden afgebeeld op hardware threads en vervolgens moeten aan de hardware threads processorkernen worden toegewezen.
Wat wordt verstaan onder NUMA en wat zijn de implicaties van NUMA voor de toewijzing van geheugen aan processen?
NUMA staat voor non-uniform memory access. Dit komt voor in multiprocessorsystemen en betekent dat voor een bepaalde CPU sommige delen van het geheugen sneller toegankelijk zijn dan andere delen.
Bij de toewijzing van geheugen aan een proces zou men dus rekening willen houden met de processor affinity van het proces.
Waarom is CPU-scheduling bij symmetric multiprocessing (SMP) complexer dan bij asymmetric multiprocessing?
Bij asymmetric multiprocessing wordt alle scheduling door één processor uitgevoerd. Er is dus maar één processor die toegang heeft tot de datastructuren van het systeem. Bij SMP zijn alle processoren self-scheduling, met het risico dat meerdere processoren dezelfde datastructuren proberen te wijzigen. Voorkomen moet worden dat verschillende processoren hetzelfde proces kiezen of dat processen uit de queue verdwijnen.
Wat is een multicore processor?
Bij een multicore processor zijn meerdere processorkernen op dezelfde fysieke chip geplaatst. Iedere processorkern heeft een eigen registerset, zodat deze door het besturingssysteem als aparte processor wordt gezien.
Waarom is scheduling op een systeem met multithreaded multicore processors lastiger dan scheduling op een systeem met singlethreaded multicore processors?
Multithreaded multicore processors vereisen een extra niveau van scheduling: nadat de softwarethreads zijn toegewezen aan hardwarethreads moeten de hardwarethreads worden toegewezen aan processorkernen.
Er zijn twee manieren om multithreaded processors te implementeren: coarse-grained multithreading en fine-grained multithreading. Wat is het verschil?
Bij coarse-grained multithreading worden de threads pas afgewisseld als een long-latency event optreedt.
Bij fine-grained multithreading worden de threads veel sneller afgewisseld. Dit is mogelijk dankzij een mechanisme dat de overhead van thread switching beperkt.
De vragen op deze pagina komen uit de samenvatting van het volgende studiemateriaal:
- Een unieke studie- en oefentool
- Nooit meer iets twee keer studeren
- Haal de cijfers waar je op hoopt
- 100% zeker alles onthouden