zurück zum Artikel

glibc 2.18 unterstützt TSX Lock Elision

Julia Schmidt

Die Laufzeitbibliothek für C-Programme unterstützt in ihrer aktuellen Ausführung unter anderem Transactional Synchronization Extension und stellt ergänzende API-Funktionen zur Verfügung.

Version 2.18 der GNU C Library (glibc) steht zur Verfügung [1]. Die mit Blick auf Portabilität und hohe Performance entwickelte Laufzeitbibliothek für C-Programme findet in GNU- und den meisten Linux-Systemen Verwendung, wo sie Systemaufrufe und verschiedene grundlegende Funktionen (zum Beispiel malloc, open, printf) bereit stellt.

Mit den neuen API-Funktionen pthread_getattr_default_np und pthread_setattr_default_np lassen sich die voreingestellten pthread-Attribute eines Prozesses setzen und abfragen. Außerdem kann nun bei pthread-Mutexen auf i386- und x86-64-Systemen mit TSX Lock Elision gearbeitet werden. TSX steht für Transactional Synchronization Extensions und bezeichnet eine Erweiterung der x86-Architektur, die transaktionalen Speicher in Hardware unterstützt. Damit sollen sich Anwendungen mit mehreren Threads beschleunigen lassen. Befehle für TSX Lock Elision [2] zielen insbesondere darauf ab, Threads vor Mehrfachzugriff in entsprechenden Systemen zu schützen [3] (PDF), ohne aufgrund der Threadanzahl längere Wartezeiten zu generieren.

Um die Leistungsfähigkeit der Funktionen zu prüfen, ergänzten die Entwickler darüber hinaus ein Benchmark-Framework. Detailliertere Informationen zu den Neuerungen, zu denen auch Unterstützung für die POWER8-Plattform und für das Aufrufen eines thread_local-Objektdestruktoren beim Verlassen eines Threads oder Programms in C++11 zählen, sind in der Ankündigung zu finden. Im Downloadbereich [4] der Projektseite sind darüber hinaus Anweisungen zum Herunterladen gelistet. (jul [5])


URL dieses Artikels:
https://www.heise.de/-1935071

Links in diesem Artikel:
[1] http://lists.gnu.org/archive/html/info-gnu/2013-08/msg00003.html
[2] https://lwn.net/Articles/534758/
[3] http://www.intel.com/content/www/de/de/processors/xeon/xeon-lock-scaling-analysis-paper.html
[4] https://www.gnu.org/software/libc/download.html
[5] mailto:jul@heise.de