Intel's Hyper-Threading

Intel's Hyper-Threading

Intel’s Hyper-Threading Cody Tinker & Christopher Valerino 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 Introduction ● Two main trends have been followed to increase parallelism: ○ Increase number of cores on a chip ○ Increase core throughput 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 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 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 Hyper-threading Dataflow Single Threaded CPU Hyper-threaded CPU Architecture ● Copies the arch state to double the processors that appear within the system 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 Performance ● Online transaction processing performance ● 21% gain in performance when hyper-threading is used Performance ● Workload 1 focused on data server ● Workload 2 focused on web server ● Java server side environment ● Performance gain ranged from 16 to 28% 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 Advantages and Drawbacks Advantages: Drawbacks: ● Uses resources more ● A single thread can cause stalls efficiently ● Does pose a security risk ● Can allow one core to act as ● Depending on build could two decrease performance ● Allows multiple threads to be ● Burdens software developers ○ Have to check if hyper- executed concurrently threading works for their app 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. Questions? Resources http://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.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    16 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us