ABSTRACT
Today's processors provide a rich source of statistical informationon application execution through hardware counters. In this paper, we explore the utilization of these statistics as request signaturesin server applications for identifying requests and inferring high-level request properties (e.g., CPU and I/O resource needs). Our key finding is that effective request signatures may be constructed using a small amount of hardware statistics while the request is still in an early stage of its execution. Such on-the-fly request identification and property inference allow guided operating system adaptation at request granularity (e.g., resource-aware request scheduling and on-the-fly request classification). We address the challenges of selecting hardware counter metrics for signature construction and providing necessary operating system support for per-request statistics management. Our implementation in the Linux 2.6.10 kernel suggests that our approach requires low overhead suitable for runtime deployment. Our on-the-fly request resource consumption inference (averaging 7%, 3%, 20%, and 41% prediction errors for four server workloads, TPC-C, TPC-H, J2EE-based RUBiS, and a trace-driven index search, respectively) is much more accurate than the online running-average based prediction (73-82% errors). Its use for resource-aware request scheduling results in a 15-70% response time reduction for three CPU-bound applications. Its use for on-the-fly request classification and anomaly detection exhibits high accuracy for the TPC-H workload with synthetically generated anomalous requests following a typical SQL-injection attack pattern.
Supplemental Material
Available for Download
Supplemental material for Hardware counter driven on-the-fly request signatures
- M.K. Aguilera, J.C. Mogul, J.L. Wiener, P. Reynolds, and A. Muthitacharoen. Performance Debugging for Distributed Systems of Black Boxes. In Proc. of the 19th ACM Symp. on Operating Systems Principles, pages 74--89, Bolton Landing, NY, October 2003. Google Scholar
Digital Library
- J.M. Anderson, L.M. Berc, J. Dean, S. Ghemawat, M.R. Henzinger, S.A. Leung, R.L. Sites, M.T. Vandevoorde, C.A. Waldspurger, and W.E. Weihl. Continuous Profiling: Where Have All the Cycles Gone? ACM Trans. on Computer Systems, 15(4):357--390, November 1997. Google Scholar
Digital Library
- C. Anley. Advanced SQL Injection in SQL Server Applications. Technical report, Next Generation Security Software Ltd., 2002.Google Scholar
- Ask.com Search Engine (formerly Ask Jeeves). http://www.ask.com.Google Scholar
- R. Azimi, M. Stumm, and R. W. Wisniewski. Online Performance Analysis by Statistical Sampling of Microprocessor Performance Counters. In Proc. of the 19th ACM Conf. on Supercomputing, pages 101--110, Cambridge, MA, June 2005. Google Scholar
Digital Library
- G. Banga, P. Druschel, and J.C. Mogul. Resource Containers: A New Facility for Resource Management in Server Systems. In Proc. of the Third USENIX Symp. on Operating Systems Design and Implementation, pages 45--58, New Orleans, LA, February 1999. Google Scholar
Digital Library
- N. Bansal and M. Harchol-Balter. Analysis of SRPT Scheduling: Investigating Unfairness. In Proc. of the ACM SIGMETRICS, pages 279--290, Cambridge, MA, June 2001. Google Scholar
Digital Library
- P. Barham, A. Donnelly, R. Isaacs, and R. Mortier. Using Magpie for Request Extraction and Workload Modeling. In Proc. of the 6th USENIX Symp. on Operating Systems Design and Implementation, pages 259--272, San Francisco, CA, December 2004. Google Scholar
Digital Library
- J.M. Blanquer, A. Batchelli, K. Schauser, and R. Wolski. Quorum: Flexible Quality of Service for Internet Services. In Proc. of the Second USENIX Symp. on Networked Systems Design and Implementation, pages 159--174, Boston, MA, May 2005. Google Scholar
Digital Library
- J.B. Bulpin and I.A. Pratt. Hyper-Threading Aware Process Scheduling Heuristics. In Proc. of the USENIX Annual Technical Conf., pages 103--106, Anaheim, CA, April 2005. Google Scholar
Digital Library
- J.S. Chase, D.C. Anderson, P.N. Thakar, A.M. Vahdat, and R.P. Doyle. Managing Energy and Server Resources in Hosting Centers. In Proc. of the 18th ACM Symp. on Operating Systems Principles, pages 103--116, Banff, Canada, October 2001. Google Scholar
Digital Library
- M. Chen, A. Accardi, E. Kiciman, J. Lloyd, D. Patterson, A. Fox, and E. Brewer. Path-Based Failure and Evolution Management. In Proc. of the First USENIX Symp. on Networked Systems Design and Implementation, pages 309--322, San Francisco, CA, March 2004. Google Scholar
Digital Library
- I. Cohen, S. Zhang, M. Goldszmidt, J. Symons, T. Kelly, and A. Fox. Capturing, Indexing, Clustering, and Retrieving System History. In Proc. of the 20th ACM Symp. on Operating Systems Principles, pages 105--118, Brighton, United Kingdom, October 2005. Google Scholar
Digital Library
- A.S. Dhodapkar and J.E. Smith. Managing Multi-Configuration Hardware via Dynamic Working Set Analysis. In Proc. of the 29th Int'l Symp. on Computer Arch., pages 233--244, Anchorage, AL, May 2002. Google Scholar
Digital Library
- E. Duesterwald, C. Cascaval, and S. Dwarkadas. Characterizing and Predicting Program Behavior and its Variability. In Proc. of the Int'l Conf. on Parallel Arch. and Compilation Tech., pages 220--231, New Orleans, LA, September 2003. Google Scholar
Digital Library
- L. Eeckhout, H. Vandierendonck, and K.D. Bosschere. Workload Design: Selecting Representative Program-Input Pairs. In Proc. of Int'l Conf. on Parallel Arch. and Compilation Tech., pages 83--94, Charlottesville, VA, September 2002. Google Scholar
Digital Library
- C. Gniady, A.R. Butt, and Y.C. Hu. Program-Counter-Based Pattern Classification in Buffer Caching. In Proc. of the 6th USENIX Symp. on Operating Systems Design and Implementation, pages 395--408, San Francisco, CA, December 2004. Google Scholar
Digital Library
- W.G.J. Halfond, J. Viegas, and A. Orso. A Classification of SQL Injection Attacks and Countermeasures. In Int'l Symp. on Secure Software Engineering, Arlington, VA, March 2006.Google Scholar
- M. Harchol-Balter, B. Schroeder, N. Bansal, and M. Agrawal. Size-Based Scheduling to Improve Web Performance. ACM Trans. on Computer Systems, 21(2):207--233, May 2003. Google Scholar
Digital Library
- RUBiS: Rice University Bidding System. http://rubis.objectweb.org.Google Scholar
- L.E. Schrage and L.W. Miller. The Queue M/G/1 with the Shortest Remaining Processing Time Discipline. Operations Research, 14(4):670--684, 1966.Google Scholar
Digital Library
- K. Shen, H. Tang, T. Yang, and L. Chu. Integrated Resource Management for Cluster-based Internet Services. In Proc. of the 5th USENIX Symp. on Operating Systems Design and Implementation, pages 225--238, Boston, MA, December 2002. Google Scholar
Digital Library
- T. Sherwood, S. Sair, and B. Calder. Phase Tracking and Prediction. In Proc. of the 30th Int'l Symp. on Computer Arch., pages 336--349, San Diego, CA, June 2003. Google Scholar
Digital Library
- C. Stewart and K. Shen. Performance Modeling and System Management for Multi-component Online Services. In Proc. of the Second USENIX Symp. on Networked Systems Design and Implementation, pages 71--84, Boston, MA, May 2005. Google Scholar
Digital Library
- P.F. Sweeney, M. Hauswirth, B. Cahoon, P. Cheng, A. Diwan, D. Grove, and M. Hind. Using Hardware Performance Monitors to Understand the Behaviors of Java Applications. In Proc. of the Third USENIX Virtual Machine Research and Technology Symp., pages 57--72, San Jose, CA, May 2004. Google Scholar
Digital Library
- TPC Benchmark C. http://www.tpc.org/tpcc.Google Scholar
- TPC Benchmark H. http://www.tpc.org/tpch.Google Scholar
- R. von Behren, J. Condit, F. Zhou, G. C. Necula, and E. Brewer. Capriccio: Scalable Threads for Internet Services. In Proc. of the 19th ACM Symp. on Operating Systems Principles, pages 268--281, Bolton Landing, NY, October 2003. Google Scholar
Digital Library
- X. Zhang, S. Dwarkadas, G. Folkmanis, and K. Shen. Processor Hardware Counter Statistics As A First-Class System Resource. In Proc. of the 11th Workshop on Hot Topics in Operating Systems, San Diego, CA, May 2007. Google Scholar
Digital Library
Index Terms
Hardware counter driven on-the-fly request signatures
Recommendations
Hardware counter driven on-the-fly request signatures
ASPLOS '08Today's processors provide a rich source of statistical informationon application execution through hardware counters. In this paper, we explore the utilization of these statistics as request signaturesin server applications for identifying requests and ...
Hardware counter driven on-the-fly request signatures
ASPLOS '08Today's processors provide a rich source of statistical informationon application execution through hardware counters. In this paper, we explore the utilization of these statistics as request signaturesin server applications for identifying requests and ...
Hardware counter driven on-the-fly request signatures
ASPLOS '08Today's processors provide a rich source of statistical informationon application execution through hardware counters. In this paper, we explore the utilization of these statistics as request signaturesin server applications for identifying requests and ...









Comments