Added MT compatible algorithm execution auditor.
This adds a new package containing an algorithm monitor which gathers per execution wall time, cpu cycles, branch misses, cache misses, and some information about locks like the number of mutexes being locked and the time or cycles it takes to acquire the lock. The cpu cycles, branch and cache misses are acquired using the linux performance counter via the linux perf event interface, The lock monitoring adds a significant overhead and requires to preload a special library which is provided.
This builds up on the first draft (MR !44117 (closed)). Some additional information can be found in the presentation given in SPOT #47, Monday 7 Jun 2021. The main change wrt. the initial draft is, that it was now moved into a separate package.
Edited by Goetz Gaycken