Fastlane: Streamlining transactions for low thread counts - Archive ouverte HAL Accéder directement au contenu
Communication Dans Un Congrès Année : 2012

Fastlane: Streamlining transactions for low thread counts

Résumé

Software transactional memory (STM) can lead to scalable implementations of concurrent programs, as the relative performance of an application increases with the number of threads that support it. However, the absolute performance is typically impaired by the overheads of transaction management and instrumented accesses to shared memory. This often leads STM-based programs with low thread counts to perform worse than a sequential, non-instrumented version of the same application. In this paper, we propose FASTLANE, a new STM system that bridges the performance gap between sequential execution and classical STM algorithms when running on few cores. FASTLANE seeks to reduce instrumentation costs and thus performance degradation in its target operation range. We introduce a family of algorithms that differentiate between two types of threads: One thread (the master) is allowed to commit transactions without aborting, thus with minimal instrumentation and management costs, while other threads (the helpers) can commit transactions only when they do not conflict with the master. Helpers thus contribute to the application progress without impairing on the performance of the master. We implement FASTLANE within a state-of-the-art STM runtime and compiler. Multiple code paths are produced for execution on a single, few, and many cores. Applications can dynamically select a variant at runtime, depending on the number of cores available for execution. Preliminary evaluation results indicate that our approach provides promising performance at low thread counts: FASTLANE almost systematically wins over a classical STM in the 2-4 threads range, and often performs better than sequential execution of the non-instrumented version of the same application. We believe that performance can still be improved by additional optimizations and tuning of the FASTLANE algorithms.
Fichier non déposé

Dates et versions

hal-00779921 , version 1 (22-01-2013)

Identifiants

  • HAL Id : hal-00779921 , version 1

Citer

Jons T. Wamhoff, Chistof Fetzer, Pascal Felber, Étienne Rivière, Gilles Muller. Fastlane: Streamlining transactions for low thread counts. TRANSACT 2012 - 7th ACM SIGPLAN Workshop on Transactional Computing, Feb 2012, New Orleans, LA, United States. pp.1-8. ⟨hal-00779921⟩
175 Consultations
0 Téléchargements

Partager

Gmail Facebook X LinkedIn More