2 research outputs found
Automatic Atomic Region Identification in Shared Memory SPMD Programs ∗
This paper presents TransFinder, a compile-time tool that automatically determines which statements of an unsynchronized multithreaded program must be enclosed in atomic regions to enforce conflict-serializability. Unlike previous tools, TransFinder requires no programmer input (beyond the program) and is more efficient in both time and space. Our implementation shows that the generated atomic regions range from being identical to, or smaller than, the programmer-specified transactions in the three Java Grande benchmarks considered, and in five of the eight STAMP benchmarks considered, while still providing identical synchronization semantics and results. The generated atomic regions are between 5 and 38 lines larger in the three remaining STAMP benchmarks. In the most conservative case, TransFinder can, based on the program structure, successfully identify and suggest an alternative that conforms exactly to the programmer-specified atomic regions. By generating small, highly-targeted, conflict-serializable atomic regions, TransFinder allows the programmer to focus further tuning efforts on only a small portion of the code (when further tuning is needed)
Objektorientierte Stromprogrammierung
Diese Arbeit stellt das Gesamtkonzept der objektorientierten Stromprogrammierung vor. Ziel ist es, die Implementierung und Optimierung paralleler Anwendungen für Multikernrechner zu vereinfachen. Es werden Spracherweiterungen eingeführt, welche von Ausführungsfäden und expliziter Synchronisierung abstrahieren. Darauf aufbauend ermöglicht ein eigenes Laufzeitsystem die Optimierung von Stromprogrammen im Produktivbetrieb, ohne dass ein Einwirken des Programmierers erforderlich ist