skip to main content
10.1145/1346281.1346306acmconferencesArticle/Chapter ViewAbstractPublication PagesasplosConference Proceedingsconference-collections
research-article

Hardware counter driven on-the-fly request signatures

Published:01 March 2008Publication History

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.

Skip Supplemental Material Section

Supplemental Material

Video

References

  1. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. C. Anley. Advanced SQL Injection in SQL Server Applications. Technical report, Next Generation Security Software Ltd., 2002.Google ScholarGoogle Scholar
  4. Ask.com Search Engine (formerly Ask Jeeves). http://www.ask.com.Google ScholarGoogle Scholar
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. 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 ScholarGoogle Scholar
  19. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. RUBiS: Rice University Bidding System. http://rubis.objectweb.org.Google ScholarGoogle Scholar
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  24. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  25. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  26. TPC Benchmark C. http://www.tpc.org/tpcc.Google ScholarGoogle Scholar
  27. TPC Benchmark H. http://www.tpc.org/tpch.Google ScholarGoogle Scholar
  28. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  29. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Hardware counter driven on-the-fly request signatures

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!