Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3167132.3167254acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
research-article

Textual alignment in SPMD programs

Published: 09 April 2018 Publication History

Abstract

We propose a formal definition of the notion of textual alignment as is used in programming languages proposing spmd-like collective operations. We argue that this property provides an intuitive programming model that makes it easier to perform program analysis and program optimization. Here, textual alignment is studied in the context of the operational semantics of a basic imperative programming language. This language provides support for global synchronization barriers. The semantics records suitable information concerning the parallel execution flow of programs and identifies textually aligned code segments. We prove that our definition of textual alignment entails the absence of deadlocks.

References

[1]
Alexander Aiken and David Gay. Barrier inference. In Proceedings of the 25th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL '98, pages 342--354, New York, NY, USA, 1998. ACM.
[2]
Larbey F. Auguin M. Opsila: an advanced simd for numerical analysis and signal processing. In Microcomputers: developments in industry, business, and education, Ninth EUROMICRO Symposium on Microprocessing and Microprogramming, pages 311--318, Madrid, 1983.
[3]
Prasanth Chatarasi, Jun Shirako, Martin Kong, and Vivek Sarkar. An Extended Polyhedral Model for SPMD Programs and Its Use in Static Data Race Detection, pages 106--120. Springer International Publishing, Cham, 2017.
[4]
C. Chen, W. Huo, L. Li, X. Feng, and K. Xing. Can we make it faster? efficient may-happen-in-parallel analysis revisited. In 2012 13th International Conference on Parallel and Distributed Computing, Applications and Technologies, pages 59--64, Dec 2012.
[5]
Weiwei Chen, Xu Han, and Rainer Dömer. May-happen-in-parallel analysis based on segment graphs for safe esl models. In Proceedings of the Conference on Design, Automation & Test in Europe, DATE '14, pages 287:1--287:6, 3001 Leuven, Belgium, Belgium, 2014. European Design and Automation Association.
[6]
Frédéric Dabrowski and David Pichardie. A Certified Data Race Analysis for a Java-like Language, pages 212--227. Springer Berlin Heidelberg, Berlin, Heidelberg, 2009.
[7]
Frederica Darema. SPMD Computational Model, pages 1933--1943. Springer US, Boston, MA, 2011.
[8]
Hilfinger P. N. (editor), Dan Bonachea, David Gay, Susan Graham, Ben Liblit, Geoff Pike, and Katherine Yelick. Titanium Language Reference Manual, Version 1.16.8. Technical Report UCB//CSD-04-1163x, Computer Science, UC Berkeley, 2004.
[9]
Darema F. Spmd model: past, present and future, recent advances in parallel virtual machine and message passing interface. In Proceedings of the 8th European PVM/MPI Users' Group Meeting, Lecture Notes in Computer Science, Santorini/Thera, Greece, 2001.
[10]
Antonio E. Flores-Montoya, Elvira Albert, and Samir Genaim. May-Happen-in-Parallel Based Deadlock Analysis for Concurrent Objects, pages 273--288. Springer Berlin Heidelberg, Berlin, Heidelberg, 2013.
[11]
Michael J. Flynn. Some computer organizations and their effectiveness. IEEE Trans. Comput., 21(9):948--960, September 1972.
[12]
Message Passing Interface Forum. MPI: A Message-Passing Interface Standard Version 3.1.
[13]
F. Gava and F. Loulergue. A static analysis for bulk synchronous parallel ml to avoid parallel nesting. Future Generation Computer Systems, 21(5):665 -- 671, 2005. Parallel computing technologies.
[14]
D. Gay. Barrier Inference. PhD thesis, University of California, Berkeley, 1998.
[15]
Jonathan M. D. Hill, Bill McColl, Dan C. Stefanescu, Mark W. Goudreau, Kevin Lang, Satish B. Rao, Torsten Suel, Thanasis Tsantilas, and Rob H. Bisseling. Bsplib: The bsp programming library. Parallel Comput., 24(14):1947--1980, December 1998.
[16]
Arvid Jakobsson, Frédéric Dabrowski, Wadoud Bousdira, Frédéric Loulergue, and Gaetan Hains. Replicated synchronization for imperative {BSP} programs. Procedia Computer Science, 108:535 -- 544, 2017. International Conference on Computational Science, {ICCS} 2017, 12-14 June 2017, Zurich, Switzerland.
[17]
Tor E. Jeremiassen and Susan J. Eggers. Static analysis of barrier synchronization in explicitly parallel programs. In Proceedings of the IFIP WG10.3 Working Conference on Parallel Architectures and Compilation Techniques, PACT '94, pages 171--180, Amsterdam, The Netherlands, The Netherlands, 1994. North-Holland Publishing Co.
[18]
G. Kahn. Natural semantics, pages 22--39. Springer Berlin Heidelberg, Berlin, Heidelberg, 1987.
[19]
A. Kamil. Problems with the titanium type system for alignment of collectives. unpublished note, 2006.
[20]
Amir Kamil and Katherine Yelick. Concurrency analysis for parallel programs with textually aligned barriers. In Proceedings of the 18th International Conference on Languages and Compilers for Parallel Computing, LCPC'05, pages 185--199, Berlin, Heidelberg, 2006. Springer-Verlag.
[21]
Amir Kamil and Katherine Yelick. Enforcing Textual Alignment of Collectives Using Dynamic Checks, pages 368--382. Springer Berlin Heidelberg, Berlin, Heidelberg, 2010.
[22]
Andreas Knüpfer, Tobias Hilbrich, Joachim Protze, and Joseph Schuchart. Dynamic Analysis to Support Program Development with the Textually Aligned Property for OpenSHMEM Collectives, pages 105--118. Springer International Publishing, Cham, 2015.
[23]
Yuan Li. Static non concurrency analysis of openmp programs.
[24]
Frédéric Loulergue, Frédéric Gava, and David Billiet. Bulk Synchronous Parallel ML: Modular Implementation and Performance Prediction. volume 3515 of LNCS, pages 1046--1054. Springer, 2005.
[25]
Frédéric Loulergue and Gaétan Hains. Functional parallel programming with explicit processes: Beyond SPMD, pages 530--537. Springer Berlin Heidelberg, Berlin, Heidelberg, 1997.
[26]
Mayur Naik, Alex Aiken, and John Whaley. Effective static race detection for java. SIGPLAN Not., 41(6):308--319, June 2006.
[27]
G. D. Plotkin. A structural approach to operational semantics. Technical Report DAIMI FN-19, University of Aarhus, 1981.
[28]
Vivek Sarkar Rudrapatna K Shyamasundar Shivali Agarwal, Rajkishore Barik. May-happen-in-parallel analysis of x10 programs. PPoPP, 2017.
[29]
Glynn Winskel. The Formal Semantics of Programming Languages: An Introduction. MIT Press, Cambridge, MA, USA, 1993.
[30]
Kathy Yelick, Luigi Semenzato, Geoff Pike, Carleton Miyamoto, Ben Liblit, Arvind Krishnamurthy, Paul Hilfinger, Susan Graham, David Gay, Phil Colella, and Alex Aiken. Titanium: a high-performance java dialect. Concurrency: Practice and Experience, 10(11--13):825--836, 1998.
[31]
A. N. Yzelman, R. H. Bisseling, D. Roose, and K. Meerbergen. Multicorebsp for c: A high-performance library for shared-memory parallel programming. Int. J. Parallel Program., 42(4):619--642, August 2014.
[32]
Yuan Zhang and Evelyn Duesterwald. Barrier matching for programs with textually unaligned barriers. In Proceedings of the 12th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP '07, pages 194--204, New York, NY, USA, 2007. ACM.

Cited By

View all
  • (2023)A Survey on Parallelism and DeterminismACM Computing Surveys10.1145/356452955:10(1-28)Online publication date: 2-Feb-2023
  • (2021)On Single-Valuedness in Textually Aligned SPMD ProgramsInternational Journal of Parallel Programming10.1007/s10766-021-00710-5Online publication date: 4-May-2021
  • (2019)Safe usage of registers in BSPlibProceedings of the 34th ACM/SIGAPP Symposium on Applied Computing10.1145/3297280.3297421(1400-1407)Online publication date: 8-Apr-2019

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SAC '18: Proceedings of the 33rd Annual ACM Symposium on Applied Computing
April 2018
2327 pages
ISBN:9781450351911
DOI:10.1145/3167132
Publication rights licensed to ACM. ACM acknowledges that this contribution was authored or co-authored by an employee, contractor or affiliate of a national government. As such, the Government retains a nonexclusive, royalty-free right to publish or reproduce this article, or to allow others to do so, for Government purposes only.

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 09 April 2018

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. parallel control flow
  2. parallel programming
  3. semantics
  4. synchronisation

Qualifiers

  • Research-article

Conference

SAC 2018
Sponsor:
SAC 2018: Symposium on Applied Computing
April 9 - 13, 2018
Pau, France

Acceptance Rates

Overall Acceptance Rate 1,650 of 6,669 submissions, 25%

Upcoming Conference

SAC '25
The 40th ACM/SIGAPP Symposium on Applied Computing
March 31 - April 4, 2025
Catania , Italy

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)15
  • Downloads (Last 6 weeks)2
Reflects downloads up to 16 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2023)A Survey on Parallelism and DeterminismACM Computing Surveys10.1145/356452955:10(1-28)Online publication date: 2-Feb-2023
  • (2021)On Single-Valuedness in Textually Aligned SPMD ProgramsInternational Journal of Parallel Programming10.1007/s10766-021-00710-5Online publication date: 4-May-2021
  • (2019)Safe usage of registers in BSPlibProceedings of the 34th ACM/SIGAPP Symposium on Applied Computing10.1145/3297280.3297421(1400-1407)Online publication date: 8-Apr-2019

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