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
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;
Conference_Titel :
Computer Architecture and High Performance Computing (SBAC-PAD), 2014 IEEE 26th International Symposium on
Conference_Location :
Jussieu
DOI :
10.1109/SBAC-PAD.2014.20