Abstract
In this paper, we present DetLock, a runtime system to ensure deterministic execution of multithreaded programs running on multicore systems. DetLock does not rely on any hardware support or kernel modification to ensure determinism. For tracking the progress of the threads, logical clocks are used. Unlike previous approaches, which rely on non-portable hardware to update the logical clocks, DetLock employs a compiler pass to insert code for updating these clocks, thus increasing portability. For 4 cores, the average overhead of these clocks on tested benchmarks is brought down from 16 to 2 % by applying several optimizations. Moreover, the average overall overhead, including deterministic execution, is 14 %.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Basu A, Bobba J, Hill MD (2011) Karma: scalable deterministic record-replay. In: ICS ’11. ACM, New York, p 359–368
Bergan T, Anderson O, Devietti J, Ceze L, Grossman D (2010) Coredet: a compiler and runtime system for deterministic multithreaded execution. SIGARCH Comput Archit News 38:53–64
Bienia C, Kumar S, Singh JP, Li K (2008) The parsec benchmark suite: characterization and architectural implications. In: PACT ’08. ACM, New York, p 72–81
Devietti J, Lucia B, Ceze L, Oskin M (2009) Dmp: deterministic shared memory multiprocessing. In: ASPLOS ’09. ACM, New York, p 85–96
Edwards SA, Tardieu O (2005) Shim: a deterministic model for heterogeneous embedded systems. In: EMSOFT ’05. ACM, New York, p 264–272
Hower DR, Hill MD (2008) Rerun: exploiting episodes for lightweight memory race recording. In: ISCA ’08. IEEE Computer Society, Washington, DC, p 265–276
Hower D, Dudnik P, Hill M, Wood D (2011) Calvin: deterministic or not? free will to choose. In: HPCA ’11. p 333–334
Lattner C, Adve V (2004) LLVM: a compilation framework for lifelong program analysis & transformation. In: CGO’ 04. Palo Alto
Lee D, Wester B, Veeraraghavan K, Narayanasamy S, Chen PM, Flinn J (2010) Respec: Efficient online multiprocessor replay via speculation and external determinism. In: ASPLOS’10. p 77–89
Mushtaq H, Al-Ars Z, Bertels K (2011) Survey of fault tolerance techniques for shared memory multicore/multiprocessor systems. In: IDT ’11. p 12–17
Mushtaq H, Al-Ars Z, Bertels K (2012) DetLock: portable and efficient deterministic execution for shared memory multicore systems. In: MuCoCoS ’12, Salt Lake City
Nethercote N, Seward J (2007) Valgrind: a framework for heavyweight dynamic binary instrumentation. In: Proceedings of the 2007 programming language design and implementation conference
Olszewski M, Ansel J, Amarasinghe S (2009) Kendo: efficient deterministic multithreading in software. SIGPLAN Not 44:97–108
Thies W, Karczmarek M, Amarasinghe SP (2002) Streamit: a language for streaming applications. In: CC ’02. Springer-Verlag, London, p 179–196
Tongping Liu EDB, Curtsinger Charlie (2011) Dthreads: efficient deterministic multithreading. In: SOSP ’11
Weaver V, Dongarra J (2010) Can hardware performance counters produce expected, deterministic results? In: FHPM ’10. Atlanta
Woo SC, Ohara M, Torrie E, Singh JP, Gupta A (1995) The splash-2 programs: characterization and methodological considerations. SIGARCH Comput Archit News 23:24–36
Acknowledgments
This research has been funded by the projects Smecy 100230, iFEST 100203 and REFLECT 248976.
Author information
Authors and Affiliations
Corresponding author
Additional information
In this paper, we extended DetLock, whose paper was published in MuCoCos 2012 affiliated with SC12. In this journal paper, we further improve the performance of DetLock by applying several more optimizations. Furthermore, we evaluated the performance with several more benchmarks.
Rights and permissions
About this article
Cite this article
Mushtaq, H., Al-Ars, Z. & Bertels, K. Efficent and highly portable deterministic multithreading (DetLock). Computing 96, 1131–1147 (2014). https://doi.org/10.1007/s00607-013-0370-9
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00607-013-0370-9