290 likes | 425 Views
ICS 556 Parallel Algorithms. Ebrahim Malalla malalla@kfupm.edu.sa Office: Bldg 22, Room 124-8. Sequential Computers. "…sequential computers are approaching a fundamental physical limit on their potential power. Such a limit is the speed of light…". ``o'' are uniprocessors,
E N D
ICS 556Parallel Algorithms Ebrahim Malalla malalla@kfupm.edu.sa Office: Bldg 22, Room 124-8
Sequential Computers "…sequential computers are approaching a fundamental physical limit on their potential power. Such a limit is the speed of light…"
``o'' are uniprocessors, ``+''denotes modestly parallel computers with 4--16 processors, ``x'' denotes massively parallel computers with 100s or 1000s of processors
Parallelism • Is and can be done easily in real life (nature) • E.g., ants and pees colony. • So why not use it to solve human’s problems!
Parallel Computers Supercomputers (high performance computers) are needed to • Speedup sequential algorithms • Solve large complex problems that are almost not practically solvable.
Applications of Parallelism • Weather forecasting • Simulations (DNA, biomedical, flight control) • Scientific Computations • Fourier transform, wavelets • Applied linear algebra, matrix factorization and multiplication • Image and signal processing • Numerical analysis • PDEs • Huge Databases • Real-time systems with large live stream inputs
Unfortunately .. • Not every algorithm can be parallelized “One woman can have a child in 9 months But 9 women can’t have a child in 1 month!”
Courses in Parallelism • Parallel Architecture • Parallel Programming • Parallel Algorithms • Parallel Algorithms for scientific computations • Concurrent Programming • Distributed systems • Distributed Algorithms • Cluster Computing
Parallel Architecture • Focuses on the design of hardwares • E.g., processors, memory, communications and interconnections, ...etc
Parallel Programming • Code parallel programs using parallel programming languages, e.g., PVM (Parallel Virtual Machine), MPI (Massage Passing Interface), OpenMP • Study: Parallel machine and programming models, Programming techniques (partitioning, pipelined computations, synchronous computations, load balancing and termination detection) • Textbooks: • Parallel Computing, by Grama, Gupta, Karypis, Kumar, Addison-Wesley, 2003. • Parallel Programming, by Wilkinson and Allen, Pearson-Prentice Hall • Fundamentals of Parallel Processing by Jordan and Alaghband, Prentice Hall
Parallel Algorithms • Focuses on the design and analysis of parallel algorithms • Given a problem • partition it into sub-problems, • Distribute these sub-problems to the processors • Solve the communication problem • Combine the solution
Parallel Computation Models • Parallel algorithms are designed to run on a specific parallel computer • But there many different practical models of them (unlike the sequential computer)
Interconnection Network Model Network structure could be array, tree, hypercube, or mesh based design
Other options • Synchronous or asynchronous computation • SIMD MIDM • ....
Top 10 Supercomputers (2007) Google Map of TOP 100 HPCs
Intel Promised Teraflops chip Intel has introduced a prototype for A supercomputer Chip capable of teraflops Performance While consuming Very little power. It has 80 cores and consumes only 62 watts.
Approaches for studying Parallel Algorithms • Model Approach: divide the subject according to the parallel computation models and for each study different parallel algorithms design techniques and consider different application problems
Approaches for studying Parallel Algorithms • Problem Approach: Divide the subject according to the type of problems that can be solved by parallel algorithms like • Sorting and searching • Scientific computation • Graph problems • Computational geometry • Simulations, graphics and vision • Biomedical modeling For each type we study design techniques for models of computations that are best suited.
Approaches for studying Parallel Algorithms • Models and Methods Approach: mix of the above two approaches. • Models: Combinatorial circuits, interconnected networks, shared memory • Design Methods: prefix computation, list ranking, divide and conquer, split and plan, .... etc
Textbook • Parallel Computation By Selim Akl • Supplementary Lecture notes, current research papers
Assessment • 4-5 assignments • 2 exams • Presentation and report based on research papers