Por: Mario Felaco Mercedes Martinez Sistemas Operativos III Ene-Mar 2007.

Slides:



Advertisements
Presentaciones similares
Curso de java básico (scjp)
Advertisements

Métodos y parámetros.
Computadores de alta velocidad (la lista top500).
Introducción al OpenMP
TEMA 1 Introducción a la Programación Concurrente
Tipos de Organización ... La organización de máquinas multiprocesadores más típicas son: Mesh Networks. Binary Tree Networks. Hypertree Networks. Pyramid.
III - Gestión de memoria
Programación Interactiva Hilos
Programando con OpenMP*
Prototipo de compilador didáctico del lenguaje LC99
PROGRAMACIÓN PARALELA Tema 5: Análisis de algoritmos paralelos
Estructuras de control
Administración de procesos y del procesador.
PROGRAMACIÓN DE SISTEMAS DE MEMORIA COMPARTIDA (SMP):
Tema 3. Optimización de Código
Java. Threads (Hebras) Los sistemas operativos actuales permiten la multitarea, aunque esta se de tiempo compartido cuando se trabaja con un solo procesador.
Tema 6: Clases Antonio J. Sierra.
Tema 4: Sentencias de control
Paginación-Segmentación Fundamentos Translación de Direcciones Tabla de páginas Segmentación Emely Arráiz Ene-Mar 08.
HILOS Y COMUNICACIÓN ENTRE PROCESOS
SCJP Sun Certified Programmer for Java 6
Tema 10: Gestión de Memoria
Semana 5 Subprogramas..
Introducción a la Computación Paralela Germán Larrazábal Departamento Computación, FACYT, Universidad de Carabobo, Venezuela
Unidad III Administración de procesos
Hilos - Lightweight process - Procesos ligeros
Aplicado a programas openMP
Algo mas de OPENMP y todo sobre PBS!. Algunas rutinas que devuelven variables de entorno  void omp_set_num_threads(int num_threads); // numero de threads.
Introducción al análisis de algoritmos
Ejemplos openMP.
Página Web del Lenguaje Pascal.
Java. Java nació el año 1991, por un par de ingenieros de la Sun Microsystems.
Programación de Memoria Compartida
Programación de Memoria Compartida
Asignación de Espacio No Contiguo
Administración de Memoria
Programación Básica con NQC Patricio A. Castillo Pizarro 25/08/2007.
Material de apoyo Unidad 4 Estructura de datos
Programación con OpenMP* Intel Software College. Copyright © 2006, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or.
P rogramación de S istemas P aralelos IF - EHU P ROGRAMACIÓN DE S ISTEMAS DE M EMORIA C OMPARTIDA (SMP): OPENMP.
OpenMP C and C++ Application Program Interface. Version October 1998.
Paradigma “Shared Address Space” Algoritmos paralelos Glen Rodríguez.
Resumen Fundamentos de Programación/ Programación I
Un lenguaje de programación orientado a objetos Maestra Graciela Prado B. Octubre 2013.
Monitores Cabudare, noviembre de 2010 Universidad Fermín Toro

SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6
14 de diciembre de 2005 Universidad de Murcia1 Programación en Memoria Compartida: OpenMP Domingo Giménez Departamento de Informática y Sistemas Universidad.
COMPONENTES DEL SISTEMA OPERATIVO.
Gestión de Memoria.
Introducción a los SOs.
Sistemas Operativos Avanzados
1 5. UNIDADES DE PROGRAMAS. 2 Uso de mecanismos de control de secuencia de: Invocaciones Retornos Entre: PPSP 1 a) I R SP 1 SP 2 b) I R Unidades subordinadas.
Por Luis Esteban Monsalve Martínez
PRINCIPIOS DE PROGRAMACIÓN
Threads en Java  Threads: programas multitarea  Creación de threads  Ciclo de vida de un thread  Sincronización.
UTFSM - Sistemas Operativos
Estructuras de Decisión
Ada 2º Parte (variables, ámbitos, subrutinas, tipos abstractos de datos y excepciones)
MEMORIA DINÁMICA.
U2 Tipos de datos, referenciación y errores 1. Datos problema simple enteroreal carácter booleano Ingeniero = Oreja+catalejo modelo ordenador solución.
Desarrollador Profesional de Juegos Programación III Unidad II Hilos de ejecución Threads.
Programación Básica Bachillerato Ingeniería en Informática Lic. Carlos H. Gutiérrez León.
Programación con OpenMP* Dr. Marco Antonio Ramos Corchado Fuente Intel.
Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 3.
Agenda  Historia  Características  Mecanismos de concurrencia  Ejemplos  Desventajas  Accesibilidad  Conclusiones  Bibliografía.
Métodos en Java. Estructura de un programa en Java ► La relación con la vida misma la podemos ver en el siguiente comentario: Imaginemos que dos clases.
Katty Evangelina Hipólito Chi.   Aunque cada maquina tiene un lenguaje ensamblador distinto, el proceso de ensamblador tiene suficiente similitudes.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Hilos de Procesamiento. Hilos Concepto Beneficios Hilos a nivel kérnel y a nivel usuario Modelos multihilos Hilos de Solaris 2 Hilos de Java.
Transcripción de la presentación:

Por: Mario Felaco Mercedes Martinez Sistemas Operativos III Ene-Mar 2007

 Es un API (Application Program Interface) que se puede utilizar para poner explícitamente directivas de manejo de multi-hilos y paralelismo de memoria compartida  También es un poderoso modelo de programación, que aunque ligero, es el estándar para la programación de memoria compartida  Soporta Fortran y C/C++

 Memoria Compartida en Base a Threads.  Los threads pueden accesar las variables compartidas, las variables privadas sólo las pueden accesar sus dueños  Paralelismo Explicito.  Sincronización principalmente implícita  Modelo Fork-Join

 OpenMP Team := Master + Workers  Una Región Paralela es un bloque de código que ejecutan todos los hilos simultáneamente  El hilo principal siempre tiene ID 0  Una cláusula if se puede usar para guardar la región paralela; en caso de que la condición sea falsa, el código se ejecuta de manera secuencial

 if (expresión)  Ejecuta en paralelo sólo si la expresión es true  De lo contrario ejecuta secuencialmente  private (lista)  No tiene asociación de almacenamiento con el objeto original  Todas las referencias son para el objeto local  Las variables son no definidas al entrar y al salir  Excepción: firstprivate y lastprivate  shared (lista)  Datos accesibles a todos los threads del equipo  Todos los threads accesan el mismo espacio físico

 nowait  reduction (operador | lista)  Genera código que evita una condición de carrera  La variable tiene una copia local en cada hilo  Los valores se “reducen” a una variable local, de acuerdo al operador

 omp for  omp do  omp workshare (sólo Fortran) En cada una de las directivas se puede hacer balanceo de carga para los casos en donde el trabajo no sea uniforme. De manera predeterminada se reparten las iteraciones en partes iguales.

Ejemplo del uso de OpenMP

 El compilador puede no ser capaz de paralelizar como quieres:  Un ciclo no es paralelizado  El análisis de dependencias no es capaz de determinar si es seguro paralelizar o no  La granularidad no es suficientemente alta  El compilador no tiene suficiente información  Se desea que el programa sea escrito de manera tal que la versión secuencial todavía sea posible