skip to main content
10.1145/1356058.1356083acmconferencesArticle/Chapter ViewAbstractPublication PagescgoConference Proceedingsconference-collections
research-article

Pipa: pipelined profiling and analysis on multi-core systems

Authors Info & Claims
Published:06 April 2008Publication History

ABSTRACT

Dynamic instrumentation systems are gaining popularity as means of constructing customized program profiling and analysis tools. However, dynamic instrumentation based analysis tools still suffer from performance problems. The overhead of such systems can be broken down into two components - the overhead of dynamic instrumentation and the time consumed in the user-defined analysis tools. While important progress has been made in reducing the performance penalty of the dynamic instrumentation itself, less attention has been paid to the user-defined component. In this paper, we present PiPA - Pipelined Profiling and Analysis, which is a novel technique for parallelizing dynamic program profiling and analysis by taking advantage of multi-core systems. We implemented a prototype of PiPA using the dynamic instrumentation system DynamoRIO. Our experiments show that PiPA is able to speed up the overall profiling and analysis tasks significantly. Compared to the more than 100x slowdown of Cachegrind and the 32x slowdown of Pin dcache, we achieved a mere 10.5x slowdown on an 8-core system.

References

  1. M. Arnold and B. G. Ryder. A framework for reducing the cost of instrumented code. In SIGPLAN Conference on Programming Language Design and Implementation, pages 168--179, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. V. Bala, E. Duesterwald, and S. Banerjia. Dynamo: a transparent dynamic optimization system. In PLDI '00: Proceedings of the ACM SIGPLAN 2000 Conference on Programming Language Design and Implementation, pages 1--12, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. D. Bruening. Efficient, Transparent, and Comprehensive Runtime Code Manipulation. PhD thesis, Massachusetts Institute of Technology, Sep. 2004. http://www.cag.csail.mit.edu/rio/. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. H. Chen, W.-C. Hsu, J. Lu, P.-C. Yew, and D.-Y. Chen. Dynamic trace selection using performance monitoring hardware sampling. In Proceedings of the First International Symposium on Code Generation and Optimization, pages 79--90, Washington, DC, USA, 2003. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. K. Ebcioglu and E. R. Altman. Daisy: dynamic compilation for 100% architectural compatibility. In Proceedings of the 24th International Symposium on Computer Architecture, pages 26--37, New York, NY, USA, 1997. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. V. Kiriansky, D. Bruening, and S. P. Amarasinghe. Secure Execution via Program Shepherding. In Proceedings of the 11th USENIX Security Symposium, pages 191--206, Berkeley, CA, USA, 2002. USENIX Association. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. J. R. Larus. Whole program paths. In PLDI '99: Proceedings of the ACM SIGPLAN 1999 Conference on Programming Language Design and Implementation, pages 259--269, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. C.-K. Luk, R. Cohn, R. Muth, H. Patil, A. Klauser,Google ScholarGoogle Scholar
  9. G. Lowney, S. Wallace, V. J. Reddi, and K. Hazelwood. Pin: building customized program analysis tools with dynamic instrumentation. In Proceedings of the SIGPLAN 2005 Conference on Programming Language Design and Implementation, pages 190--200, New York, NY, USA, 2005. Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. T. Moseley, A. Shye, V. Reddi, D. Grunwald, and R. Peri. Shadow profiling: Hiding instrumentation costs with parallelism. In CGO '07: Proceedings of the International Symposium on Code Generation and Optimization, pages 198--208, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. N. Nethercote and J. Seward. Valgrind: a framework for heavyweight dynamic binary instrumentation. In Proceedings of the SIGPLAN 2007 Conference on Programming Language Design and Implementation, pages 89--100, New York, NY, USA, 2007. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. G. A. Reis, J. Chang, N. Vachharajani, R. Rangan, and D. I. August. Swift: Software implemented fault tolerance. In Proceedings of the Third International Symposium on Code Generation and Optimization, pages 243--254, Washington, DC, USA, 2005. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Standard Performance Evaluation Corporation. SPEC CPU2000 benchmark suite, 2000. http://www.spec.org/osg/cpu2000/.Google ScholarGoogle Scholar
  14. S. Tallam, R. Gupta, and X. Zhang. Extended whole program paths. In PACT '05: Proceedings of the 14th International Conference on Parallel Architectures and Compilation Techniques, pages 17--26, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. S. Wallace and K. Hazelwood. Superpin: Parallelizing dynamic instrumentation for real--time performance. In CGO '07: Proceedings of the International Symposium on Code Generation and Optimization, pages 209--220, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Q. Zhao, R. Rabbah, S. Amarasinghe, L. Rudolph, and W.-F. Wong. Ubiquitous memory introspection. In CGO '07: Proceedings of the International Symposium on Code Generation and Optimization, pages 299--311, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Q. Zhao, J. E. Sim, W.-F. Wong, and L. Rudolph. DEP: Detailed Execution Profile. In PACT '06: Proceedings of the 15th International Conference on Parallel Architectures and Compilation Techniques, pages 154--163, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Pipa: pipelined profiling and analysis on multi-core systems

          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
          • Published in

            cover image ACM Conferences
            CGO '08: Proceedings of the 6th annual IEEE/ACM international symposium on Code generation and optimization
            April 2008
            235 pages
            ISBN:9781595939784
            DOI:10.1145/1356058

            Copyright © 2008 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 6 April 2008

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article

            Acceptance Rates

            CGO '08 Paper Acceptance Rate21of66submissions,32%Overall Acceptance Rate312of1,061submissions,29%

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader