• DocumentCode
    1783336
  • Title

    F2C2-STM: Flux-Based Feedback-Driven Concurrency Control for STMs

  • Author

    Ravichandran, Krishnan ; Pande, S.

  • Author_Institution
    Coll. of Comput., Georgia Inst. of Technol., Atlanta, GA, USA
  • fYear
    2014
  • fDate
    19-23 May 2014
  • Firstpage
    927
  • Lastpage
    938
  • Abstract
    Software Transactional Memory (STM) systems provide an easy to use programming model for concurrent code and have been found suitable for parallelizing many applications providing performance gains with minimal programmer effort. With increasing core counts on modern processors one would expect increasing benefits. However, we observe that running STM applications on higher core counts is sometimes, in fact, detrimental to performance. This is due to the larger number of conflicts that arise with a larger number of parallel cores. As the number of cores available on processors steadily rise, a larger number of applications are beginning to exhibit these characteristics. In this paper we propose a novel dynamic concurrency control technique which can significantly improve performance (up to 50%) as well as resource utilization (up to 85%) for these applications at higher core counts. Our technique uses ideas borrowed from TCP´s network congestion control algorithm and uses self-induced concurrency fluctuations to dynamically monitor and match varying concurrency levels in applications while minimizing global synchronization. Our flux-based feedback-driven concurrency control technique is capable of fully recovering the performance of the best statically chosen concurrency specification (as chosen by an oracle) regardless of the initial specification for several real world applications. Further, our technique can actually improve upon the performance of the oracle chosen specification by more than 10% for certain applications through dynamic adaptation to available parallelism. We demonstrate our approach on the STAMP benchmark suite while reporting significant performance and resource utilization benefits. We also demonstrate significantly better performance when comparing against state of the art concurrency control and scheduling techniques. Further, our technique is programmer friendly as it requires no changes to application code and no offline phases.
  • Keywords
    concurrency control; parallel programming; scheduling; F2C2-STM; STAMP benchmark suite; TCP network congestion control algorithm; application code; concurrency levels; concurrent code; core counts; dynamic concurrency control technique; flux-based feedback-driven concurrency control technique; global synchronization minimization; parallel cores; programming model; scheduling techniques; self-induced concurrency fluctuations; software transactional memory system; Benchmark testing; Concurrency control; Concurrent computing; Instruction sets; Logic gates; Resource management; Throughput; concurrency control; feedback-driven; software transactional memory; transactions;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel and Distributed Processing Symposium, 2014 IEEE 28th International
  • Conference_Location
    Phoenix, AZ
  • ISSN
    1530-2075
  • Print_ISBN
    978-1-4799-3799-8
  • Type

    conf

  • DOI
    10.1109/IPDPS.2014.99
  • Filename
    6877323