Project Details
Description
The advent of multicore processors has introduced new opportunities for achieving
increased software performance, reliability, security, and availability. However,
powerful dynamic execution monitoring capabilities are required to realize these
opportunities. This project addresses the challenges of developing a Dynamic
Binary Translation based monitoring framework for parallel applications running on
multicore systems. The programmability of the framework will enable realization of
benefits in achieving enhanced performance, reliability, security, and availability.
Some of the instrumentation code required in context of parallel applications
must be executed by a core in response to events that involve other cores. In particular,
events relevant to many performance, reliability, and security related tasks correspond
to the manifestation of interprocessor data dependences due to updates of shared
memory locations by multiple cores. Based upon this observation programmable
architectural mechanisms will be provided that not only enable the detection of
interprocessor dependence events but also enable the triggering of the execution of
application specific monitoring code. This project will then employ these mechanisms
for improving performance via speculative parallelism, enabling debugging via a
novel strategy of execution suppression, improving reliability via an approach that
allows applications to automatically recover from failures, providing security via
dynamic detection of mutating viruses, and software availability via dynamic updates.
Status | Finished |
---|---|
Effective start/end date | 9/1/10 → 8/31/14 |
Funding
- National Science Foundation: $734,040.00