• DocumentCode
    169088
  • Title

    DeTrans: Deterministic and Parallel execution of Transactions

  • Author

    Smiljkovic, Vesna ; Stipic, Srdan ; Fetzer, Christof ; Unsal, Ozan ; Cristal, Adrian ; Valero, M.R.

  • Author_Institution
    Barcelona Supercomput. Center, Barcelona, Spain
  • fYear
    2014
  • fDate
    22-24 Oct. 2014
  • Firstpage
    152
  • Lastpage
    159
  • Abstract
    Deterministic execution of a multithreaded application guarantees the same output as long as the application runs with the same input parameters. Determinism helps a programmer to test and debug an application and to provide fault-tolerance in the systems based on replicas. Additionally, Transactional Memory (TM) greatly simplifies development of multithreaded applications where applications use transactions (instead of locks) as a concurrency control mechanism to synchronize accesses to shared memory. However, deterministic systems proposed so far are not TM-aware. They violate the main properties of TM (atomicity, consistency and isolation of transactions), and execute TM applications incorrectly. In this paper, we present DeTrans, a runtime system for deterministic execution of multithreaded TM applications. DeTrans executes TM applications deterministically, it executes nontransactional code serially in round-robin order, and transactional code in parallel. Also, we show how DeTrans works with both eager and lazy software TM. We compare DeTrans with Dthreads, a state-of-the-art deterministic execution system. Unlike Dthreads, DeTrans does not use memory protection hardware nor facilities of the underlying operating system (OS) to execute multithreaded applications deterministically. DeTrans uses properties of software TM to ensure deterministic execution. We evaluate DeTrans using the STAMP benchmark suite and we compare DeTrans and Dthreads performance costs. DeTrans incurs less overhead because threads execute in the same address space without any OS system calls overhead. According to our results, DeTrans is 3.99x, 3.39x, 2.44x faster on average than Dthreads for 2, 4 and 8 threads, respectively.
  • Keywords
    concurrency control; multi-threading; operating systems (computers); transaction processing; STAMP benchmark suite; TM; concurrency control mechanism; deterministic execution system; fault-tolerance; multithreaded application; nontransactional code; operating system; parallel execution; runtime system; transactional memory; Arrays; Benchmark testing; Computer bugs; Instruction sets; Libraries; Synchronization; determinism; multithreading; transactional memory;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Computer Architecture and High Performance Computing (SBAC-PAD), 2014 IEEE 26th International Symposium on
  • Conference_Location
    Jussieu
  • ISSN
    1550-6533
  • Type

    conf

  • DOI
    10.1109/SBAC-PAD.2014.20
  • Filename
    6970659