skip to main content
10.1145/3087556.3087592acmconferencesArticle/Chapter ViewAbstractPublication PagesspaaConference Proceedingsconference-collections
abstract

Brief Announcement: Meeting the Challenges of Parallelizing Sequential Programs

Published: 24 July 2017 Publication History

Abstract

Discovering which code sections in a sequential program can be made to run in parallel is the first step in parallelizing it, and programmers routinely struggle in this step. Most of the current parallelism discovery techniques focus on specific language constructs while trying to identify such code sections. In contrast, we propose to concentrate on the computations performed by a program. In our approach, a program is treated as a collection of computations communicating with one another using a number of variables. Each computation is represented as a Computational Unit (CU). A CU contains the inputs and outputs of a computation, and the three phases of a computation: read, compute, and write. Based on the notion of CU, We present a unified framework to identify both loop and task parallelism in sequential programs.

References

[1]
Michael Andersch, Ben Juurlink, and Chi Ching Chi. 2011. A Benchmark Suite for Evaluating Parallel Programming Models. In Proceedings 24th Workshop on Parallel Systems and Algorithms (PARS '11). 7--17.
[2]
Rohit Atre, Ali Jannesari, and Felix Wolf. 2015. The Basic Building Blocks of Parallel Tasks. In Proceedings of the 2015 International Workshop on Code Optimisation for Multi and Many Cores (COSMIC '15). ACM, New York, NY, USA, Article 3, 11 pages. x978--1--4503--3316-0
[3]
D. H. Bailey, E. Barszcz, J. T. Barton, D. S. Browning, R. L. Carter, R. A. Fatoohi, P. O. Frederickson, T. A. Lasinski, H. D. Simon, V. Venkatakrishnan, and S. K. Weeratunga. 1991. The NAS parallel benchmarks. The International Journal of Supercomputer Applications 5, 3 (1991), 63--73.
[4]
Arthur Bernstein. 1966. Analysis of programs for parallel processing. IEEE Transactions on Electronic Computers 15, 5 (1966), 757--763.
[5]
Christian Bienia, Sanjeev Kumar, Jaswinder Pal Singh, and Kai Li. 2008. The PARSEC Benchmark Suite: Characterization and Architectural Implications. In Proceedings of the 17th International Conference on Parallel Architectures and Compilation Techniques (PACT '08). ACM, New York, NY, USA, 72--81. x978--1--60558--282--5 http://dx.doi.org/10.1145/1454115.1454128
[6]
Michael Burke, Ron Cytron, Jeanne Ferrante, and Wilson Hsieh. 1989. Automatic generation of nested, fork-join parallelism. The Journal of Supercomputing 3, 2 (1989), 71--88. 0920--8542 http://dx.doi.org/10.1007/BF00129843
[7]
Frederica Darema. 2001. The spmd model: Past, present and future. In Recent Advances in Parallel Virtual Machine and Message Passing Interface. Springer, 1--1.
[8]
Alejandro Duran, Xavier Teruel, Roger Ferrer, Xavier Martorell, and Eduard Ayguade. 2009. Barcelona openmp tasks suite: A set of benchmarks targeting the exploitation of task parallelism in openmp. In Parallel Processing, 2009. ICPP'09. International Conference on. IEEE, 124--131.
[9]
Jialu Huang, Thomas B Jablin, Stephen R Beard, Nick P Johnson, and David I August. 2013. Automatically exploiting cross-invocation parallelism using runtime information. In Code Generation and Optimization (CGO), 2013 IEEE/ACM International Symposium on. IEEE, 1--11.
[10]
Zia Ul Huda, Rohit Atre, Ali Jannesari, and Felix Wolf. 2016. Automatic Parallel Pattern Detection in the Algorithm Structure Design Space. In Proc. of the 30th IEEE International Parallel and Distributed Processing Symposium (IPDPS), Chicago, USA. IEEE Computer Society, 43--52. http://dx.doi.org/10.1109/IPDPS.2016.60
[11]
Zia Ul Huda, Ali Jannesari, and Felix Wolf. 2015. Using Template Matching to Infer Parallel Design Patterns. ACM Trans. Archit. Code Optim. 11, 4, Article 64 (Jan. 2015), Article 64, 21 pages. 1544--3566 http://dx.doi.org/10.1145/2688905
[12]
Ken Kennedy and John R. Allen. 2002. Optimizing Compilers for Modern Architectures: A Dependence-based Approach. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA. x1--55860--286-0
[13]
Zhen Li, Ali Jannesari, and Felix Wolf. 2015. An Efficient Data-Dependence Profiler for Sequential and Parallel Programs. In Proceedings of the 29th IEEE International Parallel & Distributed Processing Symposium (IPDPS '15). 484--493.
[14]
OpenMP Architecture Review Board. 2008. OpenMP Application Program Interface Version 3.0. (May 2008). http://www.openmp.org/mp-documents/spec30.pdf
[15]
Keshav Pingali, Donald Nguyen, Milind Kulkarni, Martin Burtscher, M. Amber Hassaan, Rashid Kaleem, Tsung-Hsien Lee, Andrew Lenharth, Roman Manevich, Mario Méndez-Lojo, Dimitrios Prountzos, and Xin Sui. 2011. The Tao of Parallelism in Algorithms. SIGPLAN Not. 46, 6 (June 2011), 12--25. 0362--1340 http://dx.doi.org/10.1145/1993316.1993501
[16]
Sean Rul, Hans Vandierendonck, and Koen De Bosschere. 2010. A profile-based tool for finding pipeline parallelism in sequential programs. Parallel Comput. 36, 9 (2010), 531--551.
[17]
Vivek Sarkar. 1991. Automatic partitioning of a program dependence graph into parallel tasks. IBM Journal of Research and Development 35, 5.6 (1991), 779--804.
[18]
Barry Wilkinson and Michael Allen. 1999. Parallel programming. Vol. 999. Prentice hall New Jersey.

Cited By

View all
  • (2023)Practical Approach to Introducing Parallelism in Sequential ProgramsDependable Computer Systems and Networks10.1007/978-3-031-37720-4_2(13-27)Online publication date: 11-Aug-2023
  • (2020)Automating Software Re-engineeringLeveraging Applications of Formal Methods, Verification and Validation: Engineering Principles10.1007/978-3-030-61470-6_1(3-8)Online publication date: 27-Oct-2020
  • (2018)Dissecting sequential programs for parallelization—An approach based on computational unitsConcurrency and Computation: Practice and Experience10.1002/cpe.477031:5Online publication date: 29-Jun-2018

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SPAA '17: Proceedings of the 29th ACM Symposium on Parallelism in Algorithms and Architectures
July 2017
392 pages
ISBN:9781450345934
DOI:10.1145/3087556
Permission to make digital or hard copies of part or all 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 third-party components of this work must be honored. For all other uses, contact the Owner/Author.

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 24 July 2017

Check for updates

Author Tags

  1. multicore architectures
  2. parallelism discovery
  3. profiling
  4. static analysis
  5. task parallelism

Qualifiers

  • Abstract

Conference

SPAA '17
Sponsor:

Acceptance Rates

SPAA '17 Paper Acceptance Rate 31 of 127 submissions, 24%;
Overall Acceptance Rate 447 of 1,461 submissions, 31%

Upcoming Conference

SPAA '25
37th ACM Symposium on Parallelism in Algorithms and Architectures
July 28 - August 1, 2025
Portland , OR , USA

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 25 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2023)Practical Approach to Introducing Parallelism in Sequential ProgramsDependable Computer Systems and Networks10.1007/978-3-031-37720-4_2(13-27)Online publication date: 11-Aug-2023
  • (2020)Automating Software Re-engineeringLeveraging Applications of Formal Methods, Verification and Validation: Engineering Principles10.1007/978-3-030-61470-6_1(3-8)Online publication date: 27-Oct-2020
  • (2018)Dissecting sequential programs for parallelization—An approach based on computational unitsConcurrency and Computation: Practice and Experience10.1002/cpe.477031:5Online publication date: 29-Jun-2018

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media