Nothing Special   »   [go: up one dir, main page]

skip to main content
research-article
Open access

Leveraging Strength-Based Dynamic Information Flow Analysis to Enhance Data Value Prediction

Published: 01 March 2012 Publication History

Abstract

Value prediction is a technique to increase parallelism by attempting to overcome serialization constraints caused by true data dependences. By predicting the outcome of an instruction before it executes, value prediction allows data dependent instructions to issue and execute speculatively, hence increasing parallelism when the prediction is correct. In case of a misprediction, the execution is redone with the corrected value. If the benefit from increased parallelism outweighs the misprediction recovery penalty, overall performance could be improved. Enhancing performance with value prediction therefore requires highly accurate prediction methods. Most existing general value prediction techniques are local, that is, future outputs of an instruction are predicted based on outputs from previous executions of the same instruction.
In this article, we investigate leveraging strength-based dynamic information flow analysis to enhance data value prediction. We use dynamic information flow analysis (DIFA) to determine when a specific value predictor can perform well and even outperform other predictors. We apply information theory to mathematically prove the validity and benefits of correlating value predictors. We also introduce the concept of the linear value predictors, a new technique that predicts a new value from another one using a linear relation. We finally present a variant of stride predictor that we call update stride.
We then conduct an empirical analysis using Pin, a dynamic binary instrumentation tool, and DynFlow, a dynamic information flow analysis tool, that we apply to programs from the SPECjvm2008 and Siemens benchmarks. Our empirical measurements support our mathematical theory and allow us to make important observations on the relation between predictability of data values and information flow. Our analysis and empirical results show that the values of a set of selected variables can be predicted with a very high accuracy, up to 100%. Such prediction is based on the previous history and/or the values of one or more other source variables that have strong information flow into the predicted variable. Using our selection criteria, we show that a DIFA-directed predictor outperforms hardware value prediction for all subject programs, and sometimes by a significant margin. This was observed even when using an ideal tagged hardware value prediction table that does not suffer from aliasing or capacity misses.

References

[1]
Ahuja, P. S., Skadron, K., Martonosi, M., and Clark, D. W. 1998. Multi-path execution: Opportunities and limits. In Proceedings of the 12th International Conference on Supercomputing. 101--108.
[2]
Akkary, H. and Driscoll, M. A. 1998. A dynamic multithreading processor. In Proceedings of the Annual ACM/IEEE International Symposium on Microarchitecture.
[3]
Akkary, H., Jothi, K., Retnamma, R., Nekkalapu, S., Hall, D., and Shahidzadeh, S. 2008. On the potential of latency tolerant execution in speculative multithreading. In Proceedings of the International Forum on Next-Generation Multicore/Manycore Technologies.
[4]
Akkary, H., Srinivasan, S. T., and Lai, K. 2003. Recycling waste: Exploiting wrong-path execution to improve branch prediction. In Proceedings of the International Conference on Supercomputing. 12--21.
[5]
Al-Zawawi, A. S., Reddy, V. K., Rotenberg, E., and Akkary, H. 2007. Transparent Control Independence (TCI). In Proceedings of the 34th Annual International Symposium on Computer Architecture.
[6]
Allison, P. D. 1998. Multiple Regression: A Primer. Sage Publications Inc.
[7]
Austin, T. M. and Sohi, G. S. 1992. Dynamic dependency analysis of ordinary programs. In Proceedings of the 19th Annual International Symposium on Computer Architecture. 342--351.
[8]
Bishop, M. 2002. Computer Security: Art and Science. Addison-Wesley Professional.
[9]
Burtscher, M. and Zorn, B. G. 1999. Exploring last n value prediction. In Proceedings of the International Conference on Parallel Architectures and Compilation Techniques. 66--76.
[10]
Burtscher, M. and Zorn, B. 2002. Hybrid load-value predictors. IEEE Trans. Comput. 51, 759--774.
[11]
Butler, M., Yeh, T., Patt, Y., Alsup, M., Scales, H., and Shebanow, M. 1991. Single instruction stream parallelism is greater than two. In Proceedings of the 18th Annual International Symposium on Computer Architecture. 276--286.
[12]
Calder, B., Reinman, G., and Tullsen, D. M. 1999. Selective value prediction. In Proceedings of the 26th Annual International Symposium on Computer Architecture.
[13]
Chrysos, G. Z. and Emer, J. S. 1998. Memory dependence prediction using store sets. In Proceedings of the 25th Annual International Symposium on Computer Architecture.
[14]
Cover, T. M. and Thomas, J. A. 1991. Elements of Information Theory. Wiley, New York.
[15]
Denning, D. E. 1982. Cryptography and Data Security. Addison-Wesley.
[16]
Do, H., Elbaum, S., and Rothermel, G. 2005. Supporting controlled experimentation with testing techniques: An infrastructure and its potential impact. Empir. Softw. Engin. 10, 4, 405--435.
[17]
Eickemeyer, R. J. and Vassiliadis, S. 1993. A load instruction unit for pipelined processors. IBM J. Resear. Devel. 37, 4, 547--564.
[18]
Ellis, J. R. 1986. Bulldog: A Compiler for VLIW Architectures. MIT Press.
[19]
Fano, R. M. 1961. Transmission of Information: A Statistical Theory of Communications. MIT Press.
[20]
Franklin, M. 1993. The multiscalar architecture. Ph.D. thesis, University of Wisconsin.
[21]
Gabbay, F. and Mendelson, A. 1997. Can program profiling support value prediction? In Proceedings of the 30th Annual ACM/IEEE International Symposium on Microarchitecture. 270--280.
[22]
Gandhi, A., Akkary, H., and Srinivasan, S. 2004. Reducing branch misprediction penalty via selective branch recovery. In Proceedings of the 10th International Symposium on High-Performance Computer Architecture.
[23]
Ganusov, I. and Burtscher, M. 2006. Future execution: A prefetching mechanism that uses multiple cores to speed up single threads. ACM Trans. Archit. Code Optim. 3, 424--449.
[24]
Ghandour, W. J. 2009. Dynamic control independence predictor for speculative multithreading processors. Contemp. Engin. Sci. 2, 517--534.
[25]
Ghandour, W. J., Akkary, H., and Masri, W. 2010. The potential of using dynamic information flow analysis in data value prediction. In Proceedings of the International Conference on Parallel Architectures and Compilation Techniques (PACT’10). 431--442
[26]
Goeman, B., Vandierendonck, H., and Bosschere, K. D. 2001. Differential fcm: Increasing value prediction accuracy by improving table usage efficiency. In Proceedings of the 7th International Symposium on High-Performance Computer Architecture. 207--216.
[27]
Hu, S., Bhargava, R., and John, L. K. 2003. The role of return value prediction in exploiting speculative method-level parallelism. J. Instruct.-Lev. Paral. 5, 1--21.
[28]
Hwu, W. W. 1995. Compiling for ilp processors. Proc. IEEE 83, 12.
[29]
Intel. 2006. Intel Itanium architecture software developers manual. Document number: 245319-005.
[30]
Kachigan, S. 1986. Statistical Analysis: An Interdisciplinary Introduction to Univariate and Multivariate Methods. Radius Press.
[31]
Kirman, N., Kirman, M., Chaudhuri, M., and Martinez, J. F. 2005. Checkpointed early load retirement. In Proceedings of the 11th International Symposium on High-Performance Computer Architecture. 16--27.
[32]
Krus, D. J. 2006. Visual Statistics with Multimedia. Chapter 14, visualstatistics.net.
[33]
Kwak, J. W. and Jhon, C. S. 2007. Dynamic per-branch history length adjustment to improve branch prediction accuracy. Microprocess. Microsyst. 31, 1, 63--76.
[34]
Lam, M. S. and Wilson, R. P. 1992. Limits of control flow on parallelism. In Proceedings of the 19th Annual International Symposium on Computer Architecture. 46--57.
[35]
Lipasti, M., Wilkerson, C., and Shen, J. 1996. Value locality and load value prediction. In Proceedings of the 7th Conference on Architectural Support for Programming Languages and Operating Systems. 138--147.
[36]
Lipasti, M. H. and Shen, J. P. 1996. Exceeding the dataflow limit via value prediction. In Proceedings of the 29th Annual ACM/IEEE International Symposium and Workshop on Microarchitecture. 226--237.
[37]
Luk, C., Cohn, R., Muth, R., Patil, H., Klauser, A., Lowney, G., Wallace, S., Reddi, V. J., and Hazelwood, K. 2005. Pin: Building customized program analysis tools with dynamic instrumentation. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI’05).
[38]
Marcuello, P., Tubella, J., and Gonzelez, A. 1999. Value prediction for speculative multithreaded architectures. In Proceedings of the 32nd International Symposium on Microarchitecture.
[39]
Marcuello, P., Gonzalez, A., and Tubella, J. 2004. Thread partitioning and value prediction for exploiting speculative thread-level parallelism. IEEE Trans. Comput. 53, 2, 114--125.
[40]
Masri, W. and Podgurski, A. 2006. An empirical study of the strength of information flows in programs. In Proceedings of the International Workshop on Dynamic Analysis. 73--80.
[41]
Masri, W. and Podgurski, A. 2009a. Algorithms and tool support for dynamic information flow analysis. Inf. Softw. Technol. 51, 2, 385--404.
[42]
Masri, W. and Podgurski, A. 2009b. Measuring the strength of information flows in programs. ACM Trans. Softw. Engin. Methodol. 19, 2.
[43]
Masri, W., Podgurski, A., and Leon, D. 2004. Detecting and debugging insecure information flows. In Proceedings of the 15th IEEE International Symposium on Software Reliability Engineering.
[44]
Masri, W., Podgurski, A., and Leon, D. 2007. An empirical study of test case filtering techniques based on exercising information flows. IEEE Trans. Softw. Engin. 33, 454--477.
[45]
Mohan, W. and Franklin, M. 1992. Improving data value prediction accuracy using path correlation. In Proceedings of the 5th International Conference on Architectural Support for Programming Languages and Operating Systems. 76--84.
[46]
Montoye, R. K., Hokenek, E., and Runyon, S. L. 1990. Design of the ibm risc system/6000 floating-point execution unit. IBM J. Resear. Devel. 34, 1, 59--70.
[47]
Moshovos, A. I. 1998. Memory dependence prediction. Ph.D. thesis, Computer Sciences Department, University of Wisconsin, Madison.
[48]
Moshovos, A. and Sohi, G. S. 2002. Reducing memory latency via read-after-read memory dependence prediction. IEEE Trans. Comput. 51, 3, 313--326.
[49]
Moshovos, A., Breach, S. E., Vijaykumar, T. N., and Sohi, G. 1997. Dynamic speculation and synchronization of memory dependences. In Proceedings of the 24th Annual ACM/IEEE Conference on Computer Architecture.
[50]
Nakra, T., Gupta, R., and Soffa, M. L. 1999. Global context-based value prediction. In Proceedings of the 5th International Symposium on High-Performance Computer Architecture.
[51]
Oplinger, J., Heine, D., and Lam, M. 1999. In search of speculative thread-level parallelism. In Proceedings of the 8th International Conference on Parallel Architectures Compilation Techniques.
[52]
Papworth, D. B. 1996. Tuning the pentium pro microarchitecture. IEEE Micro 16, 8--15.
[53]
Pickett, C. J. F. and Verbrugge, C. 2004a. Compiler analyses for improved return value prediction. Tech. rep. SABLETR-2004-6, Sable Research Group, School of Computer Science, McGill University.
[54]
Pickett, C. J. F. and Verbrugge, C. 2004b. Return value prediction in a java virtual machine. In Proceedings of the 2nd Value-Prediction and Value-Based Optimization Workshop.
[55]
Rychlik, B., Faistl, J., Krug, B., and Shen, J. P. 1998. Efficacy and performance impact of value prediction. In Proceedings of the International Conference on Parallel Architectures and Compilation Techniques (PACT’98). 148--154.
[56]
Sam, N. B. and Burtscher, M. 2005. Complex load-value predictors: Why we need not bother. In Proceedings of the 4th Annual Workshop on Duplicating, Deconstructing, and Debunking. 16--24.
[57]
Sazeides, Y. 2002. Modeling value prediction. In Proceedings of the 8th International Symposium on High-Performance Computer Architecture.
[58]
Sazeides, Y. and Smith, J. 1997a. Implementations of context-based value predictors. Tech. rep., ECE-TR-97-8, University of Wisconsin, Madison.
[59]
Sazeides, Y. and Smith, J. E. 1997b. The predictability of data values. In Proceedings of the 30th International Symposium on Microarchitecture.
[60]
Sazeides, Y., Vassiliadis, S., and Smith, J. 1996. The performance potential of data dependence speculation and collapsing. In Proceedings of the 29th Annual ACM/IEEE International Symposium on Microarchitecture.
[61]
Siegel, S. 1956. Nonparametric Statistics for the Behavioral Sciences. McGraw-Hill.
[62]
Singer, J. and Brown, G. 2006. Return value prediction meets information theory. In Proceedings of the 4th International Workshop on Quantitative Aspects of Programming Languages (QAPL’06). 137--151.
[63]
Smith, A., Nagarajan, R., Sankaralingam, K., McDonald, R., Burger, D., Keckler, S. W., and McKinley, K. S. 2006. Dataflow predication. In Proceedings of the 39th Annual ACM/IEEE International Symposium on Microarchitecture. 89--102.
[64]
Smith, J. E. 1981. A study of branch prediction strategies. In Proceedings of the Annual International Symposium on Computer Architecture. 135--148.
[65]
Smith, J. E. and Sohi, G. S. 1995. The microarchitecture of superscalar processors. Proc. IEEE 83, 12, 1609--1624.
[66]
Sodani, A. and Sohi, G. 1997. Dynamic instruction reuse. In Proceedings of the 24th Annual International Symposium on Computer Architecture.
[67]
Sodani, A. and Sohi, G. 1998. Understanding the differences between value prediction and instruction reuse. In Proceedings of the 31st Annual ACM/IEEE International Symposium on Microarchitecture. 205--215.
[68]
Steffan, J., Colohan, C., Zhai, A., and Mowry, T. 1999. Improving value communication for thread-level speculation. In Proceedings of the 8th International Symposium on High-Performance Computer Architecture.
[69]
Thomas, R. and Franklin, M. 2001. Using dataflow based context for accurate value prediction. In Proceedings of the International Conference on Parallel Architectures and Compilation Techniques (PACT’01). 107--117.
[70]
Thomas, R., Franklin, M., Wilkerson, C., and Stark, J. 2003. Improving branch prediction by dynamic dataflow-based identification of correlated branches from a large global history. In Proceedings of the 30th Annual International Symposium on Computer Architecture. 314--323.
[71]
Tuck, N. and Tullsen, D. M. 2005. Multithreaded value prediction. In Proceedings of the 11th International Symposium on High-Performance Computer Architecture.
[72]
Tullsen, D. and Seng, J. 1999. Storageless value prediction using prior register values. In Proceedings of the 26th International Symposium on Computer Architecture.
[73]
Vandierendonck, H. and Bosschere, K. D. 2010. Implicit hints: Embedding hint bits in programs without ISA changes. In Proceedings of the IEEE International Conference on Computer Design. 364--369.
[74]
Wang, K. and Franklin, M. 1997. Highly accurate data value prediction using hybrid predictors. In Proceedings of the 30th Annual ACM/IEEE International Symposium on Microarchitecture. 281--290.
[75]
Warter, N., Lavery, D., and Hwu, W. 1993. The benefit of predicated execution for software pipelining. In Proceedings of the 26th Hawaii International Conference on System Sciences. 497--506.
[76]
Yourst, M. T. 2007. Ptlsim: A cycle accurate full system x86-64 microarchitectural simulator. In Proceedings of the IEEE International Symposium on Performance Analysis of Systems and Software. 23--34.
[77]
Zhao, Q. and Lilja, D. J. 2004. Static classification of value predictability using compiler hints. IEEE Trans. Comput. 53, 929--944.
[78]
Zhou, H., Flanagan, J., and Conte, T. M. 2003. Detecting global stride locality in value streams. In Proceedings of the Annual International Symposium on Computer Architecture (ISCA’03). 324--335.

Cited By

View all

Index Terms

  1. Leveraging Strength-Based Dynamic Information Flow Analysis to Enhance Data Value Prediction

      Recommendations

      Comments

      Please enable JavaScript to view thecomments powered by Disqus.

      Information & Contributors

      Information

      Published In

      cover image ACM Transactions on Architecture and Code Optimization
      ACM Transactions on Architecture and Code Optimization  Volume 9, Issue 1
      March 2012
      176 pages
      ISSN:1544-3566
      EISSN:1544-3973
      DOI:10.1145/2133382
      Issue’s Table of Contents
      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: 01 March 2012
      Accepted: 01 September 2011
      Revised: 01 July 2011
      Received: 01 October 2010
      Published in TACO Volume 9, Issue 1

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. Computer architecture
      2. correlation
      3. dynamic information flow analysis
      4. information flow strength
      5. information theory
      6. instruction level parallelism
      7. program dependence analysis
      8. value prediction

      Qualifiers

      • Research-article
      • Research
      • Refereed

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)80
      • Downloads (Last 6 weeks)8
      Reflects downloads up to 23 Feb 2025

      Other Metrics

      Citations

      Cited By

      View all

      View Options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Login options

      Full Access

      Figures

      Tables

      Media

      Share

      Share

      Share this Publication link

      Share on social media