Design and implementation of communication patterns using parallel objects. (2017) - López, Mario Rossainz; Capel, Manuel I.
Within an environment of parallel objects, an approach of structured parallel programming with the paradigm of object-orientation is presented here. The proposal includes a programming method based on high level parallel compositions or HLPCs (CPANs in Spanish). C++ classes and CPANs are syntactically alike and differ in concurrency mechanisms. Different parallel programming patterns, synchronisation operations and new constructs like futures have been discussed throughout the paper. To achieve software-reusability, a series of predefined patterns that use object-oriented programming concepts have been presented. Concurrency related constraints on process synchronisation are set by only resorting to maxpar, mutex, sync primitives in the application code. By means of the method application, the implementation of commonly used parallel communication patterns is explained to finally present a library of classes for C++ applications that use POSIX threads.