Implementación de la técnica del Pipeline como CPAN. Uso, utilidad y rendimiento

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

    Benemérita Universidad Autónoma de Puebla

    Heróica Puebla de Zaragoza, México

    ROR https://ror.org/03p2z7827

  2. 2 Universidad de Granada
    info

    Universidad de Granada

    Granada, España

    ROR https://ror.org/04njjy449

Revista:
Annals of Multicore and GPU Programming: AMGP

ISSN: 2341-3158

Año de publicación: 2017

Volumen: 4

Número: 1

Páginas: 9-22

Tipo: Artículo

Otras publicaciones en: Annals of Multicore and GPU Programming: AMGP

Resumen

Se propone la representación mediante el modelo de las Composiciones Paralelas de Alto Nivel o CPANs del patrón de comunicación/interacción denominado Pipeline y su utilidad en problemas que se resuelven con distintas estrategias paralelas de sus algoritmos secuenciales: el problema de la sumatoria de números, el problema de la ordenación de números y el problema de la solución de un sistema de ecuaciones lineales; a través de un enfoque de Paralelismo Estructurado basado en el concepto de Objetos Paralelos. Se muestra el modelo del pipeline como CPAN en su versión genérica a través de tres tipos de objetos paralelos, un objeto manager, varios objetos stages (etapas) y un objeto collector, los cuales se conectan entre sí para formar la estructura del pipeline y se hace uso de una metodología de creación del CPAN Pipeline en su concreción para resolver un problema particular como los citados. Cada propuesta de CPAN Pipeline respecto del problema que se resuelve contiene un conjunto de restricciones predefinidas de sincronización entre procesos (paralelismo máximo, exclusión mutua y sincronización del tipo productor-consumidor), así como el uso de los modos de comunicación síncrono, asíncrono y futuro asíncrono. Se muestran los algoritmos que resuelven los problemas de sumatoria, ordenación de números y solución a un sistema de ecuaciones lineales, su diseño e implementación como CPAN Pipeline y con ello un comparativo de las métricas de rendimiento en sus ejecuciones paralelas usando CPUs exclusivos. 

Referencias bibliográficas

  • Corradi, A, Leonardo, L., Zambonelli, F.: Experiences toward an Object-Oriented Approach to Structured Parallel Programming. DEIS technical report no. DEIS-LIA-95-007. (1995).
  • Brinch Hansen: Model Programs for Computational Science, A programming methodology for multicomputers. Concurrency, Practice and Experience, Volume 5, Number 5. (1993).
  • 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 European Modeling \& Simulation. Italy (2008).
  • Rossainz, M., Capel M.: Design and implementation of communication patterns using parallel objects. International Journal of Simulation and Process Modelling. Volume 12, No.1, Pp: 69-91. ISSN: 1740-2131, (2017).
  • 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. U.S.A. (1999).
  • 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. Universitá de Pisa (1999).
  • Rossainz M., Pineda I., Dominguez P.: Análisis y Definición del Modelo de las Composiciones Paralelas de Alto Nivel llamadas CPANs. Modelos Matemáticos y TIC: Teoría y Aplicaciones. Dirección de Fomento Editorial. ISBN 987-607-487-834-9. Pp. 1-19. México. (2014).
  • 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 Technologies. Toronto, Ontario, Canada, 1996. USENIX http://www.usenix.org