Title
Log-based architectures: using multicore to help software behave correctly
Abstract
While application performance and power-efficiency are both important, application correctness is even more important. In other words, if the application is misbehaving, it is little consolation that it is doing so quickly or power-efficiently. In the Log-Based Architectures (LBA) project, we are focusing on a challenging source of application misbehavior: software bugs, including obscure bugs that only cause problems during security attacks. To help detect and fix software bugs, we have been exploring techniques for accelerating dynamic program monitoring tools, which we call "lifeguards". Lifeguards are typically written today using dynamic binary instrumentation frameworks such as Valgrind or Pin. Due to the overheads of binary instrumentation, lifeguards that require instructiongrain information typically experience 30X-100X slowdowns, and hence it is only practical to use them during explicit debug cycles. The goal in the LBA project is to reduce these overheads to the point where lifeguards can run continuously on deployed code. To accomplish this, we propose hardware mechanisms to create a dynamic log of instruction-level events in the monitored application and stream this information to one or more software lifeguards running on separate cores on the same multicore processor. In this paper, we highlight techniques and features of LBA that reduce the slowdown to just 2%--51% for sequential programs and 28%--51% for parallel programs.
Year
DOI
Venue
2011
10.1145/1945023.1945034
Operating Systems Review
Keywords
Field
DocType
log-based architecture,dynamic program monitoring tool,program monitoring,application performance,software lifeguard,lifeguards,monitored application,parallel monitoring,log-based architectures,application correctness,application misbehavior,software bugs,dynamic binary instrumentation,software bug,lba project,dynamic log,power efficiency,multicore processors
Computer science,Correctness,Software bug,Real-time computing,Software,Multi-core processor,Energy consumption,Operating system,Debugging,Embedded system,Binary number,Overhead (business)
Journal
Volume
Issue
Citations 
45
1
6
PageRank 
References 
Authors
0.46
29
4
Name
Order
Citations
PageRank
Shimin Chen156029.44
Phillip B. Gibbons26863624.14
Michael Kozuch346561.00
Todd C. Mowry43021253.75