CSC/ECE 506 Spring 2012/3a df: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
Line 2: Line 2:


==Introduction==
==Introduction==
Computer programming has gone through several paradigm shifts in regards to how software is design and constructed. In more recent years with the advent of object-oriented programming, an effort was made by the “[http://en.wikipedia.org/wiki/Design_Patterns Gang of Four]” to categorize different arrangements and relationships between programming objects in terms of commonly used [http://en.wikipedia.org/wiki/Design_patterns design patterns]. In a similar vein, with recent advances in parallel programming and availability of hardware, there are several common designs that can be drawn from the vast amount of literature available. Although there exists no canonical text for parallel programing as there exists for object oriented programming, there is substantial overlap, which is presented here.
==Intuitive Patterns==
==Intuitive Patterns==
==="Embarassingly" Parallel===
==="Embarassingly" Parallel===

Revision as of 23:48, 12 February 2012

Patterns of Parallel Programming

Introduction

Computer programming has gone through several paradigm shifts in regards to how software is design and constructed. In more recent years with the advent of object-oriented programming, an effort was made by the “Gang of Four” to categorize different arrangements and relationships between programming objects in terms of commonly used design patterns. In a similar vein, with recent advances in parallel programming and availability of hardware, there are several common designs that can be drawn from the vast amount of literature available. Although there exists no canonical text for parallel programing as there exists for object oriented programming, there is substantial overlap, which is presented here.

Intuitive Patterns

"Embarassingly" Parallel

Replicable

Repository

Divide and Conquer

Common Patterns

Pipeline

Recursive Data

Geometric

Irregular Mesh

Inseperable

Complex Patterns

Multi-grid

Multi-domain

Formalization

Design Languages

Frameworks

See Also

References

<references></references>