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

skip to main content
research-article

On the performance difference between theory and practice for parallel algorithms

Published: 01 April 2020 Publication History

Abstract

The performance of parallel algorithms is often inconsistent with their preliminary theoretical analyses. Indeed, the difference is increasing between the ability to theoretically predict the performance of a parallel algorithm and the results measured in practice. This is mainly due to the accelerated development of advanced parallel architectures, whereas there is still no agreed model for parallel computation, which has implications for the design of parallel algorithms and for the manner in which parallel programming should be taught.
In this study, we examined the practical performance of Cormen’s Quicksort parallel algorithm. We determined the performance of the algorithm with different parallel programming approaches and examine the capacity of theoretical performance analyses of the algorithm for predicting the actual performance. This algorithm is used for teaching theoretical and practical aspects of parallel programming to undergraduate students. We considered the pedagogic implications that may arise when the algorithm is used as a learning resource for teaching parallel programming.

Highlights

Performance analysis of Cormen’s parallel Quicksort algorithm.
Comparing the performance of various implementations of Cormen’s algorithm.
Examination of the theoretical performance prediction of Coremen’s algorithm.

References

[1]
Anaconda accelerate, Anaconda accelerate, https://docs.continuum.io/accelerate/.
[2]
Anaconda python, Anaconda python, https://www.continuumio/downloads.
[3]
Blelloch G.E., Scan Primitives and Parallel Vector Models, (Ph.D. dissertation) Massachusetts Institute of Technology, 1988.
[4]
Blelloch Guy E., Vector Models for Data-Parallel Computing, The MIT Press, 1990.
[5]
Cormen Thomas H., Parallel computing in a python-based computer science course, in: Prasad Sushil K., Gupta Anshul, Rosenberg Arnold L., Sussman Alan, Weems Charles C. (Eds.), Topics in Parallel and Distributed Computing: Introducing Concurrency in Undergraduate Courses, Morgan Kaufmann, 2015, Chapter 9.
[6]
Marowka Ami, Think parallel: Teaching parallel programming today, IEEE Distrib. Syst. Online 9 (8) (2008).
[7]
Marowka Ami, Pitfalls and issues of many-core programming, in: Advances in Computers, Vol. 79, Elsevier, 2010, pp. 71–117.
[12]
Sutter H., Welcome to the jungle, 2012, http://herbsutter.com/welcome-to-the-jungle/.

Index Terms

  1. On the performance difference between theory and practice for parallel algorithms
    Index terms have been assigned to the content through auto-classification.

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image Journal of Parallel and Distributed Computing
    Journal of Parallel and Distributed Computing  Volume 138, Issue C
    Apr 2020
    231 pages

    Publisher

    Academic Press, Inc.

    United States

    Publication History

    Published: 01 April 2020

    Author Tags

    1. Python
    2. Teaching parallel programming
    3. Quicksort
    4. Performance modeling

    Qualifiers

    • Research-article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • 0
      Total Citations
    • 0
      Total Downloads
    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 12 Nov 2024

    Other Metrics

    Citations

    View Options

    View options

    Get Access

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media