The Log-Based Architectures (LBA) project focuses on developing extensions for many-core processors that enable efficient logging and extraction of run time execution events and demonstrating the benefits of such extensions for performance, debugging, security, and recovery.
An early application of this technology is the acceleration of dynamic correctness-checking tools (also known as "lifeguards" in this context). Software lifeguards have been used only during the debugging phase of the software development cycle because of their high runtime overhead (slowing down main applications by a factor of 10-100 times). However, these tools will be of great value for programs deployed in the field.
One of the goals of the LBA project is to reduce the overhead of
lifeguards sufficiently to make feasible the inclusion of lifeguards in
the standard runtime of deployed systems. To this end, the proposed LBA
extensions accelerate the performance of lifeguard tools by providing
more efficient access to interesting events for the program-under-test.
The perceived runtime overhead can be reduced further in multicore
applications by leveraging on-die cores that would otherwise be idle for
the execution of the lifeguard.