intel’s hyper-threading - rochester institute of...

16
Intel’s Hyper-Threading Cody Tinker & Christopher Valerino

Upload: others

Post on 16-Mar-2020

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Intel’s Hyper-Threading - Rochester Institute of Technologymeseec.ce.rit.edu/551-projects/spring2016/2-3.pdfHyper-threading Hyper-threading is the hardware solution to increasing

Intel’s Hyper-Threading

Cody Tinker & Christopher Valerino

Page 2: Intel’s Hyper-Threading - Rochester Institute of Technologymeseec.ce.rit.edu/551-projects/spring2016/2-3.pdfHyper-threading Hyper-threading is the hardware solution to increasing

Introduction

● How to handle a thread, or the smallest portion of code that can be run independently, plays a core component in enhancing a program's parallelism.

● Due to the fact that modern computers process many tasks and programs simultaneously, techniques that allow for threads to be handled more efficiently to lower processor downtime are valuable.

● Motive is to reduce the number of idle resources of a processor.● Examples of processors that use hyperthreading

○ Intel Xeon D-1529○ Intel i7-6785R○ Intel Pentium D1517

Page 3: Intel’s Hyper-Threading - Rochester Institute of Technologymeseec.ce.rit.edu/551-projects/spring2016/2-3.pdfHyper-threading Hyper-threading is the hardware solution to increasing

Introduction

● Two main trends have been followed to increase parallelism:○ Increase number of cores

on a chip○ Increase core throughput

Page 4: Intel’s Hyper-Threading - Rochester Institute of Technologymeseec.ce.rit.edu/551-projects/spring2016/2-3.pdfHyper-threading Hyper-threading is the hardware solution to increasing

What is Multithreading?

● Executing more than one thread at a time● Normally, an operating system handles a program by scheduling individual

threads and then passing them to the processor.● Two different types of hardware multithreading

○ Temporal■ One thread per pipeline stage

○ Simultaneous (SMT)■ Multiple threads per pipeline stage

● Intel’s hyper-threading is a SMT design

Page 5: Intel’s Hyper-Threading - Rochester Institute of Technologymeseec.ce.rit.edu/551-projects/spring2016/2-3.pdfHyper-threading Hyper-threading is the hardware solution to increasing

Hyper-threading

● Hyper-threading is the hardware solution to increasing processor throughput by decreasing resource idle time.

● Allows multiple concurrent threads to be executed○ Threads are interleaved so that resources not being used by one thread are used by others○ Most processors are limited to 2 concurrent threads per physical core○ Some do support 8 concurrent threads per physical core

● Needs the ability to fetch instructions from multiple threads● Needs a bigger register file to hold data from multiple threads

Page 6: Intel’s Hyper-Threading - Rochester Institute of Technologymeseec.ce.rit.edu/551-projects/spring2016/2-3.pdfHyper-threading Hyper-threading is the hardware solution to increasing

SMT Timeline● First researched by IBM in 1968 as part of the ACS-360 project● Denelcor Inc released first multi-threaded processor (HEP) in 1982 ● FIrst major microprocessor (Alpha 21564) developed by Digital Equipment

Corporation in 2001○ Was not released due to the Alpha series being discontinued

● Intel Xeon was first modern server processor to implement SMT○ Released in February 2002

● Intel Pentium 4 was first modern desktop processor to implement SMT○ Released in November 2002

● Intel switches to Core processors due to performance issues in 2005● Hyper-threading brought back in 2008 with Nehalem Core i7

Page 7: Intel’s Hyper-Threading - Rochester Institute of Technologymeseec.ce.rit.edu/551-projects/spring2016/2-3.pdfHyper-threading Hyper-threading is the hardware solution to increasing

Hyper-threading Dataflow

Single Threaded CPU Hyper-threaded CPU

Page 8: Intel’s Hyper-Threading - Rochester Institute of Technologymeseec.ce.rit.edu/551-projects/spring2016/2-3.pdfHyper-threading Hyper-threading is the hardware solution to increasing

Architecture

● Copies the arch state to double the processors that appear within the system

Page 9: Intel’s Hyper-Threading - Rochester Institute of Technologymeseec.ce.rit.edu/551-projects/spring2016/2-3.pdfHyper-threading Hyper-threading is the hardware solution to increasing

Architecture

● Intel processors able to improve performance at minimal cost to the system● Added less than 5% to the chip size and power requirements● Maintains complete set of architecture state

○ General purpose registers○ Control registers○ Advanced programmable interrupt controller (APIC) registers

● Share other resources○ Caches○ Execution units○ Control logic

● Interrupts are handled individually

Page 10: Intel’s Hyper-Threading - Rochester Institute of Technologymeseec.ce.rit.edu/551-projects/spring2016/2-3.pdfHyper-threading Hyper-threading is the hardware solution to increasing

Performance

● Online transaction processing performance

● 21% gain in performance when hyper-threading is used

Page 11: Intel’s Hyper-Threading - Rochester Institute of Technologymeseec.ce.rit.edu/551-projects/spring2016/2-3.pdfHyper-threading Hyper-threading is the hardware solution to increasing

Performance

● Workload 1 focused on data server

● Workload 2 focused on web server

● Java server side environment

● Performance gain ranged from 16 to 28%

Page 12: Intel’s Hyper-Threading - Rochester Institute of Technologymeseec.ce.rit.edu/551-projects/spring2016/2-3.pdfHyper-threading Hyper-threading is the hardware solution to increasing

Implementation of Intel Pentium 4 Xeon● Maintain information for two different independent threads● Resources divided into three groups

○ Replicated:■ Instruction pointer■ Register renaming logic

○ Partitioned:■ load /store buffers■ Scheduling queues

○ Shared■ Execution units

● Load/Store● Integer● Floating Point

Page 13: Intel’s Hyper-Threading - Rochester Institute of Technologymeseec.ce.rit.edu/551-projects/spring2016/2-3.pdfHyper-threading Hyper-threading is the hardware solution to increasing

Advantages and Drawbacks

Advantages:

● Uses resources more efficiently

● Can allow one core to act as two

● Allows multiple threads to be executed concurrently

Drawbacks:

● A single thread can cause stalls● Does pose a security risk ● Depending on build could

decrease performance● Burdens software developers

○ Have to check if hyper-threading works for their app

Page 14: Intel’s Hyper-Threading - Rochester Institute of Technologymeseec.ce.rit.edu/551-projects/spring2016/2-3.pdfHyper-threading Hyper-threading is the hardware solution to increasing

Conclusion

● Intel still supports Hyper-threading with their i-series (Skylake)○ Still statically partitioning resources○ Single thread processing still improving

● AMD is designing from scratch a new processor microarchitecture called “Zen” that is reported to use SMT. Planned release October 2016.

● Performance benefits are often debated.● In conclusion multicores with hyper-threading is better than adding cores or

hyper-threading individually.

Page 15: Intel’s Hyper-Threading - Rochester Institute of Technologymeseec.ce.rit.edu/551-projects/spring2016/2-3.pdfHyper-threading Hyper-threading is the hardware solution to increasing

Questions?

Page 16: Intel’s Hyper-Threading - Rochester Institute of Technologymeseec.ce.rit.edu/551-projects/spring2016/2-3.pdfHyper-threading Hyper-threading is the hardware solution to increasing

Resourceshttp://www.intel.com/content/www/us/en/architecture-and-technology/hyper-threading/hyper-threading-technology.html

http://www.cs.sfu.ca/~fedorova/Teaching/CMPT886/Spring2007/papers/hyper-threading.pdf

http://arstechnica.com/features/2002/10/hyperthreading/2/

http://sc.tamu.edu/systems/eos/nehalem.pdf

https://en.wikipedia.org/wiki/Temporal_multithreading

https://en.wikipedia.org/wiki/Simultaneous_multithreading

http://web.archive.org/web/20121019025809/http://www.intel.com/technology/itj/2002/volume06issue01/vol6iss1_hyper_threading_technology.pdf

https://www.nas.nasa.gov/assets/pdf/papers/saini_s_impact_hyper_threading_2011.pdf