Tuesday March 02, 2010
Hamerschlag Hall D-210
Instruction-grain lifeguards monitor the events of a running application at the level of individual instructions in order to identify and help mitigate application bugs and security exploits. However, most existing lifeguards focus on single-threaded applications and can be difficult to parallelize, since they must be aware of the relative orderings of memory accesses and other events issued by concurrent threads. In this talk I will present ParaLog, the first design of a system enabling fast online parallel monitoring of multithreaded applications. We identify and solve several challenges in monitoring parallel applications, including (i) enforcing inter-thread data depen-dences, (ii) dealing with inter-thread effects that are not reflected in coherence traffic, (iii) ensuring lifeguards can access shared metadata with negligible syn-chronization overheads and (iv) designing general-purpose hardware accelerators able to work in a multithreaded environment, lowering monitoring overhead. We implement and evaluate our design on a 16 core simulated CMP, using benchmarks from SPLASH-2 and PARSEC and two lifeguards: a data-flow tracking lifeguard and a memory-access checker lifeguard, showing at least a 5X speedup over existing techniques.
Evangelos Vlachos is a 4th year PhD student at Carnegie Mellon (ECE), ad-vised by Todd Mowry. His research in-terests lie in the area of computer ar-chitecture and specifically in hardware support for increasing debugging ability in modern systems.