Skip to main content
Top

2019 | OriginalPaper | Chapter

A Taxonomy of Methods and Models Used in Program Transformation and Parallelization

Authors : Sesha Kalyur, G. S. Nagaraja

Published in: Ubiquitous Communications and Network Computing

Publisher: Springer International Publishing

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

Developing Application and System Software in a High level programming language, has greatly improved programmer productivity, by reducing the total time and effort spent. The higher level abstractions provided by these languages, enable users to seamlessly translate ideas into design and structure data and code effectively. However these structures have to be efficiently translated, to generate code that can optimally exploit the target architecture. The translation pass normally generates code, that is sub optimal from an execution perspective. Subsequent passes are needed to clean up generated code, that is optimal or near optimal in running time. Generated code can be optimized by Transformation, which involves changing or removing inefficient code. Parallelization is another optimization technique, that involves finding threads of execution, which can be run concurrently on multiple processors to improve the running time. The topic of code optimization and parallelization is quite vast and replete with complex problems and interesting solutions. Hence it becomes necessary to classify the various available techniques, to reduce the complexity and to get a grasp of the subject domain. However our search for good survey papers in the subject area, did not yield interesting outcomes. This work is an attempt to fill this void and help scholars in the field, by providing a comprehensive survey and taxonomy of the various optimization and parallelization methods and the models used to generate solutions.

Dont have a licence yet? Then find out more about our products and how to get one now:

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 "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!

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!

Literature
1.
go back to reference Winkel, S.: Optimal versus heuristic global code scheduling. In: 40th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2007, pp. 43–55, December 2007 Winkel, S.: Optimal versus heuristic global code scheduling. In: 40th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2007, pp. 43–55, December 2007
2.
go back to reference Kalyur, S., Nagaraja, G.S.: A survey of modeling techniques used in compiler design and implementation. In: 2016 International Conference on Computation System and Information Technology for Sustainable Solutions (CSITSS), pp. 355–358, October 2016 Kalyur, S., Nagaraja, G.S.: A survey of modeling techniques used in compiler design and implementation. In: 2016 International Conference on Computation System and Information Technology for Sustainable Solutions (CSITSS), pp. 355–358, October 2016
3.
go back to reference Ayguade, E., et al.: The design of OpenMP tasks. IEEE Trans. Parallel Distrib. Syst. 20(3), 404–418 (2009)CrossRef Ayguade, E., et al.: The design of OpenMP tasks. IEEE Trans. Parallel Distrib. Syst. 20(3), 404–418 (2009)CrossRef
4.
go back to reference Bondhugula, U., et al.: Towards effective automatic parallelization for multicore systems. In: IEEE International Symposium on Parallel and Distributed Processing, IPDPS 2008, pp. 1–5, April 2008 Bondhugula, U., et al.: Towards effective automatic parallelization for multicore systems. In: IEEE International Symposium on Parallel and Distributed Processing, IPDPS 2008, pp. 1–5, April 2008
5.
go back to reference Hertzberg, B., Olukotun, K.: Runtime automatic speculative parallelization. In: 2011 9th Annual IEEE/ACM International Symposium on Code Generation and Optimization (CGO), pp. 64–73, April 2011 Hertzberg, B., Olukotun, K.: Runtime automatic speculative parallelization. In: 2011 9th Annual IEEE/ACM International Symposium on Code Generation and Optimization (CGO), pp. 64–73, April 2011
6.
go back to reference Canedo, A., Sowa, M., Abderazek, B.A.: Quantitative evaluation of common subexpression elimination on queue machines. In: International Symposium on Parallel Architectures, Algorithms, and Networks, I-SPAN 2008, pp. 25–30, May 2008 Canedo, A., Sowa, M., Abderazek, B.A.: Quantitative evaluation of common subexpression elimination on queue machines. In: International Symposium on Parallel Architectures, Algorithms, and Networks, I-SPAN 2008, pp. 25–30, May 2008
7.
go back to reference Chin, G., Choudhury, S., Kangas, L., McFarlane, S., Marquez, A.: Evaluating in-clique and topological parallelism strategies for junction tree-based Bayesian network inference algorithm on the cray XMT. In: 2011 IEEE International Symposium on Parallel and Distributed Processing Workshops and Phd Forum (IPDPSW), pp. 1710–1719, May 2011 Chin, G., Choudhury, S., Kangas, L., McFarlane, S., Marquez, A.: Evaluating in-clique and topological parallelism strategies for junction tree-based Bayesian network inference algorithm on the cray XMT. In: 2011 IEEE International Symposium on Parallel and Distributed Processing Workshops and Phd Forum (IPDPSW), pp. 1710–1719, May 2011
8.
go back to reference Ashouri, A.H., Mariani, G., Palermo, G., Silvano, C.: A bayesian network approach for compiler auto-tuning for embedded processors. In: 2014 IEEE 12th Symposium on Embedded Systems for Real-Time Multimedia (ESTIMedia), pp. 90–97, October 2014 Ashouri, A.H., Mariani, G., Palermo, G., Silvano, C.: A bayesian network approach for compiler auto-tuning for embedded processors. In: 2014 IEEE 12th Symposium on Embedded Systems for Real-Time Multimedia (ESTIMedia), pp. 90–97, October 2014
9.
go back to reference Li, P., Luo, H., Ding, C., Hu, Z., Ye, H.: Code layout optimization for defensiveness and politeness in shared cache. In: 2014 43rd International Conference on Parallel Processing (ICPP), pp. 151–161, September 2014 Li, P., Luo, H., Ding, C., Hu, Z., Ye, H.: Code layout optimization for defensiveness and politeness in shared cache. In: 2014 43rd International Conference on Parallel Processing (ICPP), pp. 151–161, September 2014
10.
go back to reference Kalyur, S., Nagaraja, G.S.: ParaCite: auto-parallelization of a sequential program using the program dependence graph. In: 2016 International Conference on Computation System and Information Technology for Sustainable Solutions (CSITSS), pp. 7–12, October 2016 Kalyur, S., Nagaraja, G.S.: ParaCite: auto-parallelization of a sequential program using the program dependence graph. In: 2016 International Conference on Computation System and Information Technology for Sustainable Solutions (CSITSS), pp. 7–12, October 2016
11.
go back to reference Tineo, A., Corbera, F., Navarro, A., Asenjo, R., Zapata, E.L.: A novel approach for detecting heap-based loop-carried dependences. In: International Conference on Parallel Processing, ICPP 2005, pp. 99–106, June 2005 Tineo, A., Corbera, F., Navarro, A., Asenjo, R., Zapata, E.L.: A novel approach for detecting heap-based loop-carried dependences. In: International Conference on Parallel Processing, ICPP 2005, pp. 99–106, June 2005
12.
go back to reference Jayaraman, D., Tragoudas, S.: Occurrence probability analysis of a path at the architectural level. In: 2011 12th International Symposium on Quality Electronic Design (ISQED), pp. 1–5, March 2011 Jayaraman, D., Tragoudas, S.: Occurrence probability analysis of a path at the architectural level. In: 2011 12th International Symposium on Quality Electronic Design (ISQED), pp. 1–5, March 2011
13.
go back to reference Vaswani, K., Thazhuthaveetil, M.J., Srikant, Y.N., Joseph, P.J.: Microarchitecture sensitive empirical models for compiler optimizations. In: International Symposium on Code Generation and Optimization, CGO 2007, pp. 131–143, March 2007 Vaswani, K., Thazhuthaveetil, M.J., Srikant, Y.N., Joseph, P.J.: Microarchitecture sensitive empirical models for compiler optimizations. In: International Symposium on Code Generation and Optimization, CGO 2007, pp. 131–143, March 2007
14.
go back to reference Malik, A.M.: Spatial based feature generation for machine learning based optimization compilation. In: 2010 Ninth International Conference on Machine Learning and Applications (ICMLA), pp. 925–930, December 2010 Malik, A.M.: Spatial based feature generation for machine learning based optimization compilation. In: 2010 Ninth International Conference on Machine Learning and Applications (ICMLA), pp. 925–930, December 2010
15.
go back to reference Zhou, Y.-Q., Lin, N.-W.: A study on optimizing execution time and code size in iterative compilation. In: 2012 Third International Conference on Innovations in Bio-Inspired Computing and Applications (IBICA), pp. 104–109, September 2012 Zhou, Y.-Q., Lin, N.-W.: A study on optimizing execution time and code size in iterative compilation. In: 2012 Third International Conference on Innovations in Bio-Inspired Computing and Applications (IBICA), pp. 104–109, September 2012
16.
go back to reference Mahalingam, P.R.: Knowledge-augmented genetic algorithms for effective instruction template selection in compilers. In: 2013 Third International Conference on Advances in Computing and Communications (ICACC), pp. 21–24, August 2013 Mahalingam, P.R.: Knowledge-augmented genetic algorithms for effective instruction template selection in compilers. In: 2013 Third International Conference on Advances in Computing and Communications (ICACC), pp. 21–24, August 2013
17.
go back to reference Azeemi, N.Z.: Multicriteria energy efficient source code compilation for dependable embedded applications. Innov. Inf. Technol. 2006, 1–5 (2006) Azeemi, N.Z.: Multicriteria energy efficient source code compilation for dependable embedded applications. Innov. Inf. Technol. 2006, 1–5 (2006)
18.
go back to reference Mahajan, A., Ali, M.S.: Superblock scheduling using genetic programming for embedded systems. In: 7th IEEE International Conference on Cognitive Informatics, ICCI 2008, pp. 261–266, August 2008 Mahajan, A., Ali, M.S.: Superblock scheduling using genetic programming for embedded systems. In: 7th IEEE International Conference on Cognitive Informatics, ICCI 2008, pp. 261–266, August 2008
19.
go back to reference Leather, H., Bonilla, E., O’Boyle, M.: Automatic feature generation for machine learning based optimizing compilation. In: International Symposium on Code Generation and Optimization, CGO 2009, pp. 81–91, March 2009 Leather, H., Bonilla, E., O’Boyle, M.: Automatic feature generation for machine learning based optimizing compilation. In: International Symposium on Code Generation and Optimization, CGO 2009, pp. 81–91, March 2009
20.
go back to reference Zhong, S., Shen, Y., Hao, F.: Tuning compiler optimization options via simulated annealing. In: Second International Conference on Future Information Technology and Management Engineering, FITME 2009, pp. 305–308, December 2009 Zhong, S., Shen, Y., Hao, F.: Tuning compiler optimization options via simulated annealing. In: Second International Conference on Future Information Technology and Management Engineering, FITME 2009, pp. 305–308, December 2009
21.
go back to reference Tiwari, A., Laurenzano, M.A., Carrington, L., Snavely, A.: Modeling power and energy usage of HPC kernels. In: 2012 IEEE 26th International Parallel and Distributed Processing Symposium Workshops PhD Forum (IPDPSW), pp. 990–998, May 2012 Tiwari, A., Laurenzano, M.A., Carrington, L., Snavely, A.: Modeling power and energy usage of HPC kernels. In: 2012 IEEE 26th International Parallel and Distributed Processing Symposium Workshops PhD Forum (IPDPSW), pp. 990–998, May 2012
22.
go back to reference Wang, X., Qiao, Q.: Solving graph coloring problems based on a chaos neural network with non-monotonous activation function. In: Fifth International Conference on Natural Computation, ICNC 2009, vol. 1, pp. 414–417, August 2009 Wang, X., Qiao, Q.: Solving graph coloring problems based on a chaos neural network with non-monotonous activation function. In: Fifth International Conference on Natural Computation, ICNC 2009, vol. 1, pp. 414–417, August 2009
23.
go back to reference Li, F., Tang, F., Shen, Y.: Feature mining for machine learning based compilation optimization. In: 2014 Eighth International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing (IMIS), pp. 207–214, July 2014 Li, F., Tang, F., Shen, Y.: Feature mining for machine learning based compilation optimization. In: 2014 Eighth International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing (IMIS), pp. 207–214, July 2014
24.
go back to reference Gschwandtner, P., Knobloch, M., Mohr, B., Pleiter, D., Fahringer, T.: Modeling CPU energy consumption of HPC applications on the IBM POWER7. In: 2014 22nd Euromicro International Conference on Parallel, Distributed and Network-Based Processing (PDP), pp. 536–543, February 2014 Gschwandtner, P., Knobloch, M., Mohr, B., Pleiter, D., Fahringer, T.: Modeling CPU energy consumption of HPC applications on the IBM POWER7. In: 2014 22nd Euromicro International Conference on Parallel, Distributed and Network-Based Processing (PDP), pp. 536–543, February 2014
25.
go back to reference Falk, H., Schmitz, N., Schmoll, F.: WCET-aware register allocation based on integer-linear programming. In: 2011 23rd Euromicro Conference on Real-Time Systems (ECRTS), pp. 13–22, July 2011 Falk, H., Schmitz, N., Schmoll, F.: WCET-aware register allocation based on integer-linear programming. In: 2011 23rd Euromicro Conference on Real-Time Systems (ECRTS), pp. 13–22, July 2011
26.
go back to reference Trifunovic, K., Nuzman, D., Cohen, A., Zaks, A., Rosen, I.: Polyhedral-model guided loop-nest auto-vectorization. In: 18th International Conference on Parallel Architectures and Compilation Techniques, PACT 2009, pp. 327–337, September 2009 Trifunovic, K., Nuzman, D., Cohen, A., Zaks, A., Rosen, I.: Polyhedral-model guided loop-nest auto-vectorization. In: 18th International Conference on Parallel Architectures and Compilation Techniques, PACT 2009, pp. 327–337, September 2009
27.
go back to reference Pouchet, L., Bastoul, C., Cohen, A., Vasilache, N.: Iterative optimization in the polyhedral model: Part i, one-dimensional time. In: International Symposium on Code Generation and Optimization, CGO 2007, pp. 144–156, March 2007 Pouchet, L., Bastoul, C., Cohen, A., Vasilache, N.: Iterative optimization in the polyhedral model: Part i, one-dimensional time. In: International Symposium on Code Generation and Optimization, CGO 2007, pp. 144–156, March 2007
28.
go back to reference Lokuciejewski, P., Cordes, D., Falk, H., Marwedel, P.: A fast and precise static loop analysis based on abstract interpretation, program slicing and polytope models. In: International Symposium on Code Generation and Optimization, CGO 2009, pp. 136–146, March 2009 Lokuciejewski, P., Cordes, D., Falk, H., Marwedel, P.: A fast and precise static loop analysis based on abstract interpretation, program slicing and polytope models. In: International Symposium on Code Generation and Optimization, CGO 2009, pp. 136–146, March 2009
29.
go back to reference Pouchet, L., Bondhugula, U., Bastoul, C., Cohen, A., Ramanujam, J., Sadayappan, P.: Combined iterative and model-driven optimization in an automatic parallelization framework. In: 2010 International Conference for High Performance Computing, Networking, Storage and Analysis (SC), pp. 1–11, November 2010 Pouchet, L., Bondhugula, U., Bastoul, C., Cohen, A., Ramanujam, J., Sadayappan, P.: Combined iterative and model-driven optimization in an automatic parallelization framework. In: 2010 International Conference for High Performance Computing, Networking, Storage and Analysis (SC), pp. 1–11, November 2010
30.
go back to reference Xue, Y., Zhao, C.: Automated phase-ordering of loop optimizations based on polyhedron model. In: 10th IEEE International Conference on High Performance Computing and Communications, HPCC 2008, pp. 672–677, September 2008 Xue, Y., Zhao, C.: Automated phase-ordering of loop optimizations based on polyhedron model. In: 10th IEEE International Conference on High Performance Computing and Communications, HPCC 2008, pp. 672–677, September 2008
31.
go back to reference Desai, N.P.: A novel technique for orchestration of compiler optimization functions using branch and bound strategy. In: IEEE International Advance Computing Conference, IACC 2009, pp. 467–472, March 2009 Desai, N.P.: A novel technique for orchestration of compiler optimization functions using branch and bound strategy. In: IEEE International Advance Computing Conference, IACC 2009, pp. 467–472, March 2009
32.
go back to reference Lu, P., Che, Y., Wang, Z.: An effective iterative compilation search algorithm for high performance computing applications. In: 10th IEEE International Conference on High Performance Computing and Communications, HPCC 2008, pp. 368–373, September 2008 Lu, P., Che, Y., Wang, Z.: An effective iterative compilation search algorithm for high performance computing applications. In: 10th IEEE International Conference on High Performance Computing and Communications, HPCC 2008, pp. 368–373, September 2008
Metadata
Title
A Taxonomy of Methods and Models Used in Program Transformation and Parallelization
Authors
Sesha Kalyur
G. S. Nagaraja
Copyright Year
2019
DOI
https://doi.org/10.1007/978-3-030-20615-4_18

Premium Partner