hyper-threading works by duplicating those parts


Hyper-threading works by duplicating those parts of processor which store architectural state but not duplicating main execution resources. This permits a Hyper-threading equipped processor to pretend to be two 'logical' processors to host operating system, allowing operating system to schedule 2 processed or threads concurrently. Where execution resources in a non-Hyper-threading capable processor aren't used by current task and particularly when processor is stalled a Hyper-threading equipped processor can use those execution resources to execute other scheduled task. 

Besides its performance implications, this innovation is transparent to Programs and operating systems. All that is needed to take advantage of Hyper-Threading is symmetric multiprocessing (SMP) support in operating system as logical processors emerge as standard separate processors.

Though it's likely to optimize operating system behaviour on Hyper-threading capable systems like Linux techniques explained in Kernel Traffic. E.g. consider an SMP system with two physical processors which are both Hyper-Threaded (for a total of four logical processors). If operating system's process scheduler is unaware of Hyper-threading it will treat all four processors similarly.

Consequently if just two processes are entitled to run it may decide to schedule those processes on two logical processors which happen to belong to one of the physical processors. So one CPU will be very busy while other CPU will be entirely idle, leading to poor overall performance. This can be avoided by improving scheduler to treat logical processors in a different way from physical processors; in a sense it's a limited form of scheduler changes which are needed for NUMA systems.

Request for Solution File

Ask an Expert for Answer!!
Computer Engineering: hyper-threading works by duplicating those parts
Reference No:- TGS0324590

Expected delivery within 24 Hours