Skip to main content
Erschienen in: International Journal of Parallel Programming 5-6/2019

18.05.2018

An Analytical Evaluation of Data Dependence Analysis Techniques

verfasst von: David Niedzielski, Kleanthis Psarris, Theoharis Theoharis

Erschienen in: International Journal of Parallel Programming | Ausgabe 5-6/2019

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Optimizing compilers rely upon data dependence analysis to reveal the ordering constraints among statements in a program that need to be preserved in order to produce valid optimized and parallel code. Testing array references for data dependence is equivalent to determining whether a system of equalities and inequalities has an integer solution. A number of data dependence tests have been proposed in the literature. In each test there are different tradeoffs between accuracy and efficiency. In this paper we study the fundamental relationships between several data dependence tests. We consider the Banerjee Extreme Value test, Fourier Motzkin Variable Elimination (FMVE), the I-Test, and the Omega test, which are representative of the state of the art in data dependence analysis. The Banerjee Extreme Value test and FMVE can only determine the existence of real solutions to a system. Thus they can only disprove, but not prove, data dependence. The I-Test and the Omega test refine the Banerjee Extreme Value test and FMVE, respectively, to the integer domain and can prove data dependence. The Omega test is a more accurate data dependence test, but with worst case exponential time complexity. The I-Test is a polynomial time test, but it is not always conclusive. We first show that FMVE is equivalent to the Banerjee Extreme Value test. We then show that the Omega test’s technique to refine FMVE to integer solutions (dark shadow) is equivalent to the I-Test’s refinement of the Banerjee Extreme Value test to integer solutions (the accuracy condition). We prove that the I-Test returns an inconclusive (“maybe”) answer if and only if the Omega test requires an exponential time exhaustive search to produce an exact answer (the so-called “Omega Test Nightmare”).

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Literatur
1.
Zurück zum Zitat Allen, R., Kennedy, K.: Optimizing Compilers for Modern Architectures. Morgan Kaufmann Publishers, San Francisco (2002) Allen, R., Kennedy, K.: Optimizing Compilers for Modern Architectures. Morgan Kaufmann Publishers, San Francisco (2002)
2.
Zurück zum Zitat Bacon, D.F., Graham, S.L., Sharp, O.J.: Compiler transformations for high-performance computing. ACM Comput. Surv. 26(4), 345–420 (1994)CrossRef Bacon, D.F., Graham, S.L., Sharp, O.J.: Compiler transformations for high-performance computing. ACM Comput. Surv. 26(4), 345–420 (1994)CrossRef
3.
Zurück zum Zitat Banerjee, U.: Loop Parallelization. Kluwer Academic Publishers, Norwell (1994)CrossRef Banerjee, U.: Loop Parallelization. Kluwer Academic Publishers, Norwell (1994)CrossRef
4.
Zurück zum Zitat Banerjee, U.: Dependence Analysis. Kluwer Academic Publishers, Norwell (1997)MATH Banerjee, U.: Dependence Analysis. Kluwer Academic Publishers, Norwell (1997)MATH
5.
Zurück zum Zitat Birch, J., van Engelen, R.A., Gallivan, K.A., Shou, Y.: An empirical evaluation of chains of recurrences for array dependence testing. In: Proceedings of the 15th International Conference on Parallel Architectures and Compilation Techniques, Seattle, WA (2006) Birch, J., van Engelen, R.A., Gallivan, K.A., Shou, Y.: An empirical evaluation of chains of recurrences for array dependence testing. In: Proceedings of the 15th International Conference on Parallel Architectures and Compilation Techniques, Seattle, WA (2006)
6.
Zurück zum Zitat Blume, W., Eigenmann, R.: Nonlinear and symbolic data dependence testing. IEEE Trans. Parallel Distrib. Syst. 9(12), 1180–1194 (1998)CrossRef Blume, W., Eigenmann, R.: Nonlinear and symbolic data dependence testing. IEEE Trans. Parallel Distrib. Syst. 9(12), 1180–1194 (1998)CrossRef
8.
Zurück zum Zitat Fahringer, T., Scholz, B.: A unified symbolic evaluation framework for parallelizing compilers. IEEE Trans. Parallel Distrib. Syst. 11(11), 1105–1125 (2000)CrossRef Fahringer, T., Scholz, B.: A unified symbolic evaluation framework for parallelizing compilers. IEEE Trans. Parallel Distrib. Syst. 11(11), 1105–1125 (2000)CrossRef
9.
Zurück zum Zitat Golf, G., Kennedy, K., Tseng, C.: Practical dependence testing. In: Proceedings of the SIGPLAN’91 Conference on Programming Language Design and Implementation, Toronto, Canada (1991) Golf, G., Kennedy, K., Tseng, C.: Practical dependence testing. In: Proceedings of the SIGPLAN’91 Conference on Programming Language Design and Implementation, Toronto, Canada (1991)
10.
Zurück zum Zitat Haghighat, M.R.: Symbolic Analysis for Parallelizing Compilers. Kluwer Academic Publishers, Norwell (1995)MATH Haghighat, M.R.: Symbolic Analysis for Parallelizing Compilers. Kluwer Academic Publishers, Norwell (1995)MATH
11.
Zurück zum Zitat Kong, X., Klappholz, D., Psarris, K.: The I-Test: an improved dependence test for automatic parallelization and vectorization. IEEE Trans. Parallel Distrib. Syst. 2(3), 342–349 (1991)CrossRef Kong, X., Klappholz, D., Psarris, K.: The I-Test: an improved dependence test for automatic parallelization and vectorization. IEEE Trans. Parallel Distrib. Syst. 2(3), 342–349 (1991)CrossRef
12.
Zurück zum Zitat Kyriakopoulos, K., Psarris, K.: Data dependence analysis techniques for increased accuracy and extracted parallelism. Int. J. Parallel Program. (IJPP) 32(4), 317–359 (2004)CrossRef Kyriakopoulos, K., Psarris, K.: Data dependence analysis techniques for increased accuracy and extracted parallelism. Int. J. Parallel Program. (IJPP) 32(4), 317–359 (2004)CrossRef
13.
Zurück zum Zitat Kyriakopoulos, K., Psarris, K.: Non-linear symbolic analysis for advanced program parallelization. IEEE Trans. Parallel Distrib. Syst. 20(5), 623–640 (2009)CrossRef Kyriakopoulos, K., Psarris, K.: Non-linear symbolic analysis for advanced program parallelization. IEEE Trans. Parallel Distrib. Syst. 20(5), 623–640 (2009)CrossRef
14.
Zurück zum Zitat Li, Z., Yew, P., Zhu, C.: An efficient data dependence analysis for parallelizing compilers. IEEE Trans. Parallel Distrib. Syst. 1(1), 26–34 (1990)CrossRef Li, Z., Yew, P., Zhu, C.: An efficient data dependence analysis for parallelizing compilers. IEEE Trans. Parallel Distrib. Syst. 1(1), 26–34 (1990)CrossRef
15.
Zurück zum Zitat Maydan, D., Hennesy, J., Lam, M.: Efficient and exact data dependence analysis for parallelizing compilers. In: Proceedings of the SIGPLAN’91 Conference on Programming Language Design and Implementation, Toronto, Canada (1991) Maydan, D., Hennesy, J., Lam, M.: Efficient and exact data dependence analysis for parallelizing compilers. In: Proceedings of the SIGPLAN’91 Conference on Programming Language Design and Implementation, Toronto, Canada (1991)
16.
Zurück zum Zitat Petersen, P., Padua, D.: Static and dynamic evaluation of data dependence analysis techniques. IEEE Trans. Parallel Distrib. Syst. 7(11), 1121–1132 (1996)CrossRef Petersen, P., Padua, D.: Static and dynamic evaluation of data dependence analysis techniques. IEEE Trans. Parallel Distrib. Syst. 7(11), 1121–1132 (1996)CrossRef
17.
Zurück zum Zitat Psarris, K.: The Banerjee–Wolfe and GCD tests on exact data dependence information. J. Parallel Distrib. Comput. 32(2), 119–138 (1996)MathSciNetCrossRef Psarris, K.: The Banerjee–Wolfe and GCD tests on exact data dependence information. J. Parallel Distrib. Comput. 32(2), 119–138 (1996)MathSciNetCrossRef
18.
Zurück zum Zitat Psarris, K., Kyriakopoulos, K.: An experimental evaluation of data dependence analysis techniques. IEEE Trans. Parallel Distrib. Syst. 15(3), 196–213 (2004)CrossRef Psarris, K., Kyriakopoulos, K.: An experimental evaluation of data dependence analysis techniques. IEEE Trans. Parallel Distrib. Syst. 15(3), 196–213 (2004)CrossRef
19.
Zurück zum Zitat Psarris, K., Kong, X., Klappholz, D.: The direction vector I Test. IEEE Trans. Parallel Distrib. Syst. 4(11), 1280–1290 (1993)CrossRef Psarris, K., Kong, X., Klappholz, D.: The direction vector I Test. IEEE Trans. Parallel Distrib. Syst. 4(11), 1280–1290 (1993)CrossRef
20.
Zurück zum Zitat Pugh, W.: A practical algorithm for exact array dependence analysis. Commun. ACM 35(8), 102–114 (1992)CrossRef Pugh, W.: A practical algorithm for exact array dependence analysis. Commun. ACM 35(8), 102–114 (1992)CrossRef
21.
Zurück zum Zitat Pugh, W., Wonnacott, D.: Eliminating false data dependences using the omega test. In: Proceedings of the SIGPLAN’92 Conference on Programming Language Design and Implementation, San Francisco, CA (1992) Pugh, W., Wonnacott, D.: Eliminating false data dependences using the omega test. In: Proceedings of the SIGPLAN’92 Conference on Programming Language Design and Implementation, San Francisco, CA (1992)
22.
Zurück zum Zitat Pugh, W., Wonnacott, D.: Constraint-based array dependence analysis. ACM Trans. Program. Lang. Syst. 20(3), 635–678 (1998)CrossRef Pugh, W., Wonnacott, D.: Constraint-based array dependence analysis. ACM Trans. Program. Lang. Syst. 20(3), 635–678 (1998)CrossRef
23.
Zurück zum Zitat Schrijver, A.: Theory of Linear and Integer Programming. Wiley, Hoboken (1986)MATH Schrijver, A.: Theory of Linear and Integer Programming. Wiley, Hoboken (1986)MATH
24.
Zurück zum Zitat van Engelen, R.A., Birch, J., Shou, Y., Walsh, B., Gallivan, K.A.: A unified framework for nonlinear dependence testing and symbolic analysis. In: Proceedings of the ACM International Conference on Supercomputing, Saint-Malo, France (2004) van Engelen, R.A., Birch, J., Shou, Y., Walsh, B., Gallivan, K.A.: A unified framework for nonlinear dependence testing and symbolic analysis. In: Proceedings of the ACM International Conference on Supercomputing, Saint-Malo, France (2004)
25.
Zurück zum Zitat Williams, H.P.: Fourier–Motzkin elimination: extension to integer programming problems. J. Comb. Theory (A) 21, 118–123 (1976)MathSciNetCrossRef Williams, H.P.: Fourier–Motzkin elimination: extension to integer programming problems. J. Comb. Theory (A) 21, 118–123 (1976)MathSciNetCrossRef
26.
Zurück zum Zitat Williams, H.P.: A characterisation of all feasible solutions to an integer program. Discrete Appl. Math. 5, 147–155 (1983)MathSciNetCrossRef Williams, H.P.: A characterisation of all feasible solutions to an integer program. Discrete Appl. Math. 5, 147–155 (1983)MathSciNetCrossRef
27.
Zurück zum Zitat Wolfe, M.E.: High Performance Compilers for Parallel Computing. Addison-Wesley, Redwood City (1996)MATH Wolfe, M.E.: High Performance Compilers for Parallel Computing. Addison-Wesley, Redwood City (1996)MATH
28.
Zurück zum Zitat Wolfe, M., Tseng, C.: The power test for data dependence. IEEE Trans. Parallel Distrib. Syst. 3(5), 591–601 (1992)CrossRef Wolfe, M., Tseng, C.: The power test for data dependence. IEEE Trans. Parallel Distrib. Syst. 3(5), 591–601 (1992)CrossRef
Metadaten
Titel
An Analytical Evaluation of Data Dependence Analysis Techniques
verfasst von
David Niedzielski
Kleanthis Psarris
Theoharis Theoharis
Publikationsdatum
18.05.2018
Verlag
Springer US
Erschienen in
International Journal of Parallel Programming / Ausgabe 5-6/2019
Print ISSN: 0885-7458
Elektronische ISSN: 1573-7640
DOI
https://doi.org/10.1007/s10766-018-0577-7

Weitere Artikel der Ausgabe 5-6/2019

International Journal of Parallel Programming 5-6/2019 Zur Ausgabe