Presentation on theme: "Parallel Processing1 Parallel Processing (CS 676) Overview Jeremy R. Johnson."— Presentation transcript:
Parallel Processing1 Parallel Processing (CS 676) Overview Jeremy R. Johnson
Parallel Processing2 Goals Parallelism: To run large and difficult programs fast. Course: To become effective parallel programmers –“How to Write Parallel Programs” –“Parallelism will become, in the not too distant future, an essential part of every programmer’s repertoire” –“Coordination – a general phenomenon of which parallelism is one example – will become a basic and widespread phenomenon in CS” Why? –Some problems require extensive computing power to solve –The most powerful computer by definition is a parallel machine –Parallel computing is becoming ubiquitous –Distributed & networked computers with simultaneous users require coordination
Parallel Processing4 LINPACK Benchmark Solve a dense N N system of linear equations, y = Ax, using Gaussian Elimination with partial pivoting –2/3N 3 + 2N 2 FLOPS High Performance LINPACK used to measure performance for TOP500 (introduced by Jack Dongarra)
Parallel Processing5 Example LU Decomposition Solve the following linear system Find LU decomposition A = PLU
Parallel Processing16 Programming Challenge “But the primary challenge for an 80-core chip will be figuring out how to write software that can take advantage of all that horsepower.” Read more: http://news.cnet.com/Intel-shows-off-80-core- processor/21001006_36158181.html?tag=mncol#ixzz1AHCK 1LEc
Parallel Processing17 Basic Idea One way to solve a problem fast is to break the problem into pieces, and arrange for all of the pieces to be solved simultaneously. The more pieces, the faster the job goes - upto a point where the pieces become too small to make the effort of breaking-up and distributing worth the bother. A “parallel program” is a program that uses the breaking up and handing-out approach to solve large or difficult problems.