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

Branch-on-random

Published: 06 April 2008 Publication History

Abstract

We propose a new instruction, branch-on-random, that is like a standard conditional branch, except rather than specifying the condition on which the branch should be taken, it specifies a frequency at which the branch should be taken. We show that branch-on-random is useful for reducing the overhead of program instrumentation, via sampling. Specifically, branch-on-random provides an order-of-magnitude reduction in execution time overhead compared to previously proposed software-only frameworks for instrumentation sampling.
Furthermore, we demonstrate that branch-on-random can be cleanly architected and implemented simply and efficiently. For simple processors, we estimate that branch-on-random can be implemented with 20 bits of state and less than 100 gates; for aggressive superscalars, this grows to less than 100 bits of state and at most a few hundred gates.

References

[1]
. Alpern et al. The Jalapenovirtual machine. IBM Systems Journal, 39(1):211--238, 2000.
[2]
. Anderson, L. Berc, J. Dean, S. Ghemawat,M. Henzinger, S.--T. Leung, R. Sites, M. T. Vandevoorde, C. A. Waldspurger, and W. E. Weihl. Continuous profiling: Where have all the cycles gone? In Proc. 16th Symposium on Operating System Principles, Oct.1997.
[3]
. Arnold and B. G. Ryder. A framework for reducing the cost of instrumented code. In PLDI, pages168--179, 2001.
[4]
. M. Blackburn, R. Garner, C. Hoffman, A. M. Khan, K. S.McKinley, R. Bentzur, A. Diwan, D. Feinberg, D. Frampton, S. Z. Guyer,M. Hirzel, A. Hosking, M. Jump, H. Lee, J. E. B. Moss, A. Phansalkar,D. Stefanovic, T. VanDrunen, D. von Dincklage, and B. Wiedermann. The DaCapo benchmarks: Java benchmarking development and analysis. In OOPSLA ’06: Proceedings of the 21st annual ACM SIGPLAN conference on Object-Oriented Programing, Systems, Languages, andApplications, New York, NY, USA, Oct. 2006. ACM Press.
[5]
. E. P. Box, W. G. Hunter, and J. S.Hunter. Statistics for Experimenters. John Wiley and Sons, 1978.
[6]
. J. Bridges, N. Vachharajani, Y. Zhang,T. Jablin, and D. I. August. Revisiting the sequential programming model for multi-core. In Proceedings of the 40th IEEE/ACM International Symposium on Microarchitecture, Dec. 2007.
[7]
. Burrows, U. Erlingson,S.-T. Leung, M. T. Vandevoorde, C. A. Waldspurger, K. Walker, and W. E. Weihl. Efficient and flexible value sampling. In Proceedingsof the Ninth International Conference on Architectural Support for ProgrammingLanguages and Operating Systems, pages 160--167, Nov. 2000.
[8]
. Calder, P. Feller, and A. Eustace. Value profiling. In Proceedings of the30th Annual IEEE/ACM International Symposium on Microarchitecture, pages 259--269, Dec. 1997.
[9]
. Chou and J. P. Shen. Instructionpath coprocessors. In Proceedings of the 27th AnnualInternational Symposium on Computer Architecture, June 2000.
[10]
. Dean. Personal communication, Aug. 2007.
[11]
. Dean, J. E. Hicks, C. A. Waldspurger,W. E. Weihl, and G. Z. Chrysos. Profileme: Hardware support forinstruction--level profiling on out-of-order processors. In Proceedings of the 30th Annual IEEE/ACM International Symposium on Microarchitecture, pages 292--302, Dec. 1997.
[12]
. Diefendorff. Power4focuses on memory bandwidth. Microprocessor Report,13(13):1--8, Oct. 1999.
[13]
. A. Fields, S. Rubin, and R. Bodik. Focusing Processor Policies via Critical-Path Prediction. In Proceedings of the 28th Annual International Symposium on Computer Architecture, pages 74--85, July 2001.
[14]
. W. Golumb. Shift RegisterSequences. Aegean Park Press, revised edition, 1982.
[15]
. Hauswirth, P. F. Sweeney, A. Diwan,and M. Hind. Vertical profiling: Understanding the behavior ofobject--oriented applications. In Proceedings of the Conferenceon Object-Oriented Programming, Systems, Languages and Application (OOPSLA),Oct. 2004.
[16]
. H. Heil and J. E. Smith. Relationalprofiling: Enabling thread level parallelism in virtual machines. In Proceedings of the 33rd Annual IEEE/ACM International Symposium onMicroarchitecture, pages 281--290, Dec. 2000.
[17]
. K. Hollingsworth, B. P. Miller, andJ. Cargille. Dynamic program instrumentation for scalable performancetools. Technical Report CS-TR-1994-1207, University of Wisconsin,Madison, 1994.
[18]
Intel Corporation. VTune PerformanceAnalyzer.
[19]
. O. Kephart and D. M. Chess. Thevision of autonomic computing. Computer, 36(1):41--52, 2003.
[20]
. Konemann. LFSR--coded testpatterns for scan designs. In Proceedings of European Test Conference, pages 237--242, 1991.
[21]
. Lau, M. Arnold, M. Hind, and B. Calder. Online performance auditing: using hot optimizations without getting burned. ACM SIGPLAN Notices, 41(6):239--251, 2006.
[22]
. J. Mauer, M. D. Hill, and D. A. Wood. Full system timing--first simulation. In Proceedings ofthe 2002 ACM Sigmetrics Conference on Measurement and Modeling of Computer Systems, pages 108--116, June 2002.
[23]
. P. Miller, M. D. Callaghan, J. M. Cargille, J. K.Hollingsworth, R. B. Irvin, K. L. Karavanic, K. Kunchithapadam, and T. Newhall. The Paradyn parallel performance measurement tool. IEEE Computer, 28(11):37--46, 1995.
[24]
. Moshovos. RegionScout: Exploiting Coarse Grain Sharing in Snoop--Based Coherence. Proceedings ofthe 32nd Annual International Symposium on Computer Architecture, pages234--245, 2005.
[25]
. Motwani and P. Raghavan. Randomized algorithms. ACM Comput.Surv., 28(1):33--37, 1996.
[26]
. Neelakantam, R. Rajwar, S. Srinivas,U. Srinivasan, and C. Zilles. Hardware atomicity for reliable software speculation. In ISCA ’07: Proceedings of the 34th annual international symposium on Computer architecture, pages 174--185, NewYork, NY, USA, 2007. ACM.
[27]
. Riley and C. Zilles. Probabilistic counter updates for predictor hysteresis and stratification. In Proceedings of the Twelfth IEEE Symposium on High-Performance Computer Architecture, Feb. 2006.
[28]
. Silas et al. System level validation of the Intel Pentium-M processor. Intel Technology Journal, 7(2):37--43, 2003.
[29]
. Smith. Overcoming the Challengesof Feedback-Directged Optiization. In Proc. Proc. ACM SIGPLAN Workshop on Dynamic and Adaptive Compilation and Optimization (Dynamo’00),Jan. 2000.
[30]
. Traub, S. Schechter,and M. D. Smith. Ephemeral instrumentation for lightweight program proling. Technical report, Harvard University, 1999.
[31]
Virtutech AB. Simics full system simulator. http://www.simics.com/.
[32]
. C. Yeager. The MIPSR10000 superscalar microprocessor. IEEE Micro, 16(2):28--40,Apr. 1996.
[33]
. T. Yourst. Ptlsim: A cycle accurate full system x86--64 microarchitectural simulator. In Proceedings of the 2007 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS), Apr. 2007.
[34]
. B. Zilles and N. Neelakantam. Reactive techniques for controlling software speculation. In Proceedingsof the International Symposium on Code Generation and Optimization, 2005.

Cited By

View all
  • (2018)Architectural support for probabilistic branchesProceedings of the 51st Annual IEEE/ACM International Symposium on Microarchitecture10.1109/MICRO.2018.00018(108-120)Online publication date: 20-Oct-2018
  • (2012)Code shreddingProceedings of the 28th Annual Computer Security Applications Conference10.1145/2420950.2420996(309-318)Online publication date: 3-Dec-2012
  • (2011)Reducing biased lock revocation by learningProceedings of the 6th Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems10.1145/2069172.2069179(1-10)Online publication date: 26-Jul-2011
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

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
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: 06 April 2008

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. branch
  2. instrumentation
  3. lfsr
  4. profiling
  5. pseudo-random
  6. sampling

Qualifiers

  • Research-article

Conference

CGO '08

Acceptance Rates

CGO '08 Paper Acceptance Rate 21 of 66 submissions, 32%;
Overall Acceptance Rate 312 of 1,061 submissions, 29%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)1
Reflects downloads up to 14 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2018)Architectural support for probabilistic branchesProceedings of the 51st Annual IEEE/ACM International Symposium on Microarchitecture10.1109/MICRO.2018.00018(108-120)Online publication date: 20-Oct-2018
  • (2012)Code shreddingProceedings of the 28th Annual Computer Security Applications Conference10.1145/2420950.2420996(309-318)Online publication date: 3-Dec-2012
  • (2011)Reducing biased lock revocation by learningProceedings of the 6th Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems10.1145/2069172.2069179(1-10)Online publication date: 26-Jul-2011
  • (2010)Sampling-based program execution monitoringACM SIGPLAN Notices10.1145/1755951.175590845:4(133-142)Online publication date: 13-Apr-2010
  • (2010)Sampling-based program execution monitoringProceedings of the ACM SIGPLAN/SIGBED 2010 conference on Languages, compilers, and tools for embedded systems10.1145/1755888.1755908(133-142)Online publication date: 13-Apr-2010

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media