Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2786805.2786868acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
research-article

P3: partitioned path profiling

Published: 30 August 2015 Publication History

Abstract

Acyclic path profile is an abstraction of dynamic control flow paths of procedures and has been found to be useful in a wide spectrum of activities. Unfortunately, the runtime overhead of obtaining such a profile can be high, limiting its use in practice. In this paper, we present partitioned path profiling (P3) which runs K copies of the program in parallel, each with the same input but on a separate core, and collects the profile only for a subset of intra-procedural paths in each copy, thereby, distributing the overhead of profiling. P3 identifies “profitable” procedures and assigns disjoint subsets of paths of a profitable procedure to different copies for profiling. To obtain exact execution frequencies of a subset of paths, we design a new algorithm, called PSPP. All paths of an unprofitable procedure are assigned to the same copy. P3 uses the classic Ball-Larus algorithm for profiling unprofitable procedures. Further, P3 attempts to evenly distribute the profiling overhead across the copies. To the best of our knowledge, P3 is the first algorithm for parallel path profiling. We have applied P3 to profile several programs in the SPEC 2006 benchmark. Compared to sequential profiling, P3 substantially reduced the runtime overhead on these programs averaged across all benchmarks. The reduction was 23%, 43% and 56% on average for 2, 4 and 8 cores respectively. P3 also performed better than a coarse-grained approach that treats all procedures as unprofitable and distributes them across available cores. For 2 cores, the profiling overhead of P3 was on average 5% less compared to the coarse-grained approach across these programs. For 4 and 8 cores, it was respectively 18% and 25% less.

References

[1]
T. Apiwattanapong and M. J. Harrold. Selective path profiling. In Proceedings of the 2002 ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering, PASTE ’02, pages 35–42, New York, NY, USA, 2002. ACM.
[2]
T. Ball. Efficiently counting program events with support for on-line queries. ACM Trans. Program. Lang. Syst., 16(5):1399–1410, Sept. 1994.
[3]
T. Ball and J. R. Larus. Optimally profiling and tracing programs. ACM Transactions on Programming Languages and Systems, 16:1319–1360, July 1994.
[4]
T. Ball and J. R. Larus. Efficient path profiling. In Proceedings of the 29th Annual ACM/IEEE International Symposium on Microarchitecture, MICRO 29, pages 46–57, Washington, DC, USA, 1996. IEEE Computer Society.
[5]
S. Baswana, S. Roy, and R. Chouhan. Pertinent path profiling: Tracking interactions among relevant statements. In Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO), CGO ’13, pages 1–12, Washington, DC, USA, 2013. IEEE Computer Society.
[6]
M. D. Bond and K. S. McKinley. Practical path profiling for dynamic optimizers. In Proceedings of the International Symposium on Code Generation and Optimization, CGO ’05, pages 205–216, Washington, DC, USA, 2005. IEEE Computer Society.
[7]
J. Bowring, A. Orso, and M. J. Harrold. Monitoring deployed software using software tomography. In Proceedings of the 2002 ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering, PASTE ’02, pages 2–9, New York, NY, USA, 2002. ACM.
[8]
T. M. Chilimbi, B. Liblit, K. Mehra, A. V. Nori, and K. Vaswani. Holmes: Effective statistical debugging via efficient path profiling. In Proceedings of the 31st International Conference on Software Engineering, ICSE ’09, pages 34–44, Washington, DC, USA, 2009. IEEE Computer Society.
[9]
T. M. Chilimbi, A. V. Nori, and K. Vaswani. Quantifying the effectiveness of testing via efficient residual path profiling. In Proceedings of the the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on The Foundations of Software Engineering, ESEC-FSE ’07, pages 545–548, New York, NY, USA, 2007. ACM.
[10]
S. Debray and W. Evans. Profile-guided code compression. In Proceedings of the ACM SIGPLAN 2002 Conference on Programming Language Design and Implementation, PLDI ’02, pages 95–105, New York, NY, USA, 2002. ACM.
[11]
D. C. D’Elia and C. Demetrescu. Ball-larus path profiling across multiple loop iterations. In Proceedings of the 2013 ACM SIGPLAN International Conference on Object Oriented Programming Systems Languages & Applications, OOPSLA ’13, pages 373–390, New York, NY, USA, 2013. ACM.
[12]
M. Diep, M. Cohen, and S. Elbaum. Probe distribution techniques to profile events in deployed software. In Proceedings of the 17th International Symposium on Software Reliability Engineering, ISSRE ’06, pages 331–342, Washington, DC, USA, 2006. IEEE Computer Society.
[13]
M. D. Ernst, J. Cockrell, W. G. Griswold, and D. Notkin. Dynamically discovering likely program invariants to support program evolution. In Proceedings of the 21st International Conference on Software Engineering, ICSE ’99, pages 213–224, New York, NY, USA, 1999. ACM.
[14]
M. R. Garey and D. S. Johnson. Computers and Intractability: A Guide to the Theory of NP-Completeness. W. H. Freeman & Co., New York, NY, USA, 1979.
[15]
R. L. Graham. Bounds on multiprocessing timing anomalies. SIAM Journal on Applied Mathematics, 17(2):416–429, 1969.
[16]
J. L. Henning. Spec cpu2006 benchmark descriptions. ACM SIGARCH Computer Architecture News, 34(4):1–17, 2006.
[17]
J. A. Jones, M. J. Harrold, and J. Stasko. Visualization of test information to assist fault localization. In Proceedings of the 24th International Conference on Software Engineering, ICSE ’02, pages 467–477, New York, NY, USA, 2002. ACM.
[18]
R. Joshi, M. D. Bond, and C. Zilles. Targeted path profiling: Lower overhead path profiling for staged dynamic optimization systems. In Proceedings of the International Symposium on Code Generation and Optimization: Feedback-directed and Runtime Optimization, CGO ’04, pages 239–, Washington, DC, USA, 2004. IEEE Computer Society.
[19]
C. Lattner and V. Adve. LLVM: A compilation framework for lifelong program analysis and transformation. pages 75–88, San Jose, CA, USA, Mar 2004.
[20]
B. Li, L. Wang, and H. Leung. Profiling selected paths with loops. SCIENCE CHINA Information Sciences, 57(7):1–15, 2014.
[21]
D. Melski and T. W. Reps. Interprocedural path profiling. In Proceedings of the 8th International Conference on Compiler Construction, Held As Part of the European Joint Conferences on the Theory and Practice of Software, ETAPS’99, CC ’99, pages 47–62, London, UK, UK, 1999. Springer-Verlag.
[22]
C. Pavlopoulou and M. Young. Residual test coverage monitoring. In Proceedings of the 21st International Conference on Software Engineering, ICSE ’99, pages 277–284, New York, NY, USA, 1999. ACM.
[23]
D. Saha, P. Dhoolia, and G. Paul. Distributed program tracing. In Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering, ESEC/FSE 2013, pages 180–190, New York, NY, USA, 2013. ACM.
[24]
K. Vaswani, A. V. Nori, and T. M. Chilimbi. Preferential path profiling: Compactly numbering interesting paths. In Proceedings of the 34th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL ’07, pages 351–362, New York, NY, USA, 2007. ACM.

Cited By

View all
  • (2023)MarCNNet: A Markovian Convolutional Neural Network for Malware Detection and Monitoring Multi-Core SystemsIEEE Transactions on Computers10.1109/TC.2022.318452072:4(1122-1135)Online publication date: 1-Apr-2023
  • (2016)Zero-overhead profiling via EM emanationsProceedings of the 25th International Symposium on Software Testing and Analysis10.1145/2931037.2931065(401-412)Online publication date: 18-Jul-2016
  • (2016)Concise essence-preserving big data representation2016 IEEE International Conference on Big Data (Big Data)10.1109/BigData.2016.7841033(3662-3665)Online publication date: Dec-2016

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ESEC/FSE 2015: Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering
August 2015
1068 pages
ISBN:9781450336758
DOI:10.1145/2786805
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 30 August 2015

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Distributed
  2. Divide and Conquer
  3. Parallel
  4. Path Profiling

Qualifiers

  • Research-article

Conference

ESEC/FSE'15
Sponsor:

Acceptance Rates

Overall Acceptance Rate 112 of 543 submissions, 21%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)0
Reflects downloads up to 31 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2023)MarCNNet: A Markovian Convolutional Neural Network for Malware Detection and Monitoring Multi-Core SystemsIEEE Transactions on Computers10.1109/TC.2022.318452072:4(1122-1135)Online publication date: 1-Apr-2023
  • (2016)Zero-overhead profiling via EM emanationsProceedings of the 25th International Symposium on Software Testing and Analysis10.1145/2931037.2931065(401-412)Online publication date: 18-Jul-2016
  • (2016)Concise essence-preserving big data representation2016 IEEE International Conference on Big Data (Big Data)10.1109/BigData.2016.7841033(3662-3665)Online publication date: Dec-2016

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media