Computación Matricial y Paralela
|
|
- Cristina Silva Barbero
- hace 8 años
- Vistas:
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
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 detallesMiddlewar 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 detalles2º 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 detallesCó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 detalles1 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 detallesMPI 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 detallesArquitectura 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 detallesProcesamiento 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 detallesComputació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 detallesTEMA 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 detallesComputación Matricial y Paralela
Computación Matricial y Paralela Programación en Memoria Compartida 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 detallesBreví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 detallesProgramación en Memoria Compartida: OpenMP
Programación en Memoria Compartida: OpenMP Domingo Giménez Departamento de Informática y Sistemas Universidad de Murcia, Spain dis.um.es/~domingo Universidad de Murcia 1 Nociones básicas Modelo de programación
Más detallesEscuela 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 detallesProgramació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 detallesUNIVERSIDAD 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 detallesutilizar 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 detallesMPI 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
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 arqavapar MPI (Introducción)
Más detallesEs una API (Aplication Program Interface) que se usa para paralelismo basado en hilos múltiples en entornos de memoria compartida
Algo de OPENMP Memoria Compartida Threads O hilos, se definen como flujos de instrucciones independientes, que se ejecutan separadamente del programa principal. Con estos hilos se aprovecha mucho una máquina
Más detallesMessage 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 detallesIntroduccion 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 detallesSistemas Complejos en Máquinas Paralelas
Sistemas Complejos en Máquinas Paralelas Clase 1: OpenMP Francisco García Eijó Departamento de Computación - FCEyN UBA 15 de Mayo del 2012 Memoria compartida Las mas conocidas son las máquinas tipo Symmetric
Más detallesMaster 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 detallesINTRODUCCIÓ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 detallesProgramació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 detallesDepartamento 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 detallesUna 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 detallesParadigma 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 detallesProgramación Multihebra con OpenMP. José Miguel Mantas Ruiz Depto. de Lenguajes y Sistemas Informáticos Universidad de Granada
Programación Multihebra con OpenMP José Miguel Mantas Ruiz Depto. de Lenguajes y Sistemas Informáticos Universidad de Granada Contenidos Modelo de Programación e Introducción Paralelización de bucles Gestión
Más detallesCENTRO 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 detallesProgramació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 detallesCó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 detallesDescomposició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 detallesParalelizació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 detallesSISTEMAS 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 detallesSISTEMAS 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 detallesBreví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 detallesTema: 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 detallesAlgoritmos en Árbol y Grafo Computación Pipeline
Metodología de la Programación Paralela 2015-2016 Facultad Informática, Universidad de Murcia Esquemas algorítmicos paralelos: Algoritmos en Árbol y Grafo Computación Pipeline Domingo Giménez (Universidad
Más detallesAplicaciones 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 detallesOpenMP. Qué es OpenMP?
OpenMP Qué es OpenMP? Modelo de programación paralela Paralelismo de memoria compartida Soporta el paralelismo por datos Escalable Permite paralelización incremental Extensiones a lenguajes de programación
Más detallesAplicaciones lineales
aplicaciones_lineales.nb Aplicaciones lineales Práctica de Álgebra Lineal, E.U.A.T, Grupos ºA y ºB, 005 Aplicaciones lineales y matrices Hay una relación muy estrecha entre aplicaciones lineales y matrices:
Más detallesIntroducción a la Programación de Memoria Compartida.. con OpenMP
Introducción a la Programación de Memoria Compartida.. con OpenMP Carlos Jaime BARRIOS HERNANDEZ, PhD. Escuela de Ingeniería de Sistemas e Informática Universidad Industrial de Santander Las herramientas
Más detallesMultiplicació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 detallesMANUAL DE USUARIO. DESCRIPCION DEL USO DEL SERVICIO POR WEB SERVICE DOCUMENTACION TECNICA PARA EL CONSUMO DE WEB SERVICE 2015
DOCUMENTACION TECNICA PARA EL CONSUMO DE WEB SERVICE 2015 Mensajesmasivos.co es una plataforma para el envío de notificaciones a celulares vía mensajería corta SMS con soporte para Comcel, Movistar, Tigo
Más detallesNociones 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 detallesProcesamiento 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 detallesFundamentos de la Programación
Fundamentos de la Programación El Software Las operaciones que debe realizar el hardware son especificadas con una lista de instrucciones, llamadas programas o software. Dos grandes grupos de software
Más detallesEsquema 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 detallesComputacion 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 detallesINFORMÁTICA II. Clase 1: Presentación- Introducción. Semestre 2012/1
INFORMÁTICA II Clase 1: Presentación- Introducción 1 Semestre 2012/1 CONTENIDO 2 1 Presentación del Curso 2 Introducción C++ 3 PROFESOR John Byron Buitrago Paniagua Oficina: 21-428 L-J 14:30 16:00 E mail:
Más detallesMó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 detallesTEMA 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 detallesPRÁ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 detallesEn cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.
Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa
Más detallesUnidad 5 Utilización de Excel para la solución de problemas de programación lineal
Unidad 5 Utilización de Excel para la solución de problemas de programación lineal La solución del modelo de programación lineal (pl) es una adaptación de los métodos matriciales ya que el modelo tiene
Más detallesPARTE 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 detallesArreglos. // 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 detallesUnidad 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 detallesLaboratorio 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 detallesCómputo paralelo con openmp y C
Cómputo paralelo con openmp y C Sergio Ivvan Valdez Peña Guanajuato, México. 13 de Marzo de 2012 Sergio Ivvan Valdez Peña Cómputo Guanajuato, paralelo conméxico. openmp y () C 13 de Marzo de 2012 1 / 27
Más detallesJavier Ibáñez González
Javier Ibáñez González Despacho 109 Edificio DSIC (1F) Tutorías bajo demanda e-mail: jjibanez@dsic.upv.es http://personales.upv.es/jjibanez Práctica P2 (OpenMP): sesiones 4 y 5 Práctica P3 (MPI): sesiones
Más detallesMultiplicación de matrices dispersas
Multiplicación de matrices dispersas Alumno: Irene Sánchez Linares Índice Descripción del problema Representación Algoritmo secuencial Esquemas algorítmicos Elección del esquema OpenMP MPI Estudio experimental
Más detallesRedes para Clusters. Redes para Clusters. Redes Ethernet. Myrinet InfiniBand. Ethernet Fast Ethernet Gigabit Ethernet
Redes para Clusters Redes Ethernet Ethernet Fast Ethernet Gigabit Ethernet Myrinet InfiniBand Redes para Clusters Redes Ethernet Ethernet LAN introducida en 1982 y más utilizada en los años 90 Ancho de
Más detallesLenguaje 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 detallesBloque 4. La descomposición funcional y el diseño descendente
Bloque 4 La descomposición funcional y el diseño descendente Cómo afrontar un problema complejo Dividir cada una de las dificultades que se examinen en tantos fragmentos como sea posible y que se requieran
Más detallesSistemas Operativos. Curso 2016 Procesos
Sistemas Operativos Curso 2016 Procesos Agenda Proceso. Definición de proceso. Contador de programa. Memoria de los procesos. Estados de los procesos. Transiciones entre los estados. Bloque descriptor
Más detallesÁ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 detallesPontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación
Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación Competencias IIC1103 Introducción a la Programación (I/2010) Interrogación 1 13 de Abril de 2010
Más detallesDepartamento de Informática Universidad de Valladolid Campus de Segovia TEMA 9: CRITERIOS DE CALIDAD DE DISEÑO MODULAR
Departamento de Informática Universidad de Valladolid Campus de Segovia TEMA 9: CRITERIOS DE CALIDAD DE DISEÑO MODULAR CRITERIOS DE CALIDAD DE DISEÑO MODULAR Conceptos generales Cohesión y acoplamiento
Más detallesUNIVERSIDAD 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 detallesPrá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 detallesMODELOS DE RECUPERACION
RECUPERACIÓN Y ORGANIZACIÓN DE LA INFORMACIÓN INGENIERÍA INFORMÁTICA RECUPERACIÓN Y ACCESO A LA INFORMACIÓN MODELOS DE RECUPERACION AUTOR: Rubén García Broncano NIA 100065530 grupo 81 1 INDICE 1- INTRODUCCIÓN
Más detallesPráctico de Procesos, Hilos y Deadlock
Sistemas Operativos Práctico de Procesos, Hilos y Deadlock Universidad Nacional de Córdoba FaMAF Ejercicio 1.. Indique cuantas letras a imprime este programa, describiendo su funcionamiento. printf("a\n");
Más detallesPrác%ca 1 Sesión 3 1
Prác%ca 1 Sesión 3 1 Obje%vo Paralelizar códigos mediante los iden%ficadores de hilos Paralelizar dos códigos secuenciales que calculen: 1. El mayor número primo del %po unsigned long long int 2. El número
Más detallesPlataformas 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 detallesLENGUAJE. 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 detallesCLUSTER 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 detallesTema: INTÉRPRETE ENSAMPOCO/3
Compiladores. Guía 11 1 Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores Tema: INTÉRPRETE ENSAMPOCO/3 Contenido En esta práctica se desarrollará un intérprete de lenguaje ENSAMPOCO/3
Más detallesAnálisis de Redes Complejas: Un paseo
Análisis de Redes Complejas: Un paseo matemático entre Google y las redes sociales miguel.romance@urjc.es Dpto. de Matemática Aplicada ESCET Universidad Rey Juan Carlos Madrid Murcia, 25 de noviembre de
Más detallesCurso 0 de Informática
Curso 0 de Informática 2015-2016 Tema 1: Introducción a la Informática y Conceptos básicos 1 Motivación (I): En los procesos industriales, cada vez es mayor el uso de sistemas informáticos para: Monitorización,
Más detallesProgramació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 detallesLa Gestión Operativa: La Clave del Éxito.
La Gestión Operativa: La Clave del Éxito. Objetivos Contenidos 1. Ser capaces de planificar y seguir, de una forma operativa, programas y proyectos. 2. Conocer las técnicas adecuadas para la gestión eficaz
Más detallesEsquemas algorítmicos paralelos - Particionado y Paralelismo de Datos
Metodología de la Programación Paralela 2015-2016 Facultad Informática, Universidad de Murcia Esquemas algorítmicos paralelos - Particionado y Paralelismo de Datos Domingo Giménez (Universidad de Murcia)
Más detallesPrá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 detallesSobre 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 detallesTEMA 2: PROGRAMACIÓN PARALELA (I)
Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas ARQUITECTURA DE COMPUTADORES II AUTORES: David Expósito Singh Florin Isaila Daniel Higuero Alonso-Mardones Javier García Blas Borja Bergua
Más detallesSistemas de Ecuaciones Lineales y Matrices
Sistemas de Ecuaciones Lineales y Matrices Oscar G Ibarra-Manzano, DSc Departamento de Area Básica - Tronco Común DES de Ingenierías Facultad de Ingeniería, Mecánica, Eléctrica y Electrónica Trimestre
Más detalles4. (Junio 2005) Se está diseñando un lenguaje de programación para manejar objetos gráficos. Entre las constantes que tiene que manipular están las
Universidad Autónoma de Madrid Departamento de Ingeniería Informática 3 er. Curso 2º Cuatrimestre Procesadores de Lenguaje Enunciados sobre análisis morfológico Hoja 1 1. (Junio 2007: test) Cuál de las
Más detallesProgramación Lineal. Programación Lineal
Programación Lineal Modelo General Max Z = c 1 + C 2 +... c n, s.a. a 11 + a 12 +... + a 1n b 1 a 21 + a 22 +... + a 2n b 2.. a m1 + a m2 +... + a mn b m 0, 0, x 3 0,..., 0 Programación Lineal Interpretación
Más detalles4. 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 detallesUNIVERSIDAD 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 detallesPROPUESTA DE VENTA Sistema para la gestión y envió masivo de SMS AUDEC
PROPUESTA DE VENTA Sistema para la gestión y envió masivo de SMS AUDEC 24 de Julio de 2010 Página 1 Director de AUDEC De nuestra mayor consideración. Por la presente tenemos el agrado de acercar nuestra
Más detalles- Cómo funciona? - Qué es Billin?
DOSSIER DE PRENSA 1 - Qué es Billin? Billin es una aplicación web llamada a revolucionar el mundo de la facturación. Se trata de una plataforma en la nube que permite crear, enviar y hacer el seguimiento
Más detallesPROGRAMACION VECTORIAL RAFAEL VALDÉS VALDAZO UO196581 ÁNGEL MARÍA VILABOA PÉREZ UO197092 BLOQUE PARALELAS 4º INFORMÁTICA UNIVERSIDAD DE OVIEDO
PROGRAMACION VECTORIAL RAFAEL VALDÉS VALDAZO UO196581 ÁNGEL MARÍA VILABOA PÉREZ UO197092 BLOQUE PARALELAS 4º INFORMÁTICA UNIVERSIDAD DE OVIEDO INTRODUCCIÓN Ligada al concepto de vector Decodifica instrucciones
Más detallesCOMPUTACIÓ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 detallesUn solo pueblo. Trabajamos por tareas?
Trabajamos por tareas? Por qué? DEL REGLAMENTO ORGÁNICO DE CENTROS ( AGOSTO 2010) Artículo 44.- Programación didáctica se pondrá especial cuidado en el diseño de las situaciones de aprendizaje con la finalidad
Más detallesDE 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 detallesMANUAL DE USUARIO. Sistema de Administración de Proyectos de Vinculación con la Colectividad (SAPVC) MANUAL DE USUARIO DOCENTE
PAGINA: 1 / 17 MANUAL DE USUARIO DOCENTE SISTEMA DE ADMINISTRACIÓN DE PROYECTOS DE VINCULACIÓN CON LA COLECTIVIDAD (SAPVC) UPSE PAGINA: 2 / 17 ÍNDICE 1 Introducción... 3 2 Generalidades del Sistema...
Más detalles