You have 3 free guides left 😟
Unlock your guides
You have 3 free guides left 😟
Unlock your guides

Parallel computing architectures revolutionize scientific computing by dividing tasks among multiple processors. From shared memory systems to GPU-based setups, each architecture offers unique advantages for tackling complex problems efficiently.

Performance in parallel computing hinges on , measured by laws like Amdahl's and Gustafson's. Different architectures excel at specific scientific problems, from Monte Carlo simulations to climate modeling, enhancing computational power across various fields.

Parallel Computing Architectures

Types of parallel computing architectures

Top images from around the web for Types of parallel computing architectures
Top images from around the web for Types of parallel computing architectures
  • Shared Memory Systems enable multiple processors to access common memory space facilitating fast inter-processor communication but limited scalability due to memory contention ()
  • Distributed Memory Systems allocate local memory to each processor communicating through message passing achieving high scalability with higher communication overhead ()
  • specialize in highly parallel computations utilizing thousands of simple cores for massive parallelism efficient for data-parallel tasks (, )

Models of parallel computing

  • executes different tasks concurrently on multiple processors suitable for problems with independent subtasks (job scheduling, workflow management)
  • applies same operation to different data elements simultaneously efficient for large datasets with uniform operations (matrix multiplication, image processing)
  • combines task and data parallelism exploiting benefits of both models for complex problems (climate modeling, computational fluid dynamics)

Performance and Application

Scalability in parallel computing

  • calculates theoretical limited by sequential portion of code S(n)=1(1p)+pnS(n) = \frac{1}{(1-p) + \frac{p}{n}} where pp is parallelizable fraction and nn is number of processors
  • accounts for increased problem size with more processors S(n)=nα(n1)S(n) = n - \alpha(n - 1) where α\alpha is sequential fraction and nn is number of processors
  • measures performance with fixed problem size and increasing number of processors efficiency tends to decrease as processors increase
  • evaluates performance as problem size increases with number of processors aims to maintain constant efficiency

Architectures for scientific computing problems

  • Shared Memory Systems suit problems with frequent inter-thread communication (Monte Carlo simulations, matrix operations)
  • Distributed Memory Systems excel for problems with large datasets and minimal communication (climate modeling, particle simulations)
  • GPU-based Systems efficiently handle problems with high arithmetic intensity (image processing, deep learning)
  • Task Parallelism approaches problems with diverse independent subtasks (multi-physics simulations, parameter sweeps)
  • Data Parallelism tackles problems with uniform operations on large datasets (numerical integration, Fourier transforms)
© 2024 Fiveable Inc. All rights reserved.
AP® and SAT® are trademarks registered by the College Board, which is not affiliated with, and does not endorse this website.


© 2024 Fiveable Inc. All rights reserved.
AP® and SAT® are trademarks registered by the College Board, which is not affiliated with, and does not endorse this website.

© 2024 Fiveable Inc. All rights reserved.
AP® and SAT® are trademarks registered by the College Board, which is not affiliated with, and does not endorse this website.
Glossary
Glossary