MPI Introducción Procesos Envío y recepción simple Envío y recepción no tan simple Comunicación colectiva. Herramientas de depuración y evaluación

Tamaño: px
Comenzar la demostración a partir de la página:

Download "MPI Introducción Procesos Envío y recepción simple Envío y recepción no tan simple Comunicación colectiva. Herramientas de depuración y evaluación"

Transcripción

1 Tutorial sobre MPI Temario 1 MPI Introducción Procesos Envío y recepción simple Envío y recepción no tan simple Comunicación colectiva Herramientas de depuración y evaluación

2 arqavapar MPI (Introducción) 2 MPI: Message Passing Interface 1994 MPI Forum [Nov/92] Ejecución de aplicaciones paralelas distribuidas en ordenadores heterogéneos MPI-2 maestro Biblioteca mpi.h MPI_Send, MPI_Recv, esclavo1 esclavo2 esclavo3 esclavo M E1 E2 E3 E4 Implementación MPICH LAM/MPI IBM, Cada uno con su dirip

3 arqavapar MPI (Procesos) 3 Creación estática de procesos (según implementación mpirun ) int MPI_Init(... ); /* Inicia MPI */ int MPI_Comm_size(, int *numprocesos); 5 int MPI_Comm_rank(, int *yo); 2 int MPI_Finalize(); >= 0 => MPI_SUCCESS, significado concreto < 0 => un error (... MPI_ERR_ARG...) MPI_COMM_WORLD

4 arqavapar MPI (Procesos) 4 helloworld paralelo #include mpi.h int main (int argc, char *argv[]) { int yo, numprocesos; % mpirun all-local np 5 helloworld } MPI_Init (&argc, &argv); MPI_Comm_size (MPI_COMM_WORLD, &numprocesos); MPI_Comm_rank (MPI_COMM_WORLD, &yo); if (yo == 0) printf ( Creados %d procesos\n, numprocesos); printf ( Hola, soy el proceso %d\n, yo); MPI_Finalize(); % mpirun p4pg helloworld.txt helloworld pc1 2 /home/alumnosarqava/arqava01/p1/helloworld pc2 2 /home/alumnosarqava/arqava01/p1/helloworld pc3 1 /home/alumnosarqava/arqava01/p1/holamundo

5 arqavapar MPI (Envío y Recepción Simple) 5 Enviar y recibir arrays de datos simples (int, byte,...) Bloqueante P1 P2 int vector[n]; MPI_Send (vector, P2,...) int tabla[m]; MPI_Recv (tabla, P1,...) int MPI_Send(void *buffer, int cuantos, MPI_Datatype tipo, int destino, int etiqueta, MPI_Comm grupo) MPI_COMM_WORLD 0..MPI_TAG_UB MPI_INT, MPI_FLOAT,

6 arqavapar MPI (Envío y Recepción Simple) 6 Enviar y recibir arrays de datos simples (int, byte,...) Bloqueante int MPI_Recv(void *buffer,int cuantos, MPI_Datatype tipo, int origen, int etiqueta, MPI_Comm grupo, MPI_Status *estado) MPI_ANY_SOURCE MPI_ANY_TAG estado.mpi_source estado.mpi_tag int MPI_Get_count( MPI_Status *estado, MPI_Datatype tipo, int *cuantos)

7 arqavapar MPI (Envío y Recepción Simple) 7 Ejemplo de uso: psendrec.c #include <stdio.h> #include <unistd.h> #include mpi.h" #define N 3 #define VECES 5 void esclavo(void) {...} void maestro(void) {...} int main( int argc, char *argv[] ) { int yo; MPI_Init (&argc, &argv); MPI_Comm_rank (MPI_COMM_WORLD, &yo); if (yo == 0) maestro(); else esclavo(); MPI_Finalize(); return 0; }

8 arqavapar MPI (Envío y Recepción Simple) 8 Ejemplo de uso: psendrec.c void maestro (void) { int i, j, vector[n]; } for (i=0; i<veces; i++) { printf ("M: envia => "); for (j=0; j<n; j++) { vector[j] = i*n+j; printf("%d ", vector[j]); esclavo } printf ("\n"); MPI_Send (vector, N, MPI_INT, 1, 1, MPI_COMM_WORLD); }

9 arqavapar MPI (Envío y Recepción Simple) 9 Ejemplo de uso: psendrec.c void esclavo(void) { } int i, j,tabla[n], n; MPI_Status estado; maestro sleep(2); for (i=0; i<veces; i++) { MPI_Recv (tabla, N, MPI_INT, 0, 1, MPI_COMM_WORLD, &estado); MPI_Get_count (&estado, MPI_INT, &n); printf ("E: recibe => "); for (j=0; j<n; j++) printf("%d ", tabla[j]); printf (" de tid = %d eti = %d longi = %d\n", estado.mpi_source, estado.mpi_tag, n); }

10 arqavapar MPI (Envío y Recepción No Tan Simple) 10 Enviar y recibir arrays de datos simples No Bloqueante int MPI_Iprobe(int origen, int etiqueta, MPI_Comm grupo, int *haymsj, MPI_Status *estado) NO SI Hacer otras cosas int MPI_Recv(void *buffer, MPI_Status *estado) Enviar y recibir datos no homogéneos Crear tipos => Algo tedioso

11 arqavapar MPI (Comunicación colectiva) 11 Ala Ala cuenta.0 Ala cuenta.1 cuenta.2 cuenta.n int MPI_Bcast(void *buffer, int cuantos, Send+Recv MPI_Datatype tipo, int emisor,? tag MPI_Comm grupo) void maestro () { void esclavo () { char palabra[4]; char texto[4]; MPI_Bcast ( MPI_Bcast ( palabra, 4, MPI_CHAR, texto, 4, MPI_CHAR, 0, MPI_COMM_WORLD); 0, MPI_COMM_WORLD);

12 arqavapar MPI (Comunicación colectiva) 12 Otras llamadas interesantes: int MPI_Scatter(void *vorg, int norg, MPI_Datatype torg, void *vdst, int ndst, MPI_Datatype tdst, int emisor, MPI_Comm grupo); int MPI_Gather(void *vorg, int norg, MPI_Datatype torg, void *vdst, int ndst, MPI_Datatype tdst, int receptor, MPI_Comm grupo); int MPI_Reduce(void *vorg, void *vdst, int norg, MPI_Datatype tdatoorg, int operacion, int receptor, MPI_Comm grupo); int MPI_Barrier(MPI_Comm grupo);

13 arqavapar Herramientas de depuración y monitorización 13 Medición de tiempos de ejecución Depuración Monitorización #include <sys/time.h> struct timeval t0, tf, tiempo; /* Inicialización */ gettimeofday (&t0, NULL); /* ejecucion del programa paralelo */ Evitar E/S gettimeofday (&tf, NULL); timersub (&tf, &t0, &tiempo); printf ( Tiempo => %ld:%ld seg:micro\n, tiempo.tv_sec, tiempo.tv_usec);

14 arqavapar Herramientas de depuración y monitorización 14 maestro %mpirun dbg=ddd np 2 psendrec esclavo printf fflush(stdout) setbuf(stdout, NULL)

15 arqavapar Herramientas de depuración y monitorización 15 Monitorización (totalview) para MPI, openmp, FIN

Práctica 1. Primera experiencia con MPI

Práctica 1. Primera experiencia con MPI Práctica 1 Primera experiencia con MPI Septiembre-Diciembre 2008 ÍNDICE 1 VISIÓN GLOBAL DE MPI... 2 2 PRIMITIVAS BÁSICAS DE MPI PARA CREAR PROCESOS Y COMUNICACIÓN... 3 2.1 CONTROL DE PROCESOS... 4 2.2

Más detalles

Toma de contacto con MPI

Toma de contacto con MPI Toma de contacto con MPI Práctica 0: Toma de contacto con MPI Página - 0 ÍNDICE 1 Visión global de MPI...2 2 Primitivas básicas de MPI para crear procesos y comunicarse entre ellos...3 2.1 Control de procesos...3

Más detalles

Message Passing Interface (MPI)

Message Passing Interface (MPI) Message Passing Interface (MPI) INTRODUCCIÓN MPI (Message Passing Interface) como es un interfaz estandarizada para la realización de aplicaciones paralelas basadas en pasaje de mensajes. El modelo de

Más detalles

INTRODUCCIÓN A LA PROGRAMACIÓN DE COMPUTADORES DE MEMORIA DISTRIBUIDA USANDO MPI SISTEMAS PARALELOS Y DISTRIBUIDOS

INTRODUCCIÓN A LA PROGRAMACIÓN DE COMPUTADORES DE MEMORIA DISTRIBUIDA USANDO MPI SISTEMAS PARALELOS Y DISTRIBUIDOS INTRODUCCIÓN A LA PROGRAMACIÓN DE COMPUTADORES DE MEMORIA DISTRIBUIDA USANDO MPI 1 Y DISTRIBUIDOS GRADO EN INGENIERÍA INFORMÁTICA INGENIERÍA DE COMPUTADORES ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA

Más detalles

Multiprocesamiento en lenguaje C Introducción a MPI

Multiprocesamiento en lenguaje C Introducción a MPI Multiprocesamiento en lenguaje C Introducción a MPI Message Passing Interface Pertinencia de la enseñanza del cómputo paralelo en el currículo de las ingenierías MPI MPI es un estándar de programación

Más detalles

Práctica 3. Generación de números primos

Práctica 3. Generación de números primos Práctica 3 Generación de números primos Septiembre-Diciembre 2007 1 Algoritmo secuencial (primosec) En esta práctica vamos a trabajar con la generación de números primos basado en el método conocido como

Más detalles

TEMA 5: PARALELISMO A NIVEL DE HILOS, TAREAS Y PETICIONES (TLP, RLP) (segunda parte)

TEMA 5: PARALELISMO A NIVEL DE HILOS, TAREAS Y PETICIONES (TLP, RLP) (segunda parte) TEMA 5: PARALELISMO A NIVEL DE HILOS, TAREAS Y PETICIONES (TLP, RLP) (segunda parte) SISTEMAS PARALELOS Y DISTRIBUIDOS www.atc.us.es Dpto. de Arquitectura y Tecnología de Computadores. Universidad de Sevilla

Más detalles

Paradigma de paso de mensajes

Paradigma de paso de mensajes Paradigma de paso de mensajes Curso 2011-2012 Índice Visión lógica del paradigma de paso de mensajes. Operaciones básicas en paso de mensajes. Operaciones bloqueantes. Operaciones no bloqueantes. MPI:

Más detalles

Procesamiento Paralelo

Procesamiento Paralelo Procesamiento Paralelo Introducción a MPI Javier Iparraguirre Universidad Tecnológica Nacional, Facultad Regional Bahía Blanca 11 de Abril 461, Bahía Blanca, Argentina jiparraguirre@frbb.utn.edu.ar http://www.frbb.utn.edu.ar/hpc/

Más detalles

MPI es un estándar de programación en paralelo mediante paso de mensajes que permite crear programas portables y eficientes.

MPI es un estándar de programación en paralelo mediante paso de mensajes que permite crear programas portables y eficientes. Programación paralela en MPI MPI es un estándar de programación en paralelo mediante paso de mensajes que permite crear programas portables y eficientes. Introducción a MPI MPI fue creado en 1993 como

Más detalles

Programación Paralela: Memoria Distribuida

Programación Paralela: Memoria Distribuida Programación Paralela: Memoria Distriuida MPI: Un caso de estudio Introducción Estas máquinas surgen de forma natural al conectar distintas máquinas en red y ponerlas a cooperar. La red será clave. Arquitectura

Más detalles

Programación en Entornos Paralelos: MPI

Programación en Entornos Paralelos: MPI 1-11 Marzo de 2017 FACET -UNT Programación en Entornos Paralelos: MPI Graciela Molina mgracielamolina@gmailcom TRADICIONALMENTE Procesamiento secuencial 2 TRADICIONALMENTE Procesamiento secuencial Si ya

Más detalles

Introducción a la Interfaz de paso de mensajes (MPI)

Introducción a la Interfaz de paso de mensajes (MPI) Introducción a la Interfaz de paso de mensajes (MPI) MPI communicator 1 P0 value MPI communicator 2 0 1 P1 P2 value 2 3 P3 José Miguel Mantas Ruiz Depto. de Lenguajes y Sistemas Informáticos Universidad

Más detalles

ETSISI - UPM Procesamiento Paralelo Curso 18/19. Práctica 2. Método de Monte Carlo y Superaceleración

ETSISI - UPM Procesamiento Paralelo Curso 18/19. Práctica 2. Método de Monte Carlo y Superaceleración Práctica 2 Método de Monte Carlo y Superaceleración 2 de Octubre 2018 ÍNDICE 1 Objetivos... 2 2 El método de Monte Carlo aplicado al cálculo de PI... 2 2.1 El método... 2 2.2 Tres versiones secuenciales...

Más detalles

SISTEMAS PARALELOS Y DISTRIBUIDOS. 3º GIC. PRÁCTICA 9 Departamento de Arquitectura y Tecnología de Computadores Universidad de Sevilla

SISTEMAS PARALELOS Y DISTRIBUIDOS. 3º GIC. PRÁCTICA 9 Departamento de Arquitectura y Tecnología de Computadores Universidad de Sevilla SISTEMAS PARALELOS Y DISTRIBUIDOS. 3º GIC. PRÁCTICA 9 Departamento de Arquitectura y Tecnología de Computadores Universidad de Sevilla PROGRAMACIÓN DE COMPUTADORES DE MEMORIA DISTRIBUIDA USANDO MPI. PREPARACIÓN

Más detalles

Procesamiento Paralelo

Procesamiento Paralelo Procesamiento Paralelo MPI - Tipos y Topologías Javier Iparraguirre Universidad Tecnológica Nacional, Facultad Regional Bahía Blanca 11 de Abril 461, Bahía Blanca, Argentina jiparraguirre@frbb.utn.edu.ar

Más detalles

UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INFORMÁTICA INGENIERÍA EN INFORMÁTICA. ARQUITECTURA DE COMPUTADORES II 19 de junio de 2007

UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INFORMÁTICA INGENIERÍA EN INFORMÁTICA. ARQUITECTURA DE COMPUTADORES II 19 de junio de 2007 UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INFORMÁTICA INGENIERÍA EN INFORMÁTICA. ARQUITECTURA DE COMPUTADORES II 19 de junio de 2007 Para la realización del presente examen se dispondrá de 2 1/2

Más detalles

1 Primitivas básicas de OpenMP

1 Primitivas básicas de OpenMP 1 Primitivas básicas de OpenMP Consultar la página oficial de la plataforma OpenMP http://www.openmp.org/drupal/ Pragmas Es una directiva para el compilador que permite la definición de nuevas directivas

Más detalles

Departamento de Automática

Departamento de Automática Departamento de Automática Ejemplo Producto escalar Producto escalar (secuencial) /*Cálculo del producto escalar programa secuencial */ #include #include typedef struct double *a;

Más detalles

Introducción a MPI / MPI2

Introducción a MPI / MPI2 Barcelona Supercomputing Center Centro Nacional de Supercomputación Introducción a MPI / MPI2 Santander, 5 de Noviembre de 2010 Xavier Abellan BSC Support team Índice Introducción Qué es MPI? Conceptos

Más detalles

Programación de aplicaciones paralelas con MPI (Message Passing Interface)

Programación de aplicaciones paralelas con MPI (Message Passing Interface) Programación de aplicaciones paralelas con MPI (Message Passing Interface) José Miguel Alonso Facultad de Informática UPV/EHU miguel@si.ehu.es 13/1/97 1. Introducción a MPI MPI (Message Passing Interface)

Más detalles

Interfaz de Paso de Mensajes MPI. Christian Chinchilla Brizuela

Interfaz de Paso de Mensajes MPI. Christian Chinchilla Brizuela Interfaz de Paso de Mensajes MPI Christian Chinchilla Brizuela Agenda Definición Objetivo principal MPI Historia Ventajas Desventajas Estructura MPI Programa MPI Llamadas de MPI Funciones Principales MPI

Más detalles

MPI: Message Passing Interface. Arquitectura de Computadores II Ingeniería en Informática (4º Curso) Universidad Carlos III de Madrid

MPI: Message Passing Interface. Arquitectura de Computadores II Ingeniería en Informática (4º Curso) Universidad Carlos III de Madrid MPI: Message Passing Interface Arquitectura de Computadores II Ingeniería en Informática (4º Curso) Universidad Carlos III de Madrid Definición MPI es una interfaz de paso de mensaje que representa un

Más detalles

Enunciado 3 Buscar palabras de estructura similar

Enunciado 3 Buscar palabras de estructura similar Enunciado 3 Buscar palabras de estructura similar INDICE 1 Definición del problema...1 2 Solución secuencial...1 3 Tabla de tiempos...2 4 Para saber más...2 5 Listado de programas...2 5.1 palabrasec.c...2

Más detalles

UNIVERSIDAD DE BURGOS Área de Tecnología Electrónica. Introducción a la programación en MPI.

UNIVERSIDAD DE BURGOS Área de Tecnología Electrónica. Introducción a la programación en MPI. UNIVERSIDAD DE BURGOS Área de Tecnología Electrónica Introducción a la programación en MPI. José María Cámara Nebreda, César Represa Pérez, Pedro Luis Sánchez Ortega Introducción a la programación en MPI.

Más detalles

Elementos básicos de cómputo paralelo

Elementos básicos de cómputo paralelo Elementos básicos de cómputo paralelo Grandes paradigmas Máquinas de memoria compartida Todos los procesadores ven toda la memoria al mismo tiempo. La filosofía es básicamente dividir las tareas. EL estándar

Más detalles

Los prototipos de las funciones de MPI se detallan en el document: MPI_funciones.pdf

Los prototipos de las funciones de MPI se detallan en el document: MPI_funciones.pdf UNIVERSIDAD POLITECNICA DE MADRIDETSII COMPUTADORES II Profesor: Dr. Claudio Rossi, PhD Profesor asistente: Julián Colorado, PhDc 11,17,18, 24 de abril de 2012 PRACTICA: USO DE MPI (MESSAGE PASSING INTERFACE)

Más detalles

Programación Paralela en MPI. Xavier Andrade V.

Programación Paralela en MPI. Xavier Andrade V. Programación Paralela en MPI Xavier Andrade V. Introducción A pesar del aumento exponencial de la capacidad de los procesadores, esta no es suficiente para el estudio de muchos sistemas. Es necesario entonces

Más detalles

Computacion de Alto Performance

Computacion de Alto Performance Computacion de Alto Performance Abraham Zamudio Abraham Zamudio Computacion de Alto Performance 1/47 Indice 1 Algunos Aspectos Teoricos 2 Paralelismo Computacional 3 Linux Cluster Hardware Software 4 MPICH

Más detalles

Esquemas de comunicación

Esquemas de comunicación Esquemas de comunicación tipos de comunicación Maestro-esclavo o comunicación global Esquema SPMD o comunicación local Maestro-esclavo o comunicación global Consiste en la implementación de un componente

Más detalles

El Procesamiento Distribuido y su aplicación al Tratamiento de Imágenes. Miguel Hernández Vázquez. Carlos Platero Dueñas

El Procesamiento Distribuido y su aplicación al Tratamiento de Imágenes. Miguel Hernández Vázquez. Carlos Platero Dueñas El Procesamiento Distribuido y su aplicación al Tratamiento de Imágenes Autor: Tutor: Miguel Hernández Vázquez Carlos Platero Dueñas A mis padres y a mi hermano, que tanto me han ayudado y apoyado durante

Más detalles

Brevísimo tutorial de MPI (Message Passing Interface) Miguel Vargas

Brevísimo tutorial de MPI (Message Passing Interface) Miguel Vargas Brevísimo tutorial de MPI (Message Passing Interface) Miguel Vargas 19/10/10 1/33 Contenido Contenido Clusters Beowulf MPI (Message Passing Interface) Comunicación entre procesos Un programa simple con

Más detalles

Brevísimo tutorial de MPI (Message Passing Interface) MC. Miguel Vargas Félix

Brevísimo tutorial de MPI (Message Passing Interface) MC. Miguel Vargas Félix Brevísimo tutorial de MPI (Message Passing Interface) MC. Miguel Vargas Félix miguelvargas@cimat.mx http://www.cimat.mx/~miguelvargas 19/10/10 1/34 Contenido Contenido Clusters Beowulf MPI (Message Passing

Más detalles

Master SIA. Programación de Sistemas Paralelos. MPI: Ejercicios prácticos. Ejercicio 1. Facultad de Informática

Master SIA. Programación de Sistemas Paralelos. MPI: Ejercicios prácticos. Ejercicio 1. Facultad de Informática Master SIA Facultad de Informática Programación de Sistemas Paralelos MPI: Ejercicios prácticos Te proponemos realizar estos cuatro ejercicios. Al final, y junto con los ejercicios sobre OpenMP, hay que

Más detalles

Enunciado 2 Descifrar claves cifradas con crypt

Enunciado 2 Descifrar claves cifradas con crypt Enunciado 2 Descifrar claves cifradas con crypt INDICE 1 Definición del problema...1 2 Solución secuencial...1 3 Tabla de tiempos...3 4 Para saber más...3 5 Listado de programas...3 5.1 cifrado.h...4 5.2

Más detalles

Fractal Mandelbrot con MPI - Estándar de Paso de Mensajes*

Fractal Mandelbrot con MPI - Estándar de Paso de Mensajes* Fractal Mandelbrot con MPI - Estándar de Paso de Mensajes* Mandelbrot Fractal with MPI - Message Passing Interface. Guiovanna Paola Sabogal Alfaro** Diego Iván Sánchez Ramírez*** Resumen El desarrollo

Más detalles

Ejercicios/ejemplos de MPI

Ejercicios/ejemplos de MPI Ejercicios/ejemplos de MPI 1. Ejemplo programa hola: #include #include int main (int argc, char *argv[]) { int rank, size; MPI_Init(&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD, &rank);

Más detalles

MPI y sus aplicaciones en infraestructuras Grid

MPI y sus aplicaciones en infraestructuras Grid MPI y sus aplicaciones en infraestructuras Grid Dr. Isabel Campos Plasencia Instituto de Física de Cantabria-IFCA Santander, Spain Grids y e-ciencia 2008, IFIC, Valencia Esquema Introducción a MPI MPI

Más detalles

Programación Híbrida e Introducción a la Programación de GPUs

Programación Híbrida e Introducción a la Programación de GPUs Programación Híbrida e Introducción a la Programación de GPUs Fernando Robles Morales Instituto Nacional de Medicina Genómica Enrique Cruz Martínez Universidad Autónoma de la ciudad de México CONTENIDO

Más detalles

Computación Matricial y Paralela

Computación Matricial y Paralela Computación Matricial y Paralela Programación híbrida Javier Cuenca Dpto. de Ingeniería y Tecnología de Computadores Domingo Giménez Dpto. de Informática y Sistemas Universidad de Murcia http://dis.um.es/~domingo

Más detalles

Qué es MPI? Arquitectura de los sistemas de memoria distribuida Modelos de programación Esquema básico de un programa MPI

Qué es MPI? Arquitectura de los sistemas de memoria distribuida Modelos de programación Esquema básico de un programa MPI Programación paralela basada en paso de mensajes (MPI) Índice Qué es MPI? Arquitectura de los sistemas de memoria distribuida Modelos de programación Esquema básico de un programa MPI Funciones básicas

Más detalles

Procesamiento paralelo

Procesamiento paralelo Procesamiento paralelo Universidad Tecnológica Nacional - FRBA Autor: Gustavo Nudelman Clasificación Definimos como procesamiento paralelo al concepto de agilizar la ejecución de un programa mediante su

Más detalles

Introducción a MPI (Message Passing Interface)

Introducción a MPI (Message Passing Interface) Centro Nacional de Cálculo Científico Universidad de Los Andes CeCalCULA Mérida - Venezuela Introducción a MPI (Message Passing Interface) Francisco Hidrobo hidrobo@ciens.ula.ve Herbert Hoeger hhoeger@ing.ula.ve

Más detalles

Proyecto Fin de Carrera ESTRATEGIAS DE INTERCAMBIO DE INFORMACIÓN EN ALGORIT

Proyecto Fin de Carrera ESTRATEGIAS DE INTERCAMBIO DE INFORMACIÓN EN ALGORIT ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES Y DE TELECOMUNICACIÓN UNIVERSIDAD DE CANTABRIA Proyecto Fin de Carrera ESTRATEGIAS DE INTERCAMBIO DE INFORMACIÓN EN ALGORIT ITMOS DE EQUILIBRIO DE CARGA

Más detalles

Computación Matricial y Paralela

Computación Matricial y Paralela Computación Matricial y Paralela Programación con Paso de Mensajes. MPI Javier Cuenca Dpto. de Ingeniería y Tecnología de Computadores Domingo Giménez Dpto. de Informática y Sistemas Universidad de Murcia

Más detalles

Proyecto de Investigación I y II

Proyecto de Investigación I y II Universidad Autónoma Metropolitana Iztapalapa Proyecto de Investigación I y II Migración de datos entre nodos de un cluster Ciencias Básicas e Ingeniería Licenciatura en Computación Autores: Fernando Fernández

Más detalles

Programación de paso de mensajes con MPI

Programación de paso de mensajes con MPI Programación de paso de mensajes con MPI Tabla de contenidos 1. Programa "Hello word"... 1 2. Los entornos de ejecución para MPI... 2 3. Mensajes en MPI... 2 4. Mensajes en MPI (2)... 3 5. Un ejemplo:

Más detalles

Laboratorio de Paralelismo MPI: ejemplos y ejercicios

Laboratorio de Paralelismo MPI: ejemplos y ejercicios Laboratorio de Paralelismo MPI: ejemplos y ejercicios > Máquinas y directorios Vamos a trabajar con un cluster sencillo de 35 nodos: 32 nodos uniprocesador (Pentium IV, 3 GHz, 1,5 GB RAM, 2 MB cache) y

Más detalles

Instalación de un Super-Servidor de procesamiento paralelo basado en MPI

Instalación de un Super-Servidor de procesamiento paralelo basado en MPI LABORATORIO: Simulación y Mecánica Computacional TRABAJO: Instalación de un Super-Servidor de procesamiento paralelo basado en MPI Idioma: Español Plataforma de Hardware: AMD64 Sistema Operativo: Debian

Más detalles

Cómputo en paralelo con MPI

Cómputo en paralelo con MPI Cómputo en paralelo con MPI Miguel Vargas-Félix miguelvargas@cimat.mx CIMAT, October 9, 2015 1/35 Clusters Beowulf Master node External network Slave nodes Network switch Características: Tecnología estandar

Más detalles

utilizar libros ni un ejemplo tráfico

utilizar libros ni un ejemplo tráfico UNIVERSIDAD CARLOS III DE MADRID INGENIERÍA EN INFORMÁTICA. ARQUITECTURA DE COMPUTADORES II 14 de junio de 2010 Para la realización del presente examen se dispondrá de 2 1/2 horas. NO se podrán utilizar

Más detalles

COMPUTACIÓN DE ALTA PERFORMANCE

COMPUTACIÓN DE ALTA PERFORMANCE COMPUTACIÓN DE ALTA PERFORMANCE 2011 1 MPI-I COMPUTACIÓN DE ALTA PERFORMANCE Curso 2011 Sergio Nesmachnow (sergion@fing.edu.uy) Santiago Iturriaga (siturria@fing.edu.uy) Gerardo Ares (gares@fing.edu.uy)

Más detalles

Programación paralela: MPI

Programación paralela: MPI baliabideak 12 (2016) Programación paralela: MPI Olatz Arbelaitz Gallego Cuaderno del Estudiante Olatz Arregi Uriarte Agustin Arruabarrena Frutos José Ignacio Martín Aramburu Javier Muguerza Rivero ÍNDICE

Más detalles

Índice. Índice. Máquinas de memoria distribuida. Arquitectura de un cluster. Arquitectura

Índice. Índice. Máquinas de memoria distribuida. Arquitectura de un cluster. Arquitectura Índice Programación en MPI 1. Máquinas de memoria distribuida 2. MPI 3. Arquitectura 4. Funciones básicas a. Arranque y parada b. Envío y recepción bloqueantes c. Envío y recepción NO bloqueantes d. Barreras

Más detalles

Introducción a la Computación Heterogénea

Introducción a la Computación Heterogénea Introducción a la Computación Heterogénea Carlos Bederián, Nicolás Wolovick FaMAF, Universidad Nacional de Córdoba, Argentina 18 de Febrero de 2013 RIO2013@DC.EXA.UNRC Revisión 3857, 2013-02-18 Motivación

Más detalles

Introducción general al Lenguaje C (2010/2011)

Introducción general al Lenguaje C (2010/2011) Luis Valencia Cabrera lvalencia@us.es (http://www.cs.us.es/~lvalencia) Ciencias de la Computacion e IA (http://www.cs.us.es/) Introducción general al Lenguaje C (2010/2011) Universidad de Sevilla Índice

Más detalles

Segunda parte: Paso de mensajes

Segunda parte: Paso de mensajes Segunda parte: Paso de mensajes Índice Introducción Arquitecturas de comunicación Cliente-servidor Peer-to-peer Paso de mensajes Comunicación punto a punto Comunicación de grupo Llamadas a procedimientos

Más detalles

Manuel Martín Salvador

Manuel Martín Salvador MPI 2 Introducción a Message-Passing Interface 2 Manuel Martín Salvador draxus@gmail.com http://draxus.org Licencia CC Índice Introducción E/S Paralela Acceso remoto a memoria Gestión dinámica de procesos

Más detalles

Computación Matricial y Paralela

Computación Matricial y Paralela Computación Matricial y Paralela Sesión 3 MPI. Algoritmos Matriciales Javier Cuenca Dpto. de Ingeniería y Tecnología de Computadores Domingo Giménez Dpto. de Informática y Sistemas Facultad de Informática

Más detalles

Objetivos y presentación del curso

Objetivos y presentación del curso Grupo ARCOS Objetivos y presentación del curso Estructura de Computadores Grado en Ingeniería Informática Estructura de Computadores en la UC3M Asignatura obligatoria de segundo curso de: Grado en Ingenería

Más detalles

Laboratorio de Paralelismo Prácticas MPI

Laboratorio de Paralelismo Prácticas MPI Laboratorio de Paralelismo Prácticas MPI Tras los ejemplos MPI que hemos ido haciendo en el laboratorio, hay que realizar estos cuatro ejercicios. Los programas de partida los tienes en el directorio de

Más detalles

ASIGNATURA: SISTEMAS INFORMÁTICOS INDUSTRIALES. CURSO 4º GRUPO Octubre 2015

ASIGNATURA: SISTEMAS INFORMÁTICOS INDUSTRIALES. CURSO 4º GRUPO Octubre 2015 2. Problema de Análisis y Diseño Orientado a Objetos (10 puntos - 20 minutos) Para el código de test adjunto, se pide. 1. Diagrama de clases de diseño (2.5 puntos). 2. Implementación en C++ de la solución

Más detalles

Implementación de un Cluster de Computadoras con software libre para Computación Científica en Jicamarca

Implementación de un Cluster de Computadoras con software libre para Computación Científica en Jicamarca Implementación de un Cluster de Computadoras con software libre para Computación Científica en Jicamarca A.Zamudio M. Milla Contenido de la Presentación 1 Radio Observatorio de Jicamarca 2 3 4 5 6 Índice

Más detalles

Comunicación entre Procesos

Comunicación entre Procesos Universidad Simón Bolívar Departamento de Computación y T.I Sistemas de operación III CI-4822 Comunicación entre Procesos por pase de mensajes Prof. Yudith Cardinale Ene - Mar 2011 Introducción Comunicación

Más detalles

Programación en Paralelo con MPI en Clusters Linux

Programación en Paralelo con MPI en Clusters Linux Programación en Paralelo con MPI en Clusters Linux Francisco Javier Rodríguez Arias 13 de marzo de 2006 Problema y Motivación En física se requiere hacer muchos cálculos. Para eso se hacen programas de

Más detalles

El lenguaje de Programación C. Fernando J. Pereda <ferdy@gentoo.org>

El lenguaje de Programación C. Fernando J. Pereda <ferdy@gentoo.org> El lenguaje de Programación C Fernando J. Pereda Por qué aprender C? Portable y muy extendido Estándar (C89, C99) El lenguaje de los sistemas Un lenguaje fácil (no, no es broma) Por

Más detalles

Biblioteca de sistema

Biblioteca de sistema * Para la realización del presente examen se aconseja un tiempo de 2 horas. Teoría 1. Explique en detalle cómo se pasa una llamada al sistema operativo. El sistema operativo se activa cuando debe responder

Más detalles

FARMER en C y C++ bajo MPICH Antonio Carrillo Ledesma

FARMER en C y C++ bajo MPICH Antonio Carrillo Ledesma FARMER en C y C++ bajo MPICH Antonio Carrillo Ledesma http://www.mmc.igeofcu.unam.mx/acl Objetivo El presente proyecto es sobre la implementación de un Maestro-Esclavo (farmer) en el lenguaje de programación

Más detalles

Bioingeniería I Algoritmos Genéticos en paralelo

Bioingeniería I Algoritmos Genéticos en paralelo Bioingeniería I Algoritmos Genéticos en paralelo Ing. Leandro D. Vignolo, Ing. E. Marcelo Albornoz 2 de mayo de 2007 1. Cálculo distribuido y paso de mensajes El cálculo paralelo es el uso de múltiples

Más detalles

Introducción a C. Grupo de Sistemas y Comunicaciones. Febrero 2008 C 1. Programación imperativa estructurada.

Introducción a C. Grupo de Sistemas y Comunicaciones. Febrero 2008 C 1. Programación imperativa estructurada. Grupo de Sistemas y Comunicaciones gsyc-profes@gsyc.es Febrero 2008 C 1 C Características: Programación imperativa estructurada. Relativamente de bajo nivel. Lenguaje simple, la funcionalidad está en las

Más detalles

Paralelo vs serial. M.A. Rodríguez Meza Ins$tuto Nacional de Inves$gaciones Nucleares

Paralelo vs serial. M.A. Rodríguez Meza Ins$tuto Nacional de Inves$gaciones Nucleares M.A. Rodríguez Meza Ins$tuto Nacional de Inves$gaciones Nucleares Correo electrónico: mar@nuclear.inin.mx h

Más detalles

Herramientas Visuales de Compilación en C. LUIS MENGUAL (c)

Herramientas Visuales de Compilación en C. LUIS MENGUAL (c) Herramientas Visuales de Compilación en C Visual Studio 2005 (I) Herramienta para implementar, ejecutar y compilar código fuente en distintos lenguajes Entorno visual amigable y flexible Entorno de Depuración

Más detalles

Arquitecturas Paralelas Clusters

Arquitecturas Paralelas Clusters Arquitecturas Paralelas Clusters William Stallings, Organización y Arquitectura de Computadores, 5ta. ed., Capítulo 16: Procesamiento Paralelo. Andrew S. Tanenbaum, Organización de Computadoras 4ta. ed.,

Más detalles

EVALUACIÓN DEL DESEMPEÑO DE UN CLUSTER DE ALTO RENDIMIENTO SOBRE UNA INFRAESTRUCTURA DE NUBE.

EVALUACIÓN DEL DESEMPEÑO DE UN CLUSTER DE ALTO RENDIMIENTO SOBRE UNA INFRAESTRUCTURA DE NUBE. Universidad de las Fuerzas Armadas- ESPE. 1 EVALUACIÓN DEL DESEMPEÑO DE UN CLUSTER DE ALTO RENDIMIENTO SOBRE UNA INFRAESTRUCTURA DE NUBE. Arellano García Alexis Israel, Fernández Molina José Eduardo. Ingeniería

Más detalles

Qué es y qué no es un sistema distribuido? M.C. Juan Carlos Olivares Rojas

Qué es y qué no es un sistema distribuido? M.C. Juan Carlos Olivares Rojas Qué es y qué no es un sistema distribuido? M.C. Juan Carlos Olivares Rojas Distribuir Según el diccionario: dividir una cosa entre varios designando lo que a cada uno corresponde Problemática: muchas tecnologías

Más detalles

3. Programación paralela: MPI

3. Programación paralela: MPI Laboratorio de Paralelismo 3. Programación paralela: MPI Introducción. Funciones MPI básicas. Otros modos de envío y recepción. Comunicación en grupo. Tipos de datos derivados, empaquetado. Comunicadores,

Más detalles

Herramientas Visuales de Compilación en C. LUIS MENGUAL (c)

Herramientas Visuales de Compilación en C. LUIS MENGUAL (c) Herramientas Visuales de Compilación en C Visual Studio 2010 (I) Herramienta para implementar, ejecutar y compilar código fuente en distintos lenguajes Entorno visual amigable y flexible Entorno de Depuración

Más detalles

Prácticas de Sistemas operativos

Prácticas de Sistemas operativos Prácticas de Sistemas operativos David Arroyo Guardeño Escuela Politécnica Superior de la Universidad Autónoma de Madrid Sexta semana: memoria compartida Segunda práctica 1 Memoria compartida: ejercicio

Más detalles

Herramient tas Vi Visuales de l d Compilación en C LUIS MENGUAL (c)

Herramient tas Vi Visuales de l d Compilación en C LUIS MENGUAL (c) Herramientas Visuales de Compilación en C Visual Studio 2005 (I) Herramienta para implementar, ejecutar y compilar código fuente en distintos lenguajes Entorno visual amigable y flexible Entorno de Depuración

Más detalles

Ejercicio Sockets Suma Resta. Descripción

Ejercicio Sockets Suma Resta. Descripción Ejercicio Sockets Suma Resta Siguiendo con nuestra propuesta de construir embriones de servicios, como hemos hecho en la práctica programando un embrión de Telnet, un embrión de cliente de un servidor

Más detalles

Apellidos: Nombre: Matrícula: Examen Programación para Sistemas Grado en Ingeniería Informática (2009)

Apellidos: Nombre: Matrícula: Examen Programación para Sistemas Grado en Ingeniería Informática (2009) Examen 105000016 - Programación para Sistemas Grado en Ingeniería Informática (2009) Lenguajes y Sistemas Informáticos e Ingeniería de Software Facultad de Informática Universidad Politécnica de Madrid

Más detalles

Programación I Funciones

Programación I Funciones 1 Funciones Iván Cantador 2 Funciones: definición, sintaxis, ejemplos (I) Una funciónes un bloque de sentencias identificado con un nombre que se ejecutan de manera secuencial ofreciendo una funcionalidad

Más detalles

Punteros. Programación en C 1

Punteros. Programación en C 1 Punteros Programación en C 1 Índice Variables y direcciones de memoria. Punteros definición, declaración e inicialización. Punteros declaración, asignación y dereferencia. Puntero nulo, tipo void. Aritmética

Más detalles

Punteros. Definición Un puntero es un dato que contiene una dirección de memoria.

Punteros. Definición Un puntero es un dato que contiene una dirección de memoria. Punteros Definición Un puntero es un dato que contiene una dirección de memoria. NOTA: Existe una dirección especial que se representa por medio de la constante NULL (definida en ) y se emplea

Más detalles

Modelo de paso de mensajes

Modelo de paso de mensajes Modelo de paso de mensajes Miguel Alfonso Castro García mcas@xanum.uam.mx Universidad Autónoma Metropolitana - Izt 17 de noviembre de 2016 Contenido 1 Comunicación punto a punto 2 3 Comunicación punto

Más detalles

UNIVERSIDAD AUTÓNOMA METROPOLITANA IZTAPALAPA PROPUESTA DE PARALELIZACIÓN DE UNA APLICACIÓN SECUENCIAL DE ALTO RENDIMIENTO

UNIVERSIDAD AUTÓNOMA METROPOLITANA IZTAPALAPA PROPUESTA DE PARALELIZACIÓN DE UNA APLICACIÓN SECUENCIAL DE ALTO RENDIMIENTO UNIVERSIDAD AUTÓNOMA METROPOLITANA IZTAPALAPA DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERÍA PROPUESTA DE PARALELIZACIÓN DE UNA APLICACIÓN SECUENCIAL DE ALTO RENDIMIENTO LIC. COMPUTACIÓN ÁREA DE COMPUTACIÓN

Más detalles

Introducción al Cómputo en Paralelo en el Laboratorio Nacional de Supercómputo del Sureste de México: Uso de MPI

Introducción al Cómputo en Paralelo en el Laboratorio Nacional de Supercómputo del Sureste de México: Uso de MPI Introducción al Cómputo en Paralelo en el Laboratorio Nacional de Supercómputo del Sureste de México: Uso de MPI Poulette Mayoral Orueta y Luis M. Villaseñor Cendejas Benemérita Universidad Autónoma de

Más detalles

Master SIA 2012/13. Programación de Sistemas Paralelos. OpenMP: Ejercicios prácticos. Facultad de Informática. Ejercicio 1.A. pi.c

Master SIA 2012/13. Programación de Sistemas Paralelos. OpenMP: Ejercicios prácticos. Facultad de Informática. Ejercicio 1.A. pi.c Master SIA 2012/13 Facultad de Informática Programación de Sistemas Paralelos OpenMP: Ejercicios prácticos En el directorio templates/practica de tu cuenta msiaxx tienes varios programas que hay que procesar

Más detalles

Consideraciones en el diseño de redes Topología de redes Mecanismos de rutado

Consideraciones en el diseño de redes Topología de redes Mecanismos de rutado Redes básicas de interconexión Consideraciones en el diseño de redes Topología de redes Mecanismos de rutado Consideraciones en el diseño de redes Prestaciones de la red Múltiples procesadores Múltiples

Más detalles

Sistemas Operativos. Grado Ingeniería Informática. TGR Procesos.

Sistemas Operativos. Grado Ingeniería Informática. TGR Procesos. Sistemas Operativos. Grado Ingeniería Informática. TGR Procesos. 1.-Considerar los siguientes procesos con los tiempos de llegadas, prioridades y ráfagas de cpu. Proceso Ráfaga de CPU Prioridad Tiempo

Más detalles

Prácticas de Sistemas operativos

Prácticas de Sistemas operativos Prácticas de Sistemas operativos David Arroyo Guardeño Escuela Politécnica Superior de la Universidad Autónoma de Madrid Quinta semana: señales 1 Cronograma semanal 2 Entregas 3 Introducción 4 Envío de

Más detalles

Sistemas Operativos Práctica 3

Sistemas Operativos Práctica 3 Sistemas Operativos Práctica 3 Ing. Andrés Bustamante afbustamanteg@unal.edu.co Ingeniería de Sistemas Facultad de Ingeniería Universidad de la Amazonia 2009 1. Objetivo El objetivo de la práctica es que

Más detalles

Examen Fundamentos de Programación 15 de enero de 2016 Curso 2015/16

Examen Fundamentos de Programación 15 de enero de 2016 Curso 2015/16 Problema 1: [1 punto] Examen Fundamentos de Programación 15 de enero de 2016 Curso 2015/16 Duración: 2,45 horas 10 PUNTOS Publicación de notas 26 de enero Revisión de examen 1 de febrero En el horario

Más detalles

Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C Sesión 2

Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C Sesión 2 Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C Sesión 2 Contenidos: 1. Punteros 2. Arrays 3. Estructuras (registros) y uniones 4. Funciones Ejercicios Algoritmos y

Más detalles

MC Hilda Castillo Zacatelco PROCESOS

MC Hilda Castillo Zacatelco PROCESOS MC Hilda Castillo Zacatelco hildacz@gmail.com PROCESOS Definición y atributos Un proceso es la instancia de un programa en ejecución. Desde el punto de vista del SO, un proceso es la entidad más pequeña

Más detalles

Cálculos en paralelo con FreeFem++

Cálculos en paralelo con FreeFem++ Cálculos en paralelo con FreeFem++ J. Rafael Rodríguez Galván 4 al 8 de julio de 2011 J. Rafael Rodríguez Galván (UCA) Cálculos en paralelo con FreeFem++ 4 al 8 de julio de 2011 1 / 18 Outline 1 Cálculos

Más detalles

Curso de Promoción Educativa Programación en el Supercomputador Ben Arabi. Programación con MPI. Javier Cuenca. Universidad de Murcia

Curso de Promoción Educativa Programación en el Supercomputador Ben Arabi. Programación con MPI. Javier Cuenca. Universidad de Murcia Curso de Promoción Educativa Programación en el Supercomputador Ben Arabi Programación con MPI Javier Cuenca Universidad de Murcia Indice de la sesión Introducción Comunicaciones punto a punto Comunicaciones

Más detalles