DV Hardware - bringing you the hottest news about processors, graphics cards, Intel, AMD, NVIDIA, hardware and technology!

   Home | News submit | News Archives | Reviews | Articles | Howto's | Advertise
 
DarkVision Hardware - Daily tech news
October 24, 2017 
Main Menu
Home
Info
News archives
Articles
Howto
Reviews
 

Who's Online
There are currently 79 people online.

 

Latest Reviews
Jaybird Freedom 2 wireless sport headphones
Ewin Racing Champion gaming chair
Zowie P-TF Rough mousepad
Zowie FK mouse
BitFenix Ronin case
Ozone Rage ST headset
Lamptron FC-10 SE fan controller
ZOWIE G-TF Rough mousepad
 

Follow us
RSS
 

Intel Haswell Transactional Synchronization eXtensions (TSX) explained

Posted on Thursday, September 20 2012 @ 13:55:29 CEST by


Intel logo
One of the new features of Intel's upcoming Haswell architecture is Transactional Synchronization, an instruction set that enables hardware-accelerated transactional memory. This technology should increase per-core performance by letting the processor worry about the locking. In simplified words, the more cores a system has, the more threads you need to keep the cores busy but threads have to work on shared data and this require locks to ensure that the end result is correct. Unfortunately, a lot of times threads are doing nothing but waiting until another thread releases a lock, and this leads to a serious problem in multi-core performance scaling.

TSX aims to solve part of the performance scaling issue by removing the locks and letting the processor worry about consistency. The thread is executed under the assumption that other threads will not overwrite the variables that the thread is working on, and in case another thread does overwrite one of those shared variables, the whole process will be aborted and re-executed with a traditional lock.
The idea is to remove the locks and let the CPU worry about consistency. Instead of assuming that a thread should always protect the shared data from other threads, you optimistically assume that the other threads will not overwrite the variables that the thread is working on (in the critical section). If another thread overwrites one of those shared variables anyway, the whole process will be aborted by the CPU, and the transaction will be re-executed but with a traditional lock.

If the lock removing or elision is successful, all threads can work in parallel. If not, you fall back to traditional locking. So the developer can use coarse grained locking (for example locking the entire shared structure) as a "fall back" solution, while Lock Elision can give the performance that software with a well tuned fine grained locking library would get.
Software developers will reportedly be able to use the new TSX enabled library with limited code changes, and without having to worry about breaking backwards compatiblity.

Intel TSX performance gains slide

Full details at AnandTech.



 



 

DV Hardware - Privacy statement
All logos and trademarks are property of their respective owner.
The comments are property of their posters, all the rest © 2002-2017 DM Media Group bvba