Skip to main content

2017 | OriginalPaper | Buchkapitel

An Extended Polyhedral Model for SPMD Programs and Its Use in Static Data Race Detection

verfasst von : Prasanth Chatarasi, Jun Shirako, Martin Kong, Vivek Sarkar

Erschienen in: Languages and Compilers for Parallel Computing

Verlag: Springer International Publishing

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

search-config
loading …

Abstract

Despite its age, SPMD (Single Program Multiple Data) parallelism continues to be one of the most popular parallel execution models in use today, as exemplified by OpenMP for multicore systems and CUDA and OpenCL for accelerator systems. The basic idea behind the SPMD model, which makes it different from task-parallel models, is that all logical processors (worker threads) execute the same program with sequential code executed redundantly and parallel code executed cooperatively. In this paper, we extend the polyhedral model to enable analysis of explicitly parallel SPMD programs and provide a new approach for static detection of data races in SPMD programs using the extended polyhedral model. We evaluate our approach using 34 OpenMP programs from the OmpSCR and PolyBench-ACC (PolyBench-ACC derives from the PolyBench benchmark suite and provides OpenMP, OpenACC, CUDA, OpenCL and HMPP implementations.) benchmark suites.

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

Fußnoten
1
An earlier version of this paper was presented at the IMPACT’16 workshop [6], a forum that does not include formal proceedings.
 
2
ARCHER is known to not have any false positives or false negatives for a given input, but may have false negatives for inputs that it has not seen.
 
Literatur
1.
Zurück zum Zitat Agarwal, S., Barik, R., Sarkar, V., Shyamasundar, R.K.: May-happen-in-parallel analysis of X10 programs. In: PPoPP, New York, NY, USA (2007) Agarwal, S., Barik, R., Sarkar, V., Shyamasundar, R.K.: May-happen-in-parallel analysis of X10 programs. In: PPoPP, New York, NY, USA (2007)
2.
Zurück zum Zitat Atzeni, S., Gopalakrishnan, G., Rakamarić, Z., Ahn, D.H., Laguna, I., Schulz, M., Lee, G.L., Protze, J., Müller, M.S.: Archer: effectively spotting data races in large OpenMP applications. In: IPDPS (2016) Atzeni, S., Gopalakrishnan, G., Rakamarić, Z., Ahn, D.H., Laguna, I., Schulz, M., Lee, G.L., Protze, J., Müller, M.S.: Archer: effectively spotting data races in large OpenMP applications. In: IPDPS (2016)
3.
Zurück zum Zitat Basupalli, V., Yuki, T., Rajopadhye, S., Morvan, A., Derrien, S., Quinton, P., Wonnacott, D.: Polyhedral analysis for the OpenMP programmer. In: Chapman, B.M., Gropp, W.D., Kumaran, K., Müller, M.S. (eds.) IWOMP 2011. LNCS, vol. 6665, pp. 37–53. Springer, Heidelberg (2011). doi:10.1007/978-3-642-21487-5_4 CrossRef Basupalli, V., Yuki, T., Rajopadhye, S., Morvan, A., Derrien, S., Quinton, P., Wonnacott, D.: Polyhedral analysis for the OpenMP programmer. In: Chapman, B.M., Gropp, W.D., Kumaran, K., Müller, M.S. (eds.) IWOMP 2011. LNCS, vol. 6665, pp. 37–53. Springer, Heidelberg (2011). doi:10.​1007/​978-3-642-21487-5_​4 CrossRef
4.
Zurück zum Zitat Betts, A., Chong, N., Donaldson, A., Qadeer, S., Thomson, P.: GPUVerify: a verifier for GPU Kernels. In: OOPSLA (2012) Betts, A., Chong, N., Donaldson, A., Qadeer, S., Thomson, P.: GPUVerify: a verifier for GPU Kernels. In: OOPSLA (2012)
5.
Zurück zum Zitat Chatarasi, P., Shirako, J., Sarkar, V.: Polyhedral optimizations of explicitly parallel programs. In: PACT (2015) Chatarasi, P., Shirako, J., Sarkar, V.: Polyhedral optimizations of explicitly parallel programs. In: PACT (2015)
6.
Zurück zum Zitat Chatarasi, P., Shirako, J., Sarkar, V.: Static data race detection for SPMD programs using an extended polyhedral representation. In: IMPACT (2016) Chatarasi, P., Shirako, J., Sarkar, V.: Static data race detection for SPMD programs using an extended polyhedral representation. In: IMPACT (2016)
8.
Zurück zum Zitat Collard, J.F., Barthou, D., Feautrier, P.: Fuzzy array dataflow analysis. In: Proceedings of the Fifth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 1995, pp. 92–101. ACM, New York (1995) Collard, J.F., Barthou, D., Feautrier, P.: Fuzzy array dataflow analysis. In: Proceedings of the Fifth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 1995, pp. 92–101. ACM, New York (1995)
9.
Zurück zum Zitat Cytron, R., Lipkis, J., Schonberg, E.: a compiler-assisted approach to SPMD execution. In: Supercomputing, Los Alamitos, CA, USA (1990) Cytron, R., Lipkis, J., Schonberg, E.: a compiler-assisted approach to SPMD execution. In: Supercomputing, Los Alamitos, CA, USA (1990)
10.
Zurück zum Zitat Darema, F., et al.: A single-program-multiple-data computational model for EPEX/FORTRAN. Parallel Comput. 7(1), 11–24 (1988)CrossRefMATH Darema, F., et al.: A single-program-multiple-data computational model for EPEX/FORTRAN. Parallel Comput. 7(1), 11–24 (1988)CrossRefMATH
11.
Zurück zum Zitat Dorta, A.J., Rodriguez, C., Sande, F.d., Gonzalez-Escribano, A.: The OpenMP source code repository. In: PDP, Washington, DC, USA (2005) Dorta, A.J., Rodriguez, C., Sande, F.d., Gonzalez-Escribano, A.: The OpenMP source code repository. In: PDP, Washington, DC, USA (2005)
12.
Zurück zum Zitat Feautrier, P., Lengauer, C.: Polyhedron model. In: Padua, D.A. (ed.) Encyclopedia of Parallel Computing, pp. 1581–1592. Springer, Heidelberg (2011) Feautrier, P., Lengauer, C.: Polyhedron model. In: Padua, D.A. (ed.) Encyclopedia of Parallel Computing, pp. 1581–1592. Springer, Heidelberg (2011)
13.
Zurück zum Zitat Grauer-Gray, S., Xu, L., Searles, R., Ayalasomayajula, S., Cavazos, J.: Auto-tuning a High-Level Language Targeted to GPU Codes (2012) Grauer-Gray, S., Xu, L., Searles, R., Ayalasomayajula, S., Cavazos, J.: Auto-tuning a High-Level Language Targeted to GPU Codes (2012)
14.
Zurück zum Zitat Kamil, A., Yelick, K.: Concurrency analysis for parallel programs with textually aligned barriers. In: Ayguadé, E., Baumgartner, G., Ramanujam, J., Sadayappan, P. (eds.) LCPC 2005. LNCS, vol. 4339, pp. 185–199. Springer, Heidelberg (2006). doi:10.1007/978-3-540-69330-7_13 CrossRef Kamil, A., Yelick, K.: Concurrency analysis for parallel programs with textually aligned barriers. In: Ayguadé, E., Baumgartner, G., Ramanujam, J., Sadayappan, P. (eds.) LCPC 2005. LNCS, vol. 4339, pp. 185–199. Springer, Heidelberg (2006). doi:10.​1007/​978-3-540-69330-7_​13 CrossRef
15.
Zurück zum Zitat Ma, H., Diersen, S.R., Wang, L., Liao, C., Quinlan, D., Yang, Z.: Symbolic analysis of concurrency errors in OpenMP programs. In: ICPP, Washington, DC, USA (2013) Ma, H., Diersen, S.R., Wang, L., Liao, C., Quinlan, D., Yang, Z.: Symbolic analysis of concurrency errors in OpenMP programs. In: ICPP, Washington, DC, USA (2013)
16.
Zurück zum Zitat Mellor-Crummey, J.: Compile-time support for efficient data race detection in shared-memory parallel programs. In: PADD, New York, NY, USA (1993) Mellor-Crummey, J.: Compile-time support for efficient data race detection in shared-memory parallel programs. In: PADD, New York, NY, USA (1993)
17.
Zurück zum Zitat O’Callahan, R., Choi, J.D.: hybrid dynamic data race detection. In: Proceedings of PPoPP (2003) O’Callahan, R., Choi, J.D.: hybrid dynamic data race detection. In: Proceedings of PPoPP (2003)
19.
Zurück zum Zitat Protze, J., Atzeni, S., Ahn, D.H., Schulz, M., Gopalakrishnan, G., Müller, M.S., Laguna, I., Rakamarić, Z., Lee, G.L.: Towards providing low-overhead data race detection for large OpenMP applications. In: Proceedings of the 2014 LLVM Compiler Infrastructure in HPC (2014) Protze, J., Atzeni, S., Ahn, D.H., Schulz, M., Gopalakrishnan, G., Müller, M.S., Laguna, I., Rakamarić, Z., Lee, G.L.: Towards providing low-overhead data race detection for large OpenMP applications. In: Proceedings of the 2014 LLVM Compiler Infrastructure in HPC (2014)
20.
Zurück zum Zitat Raman, R., Zhao, J., Sarkar, V., Vechev, M.T., Yahav, E.: Scalable and precise dynamic datarace detection for structured parallelism. In: Proceedings of PLDI (2012) Raman, R., Zhao, J., Sarkar, V., Vechev, M.T., Yahav, E.: Scalable and precise dynamic datarace detection for structured parallelism. In: Proceedings of PLDI (2012)
21.
Zurück zum Zitat Sarkar, V., Harrod, W., Snavely, A.E.: Software Challenges in Extreme Scale Systems, Special Issue on Advanced Computing: The Roadmap to Exascale, January 2010 Sarkar, V., Harrod, W., Snavely, A.E.: Software Challenges in Extreme Scale Systems, Special Issue on Advanced Computing: The Roadmap to Exascale, January 2010
22.
Zurück zum Zitat Verdoolaege, S., Grosser, T.: Polyhedral extraction tool. In: Second International Workshop on Polyhedral Compilation Techniques (IMPACT 2012), Paris, France (2012) Verdoolaege, S., Grosser, T.: Polyhedral extraction tool. In: Second International Workshop on Polyhedral Compilation Techniques (IMPACT 2012), Paris, France (2012)
23.
Zurück zum Zitat Yu, F., Yang, S.C., Wang, F., Chen, G.C., Chan, C.C.: Symbolic consistency checking of OpenMp parallel programs. In: LCTES (2012) Yu, F., Yang, S.C., Wang, F., Chen, G.C., Chan, C.C.: Symbolic consistency checking of OpenMp parallel programs. In: LCTES (2012)
24.
Zurück zum Zitat Yuki, T., Feautrier, P., Rajopadhye, S., Saraswat, V.: Array dataflow analysis for polyhedral X10 programs. In: Proceedings of PPoPP (2013) Yuki, T., Feautrier, P., Rajopadhye, S., Saraswat, V.: Array dataflow analysis for polyhedral X10 programs. In: Proceedings of PPoPP (2013)
25.
Zurück zum Zitat Yuki, T., Feautrier, P., Rajopadhye, S.V., Saraswat, V.: Checking Race Freedom of Clocked X10 Programs. CoRR abs/1311.4305 (2013) Yuki, T., Feautrier, P., Rajopadhye, S.V., Saraswat, V.: Checking Race Freedom of Clocked X10 Programs. CoRR abs/1311.4305 (2013)
26.
Zurück zum Zitat Zhang, Y., Duesterwald, E., Gao, G.R.: Concurrency analysis for shared memory programs with textually unaligned barriers. In: Adve, V., Garzarán, M.J., Petersen, P. (eds.) LCPC 2007. LNCS, vol. 5234, pp. 95–109. Springer, Heidelberg (2008). doi:10.1007/978-3-540-85261-2_7 CrossRef Zhang, Y., Duesterwald, E., Gao, G.R.: Concurrency analysis for shared memory programs with textually unaligned barriers. In: Adve, V., Garzarán, M.J., Petersen, P. (eds.) LCPC 2007. LNCS, vol. 5234, pp. 95–109. Springer, Heidelberg (2008). doi:10.​1007/​978-3-540-85261-2_​7 CrossRef
Metadaten
Titel
An Extended Polyhedral Model for SPMD Programs and Its Use in Static Data Race Detection
verfasst von
Prasanth Chatarasi
Jun Shirako
Martin Kong
Vivek Sarkar
Copyright-Jahr
2017
DOI
https://doi.org/10.1007/978-3-319-52709-3_10

Premium Partner