vPath: Precise Discovery of Request Processing Paths from Black-Box Observations of Thread and Network Activities

Discovering end-to-end request-processing paths is crucial in many modern IT environments for reasons varying from debugging and bottleneck analysis to billing and auditing. Existing solutions for this problem fall into two broad categories: statistical inference and intrusive instrumentation. The statistical approaches infer request-processing paths in a "most likely" way and their accuracy degrades as the workload increases. The instrumentation approaches can be accurate, but they are system dependent as they require knowledge (and often source code) of the application as well as time and effort from skilled programmers. We have developed a discovery technique called vPath that overcomes these shortcomings. Unlike techniques using statistical inference, vPath provides precise path discovery, by monitoring thread and network activities and reasoning about their causality. Unlike techniques using intrusive instrumentation, vPath is implemented in a virtual machine monitor, making it agnostic of the overlying middleware or application. Our evaluation using a diverse set of applications (TPC-W, RUBiS, MediaWiki, and the home-grown vApp) written in different programming languages (C, Java, and PHP) demonstrates the generality and accuracy of vPath as well as its low overhead. For example, turning on vPath affects the throughput and response time of TPC-W by only 6%.

[1]  Wayne D. Smith,et al.  TPC-W: Benchmarking An Ecommerce Solution , 2001 .

[2]  Eric A. Brewer,et al.  USENIX Association Proceedings of HotOS IX : The 9 th Workshop on Hot Topics in Operating Systems , 2003 .

[3]  David E. Culler,et al.  SEDA: an architecture for well-conditioned, scalable internet services , 2001, SOSP.

[4]  Eric A. Brewer,et al.  Pinpoint: problem determination in large, dynamic Internet services , 2002, Proceedings International Conference on Dependable Systems and Networks.

[5]  Samuel T. King,et al.  Backtracking intrusions , 2003, SOSP '03.

[6]  Richard Mortier,et al.  Using Magpie for Request Extraction and Workload Modelling , 2004, OSDI.

[7]  José E. Moreira,et al.  Performance Studies of a WebSphere Application, Trade, in Scale-out and Scale-up Environments , 2007, 2007 IEEE International Parallel and Distributed Processing Symposium.

[8]  Marcos K. Aguilera,et al.  Performance debugging for distributed systems of black boxes , 2003, SOSP '03.

[9]  Malgorzata Steinder,et al.  A scalable application placement controller for enterprise data centers , 2007, WWW '07.

[10]  Chun Zhang,et al.  A Temporal Data-Mining Approach for Discovering End-to-End Transaction Flows , 2008, 2008 IEEE International Conference on Web Services.

[11]  Julio César López-Hernández,et al.  Stardust: tracking activity in a distributed storage system , 2006, SIGMETRICS '06/Performance '06.

[12]  Thomas Erl,et al.  Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services , 2004 .

[13]  Yi Huang,et al.  Discovering Conversations in Web Services Using Semantic Correlation Analysis , 2007, IEEE International Conference on Web Services (ICWS 2007).

[14]  Vivek S. Pai,et al.  Proceedings of the General Track: 2004 Usenix Annual Technical Conference Making the " Box " Transparent: System Call Performance as a First-class Result , 2022 .

[15]  David A. Patterson,et al.  Path-Based Failure and Evolution Management , 2004, NSDI.

[16]  Vivek S. Pai,et al.  Understanding and Addressing Blocking-Induced Network Server Latency , 2006, USENIX Annual Technical Conference, General Track.

[17]  Christopher Stewart,et al.  Performance modeling and system management for multi-component online services , 2005, NSDI.

[18]  Marcos K. Aguilera,et al.  WAP5: black-box performance debugging for wide-area systems , 2006, WWW '06.

[19]  Anima Anandkumar,et al.  Tracking in a spaghetti bowl: monitoring transactions using footprints , 2008, SIGMETRICS '08.

[20]  George C. Necula,et al.  Capriccio: scalable threads for internet services , 2003, SOSP '03.

[21]  Bikram Sengupta,et al.  Tracking transaction footprints for non-intrusive end-to-end monitoring , 2008, 2008 International Conference on Autonomic Computing.

[22]  Serge Mankovskii,et al.  Service Oriented Architecture , 2009, Encyclopedia of Database Systems.

[23]  Amin Vahdat,et al.  Pip: Detecting the Unexpected in Distributed Systems , 2006, NSDI.

[24]  Eyal de Lara,et al.  The taser intrusion recovery system , 2005, SOSP '05.

[25]  Xiao Zhang,et al.  Hardware counter driven on-the-fly request signatures , 2008, ASPLOS.

[26]  Willy Zwaenepoel,et al.  Flash: An efficient and portable Web server , 1999, USENIX Annual Technical Conference, General Track.

[27]  Andrew Warfield,et al.  Xen and the art of virtualization , 2003, SOSP '03.

[28]  Andrew Warfield,et al.  Live migration of virtual machines , 2005, NSDI.