Ir al contenido

Documat


Implementation of the Pipeline Parallel Programming Technique as an HLPC: Usage, Usefulness and Performance

  • Rossainz-Lopez, Mario [1] ; Capel-Tuñon, Manuel I. [2] ; Carrasco-Limón, Odón [1] ; Hernández-Polo, Fernando [1] ; Sánchez-Rinza, Bárbara [1]
    1. [1] Benemérita Universidad Autónoma de Puebla

      Benemérita Universidad Autónoma de Puebla

      México

    2. [2] Universidad de Granada

      Universidad de Granada

      Granada, España

  • Localización: Annals of Multicore and GPU Programming: AMGP, ISSN 2341-3158, Vol. 4, Nº. 1, 2017, págs. 9-22
  • Idioma: inglés
  • Enlaces
  • Resumen
    • This article presents the pipeline communication/interaction pattern for concurrent, parallel and distributed systems as a high-level parallel composition (HLPC) and discusses its usefulness for deriving parallel versions of sequential algorithms. In particular, we provide examples of the parallel solution for the following problems: adding numbers, sorting numbers and solving a system of linear equations. An approach based on structured parallelism and the parallel object concept is used to solve these problems. In its generic pattern, the pipeline pattern is shown as an HLPC that deploys three types of parallel objects (a manager, various stages and a collector) which are interconnected to form the pipeline processing structure. We also use a method to systematically create the HLPC pipeline and solve this type of problem. Each pipeline instance must be able to handle predefined synchronization restrictions between processes (maximum parallelism, mutual exclusion and synchronization of the producer-consumer type, the use of synchronous, asynchronous and future asynchronous communication, etc.). Finally, the article presents the performance of pipeline HLPC-based implementations of parallel algorithms for solving the problems raised in the paper by using exclusive CPUs.

  • Referencias bibliográficas
    • Corradi, A, Leonardo, L., Zambonelli, F.: Experiences toward an Object-Oriented Approach to Structured Parallel Programming. DEIS technical...
    • Brinch Hansen: Model Programs for Computational Science, A programming methodology for multicomputers. Concurrency, Practice and Experience,...
    • Darlington, et al.: Parallel Programming Using Skeleton Functions. Proceedings PARLE’93, Munich (1993).
    • Rossainz, M., Capel, M.: A Parallel Programming Methodology using Communication Patterns named CPANS or Composition of Parallel Object.20TH...
    • Rossainz, M., Capel M.: Design and implementation of communication patterns using parallel objects. International Journal of Simulation and...
    • Robbins, K. A., Robbins S.: UNIX Programación Práctica. Guía para la concurrencia, la comunicación y los multihilos. Prentice Hall. (1999).
    • Roosta, Séller: Parallel Processing and Parallel Algorithms. Theory and Computation. Springer (1999).
    • Wilkinson B., Allen M: Parallel Programming. Techniques and Applications Using Networked Workstations and Parallel Computers”. Prentice-Hall....
    • Corradi A., Leonardi L.: PO Constraints as tools to synchronize active objects. Pp: 42-53. Journal Object Oriented Programming 10. (1991).
    • Danelutto, M.; Orlando, S; et al.: Parallel Programming Models Based on Restricted Computation Structure Approach. Technical Report-Dpt. Informatica....
    • Rossainz M., Pineda I., Dominguez P.: Análisis y Definición del Modelo de las Composiciones Paralelas de Alto Nivel llamadas CPANs. Modelos...
    • Almeida F., Giménez D., Mantas J.M., Vidal A.M.: Introducción a la Programación Paralela". Paraninfo CENAGE Learning. (2008).
    • Blelloch, Guy E.: Programming Parallel Algorithms. Comunications of the ACM, Vol. 39, No. 3 (1996)
    • Butenhof, D. R. “Programming with POSIX Threads”. Addison Wesley. 1997.
    • Arjomandi E., OFarrell W.G., Wilson G. V.: An Object-Oriented Communication Mechanism for Parallel Systems. Conference on Object-Oriented...

Fundación Dialnet

Mi Documat

Opciones de artículo

Opciones de compartir

Opciones de entorno