Procesamiento Paralelo

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

Download "Procesamiento Paralelo"

Transcripción

1 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 [email protected] 8 de junio de 2016

2 Que es MPI?

3 Generalidades MPI = Message Passing Interface MPI es una de las APIs más antiguas Muy usada y portable Demanda poco desde el punto de vista del hardware Paralelización explícita

4 Modelo de programación

5 Historia 1994: MPI : MPI : MPI-3.0 fue aprobado como estándar

6 Modos de funcionamiento

7 Modos de funcionamiento Asincrónico Comportamiento no-determinístico Sincronización suelta Hay sincronización para realizar intercambio Es viable una secuencia lógica SPMD Single Program Multiple Data El mismo programa corre en todos los nodos Simple de escalar Puede haber sincronización suelta o completamente sincrónico

8 Bloqueo sin buffer

9 Bloqueo con buffer

10 Sin bloqueo sin buffer

11 Cuadro de protocolos

12 Programando

13 Hola Mundo! # i n c l u d e < s t d i o. h> # i n c l u d e " mpi. h " i n t main ( argc, argv ) i n t argc ; char argv ; { i n t rank, size ; M P I_Init ( &argc, &argv ) ; MPI_Comm_size ( MPI_COMM_WORLD, & s i z e ) ; MPI_Comm_rank ( MPI_COMM_WORLD, &rank ) ; p r i n t f ( " Hello world from process %d of %d \ n ", rank, size ) ; MPI_Finalize ( ) ; r e t u r n 0; }

14 Salida Hello world from process 0 of 4 Hello world from process 2 of 4 Hello world from process 3 of 4 Hello world from process 1 of 4

15 Funciones 125 funciones 6 son las mas usadas

16 Comunicaciones MPI

17 Tipos de datos

18 Ejemplos

19 Ejemplo 1 # i n c l u d e < s t d i o. h> # i n c l u d e " mpi. h " i n t main ( argc, argv ) i n t argc ; char argv ; { i n t rank, s ize ; M P I_Init ( &argc, &argv ) ; MPI_Comm_size ( MPI_COMM_WORLD, & s i z e ) ; MPI_Comm_rank ( MPI_COMM_WORLD, &rank ) ; p r i n t f ( " Hello world from process %d of %d \ n ", rank, size ) ; MPI_Finalize ( ) ; r e t u r n 0; }

20 Salida ejemplo 1 % mpicc o h e l l o w o r l d h e l l o w o r l d. c % mpirun np 4 h e l l o w o r l d Hello world from process 0 of 4 Hello world from process 3 of 4 Hello world from process 1 of 4 Hello world from process 2 of 4 %

21 Ejemplo 2 # include <stdio. h> # i n c l u d e " mpi. h " i n t main ( argc, argv ) i n t argc ; char argv ; { i n t rank, value ; MPI_Init ( &argc, &argv ) ; MPI_Comm_rank ( MPI_COMM_WORLD, &rank ) ; do { i f ( rank == 0) scanf ( " %d ", &value ) ; MPI_Bcast ( &value, 1, MPI_INT, 0, MPI_COMM_WORLD ) ; p r i n t f ( " Process %d got %d \ n ", rank, value ) ; } while ( value >= 0 ) ; } MPI_Finalize ( ) ; r e t u r n 0;

22 Salida ejemplo 2 % mpicc o bcast bcast. c % mpirun np 4 bcast 10 Process 0 got Process 0 got 22 1 Process 0 got 1 Process 1 got 10 Process 1 got 22 Process 1 got 1 Process 2 got 10 Process 2 got 22 Process 2 got 1 Process 3 got 10 Process 3 got 22 Process 3 got 1

23 Ejemplo 3 # include <stdio. h> # i n c l u d e " mpi. h " i n t main ( argc, argv ) i n t argc ; char argv ; { i n t rank, value, size ; MPI_Status status ; MPI_Init ( &argc, &argv ) ; MPI_Comm_rank ( MPI_COMM_WORLD, &rank ) ; MPI_Comm_size ( MPI_COMM_WORLD, &size ) ; do { i f ( rank == 0) { scanf ( " %d ", &value ) ; MPI_Send ( &value, 1, MPI_INT, rank + 1, 0, MPI_COMM_WORLD ) ; } else { MPI_Recv ( &value, 1, MPI_INT, rank 1, 0, MPI_COMM_WORLD, &s t a t u s ) ; i f ( rank < s ize 1) MPI_Send ( &value, 1, MPI_INT, rank + 1, 0, MPI_COMM_WORLD ) ; } p r i n t f ( " Process %d got %d \ n ", rank, value ) ; } while ( value >= 0 ) ; } MPI_Finalize ( ) ; r e t u r n 0;

24 Salida ejemplo 3 % mpicc o r i n g r i n g. c % mpirun np 4 ring 10 Process 0 got Process 0 got 22 1 Process 0 got 1 Process 3 got 10 Process 3 got 22 Process 3 got 1 Process 2 got 10 Process 2 got 22 Process 2 got 1 Process 1 got 10 Process 1 got 22 Process 1 got 1 %

25 Instalando en máquina personal

26 OpenMPI en Ubuntu aptitude install openmpi-bin openmpi-doc libopenmpi-dev

27 Compilando mpicc o b i n a r i o 01 example. c

28 Ejecutando mpirun np 8 b i n a r i o

29 Ejecutando en un cluster

30 Cluster remoto Se dispone de un cluster remoto. Se define la lista de nodos en un archivo (my_hostfile)

31 Corriendo remoto: lista archivos compile. sh main. c m y _ h o s t f i l e run. sh

32 Corriendo remoto: fuente # i n c l u d e <mpi. h> # i n c l u d e < s t d i o. h> i n t main ( i n t argc, char argv [ ] ) { i n t myrank, s ize ; M P I_Init (& argc, &argv ) ; MPI_Comm_rank (MPI_COMM_WORLD, &myrank ) ; MPI_Comm_size (MPI_COMM_WORLD, & s i z e ) ; p r i n t f ( " Hola desde e l proceso %d de %d \ n ", myrank, s ize ) ; MPI_Finalize ( ) ; r e t u r n 0; }

33 Corriendo remoto: compilando mpicc o b i n a r i o main. c

34 Corriendo remoto: nodos en my_hostfile c5n04 s l o t s =2 c5n05 s l o t s =2 c5n06 s l o t s =2 c5n07 s l o t s =2 c5n08 s l o t s =2

35 Corriendo remoto: ejecutando mpirun h o s t f i l e m y _ h o s t f i l e np 4 b i n a r i o

36 Corriendo remoto: salida Hola desde e l proceso 0 de 4 Hola desde e l proceso 1 de 4 Hola desde e l proceso 2 de 4 Hola desde e l proceso 3 de 4

37 Muchas gracias! Preguntas?

38 Referencias G. Ananth, G. Anshul, K. George, and K. Vipin. Introduction to parallel computing, MPI Tutorial, Blaise Barney, Lawrence Livermore National Laboratory ANL MPI Tutotial http: //

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

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

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

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

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

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

Cómputo en paralelo con MPI

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

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

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

Programación Paralela y Distribuida

Programación Paralela y Distribuida Programación Paralela y Distribuida Cores, Threads and Nodes Pedro Antonio Varo Herrero [email protected] Pedro Antonio Varo Herrero Estudiante 4º Curso - Universidad de Sevilla Grado Ing. Informática Tecnologías

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

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

Curso-Taller Programación Paralela con lenguaje C bajo Linux. MCC. Salazar Martínez Hilario

Curso-Taller Programación Paralela con lenguaje C bajo Linux. MCC. Salazar Martínez Hilario Curso-Taller Programación Paralela con lenguaje C bajo Linux MCC. Salazar Martínez Hilario Mayo 2011 Programación Paralela La que se realiza usando procesos separados. Interactúan intercambiando información.

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

Taller Computación Altas Prestaciones. Pedro Antonio Varo Herrero

Taller Computación Altas Prestaciones. Pedro Antonio Varo Herrero Taller Computación Altas Prestaciones Pedro Antonio Varo Herrero Antes de nada!! Cosas a instalar: OpenMPI: http://www.open-mpi.org/software/ompi/v1.8/downloads/openmpi-1.8.3.tar.gz Mpi4py: pip install

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

Instalación de Eclipse Galileo y depuradores compatibles con OpenMPI y OpenMP

Instalación de Eclipse Galileo y depuradores compatibles con OpenMPI y OpenMP Instalación de Eclipse Galileo y depuradores compatibles con OpenMPI y OpenMP Programación Distribuida y Paralela Universidad de Granada Departamento del LSI Por: Daniel Guerrero Martínez Sergio Rodríguez

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 [email protected] 13/1/97 1. Introducción a MPI MPI (Message Passing Interface)

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

JUAN CARLOS TORRES JOSE ALBEIRO CUESTA MENA GERMAN VARGAS FUNDACION UNIVERSITARIA KONRAD LORENZ

JUAN CARLOS TORRES JOSE ALBEIRO CUESTA MENA GERMAN VARGAS FUNDACION UNIVERSITARIA KONRAD LORENZ ANALISIS DE UNA ESTRATEGIA OPTIMA DE PARTICION DE ARCHIVOS PARA PROCESAMIENTO EN UN CLUSTER BASADO EN COMPUTACION PARALELA- CASO ARCHIVO DE RESPUESTAS DE UN EXAMEN JUAN CARLOS TORRES JOSE ALBEIRO CUESTA

Más detalles

Instalación de OpenMPI

Instalación de OpenMPI Instalación de OpenMPI Programación Distribuida y Paralela Universidad de Granada Departamento del LSI Por: Daniel Guerrero Martínez Sergio Rodríguez Lumley 1 Índice de contenido Instalación de OpenMPI...3

Más detalles

Clusters. High Performance Cluster Computing. de Rajkumar Buyya. Sergio Romero, Febrero 2009 Arquitecturas Distribuidas

Clusters. High Performance Cluster Computing. de Rajkumar Buyya. Sergio Romero, Febrero 2009 Arquitecturas Distribuidas Clusters High Performance Cluster Computing de Rajkumar Buyya Sergio Romero, Febrero 2009 Arquitecturas Distribuidas Índice Introducción Arquitectura del cluster Clasificación de los cluster Cluster Middleware

Más detalles

Manuel Martín Salvador

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

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

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

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 [email protected] Herbert Hoeger [email protected]

Más detalles

LENGUAJE. Tema 1 - Introducción

LENGUAJE. Tema 1 - Introducción LENGUAJE Tema 1 - Introducción HISTORIA DEL LENGUAJE C El lenguaje de programación C fue creado por Dennis Ritchie cuando trabajaba en Bell Laboratories de AT&T junto con Ken Thompson en el diseño del

Más detalles

CLUSTER FING: PARALELISMO de MEMORIA DISTRIBUIDA

CLUSTER FING: PARALELISMO de MEMORIA DISTRIBUIDA CLUSTER FING: PARALELISMO de MEMORIA DISTRIBUIDA SERGIO NESMACHNOW Centro de Cálculo, Instituto de Computación FACULTAD DE INGENIERÍA, UNIVERSIDAD DE LA REPÚBLICA, URUGUAY CONTENIDO Introducción: arquitecturas

Más detalles

4. Clusters. Arquitectura de Clusters. Arquitectura de un cluster. Tipos de clusters. Redes para clusters. Ejemplo de Cluster: Google

4. Clusters. Arquitectura de Clusters. Arquitectura de un cluster. Tipos de clusters. Redes para clusters. Ejemplo de Cluster: Google 4. Clusters Arquitectura de un cluster Introducción Componentes de un cluster Ventajas e inconvenientes Tipos de clusters Clusters de alto rendimiento Clusters de balanceo de carga Clusters de alta disponibilidad

Más detalles

Heterogénea y Jerárquica

Heterogénea y Jerárquica Metodología de la Programación Paralela 2015-2016 Facultad Informática, Universidad de Murcia Computación Híbrida, Heterogénea y Jerárquica Contenidos 1 Sistemas 2 Paralelismo anidado 3 Programación híbrida

Más detalles

2º curso / 2º cuatr. Arquitectura de Computadores. Grado en Ing. Informática. Seminario 1. Herramientas de programación paralela I: Directivas OpenMP

2º curso / 2º cuatr. Arquitectura de Computadores. Grado en Ing. Informática. Seminario 1. Herramientas de programación paralela I: Directivas OpenMP 2º curso / 2º cuatr. 2º curso / 2º cuatr. Grado en Ing. Informática Arquitectura de Computadores Seminario 1. Herramientas de programación paralela I: Directivas OpenMP 2 Qué es OpenMP? De dónde viene

Más detalles

UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE CIENCIAS PRACTICA DE PROCESOS HERRAMIENTAS

UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE CIENCIAS PRACTICA DE PROCESOS HERRAMIENTAS UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE CIENCIAS PRACTICA DE PROCESOS HERRAMIENTAS Caso 1: 1.- Necesitamos un cd o Dvd para grabar alguna de las versiones de livecd de Linux. 2.- Liga de una

Más detalles

Taller de Sistemas Operativos Introducción

Taller de Sistemas Operativos Introducción Taller de Sistemas Operativos Introducción Escuela de Ingeniería Civil en Informática Universidad de Valparaíso, Chile http:// Conceptos generales 2 Proceso stdin Descriptor Flujo (FILE*) 0 stdout 1 Proceso

Más detalles

Descomposición de dominios con el método alternante de Schwarz

Descomposición de dominios con el método alternante de Schwarz Descomposición de dominios con el método alternante de Schwarz MSc Miguel Vargas-Félix [email protected] http://www.cimat.mx/~miguelvargas 14/10/ 1/44 Contenido Contenido Solución de ecuaciones diferenciales

Más detalles

Computación Híbrida, Heterogénea y Jerárquica

Computación Híbrida, Heterogénea y Jerárquica Computación Híbrida, Heterogénea y Jerárquica http://www.ditec.um.es/ javiercm/curso psba/ Curso de Programación en el Supercomputador Ben-Arabí, febrero-marzo 2012 Organización aproximada de la sesión,

Más detalles

Unidad III El lenguaje de programación C 1. 2. 3. 4. 5. 6. 7. 8.

Unidad III El lenguaje de programación C 1. 2. 3. 4. 5. 6. 7. 8. Unidad III 1. Introducción. 2. Breve historia del C. 3. Lenguajes de programación de alto nivel, bajo nivel y nivel medio. 4. Compiladores e intérpretes. 5. Compilación, enlace y generación de un programa

Más detalles

Balanceo de Carga en. Aplicaciones Paralelas. Usando Sobresuscripción de. CPUs en un Clúster Multicore

Balanceo de Carga en. Aplicaciones Paralelas. Usando Sobresuscripción de. CPUs en un Clúster Multicore Balanceo de Carga en Aplicaciones Paralelas Usando Sobresuscripción de CPUs en un Clúster Multicore Memoria final. Trabajo final de grado Autor: Javier Sánchez Martínez Director: Gladys Utrera Iglesias

Más detalles

Cluster Beowulf/MPI en Debian

Cluster Beowulf/MPI en Debian 1- Configuración de la red: Cluster Beowulf/MPI en Debian En este artículo utilizamos la topología estrella para la configuración del Cluster. La configuración lo haremos suponiendo que ya tenemos una

Más detalles

Descomposición de dominios

Descomposición de dominios Descomposición de dominios Miguel Vargas 27/10/10 1/29 Contenido Contenido Solución de ecuaciones diferenciales con descomposición de dominios Dominios sin traslape, complemento de Schur Método alternante

Más detalles

Diseño y evaluación de un clúster HPC: Software de sistema

Diseño y evaluación de un clúster HPC: Software de sistema Diseño y evaluación de un clúster HPC: Software de sistema Autor: Cristobal Ortega Carrasco Grado en Ingeniería Informática Especialidad en Ingeniería de Computadores 26 de Junio de 2014 Director: David

Más detalles

ARQUITECTURAS PARA PROCESAMIENTO PARALELO

ARQUITECTURAS PARA PROCESAMIENTO PARALELO 1 de 6 27/11/11 13:08 ARQUITECTURAS PARA PROCESAMIENTO PARALELO Facultad de Ingeniería de Sistemas Información para el Proyecto REYCYT RESUMEN Se presenta información general relativa a las diferentes

Más detalles

Supercomputación CSIC.

Supercomputación CSIC. Supercomputación Jaime Perea: Instituto de Astrofísica de Andalucía, CSIC. El término supercomputación no está bien definido, ya que tiene una naturaleza de índole periodística y comercial: Lo vamos a

Más detalles

Treball Fi de Carrera ENGINYERIA TÈCNICA EN INFORMÀTICA DE SISTEMES Facultat de Matemàtiques Universitat de Barcelona. Clustering en Linux

Treball Fi de Carrera ENGINYERIA TÈCNICA EN INFORMÀTICA DE SISTEMES Facultat de Matemàtiques Universitat de Barcelona. Clustering en Linux Treball Fi de Carrera ENGINYERIA TÈCNICA EN INFORMÀTICA DE SISTEMES Facultat de Matemàtiques Universitat de Barcelona Clustering en Linux José Manuel Rodríguez Del Amo Director: Jaume Timoneda Salat Realitzat

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

Facultad de Ingeniería ISSN: 0121-1129 [email protected]. Universidad Pedagógica y Tecnológica de Colombia. Colombia

Facultad de Ingeniería ISSN: 0121-1129 revista.ingenieria@uptc.edu.co. Universidad Pedagógica y Tecnológica de Colombia. Colombia Facultad de Ingeniería ISSN: 0121-1129 [email protected] Universidad Pedagógica y Tecnológica de Colombia Colombia Amézquita-Mesa, Diego Germán; Amézquita-Becerra, Germán; Galindo-Parra, Omaira

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

Secretaría de Docencia Dirección de Estudios Profesionales

Secretaría de Docencia Dirección de Estudios Profesionales PROGRAMA DE ESTUDIOS POR COMPETENCIAS PROGRAMACIÓN PARALELA Y DISTRIBUIDA I. IDENTIFICACIÓN DEL CURSO ORGANISMO ACADÉMICO: Facultad de Ingeniería PROGRAMA EDUCATIVO: Ingeniería en Computación ÁREA DE DOCENCIA:

Más detalles

Procesamiento Paralelo en Redes Linux Utilizando MPI. Alumno: Vicente F. Reyes Puerta Director: Jose Antonio Jiménez Millán

Procesamiento Paralelo en Redes Linux Utilizando MPI. Alumno: Vicente F. Reyes Puerta Director: Jose Antonio Jiménez Millán Procesamiento Paralelo en Redes Linux Utilizando MPI Alumno: Vicente F. Reyes Puerta Director: Jose Antonio Jiménez Millán Julio 2003 2 Resumen El presente documento realiza un estudio de investigación

Más detalles

Linux Cluster Computing

Linux Cluster Computing Linux Cluster Computing Guillermo López Taboada Grupo de Arquitectura de Computadores Departamento de Electrónica y Sistemas Introducción a las Arquitecturas Clúster Un clúster es... Un conjunto de nodos

Más detalles

UNIVERSIDAD DEL VALLE DE MÉXICO PROGRAMA DE ESTUDIO DE LICENCIATURA PRAXIS MES XXI

UNIVERSIDAD DEL VALLE DE MÉXICO PROGRAMA DE ESTUDIO DE LICENCIATURA PRAXIS MES XXI UNIVERSIDAD DEL VALLE DE MÉXICO PROGRAMA DE ESTUDIO DE LICENCIATURA PRAXIS MES XXI NOMBRE DE LA ASIGNATURA: SUPERCÓMPUTO FECHA DE ELABORACIÓN: ENERO 2005 ÁREA DEL PLAN DE ESTUDIOS: AS ( ) AC ( ) APOBL

Más detalles

Arquitecturas Paralelas Clusters, Grids y Clouds

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

Más detalles

Middlewar Middlew es par ar a es par Sistemas de Alto Re R ndimiento José M. Peña

Middlewar Middlew es par ar a es par Sistemas de Alto Re R ndimiento José M. Peña Middlewares para Sistemas de Alto Rendimiento José M. Peña Contenidos Middlewares: Ejemplo lenguajes/entornos de programación: Lenguaje de programación paralela: OpenMP Ejemplos de servicios HPC: Sistemas

Más detalles

El Bueno, el Malo y el Feo

El Bueno, el Malo y el Feo El Bueno, el Malo y el Feo Mejorando la Eficiencia y Calidad del Software Paralelo Ricardo Medel Argentina Systems & Tools SSG-DPD Basado en un guión de Eric W. Moore - Senior Technical Consulting Engineer

Más detalles

Práctica 0 Introducción a la programación en C

Práctica 0 Introducción a la programación en C DEPARTAMENTO DE AUTOMÁTICA ARQUITECTURA Y TECNOLOGÍA DE COMPUTADORES OBJETIVO Grado en Ingeniería de Computadores COMPUTACIÓN DE ALTAS PRESTACIONES Práctica 0 Introducción a la programación en C Se pretende

Más detalles

Estructuras de Datos Declaraciones Tipos de Datos

Estructuras de Datos Declaraciones Tipos de Datos Departamento de Informática Universidad Técnica Federico Santa María Estructuras de Datos Declaraciones Tipos de Datos Temas: 2-3-4 IWI-131, paralelo 01 Profesor: Teddy Alfaro O. Lenguaje de Programación

Más detalles

Introducción a Java LSUB. 30 de enero de 2013 GSYC

Introducción a Java LSUB. 30 de enero de 2013 GSYC Introducción a Java LSUB GSYC 30 de enero de 2013 (cc) 2013 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial

Más detalles

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introduccion al Lenguaje C Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introducción C es un lenguaje de programación creado en 1972 por

Más detalles

Estructuras de Repetición (Hacer-Mientras)

Estructuras de Repetición (Hacer-Mientras) Estructuras de Repetición (Hacer-Mientras) Material Original: Prof. Flor Narciso Modificaciones: Prof. Andrés Arcia Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería

Más detalles

Contenido. Capítulo 1. Introducción a lenguaje C 1

Contenido. Capítulo 1. Introducción a lenguaje C 1 Contenido Capítulo 1. Introducción a lenguaje C 1 Introducción... 2 Qué es un lenguaje de programación?... 2 Tipos de lenguajes de programación... 2 Introducción a lenguaje C... 2 Historia de lenguaje

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

Plataformas paralelas

Plataformas paralelas Plataformas paralelas Curso 2011-2012 Elementos de un computador paralelo Hardware: Múltiples procesadores Múltiples memorias Redes de interconexión Software: Sistemas Operativos paralelos Programas orientados

Más detalles

Clusterización. Remo Suppi Boldrito PID_00174431

Clusterización. Remo Suppi Boldrito PID_00174431 Clusterización Remo Suppi Boldrito PID_00174431 GNUFDL PID_00174431 Clusterización Índice Introducción.......................................................... 5 Objetivos...............................................................

Más detalles

Lección: Lenguaje de Programación JULIA

Lección: Lenguaje de Programación JULIA Lección: Lenguaje de Programación JULIA ICI3140 Métodos Numéricos Profesor : Dr. Héctor Allende-Cid e-mail : [email protected] JULIA Julia is a highlevel, high-performance dynamic programming language

Más detalles

ÍNDICE. 1. Requisitos de Hardware Arranque del front-end Arranque de los nodos Utilización de lam, OpenMPI y Ganglia...

ÍNDICE. 1. Requisitos de Hardware Arranque del front-end Arranque de los nodos Utilización de lam, OpenMPI y Ganglia... ÍNDICE 1. Requisitos de Hardware...2 2. Arranque del front-end 2 3. Arranque de los nodos.4 4. Utilización de lam, OpenMPI y Ganglia....5 5. Cambio de configuración de red..7 1. REQUISITOS DE HARDWARE

Más detalles

Fundamentos de programación

Fundamentos de programación Fundamentos de programación Estructuras de Control Estructuras de control Estructuras de control Estructura secuencial Estructura alternativa Sentencias if, if else Sentencias if else anidadas El operador

Más detalles

Introducción a Java LSUB. 15 de enero de 2015 GSYC

Introducción a Java LSUB. 15 de enero de 2015 GSYC Introducción a LSUB GSYC 15 de enero de 2015 (cc) 2014 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial - SinObraDerivada

Más detalles

>> Programación Visual (GUI)

>> Programación Visual (GUI) >> Programación Visual (GUI) Nicolás Álvarez S. [email protected] Juan Monsalve Z. [email protected] Tópicos a tratar Por qué programación visual?. GUIs & IDEs. Delphi. Ejemplos. Por qué programación

Más detalles

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA TESIS ACELERACIÓN DE ALGORITMOS CON

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA TESIS ACELERACIÓN DE ALGORITMOS CON UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA TESIS ACELERACIÓN DE ALGORITMOS CON TECNOLOGÍAS DE MULTIPROCESAMIENTO QUE PARA OBTENER EL TÍTULO DE INGENIERO EN COMPUTACIÓN PRESENTAN: ARIEL

Más detalles

Lenguaje de Programación: Go

Lenguaje de Programación: Go Centro de Investigación y de Estudios Avanzados del I.P.N 9 de Noviembre de 2011 Go Es un lenguaje de programación de propósito general que es promovido por: Rob Pike, Robert Griesemer, Ken Thompson, Russ

Más detalles

Manual de Usuario. Supercomputador LUSITANIA

Manual de Usuario. Supercomputador LUSITANIA Manual de Usuario Supercomputador LUSITANIA Índice de contenido 1 Introducción...3 2 Acceso a LUSITANIA...4 2.1 Acceso desde clientes GNU/Linux...4 2.2 Acceso desde clientes Windows...6 2.3 Copia de ficheros

Más detalles

Lusitania. Pensando en Paralelo. César Gómez Martín

Lusitania. Pensando en Paralelo. César Gómez Martín Lusitania Pensando en Paralelo César Gómez Martín [email protected] www.cenits.es Esquema Introducción a la programación paralela Por qué paralelizar? Tipos de computadoras paralelas Paradigmas de

Más detalles

4. Programación Paralela

4. Programación Paralela 4. Programación Paralela La necesidad que surge para resolver problemas que requieren tiempo elevado de cómputo origina lo que hoy se conoce como computación paralela. Mediante el uso concurrente de varios

Más detalles

Arquitectura de Computadores: Exámenes y Controles

Arquitectura de Computadores: Exámenes y Controles 2º curso / 2º cuatr. Grado en Ing. Informática Doble Grado en Ing. Informática y Matemáticas Arquitectura de Computadores: Exámenes y Controles Examen de Prácticas AC 05/07/2013 resuelto Material elaborado

Más detalles

//Esta función es llamada cuando se produce un evento //de teclado void keycallback (void *userdata, SoEventCallback *eventoteclado) {

//Esta función es llamada cuando se produce un evento //de teclado void keycallback (void *userdata, SoEventCallback *eventoteclado) { Solución 4: /******************************************************** * * Este programa permite visualizar ficheros iv (vrml) * ********************************************************/ //Según el sistema

Más detalles

Sistemas de ficheros paralelos

Sistemas de ficheros paralelos Índice Sistemas Operativos Distribuidos Sistemas de ficheros paralelos Necesidad de E/S paralela Conexión de dispositivos Sistemas de ficheros distribuidos versus paralelos Técnicas de optimización de

Más detalles

Breve introducción a LAMMPS. Javier A. Wachter Ch. [email protected]

Breve introducción a LAMMPS. Javier A. Wachter Ch. javier.wachter@gmail.com Breve introducción a LAMMPS Javier A. Wachter Ch. Indice Introducción Instalación y ejecución de LAMMPS Archivos de entrada Comandos importantes Archivos de salida Ejemplos Introducción Creador y desarrollador

Más detalles

PROGRAMACION / Clave: 11214

PROGRAMACION / Clave: 11214 PRACTICA 10. Programas en DevC++ 1.- Programa que imprima las tablas de multiplicar del 1 al 10, se deberá hacer una pausa entre tabla y tabla de multiplicar. 2.- Programa que se repita N cantidad de veces

Más detalles

Informática Aplicada I

Informática Aplicada I Informática Aplicada I Dr. Alonso Ramirez Manzanares CIMAT e-mail: [email protected] web: http://www.cimat.mx/~alram/info_apli1/ Profesor Alonso Ramirez Manzanares, Ciencias de la computación, computo matemático.

Más detalles

Sistemas Operativos: Programación de Sistemas. Curso 2006-07. Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J.

Sistemas Operativos: Programación de Sistemas. Curso 2006-07. Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Tema 2 : entorno programación linux Sistemas Operativos: Programación de Sistemas Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Santana Pérez Curso 2006-07 Francisco J. Santana 1 Programación

Más detalles

Interfaces y Manejadores de Dispositivos

Interfaces y Manejadores de Dispositivos Informática Electrónica Unidad 6 Interfaces y Manejadores de Dispositivos Modalidad y Materiales Dos clases expositivas a cargo del docente responsable ([email protected]) Una práctica cargo de

Más detalles

Sistemas Operativos Práctica 4

Sistemas Operativos Práctica 4 Sistemas Operativos Práctica 4 Ing. Andrés Bustamante [email protected] 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

Flex a la rápida. José Ignacio Medina

Flex a la rápida. José Ignacio Medina Flex a la rápida José Ignacio Medina Octubre, 2008 Este documento se distribuye bajo una licencia Creative Commons bync-sa 2.0. Usted es libre de copiar, distribuir, comunicar y ejecutar públicamente este

Más detalles

Proyecto Fenton - Cluster de Computadores de Alto Desempeño con Acceso Remoto (CCADAR) Manual de instalación. Julio 2008

Proyecto Fenton - Cluster de Computadores de Alto Desempeño con Acceso Remoto (CCADAR) Manual de instalación. Julio 2008 Facultad de Ingeniería Universidad de la República Proyecto Fenton - Cluster de Computadores de Alto Desempeño con Acceso Remoto (CCADAR) Julio 2008 Estudiantes: Santiago Iturriaga, Paulo Maya, Damián

Más detalles

Preliminares. Tipos de variables y Expresiones

Preliminares. Tipos de variables y Expresiones Preliminares. Tipos de variables y Expresiones Felipe Osorio Instituto de Estadística Pontificia Universidad Católica de Valparaíso Marzo 5, 2015 1 / 20 Preliminares Computadoras desarrollan tareas a un

Más detalles

INDICE Control de dispositivos específicos Diseño asistido por computadora Simulación Cálculos científicos

INDICE Control de dispositivos específicos Diseño asistido por computadora Simulación Cálculos científicos INDICE Parte I. La computadora digital: organización, operaciones, periféricos, lenguajes y sistemas operativos 1 Capitulo 1. La computadora digital 1.1. Introducción 3 1.2. Aplicaciones de las computadoras

Más detalles

Sockets: funcionamiento y programación. Sockets tipo UNIX. MSc. Ivan A. Escobar

Sockets: funcionamiento y programación. Sockets tipo UNIX. MSc. Ivan A. Escobar Sockets tipo UNIX MSc. Ivan A. Escobar Creación socket: socket() int socket(familia, tipo, protocolo) Regresa un valor entero Parecido descriptor de archivos: descriptor socket sockfd int familia familia

Más detalles

Compiladores y Lenguajes de Programación. Maria de Guadalupe Cota Ortiz

Compiladores y Lenguajes de Programación. Maria de Guadalupe Cota Ortiz Compiladores y Lenguajes de Programación Maria de Guadalupe Cota Ortiz Organizaciones que rigen las normas para estandarización de Lenguajes de Programación IEEE (Instituto de Ingenieros Eléctricos y Electrónicos)

Más detalles

LLAMADAS AL SISTEMA SISTEMAS OPERATIVOS

LLAMADAS AL SISTEMA SISTEMAS OPERATIVOS LLAMADAS AL SISTEMA SISTEMAS OPERATIVOS 26/05/2013 [email protected] [email protected] LLAMADAS AL SISTEMA Las llamadas al sistema proporcionan la interfaz entre un proceso y el sistema operativo,

Más detalles

Fundamentos de Programación

Fundamentos de Programación Guión 1 Introducción a la compilación y ejecución de programas Java mediante J2SE y Netbeans Marzo de 2007 Fundamentos de Programación Curso 2006/2007 Índice 1. Introducción 5 2. Utilización de j2sdk

Más detalles