Top Banner
Algoritmos Multihilo Análisis
14

Analisis de Algoritmos Multihilo

Feb 16, 2017

Download

Technology

Xavier Ochoa
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Analisis de Algoritmos Multihilo

Algoritmos Multihilo

Análisis

Page 2: Analisis de Algoritmos Multihilo

Tiempo de Ejecución

• El trabajo o (work) de un cálculo multihilo es el tiempo total de ejecución de todas instrucciones en un solo procesador.• Work = suma del tiempo que se toma

cada strand• Es igual al número de vertices en el DAG

Page 3: Analisis de Algoritmos Multihilo

Tiempo de Ejecución

• El span es el tiempo más largo para ejecutar los strands a través de cualquier camino en el DAG computacional• Esto es el número de vértices en la

ruta crítica dentro del DAG

Page 4: Analisis de Algoritmos Multihilo

Tiempo de Ejecución

• Para P-Fib(4), tenemos• 17 vertices = 17 strands. • 8 vertices en el camino

más largo.

• Asumiendo que el tiempo de cada strand es 1 unidad de tiempo

• work = 17 u. tiempo• span = 8 u. tiempo

Page 5: Analisis de Algoritmos Multihilo

Tiempo de Ejecución

• El tiempo de ejecución no solo depende del work y el span, sino también de cuantos procesadores se tiene (P)

• El tiempo de ejecución en P procesadores se indica como:– T1 tiempo de ejecución en un solo procesador– TP tiempo de ejecución en P procesadores– T∞ tiempo de ejecución en infinitos procesadores

Page 6: Analisis de Algoritmos Multihilo

Ley de Work• En una computadora paralela ideal con P procesadores, que pueden

hacer P unidades de trabajo:

• Work = P1

• Así que, P*Tp >= T1

• La ley de Work es

»Tp >= T1/P

Page 7: Analisis de Algoritmos Multihilo

Ley de Span• Un computador ideal con P procesadores no puede correr más

rápido que una máquina con infinitos procesadores.• Sin embargo, una computadora con infinitos procesadores puede

emular una máquina con P procesadores, utilizando solamente P de sus procesadores.

• Por lo tanto:

–Tp >= T∞

Page 8: Analisis de Algoritmos Multihilo

Speedup y Paralelismo

• El speed up de un algoritmo en P procesadores está definido como T1 / Tp

• El paralelismo de un algoritmo está dado por T1 / T∞

Page 9: Analisis de Algoritmos Multihilo

Slackness (Holgura)

• La holgura (slackness) de un algoritmo multihilo ejecutado en una computadora paralela con P procesadores es la razón del paralelismo para P.

• Slackness = (T1 / T∞) / P

• Si el slackness es menor a 1, no podemos esperar lograr un speedup lineal.

Page 10: Analisis de Algoritmos Multihilo

Condiciones de Carrera

• Un algoritmo multihilo es deterministico si y solo si produce el mismo resultado a la misma entrada, sin importar como se ordenen sus instrucciones en tiempo de ejecución.

• Un algoritmo multihilo es no-deterministico si y solo si su comportamiento varia de corrida a corrida.

Page 11: Analisis de Algoritmos Multihilo

Condiciones de Carrera

• Una carrera determinística sucede cuando dos instrucciones lógicamente paralelas acceden a la misma posición de memoria y al menos una realiza una escritura.

Page 12: Analisis de Algoritmos Multihilo

Carrera Determinística

Page 13: Analisis de Algoritmos Multihilo

Carrera Determinística

• Cuando un proceso incrementa x, la operació no es indivisible, pero está formado por:1. Leer x de la memoria en uno de los

registros del procesador2. Incrementar el valor en el registro3. Escribir el valor en el registro de nuevo en

memoria

Page 14: Analisis de Algoritmos Multihilo

Carrera Determinística