SlideShare una empresa de Scribd logo
1 de 32
Descargar para leer sin conexión
Definici´on
Ventajas y Desventajas
An´alisis de Dependencia
Caso de Estudio 1: Chapel
Caso de Estudio 2: X10
Otros lenguajes paralelos
Lenguajes Paralelos
Nestor A. Rojas E.
Facultad Experimental de Ciencias y Tecnolog´ıa
Universidad de Carabobo
8 de julio de 2013
Nestor A. Rojas E. Lenguajes Paralelos
Definici´on
Ventajas y Desventajas
An´alisis de Dependencia
Caso de Estudio 1: Chapel
Caso de Estudio 2: X10
Otros lenguajes paralelos
Contenido I
1 Definici´on
Concepto
Peque˜na historia
2 Ventajas y Desventajas
Ventajas
Desventajas
3 An´alisis de Dependencia
An´alisis de Dependencia
Condiciones de Bernstein
4 Caso de Estudio 1: Chapel
Chapel
Revisando Chapel
Tipos de Datos
Estructuras de control
Nestor A. Rojas E. Lenguajes Paralelos
Definici´on
Ventajas y Desventajas
An´alisis de Dependencia
Caso de Estudio 1: Chapel
Caso de Estudio 2: X10
Otros lenguajes paralelos
Contenido II
Estructuras de control paralelas
Algunos Ejemplos
5 Caso de Estudio 2: X10
X10
Revisando X10
Tipos de Datos y Clases
Lugares y actividades
Relojes
Arreglos distribuidos
Un Ejemplo
6 Otros lenguajes paralelos
Nestor A. Rojas E. Lenguajes Paralelos
Definici´on
Ventajas y Desventajas
An´alisis de Dependencia
Caso de Estudio 1: Chapel
Caso de Estudio 2: X10
Otros lenguajes paralelos
Concepto
Peque˜na historia
Lenguajes Paralelos
Son aquellos lenguajes de programaci´on especialmente dise˜nados
para la programaci´on en paralelo, generalmente trabajan con
memoria compartida. Proveen estructuras de control, sentencias
entre otros que facilitan al programador trabajar con tareas
independientes y variables de memoria compartida; abstraen casi
totalmente (en su mayor´ıa) al programador de los detalles de la
arquitectura del computador en donde trabaja.
Nestor A. Rojas E. Lenguajes Paralelos
Definici´on
Ventajas y Desventajas
An´alisis de Dependencia
Caso de Estudio 1: Chapel
Caso de Estudio 2: X10
Otros lenguajes paralelos
Concepto
Peque˜na historia
Peque˜na historia
Muchos lenguajes paralelos han prosperado a lo largo del tiempo
en diferentes etapas de la historia de la programaci´on, pero
ninguno de ellos ha sido universalmente aceptado. El primero de
ellos fue Concurrent Pascal, dise˜nado por Brinch Hansen en 1975
como una extensi´on del lenguaje Pascal, tambi´en daba soporte al
paradigma concurrente.
En estos a˜nos la mayor´ıa de los lenguajes dise˜nados eran
extensiones de lenguajes secuenciales ya existentes. High
Performance Fortran ha sido uno de los pocos lenguajes que ha
prevalecido en el tiempo, del que se ha originado nuevos lenguajes
con este concepto y que se ha mantenido estable en el tiempo.
Nestor A. Rojas E. Lenguajes Paralelos
Definici´on
Ventajas y Desventajas
An´alisis de Dependencia
Caso de Estudio 1: Chapel
Caso de Estudio 2: X10
Otros lenguajes paralelos
Ventajas
Desventajas
Ventajas
1 Facilitan la creaci´on de multiples tareas para a su vez ´estas
sean ejecutadas de manera independiente en cada procesador.
2 No requieres de paso de mensajes pues en su mayor´ıa trabajan
con memoria compartida, esto es que cada tarea puede
acceder a las variables del programa pues todas ellas (las
tareas) comparten el mismo espacio de memoria.
Nestor A. Rojas E. Lenguajes Paralelos
Definici´on
Ventajas y Desventajas
An´alisis de Dependencia
Caso de Estudio 1: Chapel
Caso de Estudio 2: X10
Otros lenguajes paralelos
Ventajas
Desventajas
Ventajas
1 Facilitan la creaci´on de multiples tareas para a su vez ´estas
sean ejecutadas de manera independiente en cada procesador.
2 No requieres de paso de mensajes pues en su mayor´ıa trabajan
con memoria compartida, esto es que cada tarea puede
acceder a las variables del programa pues todas ellas (las
tareas) comparten el mismo espacio de memoria.
3 Muchas de las operaci´ones con procesos y subprocesos las
maneja internamente el compilador.
Nestor A. Rojas E. Lenguajes Paralelos
Definici´on
Ventajas y Desventajas
An´alisis de Dependencia
Caso de Estudio 1: Chapel
Caso de Estudio 2: X10
Otros lenguajes paralelos
Ventajas
Desventajas
Ventajas
1 Facilitan la creaci´on de multiples tareas para a su vez ´estas
sean ejecutadas de manera independiente en cada procesador.
2 No requieres de paso de mensajes pues en su mayor´ıa trabajan
con memoria compartida, esto es que cada tarea puede
acceder a las variables del programa pues todas ellas (las
tareas) comparten el mismo espacio de memoria.
3 Muchas de las operaci´ones con procesos y subprocesos las
maneja internamente el compilador.
Nestor A. Rojas E. Lenguajes Paralelos
Definici´on
Ventajas y Desventajas
An´alisis de Dependencia
Caso de Estudio 1: Chapel
Caso de Estudio 2: X10
Otros lenguajes paralelos
Ventajas
Desventajas
Desventajas
1 Requiere por parte del programador el aprendizaje de un
nuevo paradigma, reglas adici´onales para programar, lo cual
en muchos casos los mismos oponen resistencia al cambio.
2 No existe un gran apoyo para popularizar estos lenguajes, esto
causa la discontinuidad del soporte para los mismos; son
mayormente utilizados en plataformas de super computaci´on,
esto se debe que hasta no hace mucho la mayor´ıa de los
ordenadores personales pose´ıan un solo n´ucleo en la CPU.
Nestor A. Rojas E. Lenguajes Paralelos
Definici´on
Ventajas y Desventajas
An´alisis de Dependencia
Caso de Estudio 1: Chapel
Caso de Estudio 2: X10
Otros lenguajes paralelos
Ventajas
Desventajas
Desventajas
1 Requiere por parte del programador el aprendizaje de un
nuevo paradigma, reglas adici´onales para programar, lo cual
en muchos casos los mismos oponen resistencia al cambio.
2 No existe un gran apoyo para popularizar estos lenguajes, esto
causa la discontinuidad del soporte para los mismos; son
mayormente utilizados en plataformas de super computaci´on,
esto se debe que hasta no hace mucho la mayor´ıa de los
ordenadores personales pose´ıan un solo n´ucleo en la CPU.
3 Como aplican una capa extra para lo que significa operaciones
con procesos, acceso a memoria compartida entre otras cosas
hace que en ocasiones no siempre el tiempo de ejecuci´on sea
el esperado (Tp ∼= Ts/n).
Nestor A. Rojas E. Lenguajes Paralelos
Definici´on
Ventajas y Desventajas
An´alisis de Dependencia
Caso de Estudio 1: Chapel
Caso de Estudio 2: X10
Otros lenguajes paralelos
Ventajas
Desventajas
Desventajas
1 Requiere por parte del programador el aprendizaje de un
nuevo paradigma, reglas adici´onales para programar, lo cual
en muchos casos los mismos oponen resistencia al cambio.
2 No existe un gran apoyo para popularizar estos lenguajes, esto
causa la discontinuidad del soporte para los mismos; son
mayormente utilizados en plataformas de super computaci´on,
esto se debe que hasta no hace mucho la mayor´ıa de los
ordenadores personales pose´ıan un solo n´ucleo en la CPU.
3 Como aplican una capa extra para lo que significa operaciones
con procesos, acceso a memoria compartida entre otras cosas
hace que en ocasiones no siempre el tiempo de ejecuci´on sea
el esperado (Tp ∼= Ts/n).
Nestor A. Rojas E. Lenguajes Paralelos
Definici´on
Ventajas y Desventajas
An´alisis de Dependencia
Caso de Estudio 1: Chapel
Caso de Estudio 2: X10
Otros lenguajes paralelos
An´alisis de Dependencia
Condiciones de Bernstein
An´alisis de Dependencia
Cuando trabajamos con un lenguaje paralelo se espera que el
compilador sea capaz de identificar problemas que evitan la
ejecuci´on concurrente.
Los procesos no pueden ejecutarse juntos si entre ellos existen
alguna dependencia que requiera el estricto orden de ejecuci´on
secuencial.
Para ello el programador debe ser capaz de identificar las
dependencias que hay entre las instrucci´ones en los bloques de las
estructuras de control (ve´ase forall), para garantizar que los
procesos que genera el compilador sean paralelos.
Nestor A. Rojas E. Lenguajes Paralelos
Definici´on
Ventajas y Desventajas
An´alisis de Dependencia
Caso de Estudio 1: Chapel
Caso de Estudio 2: X10
Otros lenguajes paralelos
An´alisis de Dependencia
Condiciones de Bernstein
Condiciones de Bernstein
Tenemos dos conjuntos de posiciones de memoria:
E(las entradas) y S(las salidas).
Y tenemos a los procesos Pi .
Ei : Conjunto de posiciones de memoria le´ıdas por Pi .
Sj : Conjunto de posiciones de memoria le´ıdas por Pj .
Las condiciones son:
1 E1 ∩ S2 = φ.
2 E2 ∩ S1 = φ.
3 S1 ∩ S2 = φ.
Nestor A. Rojas E. Lenguajes Paralelos
Definici´on
Ventajas y Desventajas
An´alisis de Dependencia
Caso de Estudio 1: Chapel
Caso de Estudio 2: X10
Otros lenguajes paralelos
Chapel
Revisando Chapel
Algunos Ejemplos
Chapel
-
Lenguaje de programaci´on paralela desarrollado en 2010 como
parte del proyecto Cray Cascade de Cray Company en Seattle
Washington, dise˜nado por David Callahan y su equipo de
desarrollo. Influenciado por High Performance Fortran y ZPL.
Nestor A. Rojas E. Lenguajes Paralelos
Definici´on
Ventajas y Desventajas
An´alisis de Dependencia
Caso de Estudio 1: Chapel
Caso de Estudio 2: X10
Otros lenguajes paralelos
Chapel
Revisando Chapel
Algunos Ejemplos
Revisando Chapel
Tipos de Datos
Chapel ofrece soporte a muchos tipos de datos, pero mostraremos
los mas importantes:
Tipo de Dato Dominio Declaraci´on
Booleano true o false var b: bool;
Entero Int en 64 bits var n: int;
Real Double en C o Java var n: real;
Cadena Tabla ASCII var s: string;
Arreglos El m´aximo a almacenar var A: [l1..l2] (datatype);
Nestor A. Rojas E. Lenguajes Paralelos
Definici´on
Ventajas y Desventajas
An´alisis de Dependencia
Caso de Estudio 1: Chapel
Caso de Estudio 2: X10
Otros lenguajes paralelos
Chapel
Revisando Chapel
Algunos Ejemplos
Revisando Chapel
Estructuras de control
Chapel ofrece soporte a las estructuras de control tradici´onales,
como if-else, selection (switch en lenguaje C), for-loop, while-loop,
do while-loop, etc. Que con solo revisar el manual son f´aciles de
identificar y utilizar.
Pero Chapel tambi´en ofrece soporte a estructuras de control con
paralelismo impl´ıcito.
Nestor A. Rojas E. Lenguajes Paralelos
Definici´on
Ventajas y Desventajas
An´alisis de Dependencia
Caso de Estudio 1: Chapel
Caso de Estudio 2: X10
Otros lenguajes paralelos
Chapel
Revisando Chapel
Algunos Ejemplos
Revisando Chapel
Estructuras de control paralelas
Forall-loop:
Similar al for secuencial, cuando el bucle inicia primero se crean
tantos hilos como n´ucleos de procesamiento existan para que cada
uno de ellos ejecute un trozo de la tarea. Cada hilo tiene total
acceso a modificar las variables que en el bucle existan, por tanto
si queremos que estas se modifique una vez por iteraci´on
necesitamos una variable de sincronizaci´on.
-
Nestor A. Rojas E. Lenguajes Paralelos
Definici´on
Ventajas y Desventajas
An´alisis de Dependencia
Caso de Estudio 1: Chapel
Caso de Estudio 2: X10
Otros lenguajes paralelos
Chapel
Revisando Chapel
Algunos Ejemplos
Revisando Chapel
Estructuras de control paralelas
Coforall-loop:
Similar al forall solo que este crear´a un hilo de ejecuci´on por cada
entrada en el bucle, en caso de que el programador decida hacer
mas hilos que nucleos los hilos se someteran a la planificaci´on de
procesos del sistema operativo.
-
Nestor A. Rojas E. Lenguajes Paralelos
Definici´on
Ventajas y Desventajas
An´alisis de Dependencia
Caso de Estudio 1: Chapel
Caso de Estudio 2: X10
Otros lenguajes paralelos
Chapel
Revisando Chapel
Algunos Ejemplos
Revisando Chapel
Estructuras de control paralelas
Begin:
Cada vez que llamas a begin este crea un hilo de ejecuci´on para las
instrucci´ones que vienen a continuaci´on de ´el. El orden de
ejecuci´on puede variar.
-
Nestor A. Rojas E. Lenguajes Paralelos
Definici´on
Ventajas y Desventajas
An´alisis de Dependencia
Caso de Estudio 1: Chapel
Caso de Estudio 2: X10
Otros lenguajes paralelos
Chapel
Revisando Chapel
Algunos Ejemplos
Revisando Chapel
Estructuras de control paralelas
Cobegin:
Similar al begin solo que lo que este dentro de la sentencia se tiene
que ejecutar primero antes de lo que venga a continuaci´on en el
c´odigo.
-
Nestor A. Rojas E. Lenguajes Paralelos
Definici´on
Ventajas y Desventajas
An´alisis de Dependencia
Caso de Estudio 1: Chapel
Caso de Estudio 2: X10
Otros lenguajes paralelos
Chapel
Revisando Chapel
Algunos Ejemplos
Revisando Chapel
Estructuras de control paralelas
Variables de Sinconizaci´on:
Son variables que bloquean al proceso que las llama hasta que su
valor le es asignado a otra variable del mismo tipo; ellas tienes dos
estados: vac´ıas o llenas, cuando est´an llenas estas bloquean a los
otros procesos que las utilizan, llegan a estar vac´ıas cuando su
valor le es asignado a otra variable de sincronizaci´on.
Nestor A. Rojas E. Lenguajes Paralelos
Definici´on
Ventajas y Desventajas
An´alisis de Dependencia
Caso de Estudio 1: Chapel
Caso de Estudio 2: X10
Otros lenguajes paralelos
Chapel
Revisando Chapel
Algunos Ejemplos
Revisando Chapel
Estructuras de control paralelas
Reduce:
Esta operaci´on es similar a MPI Reduce, se compone de una
operaci´on elemental, reduce y de un rango, esta rango puede ser
un arreglo o una serie de operaci´ones sobre los elementos de ese
arreglo. Cuando es llamada espera a todos los hilos que tengan
parte de los valores de ese rango para as´ı aplicar la operaci´on
generalizada sobre esos valores.
-
Nestor A. Rojas E. Lenguajes Paralelos
Definici´on
Ventajas y Desventajas
An´alisis de Dependencia
Caso de Estudio 1: Chapel
Caso de Estudio 2: X10
Otros lenguajes paralelos
Chapel
Revisando Chapel
Algunos Ejemplos
Algunos Ejemplos
1 http:
//www.dropbox.com/s/1uyy93qa84g466p/primos.chpl
2 http://www.dropbox.com/s/eruglknlvn4h9d2/calculo_
pi.chpl
3 http://www.dropbox.com/s/cetdo6ifbqud5ul/
multiplicacion_matrices.chpl
4 http://www.dropbox.com/s/3k312fuiix324rb/
multiplicacion_matrices2.chpl
Nestor A. Rojas E. Lenguajes Paralelos
Definici´on
Ventajas y Desventajas
An´alisis de Dependencia
Caso de Estudio 1: Chapel
Caso de Estudio 2: X10
Otros lenguajes paralelos
X10
Revisando X10
Un Ejemplo
X10
-
Lenguaje de programaci´on paralela y orientado a objetos
desarrollado en 2004 por IBM en el centro de investigaci´on
Thomas J. Watson, dise˜nado por Kemal Ebcio˘glu y su equipo de
desarrollo, influenciado principalmente por Java.
Nestor A. Rojas E. Lenguajes Paralelos
Definici´on
Ventajas y Desventajas
An´alisis de Dependencia
Caso de Estudio 1: Chapel
Caso de Estudio 2: X10
Otros lenguajes paralelos
X10
Revisando X10
Un Ejemplo
Revisando X10
Tipos de Datos y Clases
X10 da soporte a todos los tipos b´asicos de Java, tales como
arreglos, enteros, reales, etc. E introduce el concepto de
orientaci´on a objetos y jerarqu´ıa de librer´ıas.
Cada vez que escribamos un programa en X10 tenemos que
comenzar definiendo la clase tal y como hacemos en Java, y
definiendo lo que queremos hacer en el public void main[](...).
Nestor A. Rojas E. Lenguajes Paralelos
Definici´on
Ventajas y Desventajas
An´alisis de Dependencia
Caso de Estudio 1: Chapel
Caso de Estudio 2: X10
Otros lenguajes paralelos
X10
Revisando X10
Un Ejemplo
Revisando X10
Lugares y actividades
Un lugar es un repositorio donde interact´uan n hilos con un trozo
de memoria compartida del todo en dicho lugar.
Y una actividad es una sentencia que esta siendo ejecutada,
independientemente, con sus propias variables locales, pudiera ser
pensada como un hilo ligero.
En un lugar pueden haber muchas actividades, y en muchos lugares
pueden haber actividades repetidas haciendo lo mismo con otros
datos.
Nestor A. Rojas E. Lenguajes Paralelos
Definici´on
Ventajas y Desventajas
An´alisis de Dependencia
Caso de Estudio 1: Chapel
Caso de Estudio 2: X10
Otros lenguajes paralelos
X10
Revisando X10
Un Ejemplo
Revisando X10
Relojes
Muchos algoritmos paralelos avanzan en fases, pero cada fase
posee muchas actividades en acci´on, por tanto para garantizar que
dichas actividades se ejecuten en una fase sin que en la fase
siguiente aun no se haya ejecutado todas las actividades de la fase
anterior se utilizan los relojes, los cuales son una clase ya definida
por X10, con sus primitivas y m´etodos propios que avisan cuando
todas las actividades terminan su ejecuci´on para proceder a la
siguiente fase.
Nestor A. Rojas E. Lenguajes Paralelos
Definici´on
Ventajas y Desventajas
An´alisis de Dependencia
Caso de Estudio 1: Chapel
Caso de Estudio 2: X10
Otros lenguajes paralelos
X10
Revisando X10
Un Ejemplo
Revisando X10
Arreglos distribuidos
X10 provee la clase DistArray, los cuales son arreglos que
autom´aticamente son distribuidos a trozos por la clase Dist a
muchos lugares; estos trozos de los DistArrays se les llaman
regiones.
Nestor A. Rojas E. Lenguajes Paralelos
Definici´on
Ventajas y Desventajas
An´alisis de Dependencia
Caso de Estudio 1: Chapel
Caso de Estudio 2: X10
Otros lenguajes paralelos
X10
Revisando X10
Un Ejemplo
Un Ejemplo
http://x10-lang.org/documentation/code-examples/
small-examples.html?id=103
Nestor A. Rojas E. Lenguajes Paralelos
Definici´on
Ventajas y Desventajas
An´alisis de Dependencia
Caso de Estudio 1: Chapel
Caso de Estudio 2: X10
Otros lenguajes paralelos
Otros lenguajes paralelos
High Performance Fortran.
Cilk.
ZPL.
Parlog.
NESL.
Linda.
C*.
Nestor A. Rojas E. Lenguajes Paralelos
Definici´on
Ventajas y Desventajas
An´alisis de Dependencia
Caso de Estudio 1: Chapel
Caso de Estudio 2: X10
Otros lenguajes paralelos
Otros lenguajes paralelos
SALSA.
Unified Parallel C.
Fortress.
Coarray Fortran (F–).
ParaSail.
Charm++.
Id.
SequenceL.
Ease.
FortranM.
Nestor A. Rojas E. Lenguajes Paralelos
Definici´on
Ventajas y Desventajas
An´alisis de Dependencia
Caso de Estudio 1: Chapel
Caso de Estudio 2: X10
Otros lenguajes paralelos
Bibliograf´ıa
Barry Wilkinson and Michael Allen. (1999). Parallel
Programming, Techniques and Applications using Networked
Workstations and Parallel Computers (2nd Edition). New
Jersey: c Prentice Hall.
Chapel: Overview. http://chapel.cray.com/
Chapel Tutorial.
http://faculty.knox.edu/dbunde/teaching/chapel/
X10. http://x10-lang.org/
X10 Language Specification. http://x10.sourceforge.
net/documentation/languagespec/x10-latest.pdf
Nestor A. Rojas E. Lenguajes Paralelos

Más contenido relacionado

Similar a Presentación - Lenguajes Paralelos

Presentacion sobre PERL, UDLA enero 2011
Presentacion sobre PERL, UDLA enero 2011Presentacion sobre PERL, UDLA enero 2011
Presentacion sobre PERL, UDLA enero 2011Doknos Tecnology
 
lenguaje especialidad, corpus, LSP
lenguaje especialidad, corpus, LSPlenguaje especialidad, corpus, LSP
lenguaje especialidad, corpus, LSPChelo Vargas
 
¿Por qué usar R y no otro? Perspectiva desde la opinión de un usuario asiduo ...
¿Por qué usar R y no otro? Perspectiva desde la opinión de un usuario asiduo ...¿Por qué usar R y no otro? Perspectiva desde la opinión de un usuario asiduo ...
¿Por qué usar R y no otro? Perspectiva desde la opinión de un usuario asiduo ...Luis Alan Navarro
 
Traducción automática de código abierto: una oportunidad para lenguas menores
Traducción automática de código abierto: una oportunidad para lenguas menoresTraducción automática de código abierto: una oportunidad para lenguas menores
Traducción automática de código abierto: una oportunidad para lenguas menoresForcada Mikel
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programaciónEliezer Cordova
 
Evolucion historica del lenguaje de programacion
Evolucion historica del lenguaje de programacionEvolucion historica del lenguaje de programacion
Evolucion historica del lenguaje de programacionSergio Maidana
 
Resumen Capitulo 1 - Sebesta
Resumen Capitulo 1 - Sebesta Resumen Capitulo 1 - Sebesta
Resumen Capitulo 1 - Sebesta Santiago Valdez
 
Babel, el lenguaje de la tecnologia
Babel, el lenguaje de la tecnologiaBabel, el lenguaje de la tecnologia
Babel, el lenguaje de la tecnologiaIvnMariano
 
Una evaluación de OpenLaszlo
Una evaluación de OpenLaszloUna evaluación de OpenLaszlo
Una evaluación de OpenLaszloGuillermo Pizarro
 
01. lenguajes de programación autor virtuniversidad
01. lenguajes de programación autor virtuniversidad01. lenguajes de programación autor virtuniversidad
01. lenguajes de programación autor virtuniversidadLuisBeltrnAlvinoAlva
 
01. Lenguajes de programación autor Virtuniversidad.pdf
01. Lenguajes de programación autor Virtuniversidad.pdf01. Lenguajes de programación autor Virtuniversidad.pdf
01. Lenguajes de programación autor Virtuniversidad.pdfrosalesjonathan2024
 

Similar a Presentación - Lenguajes Paralelos (20)

Presentacion sobre PERL, UDLA enero 2011
Presentacion sobre PERL, UDLA enero 2011Presentacion sobre PERL, UDLA enero 2011
Presentacion sobre PERL, UDLA enero 2011
 
lenguaje especialidad, corpus, LSP
lenguaje especialidad, corpus, LSPlenguaje especialidad, corpus, LSP
lenguaje especialidad, corpus, LSP
 
Cap1 intro
Cap1 introCap1 intro
Cap1 intro
 
¿Por qué usar R y no otro? Perspectiva desde la opinión de un usuario asiduo ...
¿Por qué usar R y no otro? Perspectiva desde la opinión de un usuario asiduo ...¿Por qué usar R y no otro? Perspectiva desde la opinión de un usuario asiduo ...
¿Por qué usar R y no otro? Perspectiva desde la opinión de un usuario asiduo ...
 
Eli rodas
Eli rodasEli rodas
Eli rodas
 
Traducción automática de código abierto: una oportunidad para lenguas menores
Traducción automática de código abierto: una oportunidad para lenguas menoresTraducción automática de código abierto: una oportunidad para lenguas menores
Traducción automática de código abierto: una oportunidad para lenguas menores
 
Inf220b programacion para web iii
Inf220b programacion para web iiiInf220b programacion para web iii
Inf220b programacion para web iii
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Evolucion historica del lenguaje de programacion
Evolucion historica del lenguaje de programacionEvolucion historica del lenguaje de programacion
Evolucion historica del lenguaje de programacion
 
Resumen Capitulo 1 - Sebesta
Resumen Capitulo 1 - Sebesta Resumen Capitulo 1 - Sebesta
Resumen Capitulo 1 - Sebesta
 
Los lenguajes de programacion
Los lenguajes de programacionLos lenguajes de programacion
Los lenguajes de programacion
 
Programacion
ProgramacionProgramacion
Programacion
 
Clasificacion de lenguajes de programacion martha
Clasificacion de lenguajes de programacion marthaClasificacion de lenguajes de programacion martha
Clasificacion de lenguajes de programacion martha
 
Babel, el lenguaje de la tecnologia
Babel, el lenguaje de la tecnologiaBabel, el lenguaje de la tecnologia
Babel, el lenguaje de la tecnologia
 
Una evaluación de OpenLaszlo
Una evaluación de OpenLaszloUna evaluación de OpenLaszlo
Una evaluación de OpenLaszlo
 
Sin título 1
Sin título 1Sin título 1
Sin título 1
 
Netbeans Ide ENFEES
Netbeans Ide ENFEESNetbeans Ide ENFEES
Netbeans Ide ENFEES
 
01. lenguajes de programación autor virtuniversidad
01. lenguajes de programación autor virtuniversidad01. lenguajes de programación autor virtuniversidad
01. lenguajes de programación autor virtuniversidad
 
01. Lenguajes de programación autor Virtuniversidad.pdf
01. Lenguajes de programación autor Virtuniversidad.pdf01. Lenguajes de programación autor Virtuniversidad.pdf
01. Lenguajes de programación autor Virtuniversidad.pdf
 
Introducción a la Gerencia Informática
Introducción a la Gerencia InformáticaIntroducción a la Gerencia Informática
Introducción a la Gerencia Informática
 

Último

Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxMapyMerma1
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxMartín Ramírez
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfCESARMALAGA4
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Baker Publishing Company
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 

Último (20)

Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptx
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 

Presentación - Lenguajes Paralelos

  • 1. Definici´on Ventajas y Desventajas An´alisis de Dependencia Caso de Estudio 1: Chapel Caso de Estudio 2: X10 Otros lenguajes paralelos Lenguajes Paralelos Nestor A. Rojas E. Facultad Experimental de Ciencias y Tecnolog´ıa Universidad de Carabobo 8 de julio de 2013 Nestor A. Rojas E. Lenguajes Paralelos
  • 2. Definici´on Ventajas y Desventajas An´alisis de Dependencia Caso de Estudio 1: Chapel Caso de Estudio 2: X10 Otros lenguajes paralelos Contenido I 1 Definici´on Concepto Peque˜na historia 2 Ventajas y Desventajas Ventajas Desventajas 3 An´alisis de Dependencia An´alisis de Dependencia Condiciones de Bernstein 4 Caso de Estudio 1: Chapel Chapel Revisando Chapel Tipos de Datos Estructuras de control Nestor A. Rojas E. Lenguajes Paralelos
  • 3. Definici´on Ventajas y Desventajas An´alisis de Dependencia Caso de Estudio 1: Chapel Caso de Estudio 2: X10 Otros lenguajes paralelos Contenido II Estructuras de control paralelas Algunos Ejemplos 5 Caso de Estudio 2: X10 X10 Revisando X10 Tipos de Datos y Clases Lugares y actividades Relojes Arreglos distribuidos Un Ejemplo 6 Otros lenguajes paralelos Nestor A. Rojas E. Lenguajes Paralelos
  • 4. Definici´on Ventajas y Desventajas An´alisis de Dependencia Caso de Estudio 1: Chapel Caso de Estudio 2: X10 Otros lenguajes paralelos Concepto Peque˜na historia Lenguajes Paralelos Son aquellos lenguajes de programaci´on especialmente dise˜nados para la programaci´on en paralelo, generalmente trabajan con memoria compartida. Proveen estructuras de control, sentencias entre otros que facilitan al programador trabajar con tareas independientes y variables de memoria compartida; abstraen casi totalmente (en su mayor´ıa) al programador de los detalles de la arquitectura del computador en donde trabaja. Nestor A. Rojas E. Lenguajes Paralelos
  • 5. Definici´on Ventajas y Desventajas An´alisis de Dependencia Caso de Estudio 1: Chapel Caso de Estudio 2: X10 Otros lenguajes paralelos Concepto Peque˜na historia Peque˜na historia Muchos lenguajes paralelos han prosperado a lo largo del tiempo en diferentes etapas de la historia de la programaci´on, pero ninguno de ellos ha sido universalmente aceptado. El primero de ellos fue Concurrent Pascal, dise˜nado por Brinch Hansen en 1975 como una extensi´on del lenguaje Pascal, tambi´en daba soporte al paradigma concurrente. En estos a˜nos la mayor´ıa de los lenguajes dise˜nados eran extensiones de lenguajes secuenciales ya existentes. High Performance Fortran ha sido uno de los pocos lenguajes que ha prevalecido en el tiempo, del que se ha originado nuevos lenguajes con este concepto y que se ha mantenido estable en el tiempo. Nestor A. Rojas E. Lenguajes Paralelos
  • 6. Definici´on Ventajas y Desventajas An´alisis de Dependencia Caso de Estudio 1: Chapel Caso de Estudio 2: X10 Otros lenguajes paralelos Ventajas Desventajas Ventajas 1 Facilitan la creaci´on de multiples tareas para a su vez ´estas sean ejecutadas de manera independiente en cada procesador. 2 No requieres de paso de mensajes pues en su mayor´ıa trabajan con memoria compartida, esto es que cada tarea puede acceder a las variables del programa pues todas ellas (las tareas) comparten el mismo espacio de memoria. Nestor A. Rojas E. Lenguajes Paralelos
  • 7. Definici´on Ventajas y Desventajas An´alisis de Dependencia Caso de Estudio 1: Chapel Caso de Estudio 2: X10 Otros lenguajes paralelos Ventajas Desventajas Ventajas 1 Facilitan la creaci´on de multiples tareas para a su vez ´estas sean ejecutadas de manera independiente en cada procesador. 2 No requieres de paso de mensajes pues en su mayor´ıa trabajan con memoria compartida, esto es que cada tarea puede acceder a las variables del programa pues todas ellas (las tareas) comparten el mismo espacio de memoria. 3 Muchas de las operaci´ones con procesos y subprocesos las maneja internamente el compilador. Nestor A. Rojas E. Lenguajes Paralelos
  • 8. Definici´on Ventajas y Desventajas An´alisis de Dependencia Caso de Estudio 1: Chapel Caso de Estudio 2: X10 Otros lenguajes paralelos Ventajas Desventajas Ventajas 1 Facilitan la creaci´on de multiples tareas para a su vez ´estas sean ejecutadas de manera independiente en cada procesador. 2 No requieres de paso de mensajes pues en su mayor´ıa trabajan con memoria compartida, esto es que cada tarea puede acceder a las variables del programa pues todas ellas (las tareas) comparten el mismo espacio de memoria. 3 Muchas de las operaci´ones con procesos y subprocesos las maneja internamente el compilador. Nestor A. Rojas E. Lenguajes Paralelos
  • 9. Definici´on Ventajas y Desventajas An´alisis de Dependencia Caso de Estudio 1: Chapel Caso de Estudio 2: X10 Otros lenguajes paralelos Ventajas Desventajas Desventajas 1 Requiere por parte del programador el aprendizaje de un nuevo paradigma, reglas adici´onales para programar, lo cual en muchos casos los mismos oponen resistencia al cambio. 2 No existe un gran apoyo para popularizar estos lenguajes, esto causa la discontinuidad del soporte para los mismos; son mayormente utilizados en plataformas de super computaci´on, esto se debe que hasta no hace mucho la mayor´ıa de los ordenadores personales pose´ıan un solo n´ucleo en la CPU. Nestor A. Rojas E. Lenguajes Paralelos
  • 10. Definici´on Ventajas y Desventajas An´alisis de Dependencia Caso de Estudio 1: Chapel Caso de Estudio 2: X10 Otros lenguajes paralelos Ventajas Desventajas Desventajas 1 Requiere por parte del programador el aprendizaje de un nuevo paradigma, reglas adici´onales para programar, lo cual en muchos casos los mismos oponen resistencia al cambio. 2 No existe un gran apoyo para popularizar estos lenguajes, esto causa la discontinuidad del soporte para los mismos; son mayormente utilizados en plataformas de super computaci´on, esto se debe que hasta no hace mucho la mayor´ıa de los ordenadores personales pose´ıan un solo n´ucleo en la CPU. 3 Como aplican una capa extra para lo que significa operaciones con procesos, acceso a memoria compartida entre otras cosas hace que en ocasiones no siempre el tiempo de ejecuci´on sea el esperado (Tp ∼= Ts/n). Nestor A. Rojas E. Lenguajes Paralelos
  • 11. Definici´on Ventajas y Desventajas An´alisis de Dependencia Caso de Estudio 1: Chapel Caso de Estudio 2: X10 Otros lenguajes paralelos Ventajas Desventajas Desventajas 1 Requiere por parte del programador el aprendizaje de un nuevo paradigma, reglas adici´onales para programar, lo cual en muchos casos los mismos oponen resistencia al cambio. 2 No existe un gran apoyo para popularizar estos lenguajes, esto causa la discontinuidad del soporte para los mismos; son mayormente utilizados en plataformas de super computaci´on, esto se debe que hasta no hace mucho la mayor´ıa de los ordenadores personales pose´ıan un solo n´ucleo en la CPU. 3 Como aplican una capa extra para lo que significa operaciones con procesos, acceso a memoria compartida entre otras cosas hace que en ocasiones no siempre el tiempo de ejecuci´on sea el esperado (Tp ∼= Ts/n). Nestor A. Rojas E. Lenguajes Paralelos
  • 12. Definici´on Ventajas y Desventajas An´alisis de Dependencia Caso de Estudio 1: Chapel Caso de Estudio 2: X10 Otros lenguajes paralelos An´alisis de Dependencia Condiciones de Bernstein An´alisis de Dependencia Cuando trabajamos con un lenguaje paralelo se espera que el compilador sea capaz de identificar problemas que evitan la ejecuci´on concurrente. Los procesos no pueden ejecutarse juntos si entre ellos existen alguna dependencia que requiera el estricto orden de ejecuci´on secuencial. Para ello el programador debe ser capaz de identificar las dependencias que hay entre las instrucci´ones en los bloques de las estructuras de control (ve´ase forall), para garantizar que los procesos que genera el compilador sean paralelos. Nestor A. Rojas E. Lenguajes Paralelos
  • 13. Definici´on Ventajas y Desventajas An´alisis de Dependencia Caso de Estudio 1: Chapel Caso de Estudio 2: X10 Otros lenguajes paralelos An´alisis de Dependencia Condiciones de Bernstein Condiciones de Bernstein Tenemos dos conjuntos de posiciones de memoria: E(las entradas) y S(las salidas). Y tenemos a los procesos Pi . Ei : Conjunto de posiciones de memoria le´ıdas por Pi . Sj : Conjunto de posiciones de memoria le´ıdas por Pj . Las condiciones son: 1 E1 ∩ S2 = φ. 2 E2 ∩ S1 = φ. 3 S1 ∩ S2 = φ. Nestor A. Rojas E. Lenguajes Paralelos
  • 14. Definici´on Ventajas y Desventajas An´alisis de Dependencia Caso de Estudio 1: Chapel Caso de Estudio 2: X10 Otros lenguajes paralelos Chapel Revisando Chapel Algunos Ejemplos Chapel - Lenguaje de programaci´on paralela desarrollado en 2010 como parte del proyecto Cray Cascade de Cray Company en Seattle Washington, dise˜nado por David Callahan y su equipo de desarrollo. Influenciado por High Performance Fortran y ZPL. Nestor A. Rojas E. Lenguajes Paralelos
  • 15. Definici´on Ventajas y Desventajas An´alisis de Dependencia Caso de Estudio 1: Chapel Caso de Estudio 2: X10 Otros lenguajes paralelos Chapel Revisando Chapel Algunos Ejemplos Revisando Chapel Tipos de Datos Chapel ofrece soporte a muchos tipos de datos, pero mostraremos los mas importantes: Tipo de Dato Dominio Declaraci´on Booleano true o false var b: bool; Entero Int en 64 bits var n: int; Real Double en C o Java var n: real; Cadena Tabla ASCII var s: string; Arreglos El m´aximo a almacenar var A: [l1..l2] (datatype); Nestor A. Rojas E. Lenguajes Paralelos
  • 16. Definici´on Ventajas y Desventajas An´alisis de Dependencia Caso de Estudio 1: Chapel Caso de Estudio 2: X10 Otros lenguajes paralelos Chapel Revisando Chapel Algunos Ejemplos Revisando Chapel Estructuras de control Chapel ofrece soporte a las estructuras de control tradici´onales, como if-else, selection (switch en lenguaje C), for-loop, while-loop, do while-loop, etc. Que con solo revisar el manual son f´aciles de identificar y utilizar. Pero Chapel tambi´en ofrece soporte a estructuras de control con paralelismo impl´ıcito. Nestor A. Rojas E. Lenguajes Paralelos
  • 17. Definici´on Ventajas y Desventajas An´alisis de Dependencia Caso de Estudio 1: Chapel Caso de Estudio 2: X10 Otros lenguajes paralelos Chapel Revisando Chapel Algunos Ejemplos Revisando Chapel Estructuras de control paralelas Forall-loop: Similar al for secuencial, cuando el bucle inicia primero se crean tantos hilos como n´ucleos de procesamiento existan para que cada uno de ellos ejecute un trozo de la tarea. Cada hilo tiene total acceso a modificar las variables que en el bucle existan, por tanto si queremos que estas se modifique una vez por iteraci´on necesitamos una variable de sincronizaci´on. - Nestor A. Rojas E. Lenguajes Paralelos
  • 18. Definici´on Ventajas y Desventajas An´alisis de Dependencia Caso de Estudio 1: Chapel Caso de Estudio 2: X10 Otros lenguajes paralelos Chapel Revisando Chapel Algunos Ejemplos Revisando Chapel Estructuras de control paralelas Coforall-loop: Similar al forall solo que este crear´a un hilo de ejecuci´on por cada entrada en el bucle, en caso de que el programador decida hacer mas hilos que nucleos los hilos se someteran a la planificaci´on de procesos del sistema operativo. - Nestor A. Rojas E. Lenguajes Paralelos
  • 19. Definici´on Ventajas y Desventajas An´alisis de Dependencia Caso de Estudio 1: Chapel Caso de Estudio 2: X10 Otros lenguajes paralelos Chapel Revisando Chapel Algunos Ejemplos Revisando Chapel Estructuras de control paralelas Begin: Cada vez que llamas a begin este crea un hilo de ejecuci´on para las instrucci´ones que vienen a continuaci´on de ´el. El orden de ejecuci´on puede variar. - Nestor A. Rojas E. Lenguajes Paralelos
  • 20. Definici´on Ventajas y Desventajas An´alisis de Dependencia Caso de Estudio 1: Chapel Caso de Estudio 2: X10 Otros lenguajes paralelos Chapel Revisando Chapel Algunos Ejemplos Revisando Chapel Estructuras de control paralelas Cobegin: Similar al begin solo que lo que este dentro de la sentencia se tiene que ejecutar primero antes de lo que venga a continuaci´on en el c´odigo. - Nestor A. Rojas E. Lenguajes Paralelos
  • 21. Definici´on Ventajas y Desventajas An´alisis de Dependencia Caso de Estudio 1: Chapel Caso de Estudio 2: X10 Otros lenguajes paralelos Chapel Revisando Chapel Algunos Ejemplos Revisando Chapel Estructuras de control paralelas Variables de Sinconizaci´on: Son variables que bloquean al proceso que las llama hasta que su valor le es asignado a otra variable del mismo tipo; ellas tienes dos estados: vac´ıas o llenas, cuando est´an llenas estas bloquean a los otros procesos que las utilizan, llegan a estar vac´ıas cuando su valor le es asignado a otra variable de sincronizaci´on. Nestor A. Rojas E. Lenguajes Paralelos
  • 22. Definici´on Ventajas y Desventajas An´alisis de Dependencia Caso de Estudio 1: Chapel Caso de Estudio 2: X10 Otros lenguajes paralelos Chapel Revisando Chapel Algunos Ejemplos Revisando Chapel Estructuras de control paralelas Reduce: Esta operaci´on es similar a MPI Reduce, se compone de una operaci´on elemental, reduce y de un rango, esta rango puede ser un arreglo o una serie de operaci´ones sobre los elementos de ese arreglo. Cuando es llamada espera a todos los hilos que tengan parte de los valores de ese rango para as´ı aplicar la operaci´on generalizada sobre esos valores. - Nestor A. Rojas E. Lenguajes Paralelos
  • 23. Definici´on Ventajas y Desventajas An´alisis de Dependencia Caso de Estudio 1: Chapel Caso de Estudio 2: X10 Otros lenguajes paralelos Chapel Revisando Chapel Algunos Ejemplos Algunos Ejemplos 1 http: //www.dropbox.com/s/1uyy93qa84g466p/primos.chpl 2 http://www.dropbox.com/s/eruglknlvn4h9d2/calculo_ pi.chpl 3 http://www.dropbox.com/s/cetdo6ifbqud5ul/ multiplicacion_matrices.chpl 4 http://www.dropbox.com/s/3k312fuiix324rb/ multiplicacion_matrices2.chpl Nestor A. Rojas E. Lenguajes Paralelos
  • 24. Definici´on Ventajas y Desventajas An´alisis de Dependencia Caso de Estudio 1: Chapel Caso de Estudio 2: X10 Otros lenguajes paralelos X10 Revisando X10 Un Ejemplo X10 - Lenguaje de programaci´on paralela y orientado a objetos desarrollado en 2004 por IBM en el centro de investigaci´on Thomas J. Watson, dise˜nado por Kemal Ebcio˘glu y su equipo de desarrollo, influenciado principalmente por Java. Nestor A. Rojas E. Lenguajes Paralelos
  • 25. Definici´on Ventajas y Desventajas An´alisis de Dependencia Caso de Estudio 1: Chapel Caso de Estudio 2: X10 Otros lenguajes paralelos X10 Revisando X10 Un Ejemplo Revisando X10 Tipos de Datos y Clases X10 da soporte a todos los tipos b´asicos de Java, tales como arreglos, enteros, reales, etc. E introduce el concepto de orientaci´on a objetos y jerarqu´ıa de librer´ıas. Cada vez que escribamos un programa en X10 tenemos que comenzar definiendo la clase tal y como hacemos en Java, y definiendo lo que queremos hacer en el public void main[](...). Nestor A. Rojas E. Lenguajes Paralelos
  • 26. Definici´on Ventajas y Desventajas An´alisis de Dependencia Caso de Estudio 1: Chapel Caso de Estudio 2: X10 Otros lenguajes paralelos X10 Revisando X10 Un Ejemplo Revisando X10 Lugares y actividades Un lugar es un repositorio donde interact´uan n hilos con un trozo de memoria compartida del todo en dicho lugar. Y una actividad es una sentencia que esta siendo ejecutada, independientemente, con sus propias variables locales, pudiera ser pensada como un hilo ligero. En un lugar pueden haber muchas actividades, y en muchos lugares pueden haber actividades repetidas haciendo lo mismo con otros datos. Nestor A. Rojas E. Lenguajes Paralelos
  • 27. Definici´on Ventajas y Desventajas An´alisis de Dependencia Caso de Estudio 1: Chapel Caso de Estudio 2: X10 Otros lenguajes paralelos X10 Revisando X10 Un Ejemplo Revisando X10 Relojes Muchos algoritmos paralelos avanzan en fases, pero cada fase posee muchas actividades en acci´on, por tanto para garantizar que dichas actividades se ejecuten en una fase sin que en la fase siguiente aun no se haya ejecutado todas las actividades de la fase anterior se utilizan los relojes, los cuales son una clase ya definida por X10, con sus primitivas y m´etodos propios que avisan cuando todas las actividades terminan su ejecuci´on para proceder a la siguiente fase. Nestor A. Rojas E. Lenguajes Paralelos
  • 28. Definici´on Ventajas y Desventajas An´alisis de Dependencia Caso de Estudio 1: Chapel Caso de Estudio 2: X10 Otros lenguajes paralelos X10 Revisando X10 Un Ejemplo Revisando X10 Arreglos distribuidos X10 provee la clase DistArray, los cuales son arreglos que autom´aticamente son distribuidos a trozos por la clase Dist a muchos lugares; estos trozos de los DistArrays se les llaman regiones. Nestor A. Rojas E. Lenguajes Paralelos
  • 29. Definici´on Ventajas y Desventajas An´alisis de Dependencia Caso de Estudio 1: Chapel Caso de Estudio 2: X10 Otros lenguajes paralelos X10 Revisando X10 Un Ejemplo Un Ejemplo http://x10-lang.org/documentation/code-examples/ small-examples.html?id=103 Nestor A. Rojas E. Lenguajes Paralelos
  • 30. Definici´on Ventajas y Desventajas An´alisis de Dependencia Caso de Estudio 1: Chapel Caso de Estudio 2: X10 Otros lenguajes paralelos Otros lenguajes paralelos High Performance Fortran. Cilk. ZPL. Parlog. NESL. Linda. C*. Nestor A. Rojas E. Lenguajes Paralelos
  • 31. Definici´on Ventajas y Desventajas An´alisis de Dependencia Caso de Estudio 1: Chapel Caso de Estudio 2: X10 Otros lenguajes paralelos Otros lenguajes paralelos SALSA. Unified Parallel C. Fortress. Coarray Fortran (F–). ParaSail. Charm++. Id. SequenceL. Ease. FortranM. Nestor A. Rojas E. Lenguajes Paralelos
  • 32. Definici´on Ventajas y Desventajas An´alisis de Dependencia Caso de Estudio 1: Chapel Caso de Estudio 2: X10 Otros lenguajes paralelos Bibliograf´ıa Barry Wilkinson and Michael Allen. (1999). Parallel Programming, Techniques and Applications using Networked Workstations and Parallel Computers (2nd Edition). New Jersey: c Prentice Hall. Chapel: Overview. http://chapel.cray.com/ Chapel Tutorial. http://faculty.knox.edu/dbunde/teaching/chapel/ X10. http://x10-lang.org/ X10 Language Specification. http://x10.sourceforge. net/documentation/languagespec/x10-latest.pdf Nestor A. Rojas E. Lenguajes Paralelos