Using Influence in Understanding Complex Systems

Posted in Companies, Development on April 24, 2009

When a complex production system fails or has some less severe but still undesirable behavior, often the debugging technique of first resort is to examine system logs or other passively gathered signals that might hold important clues about the nature of the problem. By its very nature, this data is normally noisy and incomplete. We define a statistical notion of "influence" between components that deals gracefully with this situation. Intuitively, two components influence each other if their behavior is statistically correlated, and we can often show correlation even if the available data is insufficient to show why the components might affect one another. We show how to compute influence, how to present influence in a useful form as a Structure of Influence Graph among components, and give an extended example of the application of these ideas to a real system.

We would also like to apply these ideas to more systems, and would enjoy discussing possible collaborations with anyone who has interesting systems to study.

This is joint work with Adam Oliner.

Presented by Alex Aiken

Alex Aiken received his Bachelors degree in Computer Science and Music from Bowling Green State University in 1983 and his Ph.D. from Cornell University in 1988. Alex was a Research Staff Member at the IBM Almaden Research Center (1988-1993) and a Professor in the EECS department at UC Berkeley (1993-2003) before joining the Stanford faculty in 2003. He is an ACM Fellow, a recipient of Phi Beta Kappa's Teaching Award, and a former National Young Investigator.

Google Tech Talk
April 22, 2009

Watch Video

Tags: Google, Debugging, production, Talk, tech, Development, Companies, systems, influence