Trabajo Algoritmica III
EAP: INGENIERÍA DE SISTEMAS e INFORMÁTICA
Ciclo: IV
Modulo II
DATOS
Nombre del Curso:
ALGORITMICA III
Docente:
TAPIA ARGUEDAS OMAR
Apellidos y Nombres del
VASQUEZ CASTILLO ARQUIJMEDES ALEJANDRO
Alumno:
Periodo Lectivo
2014-3
Fecha de Entrega:
13 DE NOVIEMBRE 2014
Programación
Paralela
Programación
Paralela
La programación paralela es el uso de variosprocesadores trabajando en conjunto para dar solución
a una tarea en común, lo que hacen es dividir el trabajo
y cada procesador hace una porción del problema al
poder intercambiar datos por una red de interconexión
o atreves de memoria.
La programación paralela permite resolver problemas
que no caben en un solo procesador y que no se
resuelven en un tiempo razonable, se pueden ejecutar
problemas con mayorcomplejidad mas rápidamente.
Programación
Paralela
Programación
Paralela
El rendimiento de las computadoras tradicionales
secuenciales esta saturándose porque las aplicaciones
de hoy en día necesitan realizar trabajo mas complejo,
por lo cual la solución es tener varios procesadores en
sistemas paralelos, al así obtener ganancia de
eficiencia siempre y cuando los algoritmos se diseñenadecuadamente.
Lenguajes para computadoras paralelos son flexibles
para permitir una implementación eficiente y ser aun
mas fáciles para programar.
Programación
Paralela
Múltiples unidades de cómputo trabajando en forma
coordinada
• Comunicación
• Sincronización
División
• De tareas
• De datos
Programación
Paralela
Qué son los programas paralelos?
Crear un programa paralelo significahacer un programa
que utiliza de forma coordinada más de un elemento de
procesamiento, Procesadores, cores, etc.
Todo programa realiza una cierta cantidad de “trabajo”
una secuencia de instrucciones/operaciones en uno o
más conjuntos de datos
Un programa paralelo reparte ese trabajo entre los
varios elementos de procesamiento que se pretende
utilizar, El hecho de repartir el trabajo se conocecomo
“partición” o “descomposición”
Programación
Paralela
Si se reparte las instrucciones/operaciones, se conoce
como “partición funcional”. Poco usada, ya que en la
mayoría de los casos las funciones que pueden
realizarse simultáneamente son pocas.
Si se reparte los datos, se conoce como “partición de
datos” .Es la más utilizada, ya que los conjuntos de
datos suelen ser bastante grandes, ylas operaciones
que se realizan sobre ellos se pueden hacer de forma
simultánea.
Átomos en simulaciones de dinámica molecular.
Los mecanismos para repartir datos dependen del
modelo de programación paralela.
Programación
Paralela
Modelos de programación paralela
Memoria compartida
Modelo de Threads
Memoria distribuida
Modelo de Paso de Mensajes
Híbrido compartida/distribuida
Partitioned Global Address Space (PGAS)
Paralelismo de datos (GPUs)
Programación
Paralela
Modelo de Memoria Compartida
Computador paralelo consistente en “p” procesadores
idénticos.
Comparten un único espacio/mapa de memoria.
Tiempo de acceso constante a cualquier dirección de
memoria.
Ejecución síncrona
Existe un direccionamiento de memoria común para
todos los procesadores.
Lacomunicación entre procesos es muy rápida
Programación
Paralela
Programación
Paralela
Todos los procesadores corren el mismo programa
ejecutable:
Particularizado de acuerdo a los índices y conjunto de
datos con “envoltorio” diferenciado.
La comunicación entre procesadores se realiza
modificando variables en la memoria compartida.
Reglas para acceder a variables compartidas:
Dos procesadorespueden acceder simultáneamente a
una variable compartida en modo sólo lectura.
Si un procesador trata de modificar (escribir) una
variable, ningún otro procesador puede acceder a ella
hasta que se ha completado la modificación.
Programación
Paralela
Modelo de Threads. Un proceso puede
múltiples caminos de ejecución concurrente.
tener
Un thread o hilo de ejecución es la unidad de...
Regístrate para leer el documento completo.