Transparent, lightweight application execution replay on commodity multiprocessor operating systems

Oren Laadan, Nicolas Viennot, Jason Nieh
<span title="">2010</span> <i title="ACM Press"> <a target="_blank" rel="noopener" href="https://fatcat.wiki/container/v56cuxdvkrfj7m43mos56qvlui" style="color: black;">Proceedings of the ACM SIGMETRICS international conference on Measurement and modeling of computer systems - SIGMETRICS &#39;10</a> </i> &nbsp;
We present S, the first system to provide transparent, lowoverhead application record-replay and the ability to go live from replayed execution. S introduces new lightweight operating system mechanisms, rendezvous and sync points, to efficiently record nondeterministic interactions such as related system calls, signals, and shared memory accesses. Rendezvous points make a partial ordering of execution based on system call dependencies sufficient for replay, avoiding the recording
more &raquo; ... ead of maintaining an exact execution ordering. Sync points convert asynchronous interactions that can occur at arbitrary times into synchronous events that are much easier to record and replay. We have implemented S without changing, relinking, or recompiling applications, libraries, or operating system kernels, and without any specialized hardware support such as hardware performance counters. It works on commodity Linux operating systems, and commodity multi-core and multiprocessor hardware. Our results show for the first time that an operating system mechanism can correctly and transparently record and replay multi-process and multi-threaded applications on commodity multiprocessors. S recording overhead is less than 2.5% for server applications including Apache and MySQL, and less than 15% for desktop applications including Firefox, Acrobat, OpenOffice, parallel kernel compilation, and movie playback.
<span class="external-identifiers"> <a target="_blank" rel="external noopener noreferrer" href="https://doi.org/10.1145/1811039.1811057">doi:10.1145/1811039.1811057</a> <a target="_blank" rel="external noopener" href="https://dblp.org/rec/conf/sigmetrics/LaadanVN10.html">dblp:conf/sigmetrics/LaadanVN10</a> <a target="_blank" rel="external noopener" href="https://fatcat.wiki/release/w6uhmwdc3bgrjbmp2d4x3n3yxi">fatcat:w6uhmwdc3bgrjbmp2d4x3n3yxi</a> </span>
<a target="_blank" rel="noopener" href="https://web.archive.org/web/20170809005551/http://viennot.biz/sigmetrics2010_scribe.pdf" title="fulltext PDF download" data-goatcounter-click="serp-fulltext" data-goatcounter-title="serp-fulltext"> <button class="ui simple right pointing dropdown compact black labeled icon button serp-button"> <i class="icon ia-icon"></i> Web Archive [PDF] <div class="menu fulltext-thumbnail"> <img src="https://blobs.fatcat.wiki/thumbnail/pdf/72/65/72657b0428f9b8f705546eb5a9147203a534d8f6.180px.jpg" alt="fulltext thumbnail" loading="lazy"> </div> </button> </a> <a target="_blank" rel="external noopener noreferrer" href="https://doi.org/10.1145/1811039.1811057"> <button class="ui left aligned compact blue labeled icon button serp-button"> <i class="external alternate icon"></i> acm.org </button> </a>