Computación Matricial y Paralela

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Computación Matricial y Paralela"

Transcripción

1 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 Univ. Politécnica de Cartagena 1

2 Contenido Nociones básicas de programación híbrida Ejemplos básicos Ejemplos con operaciones matriciales Univ. Politécnica de Cartagena 2

3 OpenMP Paralelismo de grano fino Eficiencia en SMP Códigos secuencial y paralelo similares Herramientas de desarrollo y paralelización Permite asignación en tiempo de ejecución La asignación de memoria puede reducir las prestaciones MPI Paralelismo de grado grueso Más portable Código paralelo muy diferente del secuencial Desarrollo y depuración más difícil Asignación estática de procesos Memorias locales, que facilitan eficiencia Univ. Politécnica de Cartagena 3

4 Ventajas de la Para mejorar la escalabilidad Cuando muchas tareas producen desbalanceo Aplicaciones que combinan paralelismo de grano grueso y fino Reducción del tiempo de desarrollo de código Cuando el número de procesos MPI es fijo En caso de mezcla de paralelismo funcional y de datos Univ. Politécnica de Cartagena 4

5 en la literatura La mayoría d elos artículos son sobre aplicaciones concretas Algunos artículos presentan modelos híbridos No hay modelos teóricos del tiempo de ejecución Univ. Politécnica de Cartagena 5

6 Redes de Pentiums duales Sistemas híbridos HPC160 (cada nodo 4 procesadores) IBM SP Blue Horizon (144 nodos, cada uno 8 procesadores) Earth Simulator (640 8 procesadores vectoriales) Marenostrum (2406 nodos biprocesadores) Univ. Politécnica de Cartagena 6

7 La gran mayoría son sistemas híbridos Univ. Politécnica de Cartagena 7

8 MPI+OpenMP Modelos OpenMP usado para paralelización de bucles OpenMP+MPI Threads no seguros Procesos MPI y OpenMP en modelo SPMD Reduce el coste de las comunicaciones Univ. Politécnica de Cartagena 8

9 Univ. Politécnica de Cartagena 9

10 No está claro si con programación híbrida se reduce el tiempo de ejecución Lanucara, Rovida: Gradiente-Conjugado Univ. Politécnica de Cartagena 10

11 Djomehri, Jin: Ecuaciones deferenciales Univ. Politécnica de Cartagena 11

12 Viet, Yoshinaga, Abderazek, Sowa: Sistemas lineales Univ. Politécnica de Cartagena 12

13 Ejemplos básicos int main(int argc, char *argv[]) { int nthreads,nprocs,idpro,idthr; int namelen; char processor_name[mpi_max_processor_name]; MPI_Init(&argc,&argv); MPI_Comm_size(MPI_COMM_WORLD,&nprocs); MPI_Comm_rank(MPI_COMM_WORLD,&idpro); MPI_Get_processor_name(processor_name,&namelen); #pragma omp parallel private(idthr) firstprivate(idpro,processor_name) { idthr = omp_get_thread_num(); printf("... thread %d, proceso %d procesador %s\n",idthr,idpro,processor_name); if (idthr == 0) { nthreads = omp_get_num_threads(); printf(" proceso %d, threads %d, procesos %d\n",idpro,nthreads,nprocs); } } MPI_Finalize(); } Univ. Politécnica de Cartagena 13

14 Ejemplos básicos int main (int argc,char **argv) { //Variables int i,load,begin,end,*a,n,l,u,x,keepon=1,position= 1,thread= 1; int nthreads,nprocs,idpro,idthr; int namelen; char processor_name[mpi_max_processor_name]; MPI_Status estado; //Iniciación MPI MPI_Init(&argc,&argv); MPI_Comm_size(MPI_COMM_WORLD,&nprocs); MPI_Comm_rank(MPI_COMM_WORLD,&idpro); MPI_Get_processor_name(processor_name,&namelen); Univ. Politécnica de Cartagena 14

15 Ejemplos básicos if(idpro==0) { //Entrada y envío de datos printf("de el numero de datos del array: "); scanf("%d",&n); MPI_Bcast(&n, 1, MPI_INT, 0, MPI_COMM_WORLD); a=(int *) malloc(sizeof(double)*n); printf("de los valores minimo y maximo: "); scanf("%d %d",&l,&u); generar_enteros(a,n,l,u); escribir_enteros(a,n); printf("de el numero a buscar: "); scanf("%d",&x); MPI_Bcast(&x, 1, MPI_DOUBLE, 0, MPI_COMM_WORLD); for(i=1;i<nprocs;i++) MPI_Send(&a[i*n/nprocs],n/nprocs,MPI_INT,i,ENVIO_INICIAL, MPI_COMM_WORLD); } else { //Recepción de datos MPI_Bcast(&n, 1, MPI_INT, 0, MPI_COMM_WORLD); MPI_Bcast(&x, 1, MPI_DOUBLE, 0, MPI_COMM_WORLD); a=(int *) malloc(sizeof(int)*n/nprocs); MPI_Recv(a,n/nprocs,MPI_INT,0,ENVIO_INICIAL,MPI_COMM_WORLD, &estado); Univ. Politécnica de Cartagena 15 }

16 Ejemplos básicos //Puesta en marcha de los threads #pragma omp parallel private(idthr,i,load,begin,end) { #pragma omp master nthreads = omp_get_num_threads(); idthr = omp_get_thread_num(); load = n/nprocs/nthreads; begin = idthr*load; end = begin+load; for (i = begin; ((i<end) && keepon); i++) { if (a[i] == x) { keepon = 0; position = i; thread=idthr; } #pragma omp flush(keepon,position) } } Univ. Politécnica de Cartagena 16

17 Ejemplos básicos if(idpro==0) { //Recibir datos if(position!= 1) printf("encontrado en la posicion %di, por el thread %d de %d, del proceso %d\n",position,thread,nthreads,idpro); for(i=1;i<nprocs;i++){ MPI_Recv(&position,1,MPI_INT,i,ENVIO_FINAL,MPI_COMM_WORLD,&estado); MPI_Recv(&thread,1,MPI_INT,i,ENVIO_FINAL_THR,MPI_COMM_WORLD,&estado); MPI_Recv(&nthreads,1,MPI_INT,i,ENVIO_FINAL_NTHR,MPI_COMM_WORLD, &estado); if(position!= 1) printf("encontrado en la posicion %d,por el tread %d de %d, del proceso %d\n",position+i*n/nprocs,thread,nthreads,i); } } else { //Enviar datos MPI_Send(&position,1,MPI_INT,0,ENVIO_FINAL,MPI_COMM_WORLD); MPI_Send(&thread,1,MPI_INT,0,ENVIO_FINAL_THR,MPI_COMM_WORLD); MPI_Send(&nthreads,1,MPI_INT,0,ENVIO_FINAL_NTHR,MPI_COMM_WORLD); } MPI_Finalize(); } Univ. Politécnica de Cartagena 17

18 Ejemplos con operaciones matriciales Multiplicación matriz matriz: N0 p0 N0 p1 N1 p0 N1 p1 N2 p0 N2 p1 N0 p0 N0 p1 N1 p0 N1 p1 N2 p0 N2 p1 MPI SPMD MPI+OpenMP cuál es preferible? N0 p0 N0 p1 N1 p0 N1 p1 N2 p0 N2 p1 N0 N1 N2 MPI+OpenMP: menos memoria menos comunicaciones puede haber peor uso de memoria Univ. Politécnica de Cartagena 18

19 Ejemplos con operaciones matriciales Códigos de: matriz vector matriz matriz Univ. Politécnica de Cartagena 19

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

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

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

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

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 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

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

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

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

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

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

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

Paralelización de Programas Secuenciales: OpenMP

Paralelización de Programas Secuenciales: OpenMP Paralelización de Programas Secuenciales: OpenMP http://www.openmp.org Manuel Arenaz arenaz@udc.es Índice Introducción a la programación paralela Programación con OpenMP Directivas de compilación Librería

Más detalles

Cómputo en paralelo con OpenMP 1

Cómputo en paralelo con OpenMP 1 Cómputo en paralelo con OpenMP 1 Miguel Vargas-Félix miguelvargas@cimat.mx http://www.cimat.mx/~miguelvargas CIMAT, September 2, 2015 1/34 Velocidad de los procesadores de escritorio Recientemente, la

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

Nociones básicas de computación paralela

Nociones básicas de computación paralela Nociones básicas de computación paralela Javier Cuenca 1, Domingo Giménez 2 1 Departamento de Ingeniería y Tecnología de Computadores Universidad de Murcia 2 Departamento de Informática y Sistemas Universidad

Más detalles

DE ntro de la comunidad científica que. Factores de rendimiento en aplicaciones híbridas (MPI+OpenMP)

DE ntro de la comunidad científica que. Factores de rendimiento en aplicaciones híbridas (MPI+OpenMP) Factores de rendimiento en aplicaciones híbridas (MPI+OpenMP) Abel Castellanos 1, Eduardo César 1, Anna Sikora 1, Joan Sorribes 1, Andreu Moreno Vendrell 2, Tomás Margalef 3 Resumen En la actualidad, existe

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

CENTRO DE SUPERCOMPUTACIÓN

CENTRO DE SUPERCOMPUTACIÓN Uso del supercomputador Ben Arabí CENTRO DE SUPERCOMPUTACIÓN José Ginés Picón López Técnico de aplicaciones Murcia a 2 de Febrero de 2012 Uso del supercomputador Ben Arabí Descripción de la Arquitectura

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

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

Esquema de un programa en C: bloques básicos

Esquema de un programa en C: bloques básicos Esquema de un programa en C: bloques básicos // Incluimos los ficheros de cabecera que necesitemos. // Esto es un comentario #include #include // Si queremos definir alguna constante,

Más detalles

Multiplicación de Matrices en Sistemas cc-numa Multicore. Autor: Jesús Cámara Moreno Director: Domingo Giménez Cánovas

Multiplicación de Matrices en Sistemas cc-numa Multicore. Autor: Jesús Cámara Moreno Director: Domingo Giménez Cánovas Multiplicación de Matrices en Sistemas cc-numa Multicore Autor: Jesús Cámara Moreno Director: Domingo Giménez Cánovas Índice de Contenido 1. Introducción 2. Línea de Investigación 3. Sistemas Empleados

Más detalles

Laboratorio de Paralelismo OpenMP: ejemplos y ejercicios

Laboratorio de Paralelismo OpenMP: ejemplos y ejercicios Laboratorio de Paralelismo OpenMP: ejemplos y ejercicios > Máquinas y directorios Vamos a trabajar con el siguiente multiprocesador SMP: PowerEdge 6850 (DELL) 4 procesadores Intel Xeon 7100 de doble núcleo

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

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

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

Más detalles

Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática

Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática Fundamentos de la informática 2. Algoritmos, diagramas de flujo y pseudocódigo Contenido Algoritmos Diagramas de flujo

Más detalles

UNIVERSIDAD CENTRAL. Facultad de Ingeniería. Algoritmos y programación Grupo 1.4. Taller No.3

UNIVERSIDAD CENTRAL. Facultad de Ingeniería. Algoritmos y programación Grupo 1.4. Taller No.3 UNIVERSIDAD CENTRAL Facultad de Ingeniería Algoritmos y programación Grupo 1.4 Taller No.3 Ejecute los siguientes programas en el computador en lenguaje c. Haga que el programa termine sólo cuando el usuario

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

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

Adolfo J. Banchio. FaMAF, IFEG-CONICET, Universidad Nacional de Córdoba. 27 04 10 Seminario de grupo 1

Adolfo J. Banchio. FaMAF, IFEG-CONICET, Universidad Nacional de Córdoba. 27 04 10 Seminario de grupo 1 Paralelizar un Código usando OpenMP Adolfo J. Banchio FaMAF, IFEG-CONICET, Universidad Nacional de Córdoba 27 04 10 Seminario de grupo 1 Contenido Introducción Paralelización: por qué OpenMP? Qué es OpenMP?

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

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

Módulo: Modelos de programación para Big Data

Módulo: Modelos de programación para Big Data Program. paralela/distribuida Módulo: Modelos de programación para Big Data (título original: Entornos de programación paralela basados en modelos/paradigmas) Fernando Pérez Costoya Introducción Big Data

Más detalles

Optimización de Rutinas Multinivel de Álgebra Lineal en Sistemas Multicore

Optimización de Rutinas Multinivel de Álgebra Lineal en Sistemas Multicore Máster en Nuevas Tecnologías en Informática Facultad de Informática Universidad de Murcia Optimización de Rutinas Multinivel de Álgebra Lineal en Sistemas Multicore Autor: Jesús Cámara Moreno Directores:

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

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

Sobre el papel de la programación paralela en los nuevos planes de estudios de informática

Sobre el papel de la programación paralela en los nuevos planes de estudios de informática Sobre el papel de la programación paralela en los nuevos planes de estudios de informática Francisco Almeida Domingo Giménez José Miguel Mantas Antonio M. Vidal Departamento de Departamento de Departamento

Más detalles

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

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

Más detalles

Aplicaciones Web para prácticas de esquemas algorítmicos

Aplicaciones Web para prácticas de esquemas algorítmicos Aplicaciones Web para prácticas de esquemas algorítmicos Francisco Bermúdez Murilo Boratto Domingo Giménez José Víctor Jiménez Andrés Palazón Universidad de Murcia http://www.um.es/pcgum/pfcs_y_tms/index.html

Más detalles

Grupo de Computación de Altas Prestaciones GCAPULL, Univers. GCAPULL, Universidad de La Laguna, Tenerife

Grupo de Computación de Altas Prestaciones GCAPULL, Univers. GCAPULL, Universidad de La Laguna, Tenerife Grupo de Computación de Altas Prestaciones GCAPULL, Universidad de La Laguna, Tenerife Febrero 2010, Alicante Contents El grupo 1 El grupo 2 3 4 Composición 6 doctores 7 alumnos en fase de tesis Información

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

Programación Paralela y Distribuida

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

Más detalles

Paralelización del código Stampack v7.10. W.Castelló F. Flores

Paralelización del código Stampack v7.10. W.Castelló F. Flores Paralelización del código Stampack v7.10 W.Castelló F. Flores Publicación CIMNE Nº-362, Julio 2011 Paralelización del código Stampack v7.10 W. Castelló F. Flores Publicación CIMNE Nº-362, Julio 2011 Centro

Más detalles

Maribel García Arenas. Departamento de Arquitectura y Tecnología de Computadores. E.T.S. Ingeniería Informática 15/02/11

Maribel García Arenas. Departamento de Arquitectura y Tecnología de Computadores. E.T.S. Ingeniería Informática 15/02/11 Tema 1. ACII Introducción: Computadores paralelos (multicomputadores, multiprocesadores y multiprocesadores en un chip o procesadores multinúcleo), programación paralela, prestaciones Departamento de Arquitectura

Más detalles

Una experiencia de iniciación al paralelismo en segundo curso del Grado de Ingeniería Informática

Una experiencia de iniciación al paralelismo en segundo curso del Grado de Ingeniería Informática Una experiencia de iniciación al paralelismo en segundo curso del Grado de Ingeniería Informática Manuel E. Acacio, Javier Cuenca, Lorenzo Fernández, Ricardo Fernández-Pascual Departamento de Ingeniería

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

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

//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

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

Ingeniero en Informática

Ingeniero en Informática UNIVERSIDAD DE ALMERÍA Ingeniero en Informática CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH Autor Directores ÍNDICE 1. Introducción 2. Elastic Cluster

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

Escola Tècnica Superior d Enginyeria Informàtica Universitat Politècnica de València. Grado en Ingeniería Informática

Escola Tècnica Superior d Enginyeria Informàtica Universitat Politècnica de València. Grado en Ingeniería Informática Escola Tècnica Superior d Enginyeria Informàtica Universitat Politècnica de València Estudio comparativo de las prestaciones de diferentes modelos de programación paralela Trabajo Fin de Grado Grado en

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

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

Modelización y Balanceo de la Carga Computacional en la Simulación Paralela de la Dispersión Atmosférica de Contaminantes

Modelización y Balanceo de la Carga Computacional en la Simulación Paralela de la Dispersión Atmosférica de Contaminantes Modelización y Balanceo de la Carga Computacional en la Simulación Paralela de la Dispersión Atmosférica de Contaminantes Diego R. Martínez diegorm@dec.usc.es Dpto. Electrónica y Computación Universidad

Más detalles

Tema: Arreglos de Objetos en C++.

Tema: Arreglos de Objetos en C++. Programación II. Guía 5 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Arreglos de Objetos en C++. Objetivos Específicos Describir la implementación de arreglos de Objetos.

Más detalles

2. INTRODUCCIÓN A MATHCAD. El principal programa utilizado para la realización de este trabajo se llama Mathcad 2000

2. INTRODUCCIÓN A MATHCAD. El principal programa utilizado para la realización de este trabajo se llama Mathcad 2000 2. INTRODUCCIÓN A MATHCAD 2.1 Mathcad El principal programa utilizado para la realización de este trabajo se llama Mathcad 2000 Professional. Este software, diseñado en ambiente Windows, es una combinación

Más detalles

Computación n de Altas Prestaciones en Ciencia e Ingeniería

Computación n de Altas Prestaciones en Ciencia e Ingeniería 4 de mayo de 2006 E. T. S. Ingenieros Industriales Universidad de Castilla-La Mancha Computación n de Altas Prestaciones en Ciencia e Ingeniería asds.dacya.ucm.es/nacho Grupo de Arquitectura de Sistemas

Más detalles

Implementación y Evaluación

Implementación y Evaluación Capítulo 4 Implementación y Evaluación 4.1. Descripción de la infraestructura La figura muestra de forma esquemática los elementos que integran el ambiente de grid bajo el cual se instaló y configuró el

Más detalles

PRÁCTICA DE LABORATORIO 3 Tipo Abstrato de Dato

PRÁCTICA DE LABORATORIO 3 Tipo Abstrato de Dato ESCUELA DE INGENIERÍA DE SISTEMAS DEPARTAMENTO DE COMPUTACIÓN PROGRAMACIÓN 2 PRÁCTICA DE LABORATORIO 3 Tipo Abstrato de Dato Contenido Introducción...1 Dato...1 Valor...1 Tipo de Dato...2 Tipo Abstracto

Más detalles

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

Lenguaje C Funciones. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Lenguaje C Funciones Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Qué es una función o rutina/subrutina? Se presenta como un subalgoritmo

Más detalles

Gradiente conjugado. MSc. Miguel Vargas-Félix miguelvargas@cimat.mx http://www.cimat.mx/~miguelvargas 07/09/11 1/23

Gradiente conjugado. MSc. Miguel Vargas-Félix miguelvargas@cimat.mx http://www.cimat.mx/~miguelvargas 07/09/11 1/23 Gradiente conjugado MSc. Miguel Vargas-Félix miguelvargas@cimat.mx http://www.cimat.mx/~miguelvargas 07/09/11 1/23 Contenido Contenido Estructura de una matriz rala a partir de conectividades Compressed

Más detalles

Álgebra Matricial y Optimización Ma130

Álgebra Matricial y Optimización Ma130 Álgebra Matricial y Optimización Ma130 Descripción del Curso Departamento de Matemáticas ITESM Descripción del Curso Ma130 - p. 1/8 El objetivo de este curso es presentar al estudiante algunas de las herramientas

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

Lección 2. Puntos, vectores y variedades lineales.

Lección 2. Puntos, vectores y variedades lineales. Página 1 de 11 Lección 2. Puntos, vectores y variedades lineales. Objectivos. En esta lección se repasan las nociones de punto y vector, y se identifican, via coordenadas, con los pares (ternas,...) de

Más detalles

Lenguajes Modernos en Computación de Altas Prestaciones

Lenguajes Modernos en Computación de Altas Prestaciones ESCUELA UNIVERSIDAD DE LA LAGUNA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA PROYECTO FINAL DE CARRERA Lenguajes Modernos en Computación de Altas Prestaciones Rafael Rodríguez Martín LA LAGUNA, a 13 de

Más detalles

Herramientas para el estudio de prestaciones en clusters de computación científica, aplicación en el Laboratorio de Computación Paralela

Herramientas para el estudio de prestaciones en clusters de computación científica, aplicación en el Laboratorio de Computación Paralela Introducción Herramientas Estudio Conclusiones Herramientas para el estudio de prestaciones en clusters de computación científica, aplicación en el Laboratorio de Computación Paralela Ingeniería en Informática

Más detalles

Oferta tecnológica: Know-how en computación de altas prestaciones y paralelismo

Oferta tecnológica: Know-how en computación de altas prestaciones y paralelismo Oferta tecnológica: Know-how en computación de altas prestaciones y paralelismo Oferta tecnológica: Know-how en computación de altas prestaciones y paralelismo RESUMEN El grupo Computación de Altas Prestaciones

Más detalles

Práctica de gsoap. int ns enviar (unsigned nodo, std::string cadena, std::string &resultado); int ns recibir(unsigned nodo, std::string &resultado);

Práctica de gsoap. int ns enviar (unsigned nodo, std::string cadena, std::string &resultado); int ns recibir(unsigned nodo, std::string &resultado); Práctica de gsoap Para desarrollar programas que utilicen gsoap para llevar a cabo las comunicaciones, debemos bajar el paquete gsoap linux 2.7.tgz disponible en: http://atc.ugr.es/pedro/docencia/irhc/irhc.html

Más detalles

SOLUCION EXAMEN junio 2006

SOLUCION EXAMEN junio 2006 SOLUCION EXAMEN junio 2006 1. Explique razonadamente si las siguientes afirmaciones son verdaderas o falsas: I) (1 p) En UNIX únicamente se distinguen dos tipos de procesos: los procesos de usuario y los

Más detalles

Paralelización de un clasificador automático de. objetos con datos de sensores remotos LiDAR

Paralelización de un clasificador automático de. objetos con datos de sensores remotos LiDAR Paralelización de un clasificador automático de objetos con datos de sensores remotos LiDAR J. Martínez, F. F. Rivera, J.C. Cabaleiro, T.F. Pena, D.L. Vilariño 1 D. Miranda y S. Buján 2 1 Centro Singular

Más detalles

Universidad de Salamanca. IHM IB y Objective-C. Depto. Informática y Automática Máster en Sistemas Inteligentes Dr. J.R. García-Bermejo Giner

Universidad de Salamanca. IHM IB y Objective-C. Depto. Informática y Automática Máster en Sistemas Inteligentes Dr. J.R. García-Bermejo Giner Universidad de Salamanca IHM IB y Objective-C Depto. Informática y Automática Máster en Sistemas Inteligentes Dr. J.R. García-Bermejo Giner 1 Tercera parte - Introducción ============================ La

Más detalles

Uso avanzado de punteros

Uso avanzado de punteros Uso avanzado de punteros Mario Medina C. mariomedina@udec.cl Punteros Contienen direcciones de memoria Punteros a tipos de datos simples int, char, float, double Punteros a estructuras Punteros a vectores

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

SISTEMAS DE MULTIPROCESAMIENTO

SISTEMAS DE MULTIPROCESAMIENTO SISTEMAS DE MULTIPROCESAMIENTO Tema 1 Introducción 5º Curso de Automática y Electrónica Industrial. 1 Contenido Tema 1 Aplicaciones Incremento de las prestaciones Clasificación de los ordenadores en función

Más detalles

Departamento de Arquitectura de Computadores y Sistemas Operativos Máster en Computación de Altas Prestaciones

Departamento de Arquitectura de Computadores y Sistemas Operativos Máster en Computación de Altas Prestaciones Departamento de Arquitectura de Computadores y Sistemas Operativos Máster en Computación de Altas Prestaciones Análisis de Rendimiento de Aplicaciones Paralelas de Memoria Compartida: problema N-body.

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

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

Arreglos. // Incluir E/S y Librerías Standard #include <stdlib.h> #include <stdio.h>

Arreglos. // Incluir E/S y Librerías Standard #include <stdlib.h> #include <stdio.h> Arreglos Introducción. En los temas anteriores se han estudiado los diferentes tipos de datos simples de C++, usados para representar valores simples como enteros, reales o caracteres. Sin embargo, en

Más detalles

TEMA 1. INTRODUCCIÓN A LA PROGR. DISTRIBUIDA Y PARALELA

TEMA 1. INTRODUCCIÓN A LA PROGR. DISTRIBUIDA Y PARALELA Relación de Ejercicios Programación Distribuida y Paralela. 4 o de Ingeniería Superior en Informática. Departamento de Lenguajes y Sistemas Informáticos TEMA 1. INTRODUCCIÓN A LA PROGR. DISTRIBUIDA Y PARALELA

Más detalles

Programación de Sistemas

Programación de Sistemas Programación de Sistemas Algoritmos de Ordenación Índice Por qué es importante la ordenación? Un par de ejemplos InsertionSort QuickSort Para cada uno veremos: En qué consisten, Casos extremos Eficiencia

Más detalles

ÍNDICE INTRODUCCIÓN AL PROCESAMIENTO PARALELO ARQUITECTURA E INGENIERÍA DE COMPUTADORES TEMA1

ÍNDICE INTRODUCCIÓN AL PROCESAMIENTO PARALELO ARQUITECTURA E INGENIERÍA DE COMPUTADORES TEMA1 GRUPO DE ARQUITECTURA DE COMPUTADORES INTRODUCCIÓN AL PROCESAMIENTO PARALELO ARQUITECTURA E INGENIERÍA DE COMPUTADORES TEMA1 ÍNDICE!! Procesamiento paralelo!! Condiciones de paralelismo "! Concepto de

Más detalles

Sistemas Distribuidos de Tiempo Real

Sistemas Distribuidos de Tiempo Real MASTER EN COMPUTACIÓN Sistemas Distribuidos de Tiempo Real Apuntes: TEMA 6 Por: J. Javier Gutiérrez gutierjj@unican.es http://www.ctr.unican.es/ Grupo de Computadores y Tiempo Real, Universidad de Cantabria

Más detalles

Curso de usuarios del cluster de la Universidad de Cádiz

Curso de usuarios del cluster de la Universidad de Cádiz Curso de usuarios del cluster de la Universidad de Cádiz Guión descripción del sistema disponibilidad y uso de recursos uso del sistema de colas compiladores principios de la paralelización de problemas

Más detalles

PARTE II: Programación en ensamblador

PARTE II: Programación en ensamblador Cuaderno de Prácticas Laboratorio de Fundamentos de Computadores PARTE II: Programación en ensamblador Autor: Rafael Moreno Vozmediano Facultad de Informática La Máquina Rudimentaria: Arquitectura del

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

Programación Paralela

Programación Paralela Programación Paralela Jesús Manuel Mager Hois 8 de marzo de 2013 1 Índice 1. Introducción 3 2. Características 3 2.1. Equipos multicore................................. 3 2.2. Memoria compartida...............................

Más detalles

Hacer ejercicios del libro (Cap. 9 Seguridad): 4,5,6,7,8,9,10,12,13

Hacer ejercicios del libro (Cap. 9 Seguridad): 4,5,6,7,8,9,10,12,13 Práctico Seguridad Sistemas Operativos Hacer ejercicios del libro (Cap. 9 Seguridad): 4,5,6,7,8,9,10,12,13 1) Suponga que se previene la ejecucion de datos localizados en la pila de una funcion (osea,

Más detalles

Problema de las N Reinas. Resolución paralela

Problema de las N Reinas. Resolución paralela Problema de las N Reinas Resolución paralela Indice Introducción al problema Representación y Soluciones Resolución secuencial Resolución paralela Conclusiones Bibliografía 2 3 Introducción Introducción

Más detalles

Tema 2. Memoria Dinámica. 2.1 Datos estáticos y dinámicos

Tema 2. Memoria Dinámica. 2.1 Datos estáticos y dinámicos Tema 2 Memoria Dinámica 2.1 Datos estáticos y dinámicos Datos estáticos: su tamaño y forma es constante durante la ejecución de un programa y por tanto se determinan en tiempo de compilación. El ejemplo

Más detalles

Estrategias de Descomposición en Dominios para entornos Grid

Estrategias de Descomposición en Dominios para entornos Grid Universidad Politécnica de Cataluña Departamento de Arquitectura de Computadores Estrategias de Descomposición en Dominios para entornos Grid Tesis Doctoral Presentada por: Beatriz Otero Calviño Dirigida

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

Programación Paralela: LU Decomposition usando la biblioteca de funciones PVM

Programación Paralela: LU Decomposition usando la biblioteca de funciones PVM Programación Paralela: LU Decomposition usando la biblioteca de funciones PVM Raymundo Domínguez Coĺın * Centro de Investigación y de Estudios Avanzados del IPN Av. Instituto Politécnico Nacional No. 2508

Más detalles

Computación de Alta Performance Curso 2008 CLUSTERS

Computación de Alta Performance Curso 2008 CLUSTERS Computación de Alta Performance Curso 2008 Basado en el artículo Cluster computing at a glance. M. Baker, R. Buyya, Software Practice and Experience 29 (6), pp. 551-576, 1999. CÓMO MEJORAR LA PERFORMANCE?

Más detalles

ARBOLES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES

ARBOLES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES ARBOLES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES Introducción al tema a. Formar grupos de 4 personas b. Tomar una hoja en blanco y una lapicera o lápiz c. En la hoja en blanco diseña un

Más detalles

"Binary Diffing" visual en Linux con Radare2 "UNA IMAGEN DICEN MÁS QUE MIL PALABRAS"

Binary Diffing visual en Linux con Radare2 UNA IMAGEN DICEN MÁS QUE MIL PALABRAS "Binary Diffing" visual en Linux con Radare2 Binary Diffing o simplemente Bindiffing es una técnica utilizada para la visualización de código (mayormente en ensamblador) y así detectar patrones de conducta,

Más detalles