SlideShare una empresa de Scribd logo
1 de 20
E.A.E. DESARROLLO DE SOFTWARE 
TRABAJO PRESENTADO POR: 
DIEGO FERNANDO ORTÍZ RODRIGUÉZ
QUE SON COMPOSICIONES PARALELAS EN INFORMATICA 
La composición Paralela, es muy importante actualmente, al permite mejorar la 
velocidad en la solución de grandes problemas, de modo que se mejora el 
rendimiento de computo. 
La composición paralela es una forma de cómputo en la que 
muchas instrucciones se ejecutan simultáneamente, operando sobre el principio 
de que problemas grandes, a menudo se pueden dividir en unos más pequeños, 
que luego son resueltos simultáneamente (en paralelo). Hay varias formas 
diferentes de computación paralela: paralelismo a nivel de bit, paralelismo a nivel 
de instrucción, paralelismo de datos y paralelismo de tareas. El paralelismo se ha 
empleado durante muchos años, sobre todo en la computación de altas 
prestaciones, pero el interés en ella ha crecido últimamente debido a las 
limitaciones físicas que impiden el aumento de la frecuencia. Como el consumo de 
este se constituye una preocupación en los últimos años. la computación en 
paralelo se ha convertido en el paradigma dominante en la arquitectura de 
computadores, principalmente en forma de procesadores multinúcleo.
La supercomputadora Cray-2 fue la más rápida del mundo desde 1985 
hasta 1989. 
La supercomputadora paralela Blue Gene de IBM.
Versiones de las composiciones en computadores 
• Las computadoras paralelas pueden clasificarse según el nivel de paralelismo que 
admite su hardware: equipos con procesadores multinúcleo y multi-procesador que 
tienen múltiples elementos de procesamiento dentro de una sola máquina y 
los clústeres, MPPS y grids que utilizan varios equipos para trabajar en la misma 
tarea. Muchas veces, para acelerar tareas específicas, se utilizan arquitecturas 
especializadas de computación en paralelo junto a procesadores tradicionales. 
• Los programas informáticos paralelos son más difíciles de escribir que los 
secuenciales, porque la concurrencia introduce nuevos tipos de errores de software, 
siendo las condiciones de carrera los más comunes. La comunicación 
y sincronización entre diferentes subtareas son algunos de los mayores obstáculos 
para obtener un buen rendimiento del programa paralelo. 
• La máxima aceleración posible de un programa como resultado de la paralelización 
se conoce como la ley de Amdahl
la ley de amdahl 
La Ley de Amdahl, llamada así por el arquitecto de ordenadores Gene 
Amdahl, se usa para averiguar la mejora máxima de un sistema 
cuando solo una parte de éste es mejorado. Establece que: 
La mejora obtenida en el rendimiento de un sistema debido a la 
alteración de uno de sus componentes está limitada por la fracción de 
tiempo que se utiliza dicho componente. 
La fórmula original de la ley de Amdahl es la siguiente 
:
Siendo : 
F_M = tiempo de ejecución mejorado y 
F_A = tiempo de ejecución antiguo. 
Esta fórmula se puede reescribir usando la definición del 
incremento de la velocidad que viene dado por , por lo que la 
fórmula anterior se puede reescribir como:
Siendo : 
•A ,es la aceleración o ganancia en velocidad conseguida en el sistema completo 
debido a la mejora de uno de sus subsistemas. 
•A_M , es el factor de mejora que se ha introducido en el subsistema mejorado. 
•F_M, es la fracción de tiempo que el sistema utiliza el subsistema mejorado. 
• Por ejemplo, si en un programa de ordenador el tiempo de ejecución de un cierto 
algoritmo supone un 30% del tiempo de ejecución total del programa, y 
conseguimos hacer que este algoritmos se ejecute en la mitad de tiempo se 
tendrá: 
1. 2. 3.
Es decir, se ha mejorado la velocidad de ejecución 
del programa en un factor de 1,18. La ley de 
Amdahl se mide en unidades genéricas, es decir 
los resultados no son porcentajes, ni unidades de 
tiempo. 
La ley de Amdahl se puede interpretar de manera 
más técnica, pero en términos simples, significa 
que es el algoritmo el que decide la mejora de 
velocidad, no el número de procesadores. 
Finalmente se llega a un momento que no se puede 
paralelizar más el algoritmo.
Representación gráfica de la ley de Amdahl. La mejora en la 
velocidad de ejecución de un programa como resultado de la 
paralelización está limitada por la porción del programa que no se 
puede paralelizar. Por ejemplo, si el 10% del programa no puede 
paralelizarse, el máximo teórico de aceleración utilizando la 
computación en paralelo sería de 10x no importa cuántos 
procesadores se utilicen.
La computación en paralelo, por el contrario, utiliza simultáneamente múltiples elementos de 
procesamiento para resolver un problema. Esto se logra mediante la división del problema en 
partes independientes de modo que cada elemento de procesamiento pueda ejecutar su parte del 
algoritmo de manera simultánea con los otros. Los elementos de procesamiento son diversos e 
incluyen recursos tales como una computadora con múltiples procesadores, varios ordenadores 
en red, hardware especializado, o cualquier combinación de los anteriores. 
El aumento de la frecuencia fue la razón dominante de las mejoras en el rendimiento de las 
computadoras desde mediados de 1980 hasta el año 2004. El tiempo de ejecución de un programa 
es igual al número de instrucciones multiplicado por el tiempo promedio por instrucción. 
Manteniendo todo lo demás constante, el aumento de la frecuencia de reloj reduce el tiempo medio 
que tarda en ejecutarse una instrucción, por tanto un aumento en la frecuencia reduce el tiempo de 
ejecución de los programas de cómputo. Sin embargo, el consumo de energía de un chip está 
dada por la ecuación P = C × V2 × F, donde P es la potencia, C es el cambio 
de capacitancia por ciclo de reloj —proporcional al número de transistores cuyas entradas 
cambian—, V es la tensión, y F es la frecuencia del procesador (ciclos por segundo).8 Un aumento 
en la frecuencia aumenta la cantidad de energía utilizada en un procesador. El aumento 
del consumo de energía del procesador llevó a Intel en mayo del 2004 a la cancelación de sus 
procesadores Tejas y Jayhawk, este hecho generalmente se cita como el fin del escalado de 
frecuencia como el paradigma dominante de arquitectura de computadores. 
La ley de Moore es la observación empírica de que la densidad de transistores en un 
microprocesador se duplica cada 18 a 24 meses. A pesar de los problemas de consumo de energía, 
y las repetidas predicciones de su fin, la ley de Moore sigue vigente. Con el fin del aumento de la 
frecuencia, estos transistores adicionales que ya no se utilizan para el aumento de la frecuencia se 
pueden utilizar para añadir hardware adicional que permita la computación paralela.
Ley de gustafsson 
Idealmente, la aceleración a partir de la paralelización es lineal, doblar el número de elementos de 
procesamiento debe reducir a la mitad el tiempo de ejecución y doblarlo por segunda vez debe 
nuevamente reducir el tiempo a la mitad. Sin embargo, muy pocos algoritmos paralelos logran una 
aceleración óptima. La mayoría tienen una aceleración casi lineal para un pequeño número de 
elementos de procesamiento, y pasa a ser constante para un gran número de elementos de 
procesamiento. 
La aceleración potencial de un algoritmo en una plataforma de cómputo en paralelo está dada por 
la ley de Amdahl, formulada originalmente por Gene Amdahl en la década de 1960.Esta señala que 
una pequeña porción del programa que no pueda paralelizarse va a limitar la aceleración que se 
logra con la paralelización. Los programas que resuelven problemas matemáticos o ingenieriles 
típicamente consisten en varias partes paralelizables y varias no paralelizables (secuenciales). 
Si es la fracción de tiempo que un programa gasta en partes no paralelizables.
Continuación entre la ley de DynAlloy y la ley de Gustafsson 
Luego es la máxima aceleración que se puede alcanzar con la paralelización del 
programa. Si la parte secuencial del programa abarca el 10% del tiempo de 
ejecución, se puede obtener no más de 10× de aceleración, independientemente 
de cuántos procesadores se añadan. Esto pone un límite superior a la utilidad de 
añadir más unidades de ejecución paralelas. «Cuando una tarea no puede 
divididirse debido a las limitaciones secuenciales, la aplicación de un mayor 
esfuerzo no tiene efecto sobre la programación. La gestación de un niño toma 
nueve meses, no importa cuántas mujeres se le asigne». 
La ley de Gustafsson es otra ley en computación que está en estrecha relación 
con la ley de Amdahl. Señala que el aumento de velocidad con procesadores es
• Ambas leyes asumen que el tiempo de 
funcionamiento de la parte secuencial del 
programa es independiente del número de 
procesadores. La ley de Amdahl supone que todo 
el problema es de tamaño fijo, por lo que la 
cantidad total de trabajo que se hará en paralelo 
también es independiente del número de 
procesadores, mientras que la ley de Gustafsson 
supone que la cantidad total de trabajo que se 
hará en paralelo varía linealmente con el número 
de procesadores.
COMPOSICIÓN DEL LENGUAJE DE DYNALLOY 
En este artículo estudiamos una extensión del lenguaje 
DynAlloy con un operador soporte para la definición de 
acciones (expresables originalmente con funciones el Alloy), 
acciones compuestas de composición paralela de acciones. 
DynAlloy es una extensión al lenguaje de especificaciones 
Alloy, con y aserciones de corrección parcial. El objetivo 
principal de DynAlloy es incorporar a Alloy soporte para la 
validación de propiedades de safety de ejecuciones de 
sistemas.
MIL GRACIAS 
COMPAÑEROS Y MAESTRO

Más contenido relacionado

La actualidad más candente

Sistemas Operativos[1]
Sistemas Operativos[1]Sistemas Operativos[1]
Sistemas Operativos[1]guest5db8b1
 
Sistema operativo de tiempo real
Sistema operativo de tiempo realSistema operativo de tiempo real
Sistema operativo de tiempo realalexander20107024
 
Planificación de Procesos-NéstorTraña
Planificación de Procesos-NéstorTrañaPlanificación de Procesos-NéstorTraña
Planificación de Procesos-NéstorTrañaNestor Traña
 
Unidad 3 : Sistemas Operativos I
Unidad 3 : Sistemas Operativos IUnidad 3 : Sistemas Operativos I
Unidad 3 : Sistemas Operativos IKamps Tepes
 
Analisis de algoritmos complejidad en tiempo y espacio
Analisis de algoritmos complejidad en tiempo y espacioAnalisis de algoritmos complejidad en tiempo y espacio
Analisis de algoritmos complejidad en tiempo y espacioAdamari Cortes
 
Clasificacion de los problemas (1)
Clasificacion de los problemas (1)Clasificacion de los problemas (1)
Clasificacion de los problemas (1)Patricia Correa
 

La actualidad más candente (11)

Sistemas Operativos[1]
Sistemas Operativos[1]Sistemas Operativos[1]
Sistemas Operativos[1]
 
Sistema operativo de tiempo real
Sistema operativo de tiempo realSistema operativo de tiempo real
Sistema operativo de tiempo real
 
Planificación de Procesos-NéstorTraña
Planificación de Procesos-NéstorTrañaPlanificación de Procesos-NéstorTraña
Planificación de Procesos-NéstorTraña
 
PLANIFICACION DE PROCESOS
PLANIFICACION DE PROCESOSPLANIFICACION DE PROCESOS
PLANIFICACION DE PROCESOS
 
Computacion paralela
Computacion paralelaComputacion paralela
Computacion paralela
 
Planificacion Procesos Gral
Planificacion Procesos GralPlanificacion Procesos Gral
Planificacion Procesos Gral
 
Planificacion de procesos
Planificacion de procesosPlanificacion de procesos
Planificacion de procesos
 
Unidad 3 : Sistemas Operativos I
Unidad 3 : Sistemas Operativos IUnidad 3 : Sistemas Operativos I
Unidad 3 : Sistemas Operativos I
 
computación paralela
computación paralelacomputación paralela
computación paralela
 
Analisis de algoritmos complejidad en tiempo y espacio
Analisis de algoritmos complejidad en tiempo y espacioAnalisis de algoritmos complejidad en tiempo y espacio
Analisis de algoritmos complejidad en tiempo y espacio
 
Clasificacion de los problemas (1)
Clasificacion de los problemas (1)Clasificacion de los problemas (1)
Clasificacion de los problemas (1)
 

Destacado

Herramientas Monitoreo SQL Server
Herramientas Monitoreo SQL Server Herramientas Monitoreo SQL Server
Herramientas Monitoreo SQL Server Adrian Miranda
 
Ejecución de Proyecto de Inteligencia de Negocio con MS SQL Server 2012
Ejecución de Proyecto de Inteligencia de Negocio con MS SQL Server 2012Ejecución de Proyecto de Inteligencia de Negocio con MS SQL Server 2012
Ejecución de Proyecto de Inteligencia de Negocio con MS SQL Server 2012Joseph Lopez
 
Comandos Powershell para Sharepoint 2010
Comandos Powershell para Sharepoint 2010Comandos Powershell para Sharepoint 2010
Comandos Powershell para Sharepoint 2010Juan Astudillo
 
Ley de moore
Ley de mooreLey de moore
Ley de mooreremifer
 
Introducción a la Medición de Sistemas (Moore y Amdhal)
Introducción a la Medición de Sistemas (Moore y Amdhal)Introducción a la Medición de Sistemas (Moore y Amdhal)
Introducción a la Medición de Sistemas (Moore y Amdhal)Juan Astudillo
 
ARQUITECTURA DE COMPUTADORES (I Bimestre Abril agosto 2011)
ARQUITECTURA DE COMPUTADORES (I Bimestre Abril agosto 2011)ARQUITECTURA DE COMPUTADORES (I Bimestre Abril agosto 2011)
ARQUITECTURA DE COMPUTADORES (I Bimestre Abril agosto 2011)Videoconferencias UTPL
 
Modelos de paralelismo y concurrencia
Modelos de paralelismo y concurrenciaModelos de paralelismo y concurrencia
Modelos de paralelismo y concurrenciaAgustin Ramos
 
HERRAMIENTAS DE CONTROL DE MONITOREO Y ESTADISTICAS DE ACCESO A BASE DE DATOS...
HERRAMIENTAS DE CONTROL DE MONITOREO Y ESTADISTICAS DE ACCESO A BASE DE DATOS...HERRAMIENTAS DE CONTROL DE MONITOREO Y ESTADISTICAS DE ACCESO A BASE DE DATOS...
HERRAMIENTAS DE CONTROL DE MONITOREO Y ESTADISTICAS DE ACCESO A BASE DE DATOS...Sergio E. Sánchez
 
Tipos de base de datos de sql server 2008
Tipos de base de datos de sql server 2008Tipos de base de datos de sql server 2008
Tipos de base de datos de sql server 2008Elizabeth Huaraya Apaza
 
Componentes De SQL Server
Componentes De  SQL ServerComponentes De  SQL Server
Componentes De SQL ServerJhon Perez
 
Los tipos de datos de sql server
Los tipos de datos de sql serverLos tipos de datos de sql server
Los tipos de datos de sql serverCEUNISAL
 

Destacado (15)

Laboratorio 04 tpc
Laboratorio 04 tpcLaboratorio 04 tpc
Laboratorio 04 tpc
 
e-economia
e-economiae-economia
e-economia
 
DesempeñO
DesempeñODesempeñO
DesempeñO
 
Herramientas Monitoreo SQL Server
Herramientas Monitoreo SQL Server Herramientas Monitoreo SQL Server
Herramientas Monitoreo SQL Server
 
Ejecución de Proyecto de Inteligencia de Negocio con MS SQL Server 2012
Ejecución de Proyecto de Inteligencia de Negocio con MS SQL Server 2012Ejecución de Proyecto de Inteligencia de Negocio con MS SQL Server 2012
Ejecución de Proyecto de Inteligencia de Negocio con MS SQL Server 2012
 
Comandos Powershell para Sharepoint 2010
Comandos Powershell para Sharepoint 2010Comandos Powershell para Sharepoint 2010
Comandos Powershell para Sharepoint 2010
 
Ley de moore
Ley de mooreLey de moore
Ley de moore
 
Introducción a la Medición de Sistemas (Moore y Amdhal)
Introducción a la Medición de Sistemas (Moore y Amdhal)Introducción a la Medición de Sistemas (Moore y Amdhal)
Introducción a la Medición de Sistemas (Moore y Amdhal)
 
ARQUITECTURA DE COMPUTADORES (I Bimestre Abril agosto 2011)
ARQUITECTURA DE COMPUTADORES (I Bimestre Abril agosto 2011)ARQUITECTURA DE COMPUTADORES (I Bimestre Abril agosto 2011)
ARQUITECTURA DE COMPUTADORES (I Bimestre Abril agosto 2011)
 
Modelos de paralelismo y concurrencia
Modelos de paralelismo y concurrenciaModelos de paralelismo y concurrencia
Modelos de paralelismo y concurrencia
 
HERRAMIENTAS DE CONTROL DE MONITOREO Y ESTADISTICAS DE ACCESO A BASE DE DATOS...
HERRAMIENTAS DE CONTROL DE MONITOREO Y ESTADISTICAS DE ACCESO A BASE DE DATOS...HERRAMIENTAS DE CONTROL DE MONITOREO Y ESTADISTICAS DE ACCESO A BASE DE DATOS...
HERRAMIENTAS DE CONTROL DE MONITOREO Y ESTADISTICAS DE ACCESO A BASE DE DATOS...
 
Tipos de base de datos de sql server 2008
Tipos de base de datos de sql server 2008Tipos de base de datos de sql server 2008
Tipos de base de datos de sql server 2008
 
Componentes De SQL Server
Componentes De  SQL ServerComponentes De  SQL Server
Componentes De SQL Server
 
SERVICIOS DEL SISTEMA OPERATIVO
SERVICIOS DEL SISTEMA OPERATIVOSERVICIOS DEL SISTEMA OPERATIVO
SERVICIOS DEL SISTEMA OPERATIVO
 
Los tipos de datos de sql server
Los tipos de datos de sql serverLos tipos de datos de sql server
Los tipos de datos de sql server
 

Similar a Composición paralela en DynAlloy

ANÁLISIS Y DISEÑO DE ALGORITMOS_, Actividad 14.pdf
ANÁLISIS Y DISEÑO DE ALGORITMOS_, Actividad 14.pdfANÁLISIS Y DISEÑO DE ALGORITMOS_, Actividad 14.pdf
ANÁLISIS Y DISEÑO DE ALGORITMOS_, Actividad 14.pdfSaulDeLaCruzGarcia1
 
Algortimos paralelos.pptx
Algortimos paralelos.pptxAlgortimos paralelos.pptx
Algortimos paralelos.pptxlunaaragon1
 
Análisis de algoritmo
Análisis de algoritmoAnálisis de algoritmo
Análisis de algoritmoGaston Demundo
 
Optimización de sistemas rosmelisa roo
Optimización de sistemas rosmelisa rooOptimización de sistemas rosmelisa roo
Optimización de sistemas rosmelisa roorosmelisa01
 
Actividad 12 diseño de algoritmo paralelos
Actividad 12 diseño de algoritmo paralelosActividad 12 diseño de algoritmo paralelos
Actividad 12 diseño de algoritmo paralelosJorgeTorres708
 
Diseño de Algoritmos Paralelos con la maestra Rina
Diseño de Algoritmos Paralelos con la maestra RinaDiseño de Algoritmos Paralelos con la maestra Rina
Diseño de Algoritmos Paralelos con la maestra RinaLuisAlfredoPascualPo
 
Algoritmos Paralelos - Actividad 14 - UNIBE.pdf
Algoritmos Paralelos - Actividad 14 - UNIBE.pdfAlgoritmos Paralelos - Actividad 14 - UNIBE.pdf
Algoritmos Paralelos - Actividad 14 - UNIBE.pdfdarosario3d
 
arquitectura del computador 1
arquitectura del computador 1arquitectura del computador 1
arquitectura del computador 1baryruiz
 
arquitectura del computador
arquitectura del computador arquitectura del computador
arquitectura del computador baryruiz
 
Manual algoritmos y_estructura_de_datos
Manual algoritmos y_estructura_de_datosManual algoritmos y_estructura_de_datos
Manual algoritmos y_estructura_de_datosJuan Timoteo Cori
 
Diseño de Algoritmos Paralelos.pdf
Diseño de Algoritmos Paralelos.pdfDiseño de Algoritmos Paralelos.pdf
Diseño de Algoritmos Paralelos.pdfMarti44678
 
Programacion en ambientes heterogeneos
Programacion en ambientes heterogeneosProgramacion en ambientes heterogeneos
Programacion en ambientes heterogeneositatitat
 
Medida de balance de carga escalable para SPMD
Medida de balance  de carga escalable para SPMDMedida de balance  de carga escalable para SPMD
Medida de balance de carga escalable para SPMDMarcos Frutos
 
Diseño de Algoritmos Paralelos.pptx
Diseño de Algoritmos Paralelos.pptxDiseño de Algoritmos Paralelos.pptx
Diseño de Algoritmos Paralelos.pptxyadhirafelizfajardo
 

Similar a Composición paralela en DynAlloy (20)

Algoritmos Paralelos
Algoritmos ParalelosAlgoritmos Paralelos
Algoritmos Paralelos
 
ANÁLISIS Y DISEÑO DE ALGORITMOS_, Actividad 14.pdf
ANÁLISIS Y DISEÑO DE ALGORITMOS_, Actividad 14.pdfANÁLISIS Y DISEÑO DE ALGORITMOS_, Actividad 14.pdf
ANÁLISIS Y DISEÑO DE ALGORITMOS_, Actividad 14.pdf
 
Algortimos paralelos.pptx
Algortimos paralelos.pptxAlgortimos paralelos.pptx
Algortimos paralelos.pptx
 
Algoritmos paralelos
 Algoritmos paralelos Algoritmos paralelos
Algoritmos paralelos
 
Análisis de algoritmo
Análisis de algoritmoAnálisis de algoritmo
Análisis de algoritmo
 
Optimización de sistemas rosmelisa roo
Optimización de sistemas rosmelisa rooOptimización de sistemas rosmelisa roo
Optimización de sistemas rosmelisa roo
 
Actividad 12 diseño de algoritmo paralelos
Actividad 12 diseño de algoritmo paralelosActividad 12 diseño de algoritmo paralelos
Actividad 12 diseño de algoritmo paralelos
 
Manual estructura de_datos_2010___h._caselli_g
Manual estructura de_datos_2010___h._caselli_gManual estructura de_datos_2010___h._caselli_g
Manual estructura de_datos_2010___h._caselli_g
 
3 unidad so2
3 unidad so23 unidad so2
3 unidad so2
 
Diseño de Algoritmos Paralelos con la maestra Rina
Diseño de Algoritmos Paralelos con la maestra RinaDiseño de Algoritmos Paralelos con la maestra Rina
Diseño de Algoritmos Paralelos con la maestra Rina
 
Informe de Rendimiento de Computadoras
Informe  de Rendimiento  de Computadoras Informe  de Rendimiento  de Computadoras
Informe de Rendimiento de Computadoras
 
Algoritmos Paralelos - Actividad 14 - UNIBE.pdf
Algoritmos Paralelos - Actividad 14 - UNIBE.pdfAlgoritmos Paralelos - Actividad 14 - UNIBE.pdf
Algoritmos Paralelos - Actividad 14 - UNIBE.pdf
 
Algoritmos Paralelos
Algoritmos ParalelosAlgoritmos Paralelos
Algoritmos Paralelos
 
arquitectura del computador 1
arquitectura del computador 1arquitectura del computador 1
arquitectura del computador 1
 
arquitectura del computador
arquitectura del computador arquitectura del computador
arquitectura del computador
 
Manual algoritmos y_estructura_de_datos
Manual algoritmos y_estructura_de_datosManual algoritmos y_estructura_de_datos
Manual algoritmos y_estructura_de_datos
 
Diseño de Algoritmos Paralelos.pdf
Diseño de Algoritmos Paralelos.pdfDiseño de Algoritmos Paralelos.pdf
Diseño de Algoritmos Paralelos.pdf
 
Programacion en ambientes heterogeneos
Programacion en ambientes heterogeneosProgramacion en ambientes heterogeneos
Programacion en ambientes heterogeneos
 
Medida de balance de carga escalable para SPMD
Medida de balance  de carga escalable para SPMDMedida de balance  de carga escalable para SPMD
Medida de balance de carga escalable para SPMD
 
Diseño de Algoritmos Paralelos.pptx
Diseño de Algoritmos Paralelos.pptxDiseño de Algoritmos Paralelos.pptx
Diseño de Algoritmos Paralelos.pptx
 

Composición paralela en DynAlloy

  • 1. E.A.E. DESARROLLO DE SOFTWARE TRABAJO PRESENTADO POR: DIEGO FERNANDO ORTÍZ RODRIGUÉZ
  • 2. QUE SON COMPOSICIONES PARALELAS EN INFORMATICA La composición Paralela, es muy importante actualmente, al permite mejorar la velocidad en la solución de grandes problemas, de modo que se mejora el rendimiento de computo. La composición paralela es una forma de cómputo en la que muchas instrucciones se ejecutan simultáneamente, operando sobre el principio de que problemas grandes, a menudo se pueden dividir en unos más pequeños, que luego son resueltos simultáneamente (en paralelo). Hay varias formas diferentes de computación paralela: paralelismo a nivel de bit, paralelismo a nivel de instrucción, paralelismo de datos y paralelismo de tareas. El paralelismo se ha empleado durante muchos años, sobre todo en la computación de altas prestaciones, pero el interés en ella ha crecido últimamente debido a las limitaciones físicas que impiden el aumento de la frecuencia. Como el consumo de este se constituye una preocupación en los últimos años. la computación en paralelo se ha convertido en el paradigma dominante en la arquitectura de computadores, principalmente en forma de procesadores multinúcleo.
  • 3. La supercomputadora Cray-2 fue la más rápida del mundo desde 1985 hasta 1989. La supercomputadora paralela Blue Gene de IBM.
  • 4. Versiones de las composiciones en computadores • Las computadoras paralelas pueden clasificarse según el nivel de paralelismo que admite su hardware: equipos con procesadores multinúcleo y multi-procesador que tienen múltiples elementos de procesamiento dentro de una sola máquina y los clústeres, MPPS y grids que utilizan varios equipos para trabajar en la misma tarea. Muchas veces, para acelerar tareas específicas, se utilizan arquitecturas especializadas de computación en paralelo junto a procesadores tradicionales. • Los programas informáticos paralelos son más difíciles de escribir que los secuenciales, porque la concurrencia introduce nuevos tipos de errores de software, siendo las condiciones de carrera los más comunes. La comunicación y sincronización entre diferentes subtareas son algunos de los mayores obstáculos para obtener un buen rendimiento del programa paralelo. • La máxima aceleración posible de un programa como resultado de la paralelización se conoce como la ley de Amdahl
  • 5.
  • 6. la ley de amdahl La Ley de Amdahl, llamada así por el arquitecto de ordenadores Gene Amdahl, se usa para averiguar la mejora máxima de un sistema cuando solo una parte de éste es mejorado. Establece que: La mejora obtenida en el rendimiento de un sistema debido a la alteración de uno de sus componentes está limitada por la fracción de tiempo que se utiliza dicho componente. La fórmula original de la ley de Amdahl es la siguiente :
  • 7. Siendo : F_M = tiempo de ejecución mejorado y F_A = tiempo de ejecución antiguo. Esta fórmula se puede reescribir usando la definición del incremento de la velocidad que viene dado por , por lo que la fórmula anterior se puede reescribir como:
  • 8. Siendo : •A ,es la aceleración o ganancia en velocidad conseguida en el sistema completo debido a la mejora de uno de sus subsistemas. •A_M , es el factor de mejora que se ha introducido en el subsistema mejorado. •F_M, es la fracción de tiempo que el sistema utiliza el subsistema mejorado. • Por ejemplo, si en un programa de ordenador el tiempo de ejecución de un cierto algoritmo supone un 30% del tiempo de ejecución total del programa, y conseguimos hacer que este algoritmos se ejecute en la mitad de tiempo se tendrá: 1. 2. 3.
  • 9. Es decir, se ha mejorado la velocidad de ejecución del programa en un factor de 1,18. La ley de Amdahl se mide en unidades genéricas, es decir los resultados no son porcentajes, ni unidades de tiempo. La ley de Amdahl se puede interpretar de manera más técnica, pero en términos simples, significa que es el algoritmo el que decide la mejora de velocidad, no el número de procesadores. Finalmente se llega a un momento que no se puede paralelizar más el algoritmo.
  • 10. Representación gráfica de la ley de Amdahl. La mejora en la velocidad de ejecución de un programa como resultado de la paralelización está limitada por la porción del programa que no se puede paralelizar. Por ejemplo, si el 10% del programa no puede paralelizarse, el máximo teórico de aceleración utilizando la computación en paralelo sería de 10x no importa cuántos procesadores se utilicen.
  • 11. La computación en paralelo, por el contrario, utiliza simultáneamente múltiples elementos de procesamiento para resolver un problema. Esto se logra mediante la división del problema en partes independientes de modo que cada elemento de procesamiento pueda ejecutar su parte del algoritmo de manera simultánea con los otros. Los elementos de procesamiento son diversos e incluyen recursos tales como una computadora con múltiples procesadores, varios ordenadores en red, hardware especializado, o cualquier combinación de los anteriores. El aumento de la frecuencia fue la razón dominante de las mejoras en el rendimiento de las computadoras desde mediados de 1980 hasta el año 2004. El tiempo de ejecución de un programa es igual al número de instrucciones multiplicado por el tiempo promedio por instrucción. Manteniendo todo lo demás constante, el aumento de la frecuencia de reloj reduce el tiempo medio que tarda en ejecutarse una instrucción, por tanto un aumento en la frecuencia reduce el tiempo de ejecución de los programas de cómputo. Sin embargo, el consumo de energía de un chip está dada por la ecuación P = C × V2 × F, donde P es la potencia, C es el cambio de capacitancia por ciclo de reloj —proporcional al número de transistores cuyas entradas cambian—, V es la tensión, y F es la frecuencia del procesador (ciclos por segundo).8 Un aumento en la frecuencia aumenta la cantidad de energía utilizada en un procesador. El aumento del consumo de energía del procesador llevó a Intel en mayo del 2004 a la cancelación de sus procesadores Tejas y Jayhawk, este hecho generalmente se cita como el fin del escalado de frecuencia como el paradigma dominante de arquitectura de computadores. La ley de Moore es la observación empírica de que la densidad de transistores en un microprocesador se duplica cada 18 a 24 meses. A pesar de los problemas de consumo de energía, y las repetidas predicciones de su fin, la ley de Moore sigue vigente. Con el fin del aumento de la frecuencia, estos transistores adicionales que ya no se utilizan para el aumento de la frecuencia se pueden utilizar para añadir hardware adicional que permita la computación paralela.
  • 12.
  • 13. Ley de gustafsson Idealmente, la aceleración a partir de la paralelización es lineal, doblar el número de elementos de procesamiento debe reducir a la mitad el tiempo de ejecución y doblarlo por segunda vez debe nuevamente reducir el tiempo a la mitad. Sin embargo, muy pocos algoritmos paralelos logran una aceleración óptima. La mayoría tienen una aceleración casi lineal para un pequeño número de elementos de procesamiento, y pasa a ser constante para un gran número de elementos de procesamiento. La aceleración potencial de un algoritmo en una plataforma de cómputo en paralelo está dada por la ley de Amdahl, formulada originalmente por Gene Amdahl en la década de 1960.Esta señala que una pequeña porción del programa que no pueda paralelizarse va a limitar la aceleración que se logra con la paralelización. Los programas que resuelven problemas matemáticos o ingenieriles típicamente consisten en varias partes paralelizables y varias no paralelizables (secuenciales). Si es la fracción de tiempo que un programa gasta en partes no paralelizables.
  • 14.
  • 15. Continuación entre la ley de DynAlloy y la ley de Gustafsson Luego es la máxima aceleración que se puede alcanzar con la paralelización del programa. Si la parte secuencial del programa abarca el 10% del tiempo de ejecución, se puede obtener no más de 10× de aceleración, independientemente de cuántos procesadores se añadan. Esto pone un límite superior a la utilidad de añadir más unidades de ejecución paralelas. «Cuando una tarea no puede divididirse debido a las limitaciones secuenciales, la aplicación de un mayor esfuerzo no tiene efecto sobre la programación. La gestación de un niño toma nueve meses, no importa cuántas mujeres se le asigne». La ley de Gustafsson es otra ley en computación que está en estrecha relación con la ley de Amdahl. Señala que el aumento de velocidad con procesadores es
  • 16.
  • 17. • Ambas leyes asumen que el tiempo de funcionamiento de la parte secuencial del programa es independiente del número de procesadores. La ley de Amdahl supone que todo el problema es de tamaño fijo, por lo que la cantidad total de trabajo que se hará en paralelo también es independiente del número de procesadores, mientras que la ley de Gustafsson supone que la cantidad total de trabajo que se hará en paralelo varía linealmente con el número de procesadores.
  • 18. COMPOSICIÓN DEL LENGUAJE DE DYNALLOY En este artículo estudiamos una extensión del lenguaje DynAlloy con un operador soporte para la definición de acciones (expresables originalmente con funciones el Alloy), acciones compuestas de composición paralela de acciones. DynAlloy es una extensión al lenguaje de especificaciones Alloy, con y aserciones de corrección parcial. El objetivo principal de DynAlloy es incorporar a Alloy soporte para la validación de propiedades de safety de ejecuciones de sistemas.
  • 19.