Proceedings of the 18th annual conference on Computer graphics and interactive techniques
Algorithmic skeletons: structured management of parallel computation
Algorithmic skeletons: structured management of parallel computation
An introduction to parallel programming
An introduction to parallel programming
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Monitoring compliance of a software system with its high-level design models
Proceedings of the 18th international conference on Software engineering
Automatic code generation from design patterns
IBM Systems Journal
Active object: an object behavioral pattern for concurrent programming
Pattern languages of program design 2
Frameworks = (components + patterns)
Communications of the ACM
Designing and Building Parallel Programs: Concepts and Tools for Parallel Software Engineering
Designing and Building Parallel Programs: Concepts and Tools for Parallel Software Engineering
MPI: The Complete Reference
Concurrent Programming in Java. Second Edition: Design Principles and Patterns
Concurrent Programming in Java. Second Edition: Design Principles and Patterns
Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects
Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects
The Enterprise Model for Developing Distributed Applications
IEEE Parallel & Distributed Technology: Systems & Technology
Using the Cowichan Problems to Assess the Usability of Orca
IEEE Parallel & Distributed Technology: Systems & Technology
IEEE Transactions on Parallel and Distributed Systems
Generating Parallel Programs from the Wavefront Design Pattern
IPDPS '02 Proceedings of the 16th International Parallel and Distributed Processing Symposium
Using Object-Oriented Techniques for Realizing Parallel Architectural Skeletons
ISCOPE '99 Proceedings of the Third International Symposium on Computing in Object-Oriented Parallel Environments
Object-oriented pattern-based parallel programming with automatically generated frameworks
COOTS'99 Proceedings of the 5th conference on USENIX Conference on Object-Oriented Technologies & Systems - Volume 5
Lithium: A Structured Parallel Programming Environment in Java
ICCS '02 Proceedings of the International Conference on Computational Science-Part II
Advanced environments for parallel and distributed applications: a view of current status
Parallel Computing - Special issue: Advanced environments for parallel and distributed computing
Using generative design patterns to generate parallel code for a distributed memory environment
Proceedings of the ninth ACM SIGPLAN symposium on Principles and practice of parallel programming
An advanced environment supporting structured parallel programming in Java
Future Generation Computer Systems - Tools for program development and analysis
HPC the easy way: new technologies for high performance application development and deployment
Journal of Systems Architecture: the EUROMICRO Journal - Special issue: Evolutions in parallel distributed and network-based processing
Algorithmic skeletons meeting grids
Parallel Computing - Algorithmic skeletons
Modeling master/worker applications for automatic performance tuning
Parallel Computing - Algorithmic skeletons
Is MPI suitable for a generative design-pattern system?
Parallel Computing - Algorithmic skeletons
Skeleton-based parallel programming: Functional and parallel semantics in a single shot
Computer Languages, Systems and Structures
ScriptEase: A generative/adaptive programming paradigm for game scripting
Science of Computer Programming
Parallelizing CAD: a timely research agenda for EDA
Proceedings of the 45th annual Design Automation Conference
On the exploitation of loop-level parallelism in embedded applications
ACM Transactions on Embedded Computing Systems (TECS)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Computer Languages, Systems and Structures
Structured parallel programming with deterministic patterns
HotPar'10 Proceedings of the 2nd USENIX conference on Hot topics in parallelism
A survey of algorithmic skeleton frameworks: high-level structured parallel programming enablers
Software—Practice & Experience - Focus on Selected PhD Literature Reviews in the Practical Aspects of Software Technology
Babylon v2.0: middleware for distributed, parallel, and mobile java applications
IPDPS'06 Proceedings of the 20th international conference on Parallel and distributed processing
Developing high-performance parallel applications using EPAS
ISPA'05 Proceedings of the Third international conference on Parallel and Distributed Processing and Applications
Extensible parallel architectural skeletons
HiPC'05 Proceedings of the 12th international conference on High Performance Computing
SuperPAS: a parallel architectural skeleton model supporting extensibility and skeleton composition
ISPA'04 Proceedings of the Second international conference on Parallel and Distributed Processing and Applications
Modeling pipeline applications in POETRIES
Euro-Par'05 Proceedings of the 11th international Euro-Par conference on Parallel Processing
PaCT'05 Proceedings of the 8th international conference on Parallel Computing Technologies
Intel's Array Building Blocks: A retargetable, dynamic compiler and embedded language
CGO '11 Proceedings of the 9th Annual IEEE/ACM International Symposium on Code Generation and Optimization
Automatic generation of software pipelines for heterogeneous parallel systems
SC '12 Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis
Hi-index | 0.00 |
Object-oriented programming, design patterns, and frameworks are abstraction techniques that have been used to reduce the complexity of sequential programming. This paper describes our approach of applying these three techniques to the more difficult parallel programming domain. The Parallel Design Patterns (PDP) process, the basis of the CO2P3S parallel programming system, combines these techniques in a layered development model. The result is a new approach to parallel programming that addresses correctness and openness in a unique way. At the topmost developmem layer, a customized framework is generated from a design pattern specification of the parallel structure of the program. This framework encapsulates all of the structural details of the pattern, including communication and synchronization, to prevent programmer errors and ensure correctness. Lower layers are used only for performance tuning to make the code as efficient as necessary. This paper describes CO2P3S, based on the PDP process, and demonstrates it using an example application. We also provide results from a usability study of CO2P3S.