Experiences with high-level parallel programming systems

Patricia A. Leonard, Mary L. Bailey, Saumya K Debray

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

A programmer developing software for parallel systems usually is responsible for the management of low level issues such as communication and synchronization. This is potentially problematic from the perspectives of correctness and portability. This paper considers an alternative approach, namely, the use of high level parallel programming systems. We report our experiences with implementing parallel simulation problem using two very different programming systems: Poker, a high-level tool for parallel programming, based on the programming language C; and Janus, a concurrent logic programming language. Overall, our experience was that the use of such high-level tools greatly simplified the task of developing parallel programs for `ordinary' programmers. While the fundamentally different programming paradigms underlying the two systems resulted in implementations with very different code, our overall conclusions of the strengths and weaknesses of the two systems were remarkably similar. This suggests that the abstractions supported by a high level parallel programming system are fundamentally more important in achieving good programming solutions than the particular underlying programming paradigm.

Original languageEnglish (US)
Title of host publicationConference Proceedings - International Phoenix Conference on Computers and Communications
PublisherIEEE
Pages472-478
Number of pages7
StatePublished - 1995
EventProceedings of the 1995 IEEE 14th Annual International Phoenix Conference on Computers and Communications - Scottsdale, AZ, USA
Duration: Mar 28 1995Mar 31 1995

Other

OtherProceedings of the 1995 IEEE 14th Annual International Phoenix Conference on Computers and Communications
CityScottsdale, AZ, USA
Period3/28/953/31/95

Fingerprint

Parallel programming
Computer programming languages
Computer systems programming
Logic programming
Synchronization
Communication

ASJC Scopus subject areas

  • Computer Science(all)

Cite this

Leonard, P. A., Bailey, M. L., & Debray, S. K. (1995). Experiences with high-level parallel programming systems. In Conference Proceedings - International Phoenix Conference on Computers and Communications (pp. 472-478). IEEE.

Experiences with high-level parallel programming systems. / Leonard, Patricia A.; Bailey, Mary L.; Debray, Saumya K.

Conference Proceedings - International Phoenix Conference on Computers and Communications. IEEE, 1995. p. 472-478.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Leonard, PA, Bailey, ML & Debray, SK 1995, Experiences with high-level parallel programming systems. in Conference Proceedings - International Phoenix Conference on Computers and Communications. IEEE, pp. 472-478, Proceedings of the 1995 IEEE 14th Annual International Phoenix Conference on Computers and Communications, Scottsdale, AZ, USA, 3/28/95.
Leonard PA, Bailey ML, Debray SK. Experiences with high-level parallel programming systems. In Conference Proceedings - International Phoenix Conference on Computers and Communications. IEEE. 1995. p. 472-478
Leonard, Patricia A. ; Bailey, Mary L. ; Debray, Saumya K. / Experiences with high-level parallel programming systems. Conference Proceedings - International Phoenix Conference on Computers and Communications. IEEE, 1995. pp. 472-478
@inproceedings{6bda38ae14204bb9a91918342d1eced8,
title = "Experiences with high-level parallel programming systems",
abstract = "A programmer developing software for parallel systems usually is responsible for the management of low level issues such as communication and synchronization. This is potentially problematic from the perspectives of correctness and portability. This paper considers an alternative approach, namely, the use of high level parallel programming systems. We report our experiences with implementing parallel simulation problem using two very different programming systems: Poker, a high-level tool for parallel programming, based on the programming language C; and Janus, a concurrent logic programming language. Overall, our experience was that the use of such high-level tools greatly simplified the task of developing parallel programs for `ordinary' programmers. While the fundamentally different programming paradigms underlying the two systems resulted in implementations with very different code, our overall conclusions of the strengths and weaknesses of the two systems were remarkably similar. This suggests that the abstractions supported by a high level parallel programming system are fundamentally more important in achieving good programming solutions than the particular underlying programming paradigm.",
author = "Leonard, {Patricia A.} and Bailey, {Mary L.} and Debray, {Saumya K}",
year = "1995",
language = "English (US)",
pages = "472--478",
booktitle = "Conference Proceedings - International Phoenix Conference on Computers and Communications",
publisher = "IEEE",

}

TY - GEN

T1 - Experiences with high-level parallel programming systems

AU - Leonard, Patricia A.

AU - Bailey, Mary L.

AU - Debray, Saumya K

PY - 1995

Y1 - 1995

N2 - A programmer developing software for parallel systems usually is responsible for the management of low level issues such as communication and synchronization. This is potentially problematic from the perspectives of correctness and portability. This paper considers an alternative approach, namely, the use of high level parallel programming systems. We report our experiences with implementing parallel simulation problem using two very different programming systems: Poker, a high-level tool for parallel programming, based on the programming language C; and Janus, a concurrent logic programming language. Overall, our experience was that the use of such high-level tools greatly simplified the task of developing parallel programs for `ordinary' programmers. While the fundamentally different programming paradigms underlying the two systems resulted in implementations with very different code, our overall conclusions of the strengths and weaknesses of the two systems were remarkably similar. This suggests that the abstractions supported by a high level parallel programming system are fundamentally more important in achieving good programming solutions than the particular underlying programming paradigm.

AB - A programmer developing software for parallel systems usually is responsible for the management of low level issues such as communication and synchronization. This is potentially problematic from the perspectives of correctness and portability. This paper considers an alternative approach, namely, the use of high level parallel programming systems. We report our experiences with implementing parallel simulation problem using two very different programming systems: Poker, a high-level tool for parallel programming, based on the programming language C; and Janus, a concurrent logic programming language. Overall, our experience was that the use of such high-level tools greatly simplified the task of developing parallel programs for `ordinary' programmers. While the fundamentally different programming paradigms underlying the two systems resulted in implementations with very different code, our overall conclusions of the strengths and weaknesses of the two systems were remarkably similar. This suggests that the abstractions supported by a high level parallel programming system are fundamentally more important in achieving good programming solutions than the particular underlying programming paradigm.

UR - http://www.scopus.com/inward/record.url?scp=0029216782&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=0029216782&partnerID=8YFLogxK

M3 - Conference contribution

SP - 472

EP - 478

BT - Conference Proceedings - International Phoenix Conference on Computers and Communications

PB - IEEE

ER -