Introducción a la Programación de Memoria Compartida.. con OpenMP
|
|
|
- José Antonio Macías Contreras
- hace 7 años
- Vistas:
Transcripción
1 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
2 Las herramientas antes que el diseño OpenMP como herramienta de aprendizaje para entender el modelo de programación de memoria compartida. A partir de la experiencia técnica pensar en el modelo teórico.
3 El Modelo de Memoria Compartida Los Procesadores Interactúan con otro mediante variables compartida. OpenMP es un estándar para programación de memoria compartida
4 OpenMP OpenMP es una especificación para implementaciones portables de paralelismo en FORTRAN y C/C++ Las especificación contiene provee directivos de compilador para programación de multihilos, variables de ambiente y rutinas de biblioteca que controlan paralelismo Nivel de Cores Nivel de Procesadores The OpenMP API specification for parallel programming Soporta el modelo de paralelismo de datos Paralelismo Incremental Combina código serial y paralelo en un solo código fuente.
5 OpenMP es ideal para Arquitecturas Multicore Modelo de Hilos y de Memoria mapeado naturalmente Ligero Robusto Disponible y usado para múltiples códigos sobre diferentes tecnologias disponibles (Intel, AMD)
6 Modelo de Memoria de OpenMP Todos los hilos tienen acceso a la misma memoria global compartida Los datos pueden ser públicos o privados Datos privados pueden ser accedidos únicamente por su propio hilo Transferencia de Datos transparente al programador Sincronización es implícita Tomado de An Overview of OpenMP SUN Microsystems
7 Arquitectura de OpenMP Modelo Fork-Join Bloques de construcción para el trabajo en paralelo Bloques de construcción para el ambiente de datos Bloques de construcción para la sincronización API extensiva para afinar el control Modelo de Ejecución - Tomado de An Overview of OpenMP SUN Microsystems
8 Modelo de Programación Paralelismo Fork-Join: El hilo maestro se divide en un conjunto de hilos como sea necesario El paralelismo se añade incrementalmente: el programa secuencial se convierte en un programa paralelo Tomado de Programación en OpenMP Robinson Rivas SC-CAMP 2011
9 Modelo de Programación Inicialmente solamente el hilo maestro está activo El hilo maestro ejecuta el código secuencial Fork: El hilo maestro crea hilos adicionales para ejecutar el código paralelo Join: Al finalizar de código paralelo, los hilos creados mueren o se suspenden Parallel Scalability Isn t Child s Play, Part 2: Amdahl s Law vs. Gunther s Law
10 Pragmas Una pragma es un directivo al compilador. La sintaxis es #pragma omp <el resto de la pragma> Ejemplo: #pragma omp parallel for es una directriz que dice al compilador que trate a paralelizar el bucle for
11 La Pragma for Paralelo #pragma omp parallel for for (i = 0; i < N; i++) a[i] = b[i] + c[i]; El compilador tiene que verificar que cuando se ejecuta, habrá disponible la información necesaria para llevar a cabo las iteraciones Tomado del Curso de Open MP de Doroty Bollman
12 La sintaxis de la pragma for paralelo # indice + + ' % % % + + indice % # < ' % indice % % <= % indice % % for(indice = primero;indice $ ( ultimo; $ indice+ = inc ( % >= % % indice = inc % &% > )% % indice = indice +inc % % % % indice = inc +indice% % & index = indice inc% ) Tomado del Curso de Open MP de Doroty Bollman
13 Regiones Paralelas Define una región paralela sobre un bloque de código estructurado Los hilos son creados como parallel Los hilos se bloquean al final de la región Los datos se comparten entre hilos al menos que se especifique otra cosa Tomado de Programación en OpenMP Robinson Rivas SC-CAMP 2011
14 Variables Compartidas y Variables Privadas Una variable compartida tiene la misma dirección en el contexto de ejecución de cada hilo. Una variable privada tiene una dirección distinta en el contexto de ejecución de cada hilo. Un hilo no puede accesar las variables privadas de otro hilo.
15 OMP_NUM_THREADS Establece el numero de hilos usando una variable de ambiente No hay un estándar por defecto en esta variable # de hilos = # de procesadores = # Cores Los compiladores INTEL usan esto por defecto set OMP_NUM_THREADS=4
16 Función omp_set_num_threads Se usa para asignar el número de hilos a ser activos en secciones paralelas del código Se puede llamar en varios puntos del programa void omp_set_num_threads (int t)
17 omp_get_thread_num() Todo hilo tiene una identificación que es el número del hilo omp_get_thread_num() devuelve el número del hilo
18 Función omp_get_num_procs Devuelve el número de procesadores fisicos que están dispondible para el uso del programa paralelo int omp_get_num_procs (void)
19 #include <omp.h> #include <stdio.h> Hello World int main (int argc, char *argv[]) { int p,th_id; p=omp_get_num_procs(); omp_set_num_threads(p); #pragma omp parallel private(th_id); { th_id = omp_get_thread_num(); printf("hello World from thread %d\n", th_id); } return 0; }
20 Para compilar y ejecutar Compilar: cc openmp o hello.c hello Ejecutar: Hay que especificar el número de hilos Fuera del programa con setenv OMP_NUM_THREADS = número de hilos Dentro del programa con omp_set_num_threads( número de hilos)
21 Otro Ejemplo For-Loop con iteraciones independientes For-Loop paralelizado usando un pragma de OpenMP cc fopenmp source.c o source Setenv OMP_NUM_THREADS 5 source.out
22 Ejemplo de Ejecución Paralela Ejemplo de Ejecución - Tomado de An Overview of OpenMP SUN Microsystems
23 Directivas Componentes de OpenMP 2.5 Ambiente de Ejecución Variables de Ambiente Región Paralela Numero de Hilos Numero de Hilos Trabajo Compartido (Worksharing) Atributos de Datos Compartidos : private, firstprivate, lastprivate, shared, reduction ID del Hilo Ajuste Dinamico de Hilos Tipo de Calendarizador Ajuste Dinamico de Hilos Orfandad (Oprhaning) Paralelismo Anidado Paralelismo Anidado Limitador del tiempo de reloj Temporizador Bloqueo
24 Ejemplo: Matrix -Vector Tomado de An Overview of OpenMP SUN Microsystems
25 Un Ejemplo mas Elaborado Tomado de An Overview of OpenMP SUN Microsystems
26 Evaluacion de Rendimiento en OpenMP Ejemplo: Medir Tiempos double empezar,terminar; empezar=omp_get_wtime( ); algun código terminar=omp_get_wtime(); printf( TIEMPO=%lf\n,empezar-terminar) El resultado es en segundos.
27 Paralelismo Funcional OpenMP nos permite asignar hilos distintos a partes distintas del código (paralelismo funcional)
28 Ejemplo de Paralelismo Funcional v = alpha(); w = beta(); x = gamma(v, w); y = delta(); printf ("%6.2f\n", epsilon(x,y)); alpha beta Se puede ejecutar alpha, beta, and delta en paralelo. gamma delta epsilon
29 Rendimiento de OpenMP Tomado de An Overview of OpenMP SUN Microsystems
30 Conclusiones OpenMP permite explotar no solo paralelismo de datos, sino también de tareas. OpenMP debe considerarse cuando: Se vayan a programar cores y es no es fácilmente la determinación la granularidad del problema, pero si el uso de memoria compartida. La decisión de cuantos hilos usar o no y de cómo sincronizarlos es tomada por el compilador y no necesariamente por el programador.
31 Lecturas Recomendadas Parallel Scalability Isn t Child s Play, Mark B. Friedman Parte 1: Parte 2: An Introduction to OpenMP, Robinson Rivas, SC-CAMP % pdf OpenMP Official Site: OpenMP Tutorial at Lawrence Livermore National Laboratory:
Sistemas 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
1 Primitivas básicas de OpenMP
1 Primitivas básicas de OpenMP Consultar la página oficial de la plataforma OpenMP http://www.openmp.org/drupal/ Pragmas Es una directiva para el compilador que permite la definición de nuevas directivas
Programación paralela con OpenMP
Programación paralela con OpenMP Arquitectura de Computadores J. Daniel García Sánchez (coordinador) David Expósito Singh Javier García Blas Óscar Pérez Alonso J. Manuel Pérez Lobato Grupo ARCOS Departamento
Multiprocesamiento en lenguaje C Introducción a Open Multiprocessing (OpenMP)
Multiprocesamiento en lenguaje C Introducción a Open Multiprocessing (OpenMP) Pertinencia de la enseñanza del cómputo paralelo en el currículo de las ingenierías Algunas preguntas Qué es un proceso? Qué
OpenMP. 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
Programació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
Guía práctica de estudio 11 Introducción a OpenMP.
Guía práctica de estudio 11 Introducción a OpenMP. Elaborado por: Revisión: Ing. Laura Sandoval Montaño Facultad de Ingeniería U.N.A.M. Guía Práctica 11 Estructura de datos y Algoritmos II Introducción
Programació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
Taller de Programación Paralela
Taller de Programación Paralela Departamento de Ingeniería Informática Universidad de Santiago de Chile April 17, 2008 Motivación Programar aplicaciones paralelas no es una tarea trivial. Paralelismo
Programación Paralela en OpenMp
Programación Paralela en OpenMp Proyecto PAPIME PE104911 Facultad de Ingeniería Universidad Nacional Autónoma de México 1 Utilidad de realizar procesamiento paralelo en computadoras con arquitectura de
Paralelización de Programas Secuenciales: OpenMP
Paralelización de Programas Secuenciales: OpenMP http://www.openmp.org Manuel Arenaz [email protected] Índice Introducción a la programación paralela Programación con OpenMP Directivas de compilación Librería
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
SISTEMAS PARALELOS Y DISTRIBUIDOS. 3º GRADO EN ING. INFORMÁTICA. ING. COMPUTADORES PRÁCTICA 8: INTRODUCCIÓN A OPENMP.
SISTEMAS PARALELOS Y DISTRIBUIDOS. 3º GRADO EN ING. INFORMÁTICA. ING. COMPUTADORES PRÁCTICA 8: INTRODUCCIÓN A OPENMP. 1. OBJETIVOS Y PREPARACIÓN. En la actualidad los multiprocesadores en un solo chip
Cómputo en paralelo con OpenMP 1
Cómputo en paralelo con OpenMP 1 Miguel Vargas-Félix [email protected] http://www.cimat.mx/~miguelvargas CIMAT, September 2, 2015 1/34 Velocidad de los procesadores de escritorio Recientemente, la
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
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
CLUSTER FING: ARQUITECTURA Y APLICACIONES
CLUSTER FING: ARQUITECTURA Y APLICACIONES Gerardo Ares, Pablo Ezzatti Centro de Cálculo, Instituto de Computación FACULTAD DE INGENIERÍA, UNIVERSIDAD DE LA REPÚBLICA, URUGUAY CONTENIDO Introducción Conceptos
TEMA 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
Có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
PROGRAMACIÓN PARALELA. Modelos de programación paralela Paradigmas de programación paralela
PROGRAMACIÓN PARALELA Modelos de programación paralela Paradigmas de programación paralela Tipos de paralelismo Paso de mensajes Paralelismo de datos Memoria compartida Paradigmas de programación paralela
Cilk. Un entorno de programación paralela. Tomás Muñoz Rodríguez < > 17 de noviembre de 2011
Un entorno de programación paralela Tomás Muñoz Rodríguez < [email protected] > 17 de noviembre de 2011 Profesor: Domingo Jiménez Cánovas Asignatura: Metodología de la Programación Paralela Facultad de
Programación en Intel Xeon Phi
Programación en Intel Xeon Phi David Corbalán Navarro Máster en Nuevas Tecnologías de la Informática Índice Introducción al paralelismo Niveles de paralelismo Paradigmas de programación paralela Manycores
2º curso / 2º cuatr. Arquitectura de Computadores. Grado en Ing. Informática. Seminario 0. Entorno de programación: atcgrid y gestor TORQUE
2º curso / 2º cuatr. 2º curso / 2º cuatr. Grado en Ing. Informática Arquitectura de Computadores Seminario 0. Entorno de programación: atcgrid y gestor TORQUE 2 Contenidos Cluster de prácticas (atcgrid)
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:
Programación de Memoria Compartida - OpenMP
Metodología de la Programación Paralela 2015-2016 Facultad Informática, Universidad de Murcia Programación de Memoria Compartida - OpenMP Contenido 1 Tipos de paralelismo 2 OpenMP Ejemplo básico Directivas
PARTE II PROGRAMACION CON THREADS EN C
PARTE II PROGRAMACION CON THREADS EN C II.1 INTRODUCCION Una librería o paquete de threads permite escribir programas con varios puntos simultáneos de ejecución, sincronizados a través de memoria compartida.
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
METODOLOGÍA DE LA PROGRAMACIÓN PARALELA. Modelos de programación paralela Paradigmas de programación paralela
METODOLOGÍA DE LA PROGRAMACIÓN PARALELA Modelos de programación paralela Paradigmas de programación paralela Tipos de paralelismo Paso de mensajes Paralelismo de datos Memoria compartida Tipos de paralelismo
Programación en Entornos Paralelos: MPI
1-11 Marzo de 2017 FACET -UNT Programación en Entornos Paralelos: MPI Graciela Molina mgracielamolina@gmailcom TRADICIONALMENTE Procesamiento secuencial 2 TRADICIONALMENTE Procesamiento secuencial Si ya
INTRODUCCIÓN A LA POO EN C++
INTRODUCCIÓN A LA POO EN C++ ÍNDICE DEL TEMA 1.- Introducción 2.- Diferencias C/C++ 3.- Programación orientada a objetos 4.- Aspectos avanzados C++ 1 1. Introducción Lenguaje C Lenguaje de propósito general
Granularidad y latencia
Niveles de paralelismo y latencias de comunicación Niveles de paralelismo. Granularidad o tamaño de grano. Latencia de comunicación. Particionado de los programas. Empaquetado de granos. Planificación
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
Esquemas 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)
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
Soluciones a ejercicios de paralelismo y concurrencia
Soluciones a ejercicios de paralelismo y concurrencia J. Daniel García Sánchez (coordinador) David Expósito Singh Javier García Blas Óscar Pérez Alonso J. Manuel Pérez Lobato Arquitectura de Computadores
Análisis y Diseño de Algoritmos (AyDA) Isabel Besembel Carrera
Análisis y Diseño de Algoritmos (AyDA) Isabel Besembel Carrera Algoritmos probabilistas Ene. 2010 Postgrado en Computación. Análisis y Diseño de Algoritmos (AyDA). Isabel Besembel. 2 Algoritmos multihilos
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?
Programación Multihilo
Proyecto Universidad-Secundaria Incorporación de contenidos de programación paralela en la rama de tecnologías informáticas Facultad Informática, Universidad de Murcia e Instituto de Enseñanza Secundaria
Programación en Memoria Compartida: OpenMP
Programación en Memoria Compartida: OpenMP Javier Cuenca Departamento de Ingeniería y Tecnología de Computadores Domingo Giménez Departamento de Informática y Sistemas Universidad de Murcia, Spain dis.um.es/~domingo
Taller de pthreads. Sistemas Operativos. Verano de 2009
Verano de 2009 Menú del día Hoy veremos: Introducción a pthreads Creación de threads Variables mutex Variables de condición Tutoriales de HPC Lawrence Livermore National Laboratory (http://www.llnl.gov)
CÓMPUTO DE ALTO RENDIMIENTO EN MEMORIA COMPARTIDA Y PROCESADORES GRÁFICOS
CÓMPUTO DE ALTO RENDIMIENTO EN MEMORIA COMPARTIDA Y PROCESADORES GRÁFICOS Leopoldo N. Gaxiola, Juan J. Tapia Centro de Investigación y Desarrollo de Tecnología Digital Instituto Politécnico Nacional Avenida
CUDA (Compute Unified Device Architecture)
CUDA (Compute Unified Device Architecture) Alvaro Cuno 23/01/2010 1 CUDA Arquitectura de computación paralela de propósito general La programación para la arquitectura CUDA puede hacerse usando lenguaje
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
IMPLEMENTACIÓN DE COMPUTACIÓN DE ALTO RENDIMIENTO Y PROGRAMACIÓN PARALELA EN CÓDIGOS COMPUTACIONALES CARLOS ANDRÉS ACOSTA BERLINGHIERI
IMPLEMENTACIÓN DE COMPUTACIÓN DE ALTO RENDIMIENTO Y PROGRAMACIÓN PARALELA EN CÓDIGOS COMPUTACIONALES CARLOS ANDRÉS ACOSTA BERLINGHIERI UNIVERSIDAD EAFIT ESCUELA DE INGENIERÍAS ÁREA DE DISEÑO MEDELLÍN 2009
Biblioteca de sistema
* Para la realización del presente examen se aconseja un tiempo de 2 horas. Teoría 1. Explique en detalle cómo se pasa una llamada al sistema operativo. El sistema operativo se activa cuando debe responder
Redes 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
Fundamentos de los Sistemas Operativos
Práctica 3 : hilos! Fundamentos de los Sistemas Operativos Grado en Ingeniería Informática Rubén García Rodríguez Alexis Quesada Arencibia Eduardo Rodríguez Barrera Francisco J. Santana Pérez José Miguel
Esquemas algorítmicos paralelos - Particionado y Paralelismo de Datos
Metodología de la Programación Paralela Facultad Informática, Universidad de Murcia Esquemas algorítmicos paralelos - Particionado y Paralelismo de Datos Domingo Giménez (Universidad de Murcia) 1 / 31
Procesos e Hilos en C
Procesos e Hilos en C 6 de febrero de 2012 En esta sesión vamos a escribir programas en lenguaje C que utilicen hilos y procesos para comparar el rendimiento del sistema ante la gestión de unos y otros.
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
Master SIA. Programación de Sistemas Paralelos. MPI: Ejercicios prácticos. Ejercicio 1. Facultad de Informática
Master SIA Facultad de Informática Programación de Sistemas Paralelos MPI: Ejercicios prácticos Te proponemos realizar estos cuatro ejercicios. Al final, y junto con los ejercicios sobre OpenMP, hay que
Alejandro Molina Zarca
Compute Unified Device Architecture (CUDA) Que es CUDA? Por qué CUDA? Dónde se usa CUDA? El Modelo CUDA Escalabilidad Modelo de programación Programación Heterogenea Memoria Compartida Alejandro Molina
Guillermo Román Díez
Concurrencia Creación de Procesos en Java Guillermo Román Díez [email protected] Universidad Politécnica de Madrid Curso 2016-2017 Guillermo Román, UPM CC: Creación de Procesos en Java 1/18 Concurrencia
Programación I Teoría I.
Programación I Teoría I http://proguno.unsl.edu.ar Horarios Teorías: Jueves 8:00 10:00; aula 58 (Bloque 2) Prácticas: Comisión 1: Licenciatura Martes de 10 a 13 en sala 7, bloque 2 jueves de 10 a 13 en
Clases 04 y 05: Repaso de programación de sistemas basados en UNIX
Clases 04 y 05: Repaso de programación de sistemas basados en UNIX Prof. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco [email protected] Estructuras de datos (Prof.
Programación Concurrente
Master en Computación Programación Concurrente Bloque II: Programación concurrente en POSIX Tema 1. Introducción al estándar POSIX Tema 2. Sistema Operativo MaRTE OS Tema 4. Gestión del Tiempo Tema 5.
Procesamiento Paralelo
Procesamiento Paralelo Introducción a MPI Javier Iparraguirre Universidad Tecnológica Nacional, Facultad Regional Bahía Blanca 11 de Abril 461, Bahía Blanca, Argentina [email protected] http://www.frbb.utn.edu.ar/hpc/
Programación de Multitareas utilizando Hilos
Programación de Multitareas utilizando Hilos Enero/2012 Programación de Multitareas utilizando Hilos Origen de los hilos como elementos necesarios en la programación de multitareas Multihilos en un solo
Actividad Algoritmos, Estructura y Programación I. FOR, DO-WHILE
Actividad Algoritmos, Estructura y Programación I. FOR, DO-WHILE 1. Qué es un bucle? 2. A que se denomina cuerpo de un bucle? 3. Define iteración de un bucle. 4. Cuál es el cuerpo de un bucle? 5. Qué es
Introducción a Cómputo Paralelo con CUDA C/C++
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO Facultad de Ingeniería Introducción a Cómputo Paralelo con CUDA C/C++ Laboratorio de Intel y Cómputo de alto desempeño Elaboran: Revisión: Ing. Laura Sandoval Montaño
Procesamiento Paralelo
Procesamiento Paralelo MPI - Tipos y Topologías Javier Iparraguirre Universidad Tecnológica Nacional, Facultad Regional Bahía Blanca 11 de Abril 461, Bahía Blanca, Argentina [email protected]
Programación Concurrente Recopilación de teoría referente a la materia
UNIVERSIDAD AMERICANA Programación Concurrente Recopilación de teoría referente a la materia Ing. Luis Müller Esta es una recopilación de la teoría referente a la asignatura Programación Concurrente, a
PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA
PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA Angel García Beltrán y José María Arranz Santamaría Sección de Publicaciones Escuela Técnica Superior de Ingenieros Industriales Universidad Politécnica de Madrid
1. Procesos vs Hilos 2. Cuando se ejecutan los procesos 3. Fork 4. Clone 5. Cómo se ejucuta el fork? 6. do_fork() 7. copy_process 8.
1. Procesos vs Hilos 2. Cuando se ejecutan los procesos 3. Fork 4. Clone 5. Cómo se ejucuta el fork? 6. do_fork() 7. copy_process 8. Código Proceso Manejados por el sistema operativo Memoria independiente
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
Threads. Hilos - Lightweight process - Procesos ligeros
Threads Hilos - Lightweight process - Procesos ligeros 1 Temario Concepto y Beneficios Estructuras de implementación: Servidor- Trabajador, Equipo, Pipeline Reconocimiento: En el espacio del usuario /
Hilos Secciones Stallings:
Capítulo 4 Hilos Secciones Stallings: 4.1 4.3 Contenido Procesos e hilos. Hilos a nivel de núcleo y a nivel de usuario. Multiprocesador simétrico (SMP). Micronúcleos. 1 Proceso Unidad de propiedad de los
Repaso Lenguaje C Área de Servicios Programación (Ing. Elect. y Prof. Tec.), Programación I (TUG y TUR) y Electrónica programable (TUE)
Repaso Lenguaje C OBJETOS Variables Constantes Variable: objeto del ambiente cuyo contenido puede cambiar. Constante: objeto cuyo contenido no puede cambiar. Variables: - un nombre que la identifica. Deben
Programación orientada a objetos I
Introducción Programación orientada a objetos I Curso INEM. Programación en C++ Santiago Muelas Pascual [email protected] Qué es la POO? Un paradigma de programación Un paradigma es una forma de afrontar
