Transactional Memory für Intels Haswell-Prozessor

Intels nächste Prozessorgeneration Haswell wird als zweiter Prozessor nach IBMs BlueGene/Q Transactional Memory in Hardware unterstützten. Das Programming Reference dafür kann man jetzt bei Intel herunterladen.

In Pocket speichern vorlesen Druckansicht 37 Kommentare lesen
Lesezeit: 1 Min.
Von
  • Andreas Stiller

Intels nächste Prozessorgeneration Haswell wird als zweiter Prozessor nach IBMs BlueGene/Q Transactional Memory in Hardware unterstützten. Diese vor zwei Monaten im Prozessorgeflüster schon vorab verratene Tatsache bestätigte Intels Software-Experte James Reinders in seinem Blog.

TSX: Transactional Synchronization Extentions, so heißt die Befehlserweiterung, deren Berschreibung man jetzt als bei Intel in der Neufassung der "Intel Architecture Instruction Set Extensions, Programming Reference" herunterladen kann (PDF). Mit TSX soll die Synchronisation zwischen Threads verbessert und vor allem beschleunigt werden. Threads müssen sich bei Zugriffen auf gemeinsame Bereiche miteinander synchronisieren, was viel Zeit kosten kann. Bei Transactional Memory arbeiten die Threads stattdessen zunächst einmal unsynchronisiert und erst beim "Commit" wird überprüft, ob es einen Konflikt gegeben hat. In dem Fall muss die Transaktion verworfen und wiederholt werden, aber das ist vergleichsweise selten.

Konzepte in Software (STM) gibt es schon lange, doch die sind bislang zumeist zu ineffizient. Intels TSX bieten dem Programmierer zwei Schnittstellen: Hardware Lock Elison (HLE) mit den neuen Präfixen XACQUIRE und XRELEASE sowie eine Variante namens Restricted Transactional Memoyr RTM, die die neuen Instruktionen XBEGIN, XEND und XABORT bietet. HLE ist die klassische Form, die sich in bestehende Programmkonzepte mit "mutual exclusion" leicht einbringen lässt, RTM ist flexibler, erfordert aber eine Neufassung des Konzepts. (as)