Share
VIDEOS 1 TO 50
Creating a Spider Goat: Security with Intel CPU Transactional Memory Support
Creating a Spider Goat: Security with Intel CPU Transactional Memory Support
Published: 2015/03/19
Channel: Black Hat
What Is Intel TSX NI?
What Is Intel TSX NI?
Published: 2017/07/19
Channel: best sparky
Programming for the Intel Xeon Processor
Programming for the Intel Xeon Processor
Published: 2015/04/01
Channel: Association for Computing Machinery (ACM)
NDSS 2017:  T-SGX: Eradicating Controlled-Channel Attacks Against Enclave Programs
NDSS 2017: T-SGX: Eradicating Controlled-Channel Attacks Against Enclave Programs
Published: 2017/04/24
Channel: NDSS Symposium
Interesting Features of the X86-64 Architecture (OpenVMS Boot Camp 2017)
Interesting Features of the X86-64 Architecture (OpenVMS Boot Camp 2017)
Published: 2017/10/08
Channel: Camiel Vanderhoeven
USENIX Security
USENIX Security '17 - Prime+Abort: A Timer-Free High-Precision L3 Cache Attack using Intel TSX
Published: 2017/09/15
Channel: USENIX
Marketing Cloud Connect Part 2 - Syncing CRM Data
Marketing Cloud Connect Part 2 - Syncing CRM Data
Published: 2017/01/24
Channel: Salesforce Marketing Cloud
Marketing Cloud Transactional Sending
Marketing Cloud Transactional Sending
Published: 2017/07/05
Channel: Salesforce Developers
Understanding and Exploiting Data Flow in Marketing Cloud
Understanding and Exploiting Data Flow in Marketing Cloud
Published: 2017/07/05
Channel: Salesforce Developers
Transactional Memory: From Semantics to Silicon
Transactional Memory: From Semantics to Silicon
Published: 2012/08/22
Channel: GoogleTalksArchive
How to Install MageMonkey in Magento to use Mandrill for Transactional Emails
How to Install MageMonkey in Magento to use Mandrill for Transactional Emails
Published: 2014/03/18
Channel: understandinge
FileMaker Pro Database synchronisation / synchronization - Sync Pro
FileMaker Pro Database synchronisation / synchronization - Sync Pro
Published: 2017/05/16
Channel: James Bond
Watch as DSYNC updates 5 different applications at the same time
Watch as DSYNC updates 5 different applications at the same time
Published: 2016/10/19
Channel: DSYNC
Read-log-update: a lightweight synchronization mechanism for concurrent programming
Read-log-update: a lightweight synchronization mechanism for concurrent programming
Published: 2015/12/11
Channel: Association for Computing Machinery (ACM)
Breaking Kernel Address Space Layout Randomization (KASLR) With Intel TSX
Breaking Kernel Address Space Layout Randomization (KASLR) With Intel TSX
Published: 2016/11/22
Channel: Black Hat
SMC: Sending to a Data Extension
SMC: Sending to a Data Extension
Published: 2015/04/10
Channel: Honey VanderVenter
RPCS3: Comparing performance w/ and w/o TSX (TSX: On) [i7-6700HQ]
RPCS3: Comparing performance w/ and w/o TSX (TSX: On) [i7-6700HQ]
Published: 2017/11/08
Channel: AniLeo
Magento extension giftwrapping pro
Magento extension giftwrapping pro
Published: 2011/04/08
Channel: mageviet
Automated Email Marketing and Trigger Emails
Automated Email Marketing and Trigger Emails
Published: 2017/04/07
Channel: SendPulse
Unboxing Intel i5-6600K Processor Unlocked [iPhone6S+]
Unboxing Intel i5-6600K Processor Unlocked [iPhone6S+]
Published: 2016/05/16
Channel: Vasilis Fourlis
Time For A GPU Upgrade Eh (Still Kickin Though) ?
Time For A GPU Upgrade Eh (Still Kickin Though) ?
Published: 2013/07/26
Channel: Uruz7Laevatein
Magento Quotation Extension - Sending messages (CRM) to customer
Magento Quotation Extension - Sending messages (CRM) to customer
Published: 2013/09/11
Channel: Cart2Quote
Ryzen Threadripper 1900X vs i7 7700 Benchmarks | Gaming Tests | Office & Encoding CPU Review
Ryzen Threadripper 1900X vs i7 7700 Benchmarks | Gaming Tests | Office & Encoding CPU Review
Published: 2017/09/07
Channel: Benchmark PC Tech - MultiTechnopark
Sky Force Anniversary NPUB31813
Sky Force Anniversary NPUB31813
Published: 2017/11/18
Channel: guru emulation
i5 8400 vs i7 7700 Benchmarks | Gaming Tests Review & Comparison
i5 8400 vs i7 7700 Benchmarks | Gaming Tests Review & Comparison
Published: 2017/10/07
Channel: Benchmark PC Tech - MultiTechnopark
UNBOXING INTEL CORE i7 6700K SKYLAKE
UNBOXING INTEL CORE i7 6700K SKYLAKE
Published: 2017/01/17
Channel: BomberKiller
Vamp CUSTOM  done x299 mark 1 tuf  7800x i7
Vamp CUSTOM done x299 mark 1 tuf 7800x i7
Published: 2018/01/27
Channel: Will Hawkins
Intel 4th Generation Core i5
Intel 4th Generation Core i5
Published: 2016/07/27
Channel: Jackson Urban
Intel Iris graphics performance demonstration
Intel Iris graphics performance demonstration
Published: 2013/06/05
Channel: bestslowmotionhd
Magento Abandoned Cart Extension Installation
Magento Abandoned Cart Extension Installation
Published: 2015/08/06
Channel: OroCRM
RYZEN 5 1500X vs i7 7700 - BENCHMARKS / GAMING TESTS REVIEW AND COMPARISON / Ryzen vs Kaby Lake
RYZEN 5 1500X vs i7 7700 - BENCHMARKS / GAMING TESTS REVIEW AND COMPARISON / Ryzen vs Kaby Lake
Published: 2017/04/11
Channel: Benchmark PC Tech - MultiTechnopark
i7 7700 vs i7 2600K - BENCHMARKS / GAMING TESTS REVIEW AND COMPARISON / Kaby Lake vs Sandy Bridge
i7 7700 vs i7 2600K - BENCHMARKS / GAMING TESTS REVIEW AND COMPARISON / Kaby Lake vs Sandy Bridge
Published: 2017/01/06
Channel: Benchmark PC Tech - MultiTechnopark
i7 7700 vs i7 6700K - BENCHMARKS / GAMING TESTS REVIEW AND COMPARISON / Windows 10
i7 7700 vs i7 6700K - BENCHMARKS / GAMING TESTS REVIEW AND COMPARISON / Windows 10
Published: 2017/01/04
Channel: Benchmark PC Tech - MultiTechnopark
King
King's Quest Chapter 1 NPEB02301 progress
Published: 2017/11/30
Channel: guru emulation
Magento Out of Stock Notification Extension
Magento Out of Stock Notification Extension
Published: 2015/11/23
Channel: Paul Simons
RTM
RTM
Published: 2017/09/10
Channel: Search Engine
i7 7700 vs i7 4790K - BENCHMARKS / GAMING TESTS REVIEW AND COMPARISON / Kaby Lake vs Haswell
i7 7700 vs i7 4790K - BENCHMARKS / GAMING TESTS REVIEW AND COMPARISON / Kaby Lake vs Haswell
Published: 2017/01/06
Channel: Benchmark PC Tech - MultiTechnopark
Email Studio & Content Builder - Send an Email
Email Studio & Content Builder - Send an Email
Published: 2017/01/28
Channel: Salesforce Marketing Cloud
i7 7700 vs i3 7350K - BENCHMARKS / GAMING TESTS REVIEW AND COMPARISON / Kaby Lake vs Kaby Lake
i7 7700 vs i3 7350K - BENCHMARKS / GAMING TESTS REVIEW AND COMPARISON / Kaby Lake vs Kaby Lake
Published: 2017/01/20
Channel: Benchmark PC Tech - MultiTechnopark
Magento Extension - Email Marketing | Email Integration by MailUp
Magento Extension - Email Marketing | Email Integration by MailUp
Published: 2012/07/06
Channel: mailupinc
i7 7700 vs i5 7500 - BENCHMARKS / GAMING TESTS REVIEW AND COMPARISON / Kaby Lake vs Kaby Lake
i7 7700 vs i5 7500 - BENCHMARKS / GAMING TESTS REVIEW AND COMPARISON / Kaby Lake vs Kaby Lake
Published: 2017/01/21
Channel: Benchmark PC Tech - MultiTechnopark
Synchronizing subscribers list with MailChimp (Private Sales Script)
Synchronizing subscribers list with MailChimp (Private Sales Script)
Published: 2012/03/30
Channel: Plumrocket Inc
G4600 vs i3 7100 - BENCHMARKS / GAMING TESTS REVIEW AND COMPARISON / Kaby Lake vs Kaby Lake
G4600 vs i3 7100 - BENCHMARKS / GAMING TESTS REVIEW AND COMPARISON / Kaby Lake vs Kaby Lake
Published: 2017/01/11
Channel: Benchmark PC Tech - MultiTechnopark
i7 7700 vs i5 6500 - BENCHMARKS / GAMING TESTS REVIEW AND COMPARISON / Kaby Lake Skylake
i7 7700 vs i5 6500 - BENCHMARKS / GAMING TESTS REVIEW AND COMPARISON / Kaby Lake Skylake
Published: 2017/01/21
Channel: Benchmark PC Tech - MultiTechnopark
procesador intel core i7-4790k en español unboxing
procesador intel core i7-4790k en español unboxing
Published: 2014/07/06
Channel: bolijaker
Overwatch
Overwatch
Published: 2017/04/21
Channel: CᴀᴛᴛᴀRᴀᴩᴩᴀ®
What
What's new with Azure SQL Database: Focus on your business, not on the database - BRK2230
Published: 2017/09/26
Channel: Microsoft Ignite
RYZEN 5 1600 vs i7 7700 - BENCHMARKS / GAMING TESTS REVIEW AND COMPARISON / Ryzen vs Kaby Lake
RYZEN 5 1600 vs i7 7700 - BENCHMARKS / GAMING TESTS REVIEW AND COMPARISON / Ryzen vs Kaby Lake
Published: 2017/04/12
Channel: Benchmark PC Tech - MultiTechnopark
Technology News Week 11 - 17 August 2014 Your News Ticker
Technology News Week 11 - 17 August 2014 Your News Ticker
Published: 2014/08/17
Channel: Your News Ticker
Updated And Improved SSSE
Updated And Improved SSSE
Published: 2015/03/05
Channel: TheArtofService
NEXT
GO TO RESULTS [51 .. 100]

WIKIPEDIA ARTICLE

From Wikipedia, the free encyclopedia
Jump to: navigation, search

Transactional Synchronization Extensions (TSX-NI) is an extension to the x86 instruction set architecture (ISA) that adds hardware transactional memory support, speeding up execution of multi-threaded software through lock elision. According to different benchmarks, TSX can provide around 40% faster applications execution in specific workloads, and 4–5 times more database transactions per second (TPS).[1][2][3][4]

TSX was documented by Intel in February 2012, and debuted in June 2013 on selected Intel microprocessors based on the Haswell microarchitecture.[5][6][7] Haswell processors below 45xx as well as R-series and K-series (with unlocked multiplier) SKUs do not support TSX.[8] In August 2014, Intel announced a bug in the TSX implementation on current steppings of Haswell, Haswell-E, Haswell-EP and early Broadwell CPUs, which resulted in disabling the TSX feature on affected CPUs via a microcode update.[9][10]

Support for TSX emulation is provided as part of the Intel Software Development Emulator.[11] There is also experimental support for TSX emulation in a QEMU fork.[12]

Features[edit]

TSX provides two software interfaces for designating code regions for transactional execution. Hardware Lock Elision (HLE) is an instruction prefix-based interface designed to be backward compatible with processors without TSX support. Restricted Transactional Memory (RTM) is a new instruction set interface that provides greater flexibility for programmers.[13]

TSX enables optimistic execution of transactional code regions. The hardware monitors multiple threads for conflicting memory accesses, while aborting and rolling back transactions that cannot be successfully completed. Mechanisms are provided for software to detect and handle failed transactions.[13]

In other words, lock elision through transactional execution uses memory transactions as a fast path where possible, while the slow (fallback) path is still a normal lock.

Hardware Lock Elision[edit]

Hardware Lock Elision (HLE) adds two new instruction prefixes, XACQUIRE and XRELEASE. These two prefixes reuse the opcodes of the existing REPNE / REPE prefixes (F2H / F3H). On processors that do not support TSX, REPNE / REPE prefixes are ignored on instructions for which the XACQUIRE / XRELEASE are valid, thus enabling backward compatibility.[14]

The XACQUIRE prefix hint can only be used with the following instructions with an explicit LOCK prefix: ADD, ADC, AND, BTC, BTR, BTS, CMPXCHG, CMPXCHG8B, DEC, INC, NEG, NOT, OR, SBB, SUB, XOR, XADD, and XCHG. The XCHG instruction can be used without the LOCK prefix as well.

The XRELEASE prefix hint can be used both with the instructions listed above, and with the MOV mem, reg and MOV mem, imm instructions.

HLE allows optimistic execution of a critical section by eliding the write to a lock, so that the lock appears to be free to other threads. A failed transaction results in execution restarting from the XACQUIRE-prefixed instruction, but treating the instruction as if the XACQUIRE prefix were not present.

Restricted Transactional Memory[edit]

Restricted Transactional Memory (RTM) is an alternative implementation to HLE which gives the programmer the flexibility to specify a fallback code path that is executed when a transaction cannot be successfully executed.

RTM adds three new instructions: XBEGIN, XEND and XABORT. The XBEGIN and XEND instructions mark the start and the end of a transactional code region; the XABORT instruction explicitly aborts a transaction. Transaction failure redirects the processor to the fallback code path specified by the XBEGIN instruction, with the abort status returned in the EAX register.

EAX register
bit position
Meaning
0 Set if abort caused by XABORT instruction.
1 If set, the transaction may succeed on a retry. This bit is always clear if bit 0 is set.
2 Set if another logical processor conflicted with a memory address that was part of the transaction that aborted.
3 Set if an internal buffer overflowed.
4 Set if debug breakpoint was hit.
5 Set if an abort occurred during execution of a nested transaction.
23:6 Reserved.
31:24 XABORT argument (only valid if bit 0 set, otherwise reserved).

XTEST instruction[edit]

TSX provides a new XTEST instruction that returns whether the processor is executing a transactional region.

Implementation[edit]

Intel's TSX specification describes how the transactional memory is exposed to programmers, but withholds details on the actual transactional memory implementation.[15] Intel specifies in its developer's and optimization manuals that Haswell maintains both read-sets and write-sets at the granularity of a cache line, tracking addresses in the L1 data cache of the processor.[16][17][18][19] Intel also states that data conflicts are detected through the cache coherence protocol.[17]

Haswell's L1 data cache has an associativity of eight. This means that in this implementation, a transactional execution that writes to nine distinct locations mapping to the same cache set will abort. However, due to micro-architectural implementations, this does not mean that fewer accesses to the same set are guaranteed to never abort. Additionally, in CPU configurations with Hyper-Threading Technology, the L1 cache is shared between the two threads on the same core, so operations in a sibling logical processor of the same core can cause evictions.[17]

Independent research points into Haswell’s transactional memory most likely being a deferred update system using the per-core caches for transactional data and register checkpoints.[15] In other words, Haswell is more likely to use the cache-based transactional memory system, as it is a much less risky implementation choice. On the other hand, Intel's Skylake or later may combine this cache-based approach with memory ordering buffer (MOB) for the same purpose, possibly also providing multi-versioned transactional memory that is more amenable to speculative multithreading.[20]

In August 2014, Intel announced that a bug exists in the TSX implementation on Haswell, Haswell-E, Haswell-EP and early Broadwell CPUs, which resulted in disabling the TSX feature on affected CPUs via a microcode update.[9][10][21] The bug was fixed in F-0 steppings of the vPro-enabled Core M-5Y70 Broadwell CPU in November 2014.[22]

See also[edit]

References[edit]

  1. ^ Richard M. Yoo; Christopher J. Hughes; Konrad Lai; Ravi Rajwar (November 2013). "Performance Evaluation of Intel Transactional Synchronization Extensions for High-Performance Computing" (PDF). intel-research.net. Retrieved 2013-11-14. 
  2. ^ Tomas Karnagel; Roman Dementiev; Ravi Rajwar; Konrad Lai; Thomas Legler; Benjamin Schlegel; Wolfgang Lehner (February 2014). "Improving In-Memory Database Index Performance with Intel Transactional Synchronization Extensions" (PDF). software.intel.com. Retrieved 2014-03-03. 
  3. ^ "Performance Evaluation of Intel Transactional Synchronization Extensions for High Performance Computing". supercomputing.org. November 2013. Retrieved 2013-11-14. 
  4. ^ "Benchmarks: Haswell's TSX and Memory Transaction Throughput (HLE and RTM)". sisoftware.co.uk. Retrieved 2013-11-14. 
  5. ^ "Transactional Synchronization in Haswell". Software.intel.com. Retrieved 2012-02-07. 
  6. ^ "Transactional memory going mainstream with Intel Haswell". Ars Technica. 2012-02-08. Retrieved 2012-02-09. 
  7. ^ "The Core i7-4770K Review". Tom's Hardware. 2013-06-01. Retrieved 2012-06-03. 
  8. ^ "Intel Comparison Table of Haswell Pentium, i3, i5, and i7 models". intel.com. Retrieved 2014-02-11. 
  9. ^ a b Scott Wasson (2014-08-12). "Errata prompts Intel to disable TSX in Haswell, early Broadwell CPUs". techreport.com. Retrieved 2014-08-12. 
  10. ^ a b "Desktop 4th Generation Intel Core Processor Family, Desktop Intel Pentium Processor Family, and Desktop Intel Celeron Processor Family: Specification Update (Revision 014)" (PDF). Intel. June 2014. p. 46. Retrieved 2014-08-13. Under a complex set of internal timing conditions and system events, software using the Intel TSX (Transactional Synchronization Extensions) instructions may observe unpredictable system behavior. 
  11. ^ Wooyoung Kim (2013-07-25). "Fun with Intel Transactional Synchronization Extensions". Intel. Retrieved 2013-11-12. 
  12. ^ Sebastien Dabdoub; Stephen Tu. "Supporting Intel Transactional Synchronization Extensions in QEMU" (PDF). mit.edu. Retrieved 2013-11-12. 
  13. ^ a b Johan De Gelas (2012-09-20). "Making Sense of the Intel Haswell Transactional Synchronization eXtensions". AnandTech. Retrieved 2013-10-20. 
  14. ^ "Hardware Lock Elision Overview". intel.com. Archived from the original on 2013-10-29. Retrieved 2013-10-27. 
  15. ^ a b David Kanter (2012-08-21). "Analysis of Haswell's Transactional Memory". Real World Technologies. Retrieved 2013-11-19. 
  16. ^ "Intel 64 and IA-32 Architectures Software Developer's Manual Combined Volumes: 1, 2A, 2B, 2C, 3A, 3B, and 3C" (PDF). Intel. September 2013. p. 342. Retrieved 2013-11-19. 
  17. ^ a b c "Intel 64 and IA-32 Architectures Optimization Reference Manual" (PDF). Intel. September 2013. p. 446. Retrieved 2013-11-19. 
  18. ^ "Intel TSX implementation properties". Intel. 2013. Retrieved 2013-11-14. The processor tracks both the read-set addresses and the write-set addresses in the first level data cache (L1 cache) of the processor. 
  19. ^ De Gelas, Johan (September 20, 2012). "Making Sense of the Intel Haswell Transactional Synchronization eXtensions". AnandTech. Retrieved 23 December 2013. The whole "CPU does the fine grained locks" is based upon tagging the L1 (64 B) cachelines and there are 512 of them to be specific (64 x 512 = 32 KB). There is only one "lock tag" per cacheline. 
  20. ^ David Kanter (2012-08-21). "Haswell Transactional Memory Alternatives". Real World Technologies. Retrieved 2013-11-14. 
  21. ^ Ian Cutress (2014-08-12). "Intel Disables TSX Instructions: Erratum Found in Haswell, Haswell-E/EP, Broadwell-Y". AnandTech. Retrieved 2014-08-30. 
  22. ^ "Intel Core M Processor Family. Specification Update. December 2014. Revision 003. 330836-003" (PDF). Intel. December 2014. p. 10. Retrieved 2014-12-28. BDM53 1 E-0: X, F-0:, Status: Fixed ERRATA: Intel TSX Instructions Not Available. 1. Applies to Intel Core M-5Y70 processor. Intel TSX is supported on Intel Core M-5Y70 processor with Intel vPro Technology. Intel TSX is not supported on other processor SKUs. 

Further reading[edit]

  • Afek, Y.; Levy, A.; Morrison, A. (2014). "Proceedings of the 2014 ACM symposium on Principles of distributed computing - PODC '14". Software-improved hardware lock elision, p. 212. doi:10.1145/2611462.2611482. ISBN 9781450329446. . Software-based improvements to hardware lock-elision in Intel TSX.

External links[edit]

Disclaimer

None of the audio/visual content is hosted on this site. All media is embedded from other sites such as GoogleVideo, Wikipedia, YouTube etc. Therefore, this site has no control over the copyright issues of the streaming media.

All issues concerning copyright violations should be aimed at the sites hosting the material. This site does not host any of the streaming media and the owner has not uploaded any of the material to the video hosting servers. Anyone can find the same content on Google Video or YouTube by themselves.

The owner of this site cannot know which documentaries are in public domain, which has been uploaded to e.g. YouTube by the owner and which has been uploaded without permission. The copyright owner must contact the source if he wants his material off the Internet completely.

Powered by YouTube
Wikipedia content is licensed under the GFDL and (CC) license