Kempf, StefanVeldema, RonaldPhilippsen, Michael2017-06-292017-06-292013Software-Transactional-Memory (STM) erleichtert das parallele Programmieren jedoch hat STM noch einen zu hohen Laufzeitaufwandda gegenseitiger Ausschluss beim Zugriff auf gemeinsame Daten meist mittels einer Lock-Tabelle fester Größe realisiert wird. Für Programme mit wenigen konkurrierenden Zugriffen und überwiegend Lesezugriffen ist diese Tabelle größer als notwendig, so dass beim Commit einer Transaktion mehr Locks zur Konsistenzprüfung zu inspizieren sind als nötig. Für große Datenmengen ist die Tabelle zu klein. Dann begrenzt False-Sharing (unterschiedliche Adressen werden auf das gleiche Lock abgebildet) die Parallelität, da sogar unabhängige Transaktionen sich gegenseitig ausschließen. Diese Arbeit beschreibt eine Technikdie die Lock-Tabelle bei False-Sharing vergrößert. Zusätzlich kann ein Programmierer mit Annotationen unterschiedliche Lock-Tabellen für voneinander unabhängige Daten verlangen, was die Möglichkeit von False-Sharing und den Speicherbedarf für die Locks weiter verringert In Benchmarks erreichen wir einen maximalen Speedup von 10.3 gegenüber TL2wobei die Lock-Tabelle bis zu 1024 mal kleiner ist.deReduktion von False-Sharing in Software-Transactional-MemoryText/Journal Article0177-0454