Transactional Synchronization Extensions (TSX-NI) è un'estensione all'architettura del set di istruzioni x86 (ISA) che aggiunge il supporto alla memoria transazionale hardware, velocizzando l'esecuzione di software multi-threaded attraverso l'elisione della serratura. In base a diversi benchmark, TSX è in grado di fornire circa il 40% di esecuzione più veloce delle applicazioni in specifici carichi di lavoro, e 4-5 volte di più di transazioni di database al secondo (TPS).[1][2][3]
TSX è stato documentato da Intel nel febbraio 2012, e ha debuttato nel giugno 2013 su microprocessori Intel selezionati basati sulla microarchitettura Haswell.[4][5][6] Nei processori Haswell inferiori a 45xx così come le serie R e K (con moltiplicatore sbloccato) non supportano TSX.[7] Nell'agosto 2014, Intel ha annunciato un bug nell'implementazione del TSX sulle attuali ottimizzazioni di Haswell, Haswell-E, Haswell-EP e delle prime cpu Broadwell, che ha portato alla disabilitazione della funzione TSX sulle cpu interessate tramite un aggiornamento del microcodice.[8][9]
Il supporto per l'emulazione TSX è fornito come parte dell'emulatore di sviluppo software di Intel.[10] C'è anche un supporto sperimentale per l'emulazione TSX in QEMU.[11]
- ^ (EN) Richard M. Yoo, Christopher J. Hughes, Konrad Lai e Ravi Rajwar, Performance Evaluation of Intel R Transactional Synchronization Extensions for High-Performance Computing (PDF), su pcl.intel-research.net, Intel, novembre 2013. URL consultato il 15 novembre 2018 (archiviato dall'url originale il 10 novembre 2016).
- ^ (EN) Tomas Karnagel, Roman Dementiev, Ravi Rajwar, Konrad Lai, Thomas Legler, Benjamin Schlegel e Wolfgang Lehner, Improving In-Memory Database Index Performance with Intel R Transactional Synchronization Extensions (PDF), su software.intel.com, Intel, febbraio 2014. URL consultato il 15 novembre 2018.
- ^ (EN) Richard Yoo, Christopher Hughes, Konrad Lai e Ravi Rajwar, Performance Evaluation of Intel Transactional Synchronization Extensions for High Performance Computing, SC13, 21 novembre 2013. URL consultato il 15 novembre 2018 (archiviato dall'url originale il 29 ottobre 2013).
- ^ (EN) James R., Transactional Synchronization in Haswell, su software.intel.com, Intel, 7 febbraio 2012. URL consultato il 15 novembre 2018.
- ^ (EN) Peter Bright, Transactional memory going mainstream with Intel Haswell, in Ars Technica, 9 febbraio 2012. URL consultato il 15 novembre 2018.
- ^ (EN) Chris Angelini, The Core i7-4770K Review: Haswell Is Faster; Desktop Enthusiasts Yawn, in Tom's Hardware, 1º giugno 2013. URL consultato il 15 novembre 2018.
- ^ (EN) Intel Comparison Table of Haswell Pentium, i3, i5, and i7 models, su ark.intel.com, Intel. URL consultato il 15 novembre 2018.
- ^ (EN) Scott Wasson, Errata prompts Intel to disable TSX in Haswell, early Broadwell CPUs, in The Tech Report, 12 agosto 2014. URL consultato il 15 novembre 2018.
- ^ (EN) Desktop 4th Generation Intel Core Processor Family, Desktop Intel Pentium Processor Family, and Desktop Intel Celeron Processor Family (PDF), su intel.com, Intel, marzo 2017, p. 46. URL consultato il 15 novembre 2018.
- ^ (EN) Kim Wooyoung, Fun with Intel Transactional Synchronization Extensions, su software.intel.com, Intel, 25 luglio 2013. URL consultato il 15 novembre 2015.
- ^ (EN) Sebastien Dabdoub e Stephen Tu, Supporting Intel Transactional Synchronization Extensions in QEMU (PDF), su people.csail.mit.edu, Massachusetts Institute of Technology. URL consultato il 15 novembre 2018.