Functionality of hyper thread processor, Computer Engineering

Assignment Help:

Hyper-threading works by duplicating those sections of processor that kept the architectural state-but not duplicates the main implementation resources. This allows a Hyper-threading equipped processor to pretend to be two "logical" processors to the host operating system, allowing the operating system to schedule two threads or processes concurrently. Where implementation resources in a non-Hyper-threading capable processor are not used by the present task, and mainly when the processor is stalled, a Hyper- threading equipped processor might use those implementation resources to implement the other scheduled task.

Except for 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 the operating system, as the logical processors shows as standard separate processors.

Though, it is possible to optimize operating system behaviour on Hyper-threading capable systems, such as the Linux methods discussed in Kernel Traffic. For example, take an SMP system with two physical processors that are both Hyper-Threaded (for a total of four logical processors). If the operating system's process scheduler is unaware of Hyper-threading, it would treat all four processors likewise.

As a result, if only two processes are eligible to run, it may choose to schedule those processes on the two logical processors that occur to belong to one of the physical processors. Therefore, one CPU would be extremely busy while the other CPU would be completely idle, leading to bad overall performance. This problem can be keep away by improving the scheduler to treat logical processors differently from physical processors; in a sense, this is a limited form of the scheduler changes that are needed for NUMA systems.


Related Discussions:- Functionality of hyper thread processor

What are the types of operations required for instructions, What are the va...

What are the various types of operations required for instructions?  Data transfers among the main memory and the CPU registers Arithmetic and logic operation on data

Describes the phases of sdlc, Software Development Life Cycle (SDLC):- SDLC...

Software Development Life Cycle (SDLC):- SDLC (System Development Life Cycle) is a well-defined process by which a system is conceived developed and implemented. In other sense a S

Signalling connection control part and message transfer part, The Signallin...

The Signalling connection control part (SCCP) and message transfer part (MTP) together are referred to as (A) Signal Switching Points (SSPs) (B)  Signal Transfer Points

Define the pulse-triggered (master-slave) flip-flops, Define the Pulse-Trig...

Define the Pulse-Triggered (Master-Slave) Flip-flops? The term pulse-triggered signify that data are entered into the flip-flop on the rising edge of the clock pulse, though th

Towers of hanoi problem, The Towers of Hanoi Problem Towers of Hanoi pro...

The Towers of Hanoi Problem Towers of Hanoi problem is described. There are three pegs on which disks are "threaded" (there are holes in the disks to allow them to be placed on

Explain the action of an interrupt processing routine, Explain the action o...

Explain the action of an interrupt processing routine? Action of an interrupt processing routine is as follows : 1. Save contents of registers of CPU. This action is not e

How a procedure define in assembly, Q. How a Procedure define in Assembly ?...

Q. How a Procedure define in Assembly ? Procedure is defined within source code by placing a directive of form: PROC A procedure is terminated using: ENDP The

Define about abstraction- object oriented systems, Define about Abstractio...

Define about Abstraction-  object oriented systems Abstraction is one of the most important ideas of object oriented systems Abstraction focus on the necessary, inherent aspec

Differentiate between static and dynamic step loops, Differentiate between ...

Differentiate between static and dynamic step loops. Step loops fall into two classes: Static and Dynamic.  Static step loops have a fixed size that cannot be changed at runti

What is difference between cgi and java, CGI and JAVA are fundamentally dis...

CGI and JAVA are fundamentally dissimilar, and for most applications are NOT interchangable. CGI is a protocol for running programs on a WWW server. Whilst JAVA can also be us

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd