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 Chen | 1 | 560 | 29.44 |
Phillip B. Gibbons | 2 | 6863 | 624.14 |
Michael Kozuch | 3 | 465 | 61.00 |
Todd C. Mowry | 4 | 3021 | 253.75 |