Hardware · Technology

Hyper-Threading !! Increase the CPU performance with Parallelization.


Hyper-Threading

 HyperThreading Technology

The Hyper-Threading Technology (A Parallelization )is used to improve the parallelization of computation by doing multiple tasks at one time. This is done by duplicating certain parts of the processors but not main execution resources. Due to this, the hyper thread processor appears like a usual physical processor and an extra logical processor. These processors allow the operating system to work simultaneously and schedule two threads or processes at one time. When a execution resource is not used by the current task in a processor, then that execution resource is used to execute another scheduled task. For each physically present processor, the operating system presents two virtual or logical cores to share the work load between them. This is done to reduce the number of the dependent tasks on the pipeline. The technology is like a SMT (Simultaneous multithreading technology) to run multiple threads of software simultaneously. The technology provides TLP(Thread level parallelism) on each processor to improve performance.

Working of the technology ???

 HyperThreading Technology WorkingThe Parallelization technology is based on the multi-processors-threading concept in which a work load is handeled by scheduling the tasks accordingly to the time counsumes. As some parts of the main processor is duplicated or reproduced virtually. Now we have two processors at the ame time but the main processor is kept same. Now the operating system schedules the tasks or threads simultaneously on the both processors. When there is one idle processor, it is used by other tasks available in the waiting. So the overall performance is improved. For this the schedular is used that manage this scheduling. So to use the multi-threading technology efficiently, the schedular must be programmed correctly.

For example : if we have two hyper thread processor like p1 and p2. Now by multi-threading we make it double as p11,p12,p21,p22. Now these four processors can work simultaneously and effectively. Now if the Operating system is not programmed well,then both of the processors will work as one. So now p11,p12 will execute entire program and other processors will remains idle. This would decrease the performance of the system.

Threading Algorithim : The technology has following threading algorithim.

 HyperThreading Technology HyperThreading Technology

1. Time-Slice : In this also, each processor is allocated to a thread part for a specific time interval. When the time interval expires, the processor is allocated to another task in waiting. If one process is in waiting state, then it would be very expensive algorithm.

2. Switching on Event : if one task is taking too much time, then switching of the events is processed. If the data is coming from a very slow resource then CPU is provided to another task.

3. Multiprocessing : In this, the load is distributed over many processors to handle it. This adds extra cost.

4. Simultaneously multithreading : In this multiple threads are executed on a single processor with switchning. This is the basis of the technology.

Hyper Threading Technology Benefits

 

 Advantages : Following are the benefits of it.

1. Handle heavy workload

2. Reduce the execution time1. Handle heavy workload

3. Improve the reaction and response time

4. Compatible with server application and operating system.

Disadvantages : It has following disadvantages.

Hyper Threading Technology requirements

1. Serial Execution is possible

2. Resourse confliction

3. Need extra Design

4. Non deterministic thread

5. Increases overhead.

Applications :

Hyper Threading Technology requirements

1. Video Decoding

2. Video Information Reading

3. Image-Domain Watermark detection

4. Video Information Processing

5. Video Information Writing

Conclusion : With this multi-threading processing technology, you can decrease your execution time as well as can increase the performance of the CPU. This uses any idle resource waiting for another module or thread. So a group of small resources are provided to a number of threads and then they are separately processed.

Posted by : Vijay Kumar Goyal

Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s