ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Libreria MPI


Enviado por   •  11 de Agosto de 2021  •  Tareas  •  1.140 Palabras (5 Páginas)  •  198 Visitas

Página 1 de 5

Proyecto de sistemas Operativos Distribuidos

Aplicación de la librería MPI con un ejercicio (código) particular

Investigar la aplicación y explicación del ejercicio en la herramienta de desarrollo especificada.

Conceptos

MPI ("Message Passing Interface")

Este tipo de paralelización, basada en el estándar, MPI según Verdeguer y López (2017) indican:

Es una especificación de la interfaz de una librería para paso de mensajes, definiendo la sintaxis y la semántica de las funciones contenidas. MPI está diseñada para ser utilizada en programas que exploten la existencia de múltiples procesadores y nodos de cálculo interconectado (p. 16).

Este cumple con el objetivo principal que es el envío de mensajes de un procesador a otro, claro previo a esto debe cumplir con ciertas reglas para poder realizar este proceso.

Características

Los principales aspectos que destacan de MPI según Geier (2018) indica:

“Las operaciones básicas que define MPI pueden ser categorizadas según orígenes y destinatarios de la comunicación como uno a uno, uno a muchos, muchos a uno y muchos a muchos. Uno a uno o Point to-point (P2P), incluye enviar y recibir mensajes desde y hacia un único proceso” (p. 17), lo que lleva a que el problema puede ser resulto de forma sincrónica o asincrónica esto ya depende de las necesidades involucradas del cliente, y también se encuentran las operaciones como muchos a uno y muchos a muchos estas por otro lado se usan para generar más datos y enviarlos a otros procesos y esto a su vez permitirá recibir los resultados de dicho proceso.                                        

Para ello se enfoca en lograr:

  • El cual puede iniciar a su vez gestionar y por último finaliza los procesos MPI
  • Permiten la comunicación de los datos entre los procesos que se están ejecutando los procesos
  • Además de realizar operaciones de comunicación entre grupos de procesos
  • crear tipos arbitrarios de datos

Comunicadores o funciones básicas de MPI

MPI_Init

Esta función indica a MPI que realice toda la configuración necesaria para inicializarla, según Rojas (2018):

“Podría asignar almacenamiento para los búferes de mensajes, y podría decidir qué proceso obtiene que rango. Como regla general, no se deben invocar a otras funciones de MPI antes de que el programa invoque a MPI Init” (p. 32).

Esta función crea un comunicador compuesto por todos los procesos especificados al lanzar la ejecución del programa, así mismo otras funciones de OpenMPI, MPI Init devuelve un código de error de tipo entero, y en la mayoría de los casos ignoraremos estos códigos de error.

[pic 1]

MPI_Finalize

MPI_COMM_WORLD, finalizando el programa con MPI_Finalize

MPI_COMM_WORLD, finalizando el programa con MPI_Finalize

 Una vez inicializada la función esta debe finalizar y funciona de la siguiente forma según Moreno y Sanz (2019) indican que cada proceso muestra su rango dentro del comunicador MPI_COMM_WORLD, finalizando el programa con MPI_Finalize.

[pic 2]

MPI_COMM_WORLD, finalizando el programa con MPI_Finalize

MPI_Comm_size  

Esta función permite averiguar el número de procesos que participan en la aplicación, que indica según Basulto (2018), esta función indica la cantidad de procesos involucrados en un comunicador. Para MPI COMM WORLD, indica la cantidad total de procesos disponibles.

[pic 3]

MPI_Comm_rank  

Esta función indica que cada proceso conozca su dirección o también llamado identificador dentro de los procesos que intervienen.

Esta función proporciona el identificador del proceso en un comunicador de grupo en particular. Muchos programas utilizan el modelo maestro-esclavo, donde un proceso (como el proceso de rango cero) hace el papel de supervisor, y los otros procesos servirán como nodos esclavos que realizarán los cálculos (Rojas Salazar, 2018, p. 33).

Esta función también posee dos argumentos esenciales para que estas funciones la comprenden uno denominado comm que este va a permitir la comunicación, y el llamador rank que es un identificador del proceso a ejecutarse.

[pic 4]

MPI_Send  

Las funciones de paso de mensajes más básicas de MPI es MPI SEND, según Verdeguer y Alonso (2017) indican que, “envía un mensaje al proceso designado Para que sea posible transmitir correctamente un mensaje en el sistema, MPI de añadir cierta información adicional a los datos que el programa desea transmitir. Está información adicional forma la cabecera del mensaje” (p. 18).

Esta a su vez tiene que cumplir con ciertos argumentos tales como buf que es la dirección inicial del buffer de envió, count indica los números de elementos que serán enviados, datatype es un dato del elemento del buffer de envió, dest es el identificador, tag es la etiqueta del mensaje a enviar, comm es el comunicador.

...

Descargar como (para miembros actualizados)  txt (8 Kb)   pdf (162.7 Kb)   docx (66.3 Kb)  
Leer 4 páginas más »
Disponible sólo en Clubensayos.com