PULSE 2020DanalisAnthonyJagodeHeike2020<p>The PAPI Unifying Layer for Software-defined Events (PULSE) project
focuses on enabling cross-layer and integrated monitoring of whole
application performance by extending PAPI with the capability to expose
performance metrics from key software components found in the HPC
software stack. Up to this point, the abstraction and standardization
layer provided by PAPI has been limited to profiling information
generated by hardware only. Information about the behavior of the
underlying software stack had to be acquired either through low-level
binary instrumentation or through custom APIs.</p>
<p>To overcome this shortfall, PULSE is extending the abstraction and
unification layer that PAPI has provided for hardware events to also
encompass software events. On one end, PULSE offers a standard,
well-defined and well-documented API that high-level profiling software
can utilize to acquire performance information about the libraries used
by an application and present it to the application developers. On the
other end, it provides standard APIs that library and runtime writers
can utilize to communicate information about the behavior of their
software to higher software layers.</p>