Fastlane: Streamlining transactions for low thread counts

Abstract : 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.
Type de document :
Communication dans un congrès
TRANSACT 2012 - 7th ACM SIGPLAN Workshop on Transactional Computing, Feb 2012, New Orleans, LA, United States. ACM, 2012, 〈http://transact2012.cse.lehigh.edu/〉
Liste complète des métadonnées

https://hal.inria.fr/hal-00779921
Contributeur : Gilles Muller <>
Soumis le : mardi 22 janvier 2013 - 17:10:46
Dernière modification le : jeudi 11 janvier 2018 - 06:20:06

Identifiants

  • HAL Id : hal-00779921, version 1

Collections

Citation

Jons 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. ACM, 2012, 〈http://transact2012.cse.lehigh.edu/〉. 〈hal-00779921〉

Partager

Métriques

Consultations de la notice

228