Skip to main content
Top
Published in: International Journal of Parallel Programming 6/2014

01-12-2014

An Algorithm Template for Domain-Based Parallel Irregular Algorithms

Authors: Carlos H. González, Basilio B. Fraguela

Published in: International Journal of Parallel Programming | Issue 6/2014

Log in

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

search-config
loading …

Abstract

The parallelization of irregular algorithms has not been as widely studied as the one of regular codes. In particular, while there are many proposals of parallel skeletons and libraries very well suited to regular algorithms, this is not the case for irregular ones. This is probably due to the complexity of finding common patterns, behaviors and semantics in these algorithms. This is unfortunate, as the parallelization of irregular algorithms would benefit even more than that of regular codes from the higher degree of abstraction provided by skeletons. This work proposes to exploit the concept of domain defined on some property of the elements to process in order to enable the simple and effective parallelization of irregular applications. Namely, we propose to use such domains both to decompose the computations in parallel tasks and to detect and avoid conflicts between these tasks. A generic C++ library providing a skeleton for multicore systems built on this idea is described and evaluated. Our experimental results show that this library is a very practical tool for the parallelization of irregular algorithms with little programming effort.

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

Literature
2.
go back to reference Buono, D., Danelutto, M., Lametti, S.: Map, reduce and mapreduce, the skeleton way. Procedia CS 1(1), 2095–2103 (2010) Buono, D., Danelutto, M., Lametti, S.: Map, reduce and mapreduce, the skeleton way. Procedia CS 1(1), 2095–2103 (2010)
3.
go back to reference Buss, A.A., Harshvardhan, Papadopoulos, I., Pearce, O., Smith, T.G., Tanase, G., Thomas, N., Xu, X., Bianco, M., Amato, N.M., Rauchwerger, L.: STAPL: standard template adaptive parallel library. In: Proceedings of the 3rd Annual Haifa Experimental Systems Conference, SYSTOR’10, pp. 1–10 (2010) Buss, A.A., Harshvardhan, Papadopoulos, I., Pearce, O., Smith, T.G., Tanase, G., Thomas, N., Xu, X., Bianco, M., Amato, N.M., Rauchwerger, L.: STAPL: standard template adaptive parallel library. In: Proceedings of the 3rd Annual Haifa Experimental Systems Conference, SYSTOR’10, pp. 1–10 (2010)
4.
go back to reference Butenhof, D.R.: Programming with POSIX Threads. Addison Wesley, Reading, MA (1997) Butenhof, D.R.: Programming with POSIX Threads. Addison Wesley, Reading, MA (1997)
5.
go back to reference Cascaval, C., Blundell, C., Michael, M., Cain, H.W., Wu, P., Chiras, S., Chatterjee, S.: Software transactional memory: Why is it only a research toy? Queue 6(5), 46–58 (2008)CrossRef Cascaval, C., Blundell, C., Michael, M., Cain, H.W., Wu, P., Chiras, S., Chatterjee, S.: Software transactional memory: Why is it only a research toy? Queue 6(5), 46–58 (2008)CrossRef
6.
go back to reference Chamberlain, B.L., Choi, S.E., Lewis, E.C., Snyder, L., Weathersby, W.D., Lin, C.: The case for high-level parallel programming in ZPL. IEEE Comput. Sci. Eng. 5(3), 76–86 (1998)CrossRef Chamberlain, B.L., Choi, S.E., Lewis, E.C., Snyder, L., Weathersby, W.D., Lin, C.: The case for high-level parallel programming in ZPL. IEEE Comput. Sci. Eng. 5(3), 76–86 (1998)CrossRef
7.
go back to reference Chew, L.P.: Guaranteed-quality mesh generation for curved surfaces. In: Proceedings of 9th Symposium on Computational Geometry, SCG ’93, pp. 274–280 (1993) Chew, L.P.: Guaranteed-quality mesh generation for curved surfaces. In: Proceedings of 9th Symposium on Computational Geometry, SCG ’93, pp. 274–280 (1993)
8.
go back to reference Ciechanowicz, P., Poldner, M., Kuchen, H.: The Münster Skeleton Library Muesli—a comprehensive overview. Technical report. Working papers, ERCIS no. 7, University of Münster (2009) Ciechanowicz, P., Poldner, M., Kuchen, H.: The Münster Skeleton Library Muesli—a comprehensive overview. Technical report. Working papers, ERCIS no. 7, University of Münster (2009)
9.
go back to reference Cole, M.: Algorithmic Skeletons: Structured Management of Parallel Computation. MIT Press, Cambridge, MA (1991) Cole, M.: Algorithmic Skeletons: Structured Management of Parallel Computation. MIT Press, Cambridge, MA (1991)
10.
go back to reference Cole, M.: Bringing skeletons out of the closet: a pragmatic manifesto for skeletal parallel programming. Parallel Comput. 30(3), 389–406 (2004)CrossRef Cole, M.: Bringing skeletons out of the closet: a pragmatic manifesto for skeletal parallel programming. Parallel Comput. 30(3), 389–406 (2004)CrossRef
11.
go back to reference de Vega, A., Andrade, D., Fraguela, B.B.: An efficient parallel set container for multicore architectures. In: International Conference on Parallel Computing, ParCo 2011, pp. 369–376 (2011) de Vega, A., Andrade, D., Fraguela, B.B.: An efficient parallel set container for multicore architectures. In: International Conference on Parallel Computing, ParCo 2011, pp. 369–376 (2011)
12.
go back to reference Enmyren, J., Kessler, C.: SkePU: a multi-backend skeleton programming library for multi-GPU systems. In: Proceedings of 4th International Workshop on High-Level Parallel Programming and Applications, HLPP ’10, pp. 5–14 (2010) Enmyren, J., Kessler, C.: SkePU: a multi-backend skeleton programming library for multi-GPU systems. In: Proceedings of 4th International Workshop on High-Level Parallel Programming and Applications, HLPP ’10, pp. 5–14 (2010)
13.
go back to reference Falcou, J., Sérot, J., Chateau, T., Lapresté, J.T.: Quaff: efficient C++ design for parallel skeletons. Parallel Comput. 32(7–8), 604–615 (2006)CrossRef Falcou, J., Sérot, J., Chateau, T., Lapresté, J.T.: Quaff: efficient C++ design for parallel skeletons. Parallel Comput. 32(7–8), 604–615 (2006)CrossRef
14.
go back to reference Fraguela, B.B., Guo, J., Bikshandi, G., Garzarán, M.J., Almási, G., Moreira, J., Padua, D.: The hierarchically tiled arrays programming approach. In: Proceedings of 7th Workshop on Languages, Compilers, and Run-Time Support for Scalable Systems, LCR ’04, pp. 1–12 (2004) Fraguela, B.B., Guo, J., Bikshandi, G., Garzarán, M.J., Almási, G., Moreira, J., Padua, D.: The hierarchically tiled arrays programming approach. In: Proceedings of 7th Workshop on Languages, Compilers, and Run-Time Support for Scalable Systems, LCR ’04, pp. 1–12 (2004)
15.
go back to reference González, C.H., Fraguela, B.B.: A generic algorithm template for divide-and-conquer in multicore systems. In: Proceedings of 12th IEEE International Conference on High Performance Computing and Communications, HPCC ’2010, pp. 79–88. IEEE (2010) González, C.H., Fraguela, B.B.: A generic algorithm template for divide-and-conquer in multicore systems. In: Proceedings of 12th IEEE International Conference on High Performance Computing and Communications, HPCC ’2010, pp. 79–88. IEEE (2010)
16.
go back to reference Harris, T., Fraser, K.: Language support for lightweight transactions. In: Proceedings of 18th Annual ACM SIGPLAN Conference on Object-Oriented Programing, Systems, Languages, and Applications, OOPSLA ’03, pp. 388–402 (2003) Harris, T., Fraser, K.: Language support for lightweight transactions. In: Proceedings of 18th Annual ACM SIGPLAN Conference on Object-Oriented Programing, Systems, Languages, and Applications, OOPSLA ’03, pp. 388–402 (2003)
17.
go back to reference Hassaan, M.A., Burtscher, M., Pingali, K.: Ordered vs. unordered: a comparison of parallelism and work-efficiency in irregular algorithms. In: Proceedings of 16th ACM Symposium on Principles and Practice of Parallel Programming, PPoPP ’11, pp. 3–12 (2011) Hassaan, M.A., Burtscher, M., Pingali, K.: Ordered vs. unordered: a comparison of parallelism and work-efficiency in irregular algorithms. In: Proceedings of 16th ACM Symposium on Principles and Practice of Parallel Programming, PPoPP ’11, pp. 3–12 (2011)
18.
go back to reference Hawick, K.A., Leist, A., Playne, D.P.: Parallel graph component labelling with GPUs and CUDA. Parallel Comput. 36(12), 655–678 (2010)CrossRefMATH Hawick, K.A., Leist, A., Playne, D.P.: Parallel graph component labelling with GPUs and CUDA. Parallel Comput. 36(12), 655–678 (2010)CrossRefMATH
19.
go back to reference Herlihy, M., Moss, J.E.B.: Transactional memory: architectural support for lock-free data structures. In: Proceedings of 20th International Symposium on Computer Architecture, ISCA ’93, pp. 289–300 (1993) Herlihy, M., Moss, J.E.B.: Transactional memory: architectural support for lock-free data structures. In: Proceedings of 20th International Symposium on Computer Architecture, ISCA ’93, pp. 289–300 (1993)
20.
go back to reference Hiranandani, S., Kennedy, K., Tseng, C.W.: Compiling Fortran D for MIMD distributed-memory machines. Commun. ACM 35, 66–80 (1992)CrossRef Hiranandani, S., Kennedy, K., Tseng, C.W.: Compiling Fortran D for MIMD distributed-memory machines. Commun. ACM 35, 66–80 (1992)CrossRef
21.
go back to reference Karypis, G., Kumar, V.: A fast and high quality multilevel scheme for partitioning irregular graphs. SIAM J. Sci. Comput. 20(1), 359–392 (1998)CrossRefMathSciNet Karypis, G., Kumar, V.: A fast and high quality multilevel scheme for partitioning irregular graphs. SIAM J. Sci. Comput. 20(1), 359–392 (1998)CrossRefMathSciNet
22.
go back to reference Kulkarni, M., Burtscher, M., Inkulu, R., Pingali, K., Casçaval, C.: How much parallelism is there in irregular applications? SIGPLAN Not. 44(4), 3–14 (2009)CrossRef Kulkarni, M., Burtscher, M., Inkulu, R., Pingali, K., Casçaval, C.: How much parallelism is there in irregular applications? SIGPLAN Not. 44(4), 3–14 (2009)CrossRef
23.
go back to reference Kulkarni, M., Pingali, K., Ramanarayanan, G., Walter, B., Bala, K., Chew, L.P.: Optimistic parallelism benefits from data partitioning. SIGOPS Oper. Syst. Rev. 42(2), 233–243 (2008)CrossRef Kulkarni, M., Pingali, K., Ramanarayanan, G., Walter, B., Bala, K., Chew, L.P.: Optimistic parallelism benefits from data partitioning. SIGOPS Oper. Syst. Rev. 42(2), 233–243 (2008)CrossRef
24.
go back to reference Kulkarni, M., Pingali, K., Walter, B., Ramanarayanan, G., Bala, K., Chew, L.P.: Optimistic parallelism requires abstractions. In: Proceedings of 2007 ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI ’07, pp. 211–222 (2007) Kulkarni, M., Pingali, K., Walter, B., Ramanarayanan, G., Bala, K., Chew, L.P.: Optimistic parallelism requires abstractions. In: Proceedings of 2007 ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI ’07, pp. 211–222 (2007)
25.
go back to reference Lublinerman, R., Chaudhuri, S., Cerný, P.: Parallel programming with object assemblies. In: Proceedings of 24th ACM SIGPLAN Conference on Object Oriented Programming Systems Languages and Applications, OOPSLA ’09, pp. 61–80 (2009) Lublinerman, R., Chaudhuri, S., Cerný, P.: Parallel programming with object assemblies. In: Proceedings of 24th ACM SIGPLAN Conference on Object Oriented Programming Systems Languages and Applications, OOPSLA ’09, pp. 61–80 (2009)
26.
go back to reference McCabe: A complexity measure. IEEE T. Softw. Eng. 2, 308–320 (1976) McCabe: A complexity measure. IEEE T. Softw. Eng. 2, 308–320 (1976)
27.
go back to reference Méndez-Lojo, M., Nguyen, D., Prountzos, D., Sui, X., Hassaan, M.A., Kulkarni, M., Burtscher, M., Pingali, K.: Structure-driven optimizations for amorphous data-parallel programs. In: Proceedings of 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP ’10, pp. 3–14 (2010) Méndez-Lojo, M., Nguyen, D., Prountzos, D., Sui, X., Hassaan, M.A., Kulkarni, M., Burtscher, M., Pingali, K.: Structure-driven optimizations for amorphous data-parallel programs. In: Proceedings of 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP ’10, pp. 3–14 (2010)
28.
go back to reference Pellegrini, F., Roman, J.: Scotch: a software package for static mapping by dual recursive bipartitioning of process and architecture graphs. In: Liddell, H., Colbrook, A., Hertzberger, B. (eds.) High-Performance Computing and Networking, Lecture Notes in Computer Science, vol. 1067, pp. 493–498 Springer, Berlin Heidelberg (1996) Pellegrini, F., Roman, J.: Scotch: a software package for static mapping by dual recursive bipartitioning of process and architecture graphs. In: Liddell, H., Colbrook, A., Hertzberger, B. (eds.) High-Performance Computing and Networking, Lecture Notes in Computer Science, vol. 1067, pp. 493–498 Springer, Berlin Heidelberg (1996)
29.
go back to reference Rauchwerger, L., Padua, D.: The LRPD test: speculative run-time parallelization of loops with privatization and reduction parallelization. In: Proceedings of ACM SIGPLAN 1995 Conference on Programming Language Design and Implementation, PLDI ’95, pp. 218–232 (1995) Rauchwerger, L., Padua, D.: The LRPD test: speculative run-time parallelization of loops with privatization and reduction parallelization. In: Proceedings of ACM SIGPLAN 1995 Conference on Programming Language Design and Implementation, PLDI ’95, pp. 218–232 (1995)
30.
go back to reference Reinders, J.: Intel Threading Building Blocks, 1st edn. O’Reilly & Associates, Inc., Sebastopol, CA (2007) Reinders, J.: Intel Threading Building Blocks, 1st edn. O’Reilly & Associates, Inc., Sebastopol, CA (2007)
31.
go back to reference Saha, B., Adl-Tabatabai, A.R., Hudson, R.L., Minh, C.C., Hertzberg, B.: McRT-STM: a high performance software transactional memory system for a multi-core runtime. In: Proceedings of 11th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP ’06, pp. 187–197 (2006) Saha, B., Adl-Tabatabai, A.R., Hudson, R.L., Minh, C.C., Hertzberg, B.: McRT-STM: a high performance software transactional memory system for a multi-core runtime. In: Proceedings of 11th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP ’06, pp. 187–197 (2006)
32.
go back to reference Scott, M.L., Spear, M.F., Dalessandro, L., Marathe, V.J.: Delaunay triangulation with transactions and barriers. In: Proceedings of IEEE 10th International Symposium on Workload Characterization, IISWC 2007, pp. 107–113 (2007) Scott, M.L., Spear, M.F., Dalessandro, L., Marathe, V.J.: Delaunay triangulation with transactions and barriers. In: Proceedings of IEEE 10th International Symposium on Workload Characterization, IISWC 2007, pp. 107–113 (2007)
33.
go back to reference Steuwer, M., Kegel, P., Gorlatch, S.: SkelCL—a portable skeleton library for high-level GPU programming. In: 2011 IEEE International Parallel and Distributed Processing Symposium Workshops and Phd Forum (IPDPSW), pp. 1176–1182 (2011) Steuwer, M., Kegel, P., Gorlatch, S.: SkelCL—a portable skeleton library for high-level GPU programming. In: 2011 IEEE International Parallel and Distributed Processing Symposium Workshops and Phd Forum (IPDPSW), pp. 1176–1182 (2011)
Metadata
Title
An Algorithm Template for Domain-Based Parallel Irregular Algorithms
Authors
Carlos H. González
Basilio B. Fraguela
Publication date
01-12-2014
Publisher
Springer US
Published in
International Journal of Parallel Programming / Issue 6/2014
Print ISSN: 0885-7458
Electronic ISSN: 1573-7640
DOI
https://doi.org/10.1007/s10766-013-0268-3

Other articles of this Issue 6/2014

International Journal of Parallel Programming 6/2014 Go to the issue

Premium Partner