The electronic revolution started in the late 1960s has already profoundly impacted our daily lives both at home
and in the office. Online electronic services are now intensively used for communications (wired and wireless
telephone, text messaging, voice and video over IP), shopping, entertainment (multiplayer games) and
information gathering. This revolution is accelerating and reaching much farther than anticipated. New services
now include online third and fourth generation mobile devices acting as telephone, Internet gateway, music
player, camera and geographical navigation system.
All these new services rely on an increasingly sophisticated infrastructure composed of powerful servers with
numerous clients taking the form of desktop or mobile devices, and more importantly the system and
networking software. Computer central processing units have evolved from simple processors to multi-core
systems. Finding performance, timing or functional problems, or detecting security breaches, is increasingly
difficult with these sophisticated high performance networked systems. Because suitably fast and accurate
tracing and monitoring tools are not available, this results in longer development cycles, operations and
maintenance support nightmares, or poorly optimized systems.
The aim of this project is to develop techniques and algorithms to provide a suitable software achitecture for
low overhead tracing and monitoring tools for these complex distributed multi-core systems. The tools will
enable operators to trace the complete software stack, from hypervisor to operating system, virtual execution
engine and user applications. Sophisticated trace analysis tools will detect patterns of faulty behavior, and
associate the trace events to a model of the computer system or service in order to explain how the total
execution time is spent.