Transactional Synchronization Extensions information
Extension to the x86 instruction set architecture that adds hardware transactional memory support
Transactional Synchronization Extensions (TSX), also called Transactional Synchronization Extensions New Instructions (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/TSX-NI 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/TSX-NI 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/TSX-NI.[8] In August 2014, Intel announced a bug in the TSX/TSX-NI implementation on current steppings of Haswell, Haswell-E, Haswell-EP and early Broadwell CPUs, which resulted in disabling the TSX/TSX-NI feature on affected CPUs via a microcode update.[9][10]
In 2016, a side-channel timing attack was found by abusing the way TSX/TSX-NI handles transactional faults (i.e. page faults) in order to break kernel address space layout randomization (KASLR) on all major operating systems.[11] In 2021, Intel released a microcode update that disabled the TSX/TSX-NI feature on CPU generations from Skylake to Coffee Lake, as a mitigation for discovered security issues.[12]
Support for TSX/TSX-NI emulation is provided as part of the Intel Software Development Emulator.[13] There is also experimental support for TSX/TSX-NI emulation in a QEMU fork.[14]
^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. Archived from the original (PDF) on 2016-10-24. Retrieved 2013-11-14.
^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.
^"Performance Evaluation of Intel Transactional Synchronization Extensions for High Performance Computing". supercomputing.org. November 2013. Archived from the original on 2013-10-29. Retrieved 2013-11-14.
^"Benchmarks: Haswell's TSX and Memory Transaction Throughput (HLE and RTM)". sisoftware.co.uk. Retrieved 2013-11-14.
^"Transactional Synchronization in Haswell". Software.intel.com. Retrieved 2012-02-07.
^"Transactional memory going mainstream with Intel Haswell". Ars Technica. 2012-02-08. Retrieved 2012-02-09.
^"Intel Comparison Table of Haswell Pentium, i3, i5, and i7 models". intel.com. Retrieved 2014-02-11.
^Scott Wasson (2014-08-12). "Errata prompts Intel to disable TSX in Haswell, early Broadwell CPUs". techreport.com. Retrieved 2014-08-12.
^"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/TSX-NI (Transactional Synchronization Extensions) instructions may observe unpredictable system behavior.
^"Breaking Kernel Address Space Layout Randomization with Intel TSX" (PDF). 2016.
^Gareth Halfacree (2021-06-29). "Intel sticks another nail in the coffin of TSX with feature-disabling microcode update". The Register. Retrieved 2012-10-17.
^Wooyoung Kim (2013-07-25). "Fun with Intel Transactional Synchronization Extensions". Intel. Retrieved 2013-11-12.
^Sebastien Dabdoub; Stephen Tu. "Supporting Intel Transactional Synchronization Extensions in QEMU" (PDF). mit.edu. Retrieved 2013-11-12.
and 20 Related for: Transactional Synchronization Extensions information
commercial server to include transactional memory processor instructions Intel's TransactionalSynchronizationExtensions (TSX), available in select Haswell-based...
Advanced Synchronization Facility (ASF) is a proposed extension to the x86-64 instruction set architecture that adds hardware transactional memory support...
thread while the lock spins waiting. TransactionalSynchronizationExtensions and other hardware transactional memory instruction sets serve to replace...
E7-88xx v3 series also contain functional bug-free support for TransactionalSynchronizationExtensions (TSX), which was disabled via a microcode update in August...
instructions, for Intel TransactionalSynchronizationExtensions, both RTM and HLE and initial support for Hardware Transactional Memory on POWER. The name...
system Software transactional memory – Concurrency control mechanism in software TransactionalSynchronizationExtensions – Extension to the x86 instruction...
ensuring atomicity. An example of HTM in practice are the TransactionalSynchronizationExtensions. With the help of locks, operations trying to concurrently...
code), Saint Helena Hardware Lock Elision, part of Intel's TransactionalSynchronizationExtensions High-level emulation, is an emulator for the Nintendo 64...
research prototypes of transactional file systems for UNIX systems, including the Valor file system, Amino, LFS, and a transactional ext3 file system on...
fundamental core functionalities. Extensions to the core functionalities of the MMU and FPU may be considered CPU extensions however. The supplementary instructions...
(shared storage qualifier) with thread-local parts (normal variables) Synchronization primitives and a memory consistency model Explicit communication primitives...
on May 11, 2023 "Performance Monitoring Impact of Intel TransactionalSynchronizationExtension Memory Ordering Issue" (PDF). Intel. June 2023. p. 8. Retrieved...
subscribers, who update their databases with the transaction. Transactional replication synchronizes databases in near real time. Merge replication Changes...
it is possible to set up a transactional system through configuration without having to rely on JTA or EJB. The transactional framework also integrates...
performance. The HSQLDB engine loads them only partially and synchronizes the data to the disk on transaction commits. However, the engine always loads all rows...
is the "Transactional" Type. The purpose of the transactional landing page is to persuade a visitor to take action by completing a transaction. This is...
library for teaching, and as a base for future extensions. The committee expressly welcomed creating extensions and variants of Haskell 98 via adding and incorporating...
permitted) May include Custom extensions, specific to the implementation, implemented in the Architecture Sandbox. If the extension is general-purpose enough...