Profiling-as-a-Service: Adaptive Scalable Resource Profiling for the Cloud in the Cloud

  • Nima Kaviani
  • Eric Wohlstadter
  • Rodger Lea
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7084)

Abstract

Runtime profiling of Web-based applications and services is an effective method to aid in the provisioning of required resources, for monitoring service-level objectives, and for detecting implementation defects. Unfortunately, it is difficult to obtain accurate profile data on live client workloads due to the high overhead of instrumentation. This paper describes a cloud-based profiling service for managing the tradeoffs between: (i) profiling accuracy, (ii) performance overhead, and (iii) costs incurred for cloud computing platform usage. We validate our cloud-based profiling service by applying it to an open-source e-commerce Web application.

Keywords

Cloud Computing Resource Monitoring Application Profiling 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Amza, C., Chanda, A., Cox, A., Elnikety, S., Gil, R., Rajamani, K., Zwaenepoel, W., Cecchet, E., Marguerite, J.: Specification and implementation of dynamic Web site benchmarks. In: IEEE International Workshop on Workload Characterization, pp. 3–13 (November 2002)Google Scholar
  2. 2.
    Arnold, M., Ryder, B.G.: A framework for reducing the cost of instrumented code. In: Proceedings of the ACM SIGPLAN 2001 Conference on Programming Language Design and Implementation, PLDI 2001, pp. 168–179. ACM, New York (2001)CrossRefGoogle Scholar
  3. 3.
    Baresi, L., Guinea, S., Pasquale, L.: Integrated and Composable Supervision of BPEL Processes. In: Bouguettaya, A., Krueger, I., Margaria, T. (eds.) ICSOC 2008. LNCS, vol. 5364, pp. 614–619. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  4. 4.
    Brear, D., Weise, T., Wiffen, T., Yeung, K., Bennett, S., Kelly, P.: Search strategies for java bottleneck location by dynamic instrumentation. IEE Proceedings - Software 150(4), 235–241 (2003)CrossRefGoogle Scholar
  5. 5.
    Bruneton, E., Lenglet, R., Coupaye, T.: ASM: A code manipulation tool to implement adaptable systems. In: Adaptable and Extensible Component Systems, Grenoble, France (November 2002)Google Scholar
  6. 6.
    Cecchet, E., Chanda, A., Elnikety, S., Marguerite, J., Zwaenepoel, W.: Performance Comparison of Middleware Architectures for Generating Dynamic Web Content. In: Endler, M., Schmidt, D.C. (eds.) Middleware 2003. LNCS, vol. 2672, pp. 242–261. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  7. 7.
    Dmitriev, M.: Profiling Java applications using code hotswapping and dynamic call graph revelation. ACM Sigsoft Softwre Engineering Notes 29(1), 139–150 (2004)CrossRefGoogle Scholar
  8. 8.
    Hauswirth, M., Chilimbi, T.M.: Low-overhead memory leak detection using adaptive statistical profiling. In: Proceedings of the 11th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS-XI, pp. 156–164. ACM, New York (2004)Google Scholar
  9. 9.
    Hirzel, M., Chilimbi, T.: Bursty tracing: A framework for low-overhead temporal profiling. In: The 4th ACM Workshop on Feedback-Directed and Dynamic Optimization (FDDO4), pp. 117–126 (2001)Google Scholar
  10. 10.
    Kiciman, E., Livshits, B.: AjaxScope: a platform for remotely monitoring the client-side behavior of web 2.0 applications. In: Proceedings of Twenty-First ACM SIGOPS Symposium on Operating Systems Principles, SOSP 2007, pp. 17–30. ACM, New York (2007)CrossRefGoogle Scholar
  11. 11.
    Luk, C.K., Cohn, R.S., Muth, R., Patil, H., Klauser, A., Lowney, P.G., Wallace, S., Reddi, V.J., Hazelwood, K.M.: Pin: building customized program analysis tools with dynamic instrumentation. In: Proceedings of Programming Language Design and Implementation Conference, pp. 190–200. ACM (2005)Google Scholar
  12. 12.
    Miller, B.P., Callaghan, M.D., Cargille, J.M., Hollingsworth, J.K., Irvin, R.B., Karavanic, K.L., Kunchithapadam, K., Newhall, T.: The Paradyn Parallel Performance Measurement Tool. IEEE Computer 28(11), 37–46 (1995)CrossRefGoogle Scholar
  13. 13.
    Newsome, J., Song, D.: Dynamic taint analysis for automatic detection, analysis, and signature generation of exploits on commodity software. In: Network and Distributed System Security Symposium, NDSS (2005)Google Scholar
  14. 14.
    Systems, I.B.: Jrockit (August 2008), http://www.bea.com/jrockit/
  15. 15.
    Wallace, S., Hazelwood, K.: Superpin: Parallelizing dynamic instrumentation for real-time performance. In: Proceedings of the International Symposium on Code Generation and Optimization, CGO 2007, pp. 209–220. IEEE Computer Society Press, Washington, DC, USA (2007)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Nima Kaviani
    • 1
  • Eric Wohlstadter
    • 1
  • Rodger Lea
    • 2
  1. 1.Department of Computer ScienceUniversity of British ColumbiaVancouverCanada
  2. 2.Department of Electrical and Computer EngineeringUniversity of British ColumbiaVancouverCanada

Personalised recommendations