Nothing Special   »   [go: up one dir, main page]

skip to main content
article
Free access

Programming parallel algorithms

Published: 01 March 1996 Publication History
First page of PDF

References

[1]
Aho, A.V., and Ullman. J.D. Foundations of Computer Science. Computer Science Press, Network, 1992.
[2]
Aho. A.V., Hopcroft, J.E., and Ullman, J.D. The Design and Analysis of Computer Algorithms. Addison-Wesley, Reading, Mass., 1974.
[3]
Arvind, R., Nikhil. S., and Pingali, K.K. I-structures: Data structures for parallel computing. ACM Trans. Program. Lang. Syst. 11, 4 (Oct. 1989), 598-632.
[4]
Blelloch, G.E. Vector Model for Data-Parallel Computing. MIT Press, Cambridge. Mass., 1990.
[5]
Blelloch, G.E. NESI: A nested data-parallel language (version 2.6). Tech. Rep. CMU-CS-93-129, School of Computer Science, Carnegie Mellon Univ., 1993.
[6]
Blelloch, G.E., and Greiner, J. Parallelism in sequential functional languages. In Proceedings of the Symposium on Functional Programming and Computer Architecture (June 1995).
[7]
Blelloch, G.E., and Hardwick, J.C. Class notes: Programming parallel algorithms. Tech. Rep. CMU-CS-93-115, School of Computer Science, Carnegie Mellon Univ., 1993.
[8]
Blelloch, G.E., Chatterjee. S., Hardwick, J.C., Sipelstem, J., and Zagha, M. Implementation of a portable nested dataparallel language. J. Parallel Distrib. Comput. 21. 1 (Apr. 1994), 4-14.
[9]
Brent, R.P. The parallel evalualion of general arithmetic expressions. J. ACM 21, 2 (1974), 201-206.
[10]
Chandy, K.M., and Misra, J. Parallel Program Design: A Foundation. Addison-Wesley, Reading, Mass., 1988.
[11]
Cormen, T.H., Leiserson, C.F., and Rivest, R.L Introduction to Algorithms Cambridge, Mass., 1990.
[12]
Feo, J.T., Cann, D.C., and Oldehoeft, R.R. A report on the Sisal language project. J. Parallel Distrib. Comput. 10, 4 (Dec. 1990), 349-366.
[13]
Hatcher, P., Tichy, W.F., and Philippsen, M. A critique of the programming language C*. Commun, ACM 35. 6 (June 1992), 21-24.
[14]
High Performance Fortran Forum. High Performance Fortran Language Specification, May 1993.
[15]
Hillis, W.D., and Steele, G.I., Jr. Data parallel algorithms. Commun. ACM 29, 12 (Dec. 1986), 12.
[16]
J~j~, J. An Introduction to Parallel Algorithms. Addison-Wesley, Reading, Mass., 1992.
[17]
Karp, R.M., and Ramachandran, V. Parallel algorithms for shared memory machines. In Handbook of theoretical Computer Science-Volume A: Algorithms and Complexity, J. Van Leeuwen, Ed. MIT Press. Cambridge, Mass., 1990.
[18]
Mills, PH., Nyland, I.S., Prins, J.F., Reif. J.H., and Wagner, R.A. Prototyping parallel and distributed programs in Proteus. Tech. Rep. UNC-CH TR90-041, Computer Science Dept., Univ. of North Carolina, 1990.
[19]
Milner, R., Tofte, M., and Harper, R. The Definition of Standard ML. MIT Press, Cambridge, Mass., 1990.
[20]
Preparata, F.P., and Shamos, M.I. Computational Geometry-- An Introduction. Springer-Verlag, New York, 1985.
[21]
Rose, J.R., and Steele, G.I., Jr. C*: An extended C language for data parallel programming. In Proceedings of the 2d International Conference on Supercomputing, Vol. 2 (May) 1987, pp. 2-16.
[22]
Schwartz, J.T., Dewar, R.B.K., Dubinsky, E., and Schonberg, E. Programming with Sets: An Introduction to SFTL. Springer- Verlag, New York, 1986.
[23]
Shiloach, Y., and Vishkin, U. An O(n2 log n) parallel Max- Flow algorithm. J. Algorithms 3 (1982), 128-146.
[24]
Sipelslein, J. and Blelloch, G.E. Collection-oriented languages. In Proceedings of the IEEE 79, 4 (Apr. 1991), pp. 504- 523.
[25]
Vishkin, U. Parallel-design distributed-implementation (PDDI) general purpose computer. Theor. Comput. Sci. 32 (1984), pp. 157-172.

Cited By

View all
  • (2024)PRAM-BASED ALGORITHM FOR PERFECT DIFFERENCE NETWORK ANALYSISShodhKosh: Journal of Visual and Performing Arts10.29121/shodhkosh.v5.i1.2024.18775:1Online publication date: 31-Jan-2024
  • (2024)Automatic Parallelism ManagementProceedings of the ACM on Programming Languages10.1145/36328808:POPL(1118-1149)Online publication date: 5-Jan-2024
  • (2024)Parallel Dynamic Maximal MatchingProceedings of the 36th ACM Symposium on Parallelism in Algorithms and Architectures10.1145/3626183.3659982(427-437)Online publication date: 17-Jun-2024
  • Show More Cited By

Recommendations

Reviews

Lorie M. Liebrock

Blelloch presents features of the language NESL that are the “most important for programming parallel algorithms”: a performance model based on work and depth, and nestable data-parallel constructs. The paper focuses on work (total number of operations) and depth (longest chain of sequential dependencies) for computations. The author claims that “models based on work and depth are better than processor-based models for programming and analyzing parallel algorithms.” Motivation is based on the Quicksort algorithm and its analysis. The NESL code is simple, the analysis closely follows the code, and parallelism is expressed at a high level. Work, W , provides a measure of the running time for a single processor, while depth, D , provides a measure of the running time for an infinite number of processors. A bound for the time T on P processors is W D ?T< W P +D . Work and depth do not account for communication costs, which leads to poor predictions of runtime on machines with communication bottlenecks. With some modification, if network bandwidth is sufficient, then “reasonable predictions” result<__?__Pub Caret> (for example, for the Cray T3E and SGI Power Challenge). NESL algorithms and analysis are presented for a variety of problems with nested parallelism. This approach makes analysis of some algorithms, perhaps most algorithms, simpler. Therefore, work and depth analysis simplifies determination of how the running time grows as a function of the size of the input. Unfortunately, this analysis does not necessarily translate easily to performance predictions for a given machine architecture.

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Communications of the ACM
Communications of the ACM  Volume 39, Issue 3
March 1996
89 pages
ISSN:0001-0782
EISSN:1557-7317
DOI:10.1145/227234
Issue’s Table of Contents
Permission to make digital or hard copies of all or part 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 components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 March 1996
Published in CACM Volume 39, Issue 3

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)574
  • Downloads (Last 6 weeks)84
Reflects downloads up to 12 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)PRAM-BASED ALGORITHM FOR PERFECT DIFFERENCE NETWORK ANALYSISShodhKosh: Journal of Visual and Performing Arts10.29121/shodhkosh.v5.i1.2024.18775:1Online publication date: 31-Jan-2024
  • (2024)Automatic Parallelism ManagementProceedings of the ACM on Programming Languages10.1145/36328808:POPL(1118-1149)Online publication date: 5-Jan-2024
  • (2024)Parallel Dynamic Maximal MatchingProceedings of the 36th ACM Symposium on Parallelism in Algorithms and Architectures10.1145/3626183.3659982(427-437)Online publication date: 17-Jun-2024
  • (2024)Deterministic and Low-Span Work-Efficient Parallel Batch-Dynamic TreesProceedings of the 36th ACM Symposium on Parallelism in Algorithms and Architectures10.1145/3626183.3659976(247-258)Online publication date: 17-Jun-2024
  • (2024)Parallel and Distributed Graph Neural Networks: An In-Depth Concurrency AnalysisIEEE Transactions on Pattern Analysis and Machine Intelligence10.1109/TPAMI.2023.3303431(1-20)Online publication date: 2024
  • (2024)Teaching Parallel Algorithms Using the Binary-Forking Model2024 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)10.1109/IPDPSW63119.2024.00080(346-351)Online publication date: 27-May-2024
  • (2023)Randomized graph cluster randomizationJournal of Causal Inference10.1515/jci-2022-001411:1Online publication date: 25-May-2023
  • (2023)Efficient Parallel Functional Programming with EffectsProceedings of the ACM on Programming Languages10.1145/35912847:PLDI(1558-1583)Online publication date: 6-Jun-2023
  • (2023)Streaming Task Graph Scheduling for Dataflow ArchitecturesProceedings of the 32nd International Symposium on High-Performance Parallel and Distributed Computing10.1145/3588195.3592999(225-237)Online publication date: 7-Aug-2023
  • (2023)WARDen: Specializing Cache Coherence for High-Level Parallel LanguagesProceedings of the 21st ACM/IEEE International Symposium on Code Generation and Optimization10.1145/3579990.3580013(122-135)Online publication date: 17-Feb-2023
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media