En el proceso de adquisición de las competencias específicas mencionadas, esta asignatura contribuye ofreciendo al alumno los siguientes resultados de aprendizaje:
1. Organización y principales características de las diferentes plataformas de computación paralela.
2. Paradigmas de programación paralela, detallando dos casos: cliente/servidor y SPMD (Single Program Multiple Data).
3. Descripción de las arquitecturas basadas en comunicaciones mediante espacio de memoria compartido.
4. Descripción del sistema de comunicación mediante paso de mensajes.
5. Estudio de los clusterscomo principales representantes de los sistemas de memoria distribuida.
6. Opciones de programación mediante paso de mensajes.
7. Creación de procesos.
8. Envío y recepción de mensajes.
9. Concepto de máquina virtual paralela.
10. Características de PVM, evolución histórica y configuración.
11. Arquitectura de PVM: modelos de comunicación y de implementación.
12. Funciones más destacadas de la librería PVM para la programación.
13. Instalación de PVM y compilación de aplicaciones.
14. Introducción histórica y conceptual sobre MPI.
15. Funciones de arranque, inicialización e información de MPI.
16. Creación de procesos de forma estática y dinámica, y las funciones asociadas a este último tipo de creación de procesos.
17. Funciones de comunicación MPI por paso de mensajes punto a punto, tanto de forma bloqueante como no bloqueante, así como funciones de comprobación de las comunicaciones y manejo de los buffers.
18. Creación de grupos, contextos y comunicadores en MPI para poder realizar las comunicaciones punto a punto y colectivas en un entorno seguro.
19. Principales funciones colectivas MPI para operaciones entre los miembros de un grupo o que involucran a varios grupos de procesos.
20. Utilización de las rutinas de información de PVM y MPI.
21. Aplicación de las rutinas a la resolución de diversos problemas mediante programación paralela.