Want to create interactive content? It’s easy in Genially!

Get started free

U5R1. Storyboard Curso Geneally. Parametros de desempeño

UAG

Created on September 17, 2025

Start designing with a free template

Discover more than 1500 professional designs like these:

Urban Illustrated Presentation

Geographical Challenge: Drag to the map

Decisions and Behaviors in the Workplace

Tangram Game

Process Flow: Corporate Recruitment

Weekly Corporate Challenge

Wellbeing and Healthy Routines

Transcript

ParÁmetros

de desempeño

Parámetros de desempeño

El diseño y la implementación de arquitecturas paralelas eficientes requieren un conocimiento experto del desempeño paralelo. La evaluación del rendimiento de los algoritmos paralelos no depende únicamente del tamaño de la entrada y el tiempo y ejecución, sino que también involucra factores cruciales como el número de procesadores y el modelo de comunicación de la plataforma. Comprender estos parámetros es fundamental para cualquier informático que busque optimizar el rendimiento de sus aplicaciones en arquitecturas multicore.

Info

Parámetros Fundamentales

Tiempo de Ejecución (Execution Time)

Es la medida más básica del rendimiento. Se distingue entre:

  • Tiempo de Ejecución Secuencial (Tsec): El tiempo que tarda el mejor algoritmo secuencial conocido en resolver el problema en un solo procesador. Este es el punto de referencia ideal contra el cual se compara cualquier implementación paralela.
  • Tiempo de Ejecución Paralelo (Tpar): El tiempo que tarda el programa paralelo en resolver el mismo problema utilizando p procesadores.

Info

Parámetros Fundamentales

Aceleración (Speedup - S)

Es la principal métrica que indica la ganancia obtenida mediante la paralelización. Mide qué tan efectiva es la paralelización de un programa frente a su versión secuencial. Fórmula

S=Tsec/Tpar

Info

Parámetros Fundamentales

Eficiencia (Efficiency - E)

Se define como el cociente entre la aceleración y el número de procesos en los que se ejecuta la aplicación.5 Mide la utilización promedio de los procesadores.

Fórmula

E=S/P, donde P es el número de procesadores. Un valor de E=1 (o 100%) indica una eficiencia perfecta, donde todos los procesadores se utilizan de manera óptima. Los valores inferiores a 1 indican que los procesadores no se utilizan plenamente, a menudo debido a sobrecargas o a un trabajo paralelo insuficiente. La eficiencia complementa a la aceleración al normalizarla por el número de procesadores.

Info

Parámetros Fundamentales

Escalabilidad (Scalability)

Es la capacidad de un sistema paralelo para mantener su eficiencia o rendimiento a medida que aumenta el número de procesadores y/o el tamaño del problema. Se distinguen dos tipos principales:

Escalabilidad Fuerte (Strong Scaling)

El tamaño del problema se mantiene fijo mientras se aumenta el número de procesadores. El objetivo es reducir el tiempo de ejecución.

Escalabilidad Débil (Weak Scaling)

Info

El tamaño del problema aumenta proporcionalmente con el número de procesadores, con el objetivo de mantener un tiempo de ejecución fijo.

Parámetros Fundamentales

Grado de Paralelismo (Degree of Parallelism - DOP)

Representa el grado de mapeo entre el paralelismo del software y el grado de procesamiento paralelo del hardware. Se mide en intervalos de tiempo, indicando cuántos procesadores se están utilizando para un algoritmo dado.

  • Si P es el número de procesadores del sistema y m es el paralelismo máximo posible de un algoritmo, el DOP es el número de procesos paralelos en que se puede dividir un programa, cumpliendo DOP≤m<P.
  • El trabajo total (W) es proporcional al área bajo la curva del DOP, calculándose como W=∑(ti×i), donde i es el número de procesos paralelos en el intervalo ti, y ti es la sumatoria de todos los intervalos en los que se usan procesadores.

Info

Factores que Penalizan el Rendimiento Paralelo

Varios aspectos pueden penalizar el rendimiento general de las aplicaciones paralelas 2

Comunicaciones

Balanceo de Carga (Load Balancing)

Gestión de Entrada/Salida (I/O Management)

Acceso a la Memoria

Sincronización

Sobrecarga de Software

Tabla 1: Parámetros Clave de Desempeño Paralelo

Parámetro

Definición

Importancia en el Análisis Paralelo

Tiempo de Ejecución Secuencial (Tsec)

Tiempo del mejor algoritmo secuencial en un solo procesador.

Base de referencia para cuantificar la mejora. Un Tsec subóptimo puede inflar artificialmente el speedup.

Medida directa del rendimiento de la versión paralela.

Tiempo de Ejecución Paralelo (Tpar)

Tiempo del algoritmo paralelo en P procesadores.

Aceleración (Speedup - S)

Cuantifica la ganancia de velocidad. Un S bajo indica limitaciones por la parte secuencial o sobrecarga.

S=Tsec/Tpar

Mide la utilización de los procesadores. Valores bajos sugieren recursos ociosos o sobrecarga significativa.

Eficiencia (E)

E=S/P

Capacidad de mantener la eficiencia al aumentar P y/o el tamaño del problema.

Indica la viabilidad del programa para problemas más grandes o sistemas con más procesadores.

Escalabilidad

Ofrece una visión dinámica del comportamiento paralelo, identificando fases de baja utilización o cuellos de botella.

Grado de Paralelismo (DOP)

Número de unidades de ejecución activas en un momento dado.

Esta tabla es una herramienta didáctica eficaz para comprender y analizar las distinciones entre los parámetros de desempeño. Permite una visualización rápida de las características clave, facilita la comparación directa de atributos y ayuda a los estudiantes a consolidar el conocimiento de manera estructurada. Esta comprensión es crucial para la toma de decisiones informadas en el diseño de software paralelo, permitiendo seleccionar la unidad de ejecución más apropiada según los requisitos de la aplicación.

Definición de Rendimiento en Computación Paralela El rendimiento en un sistema con un solo procesador se calcula tradicionalmente como el producto del recuento de instrucciones (RI), los ciclos promedio por instrucción (CPI) y la duración del ciclo de reloj (tciclo). La fórmula es: Tcpu=RI×CPI×tciclo. Sin embargo, en un sistema con P procesadores, el rendimiento se define con la fórmula T=RI/(P×IPC)×tciclo, donde IPC es el número de instrucciones por ciclo de reloj. Esta distinción subraya que, en el paralelismo, el tiempo de ejecución no es solo una función de la cantidad de trabajo, sino también de cómo ese trabajo se distribuye y coordina entre múltiples unidades de procesamiento.

Una alta aceleración con muchos procesadores puede aún tener baja eficiencia si la mayoría de los procesadores están ociosos. Esto revela que la eficiencia es una métrica de la rentabilidad de la paralelización, indicando si la inversión en recursos computacionales está siendo bien aprovechada. Por ejemplo, si se logra una aceleración de 10x con 100 procesadores, la eficiencia es de 10/100=0.1 (10%). Esto significa que, aunque la tarea se aceleró, la mayoría de los procesadores estuvieron ociosos o se vieron afectados por la sobrecarga, lo que indica que la inversión en 100 procesadores para una aceleración de 10x no fue rentable. La eficiencia proporciona una perspectiva de la "utilización de recursos". Un bajo valor de eficiencia, incluso con una aceleración aceptable, indica que el diseño paralelo podría ser ineficiente en el uso de los recursos disponibles, lo que es crucial para la optimización de costos y energía en sistemas a gran escala.

REFERENCIAS

Calltek. (s.f.). Acerca de la programación paralela. Recuperado de https://calltek.es/acerca-de-la-programacion-paralela/ TECH Universidad Tecnológica. (s.f.). Desempeño Paralelo. Recuperado de https://www.techtitute.com/informatica/universitatskurs/desempeno-paralelo Universidad Nacional del Centro de la Provincia de Buenos Aires. (s.f.). Rendimiento de sistemas paralelos. Recuperado de https://users.exa.unicen.edu.ar/catedras/arqui2/arqui2/filminas/Rendimiento%20de%20sistemas%20paralelos.pdf

https://calltek.es/acerca-de-la-programacion-paralela/

https://www.techtitute.com/informatica/universitatskurs/desempeno-paralelo

https://users.exa.unicen.edu.ar/catedras/arqui2/arqui2/filminas/Rendimiento%20de%20sistemas%20paralelos.pdf

La elección del "mejor algoritmo secuencial" como línea base es crucial. Si se compara un algoritmo paralelo con una versión secuencial ineficiente, el speedup observado será artificialmente alto, llevando a conclusiones erróneas sobre la efectividad de la paralelización. Esto implica que la evaluación del rendimiento paralelo no es solo una cuestión de medir, sino de establecer un punto de comparación justo y riguroso. Si el Tsec no es verdaderamente óptimo, entonces el Speedup=Tsec/Tpar será más alto de lo que debería ser. Esto significa que un programa paralelo podría parecer que funciona bien, pero sus ganancias se deben simplemente a una línea base secuencial deficiente, no a una verdadera eficiencia paralela. Esto resalta la importancia de un diseño experimental riguroso en el análisis del rendimiento.

En un escenario ideal, con P procesadores, la aceleración sería P (aceleración lineal), lo que asume una paralelización perfecta sin sobrecarga. No obstante, factores como la sobrecarga de comunicación, los costos de sincronización, el desequilibrio de carga y la sobrecarga del software de lenguajes paralelos o sistemas operativos limitan esta aceleración ideal. La aceleración no es solo un número; es un indicador de la efectividad de la paralelización. Una aceleración cercana al número de procesadores (p) indica una paralelización casi ideal, mientras que una aceleración baja sugiere que la sobrecarga o la parte secuencial dominan. Esto implica que la aceleración es una métrica de "éxito" relativo a la inversión en paralelismo. Por ejemplo, si un programa tiene una aceleración de 2.66 con 4 procesadores, esto indica que no se está aprovechando completamente su potencial, lo que sugiere que hay factores que limitan la aceleración, como la parte secuencial del código o la sobrecarga. La aceleración, comparada con el número de procesadores, se convierte en un diagnóstico inicial de la calidad de la paralelización, señalando la necesidad de investigar las causas de la desviación del ideal.

El DOP es una métrica dinámica que revela la "forma" del paralelismo de un programa a lo largo del tiempo. Un DOP fluctuante sugiere fases secuenciales y paralelas, mientras que un DOP constante e igual al número de procesadores indica un paralelismo sostenido. Esto es crucial para identificar cuellos de botella temporales y entender cómo la carga de trabajo se distribuye en diferentes etapas de la ejecución. Si un programa tiene un DOP bajo durante una parte significativa de su ejecución, significa que muchos procesadores están ociosos en ese momento. Esto contribuye a una baja eficiencia general y una aceleración subóptima, incluso si otras partes del programa son altamente paralelas. El DOP permite una visión granular del comportamiento paralelo, revelando patrones de utilización de recursos que las métricas agregadas como la aceleración o la eficiencia pueden ocultar. Es una herramienta diagnóstica para la optimización de la asignación de tareas y el balanceo de carga.

La escalabilidad es un indicador de rendimiento a largo plazo. Un programa puede mostrar una buena aceleración con un número pequeño de procesadores, pero si no escala bien, no será eficaz para problemas más grandes y complejos o para hardware futuro con muchos más núcleos. Esto se conecta directamente con las motivaciones detrás de la Ley de Gustafson. Si la aceleración de un programa se estanca rápidamente a medida que se añaden procesadores (escalabilidad fuerte deficiente), ello implica un cuello de botella secuencial inherente o una sobrecarga excesiva de comunicación. Si no puede mantener el rendimiento cuando aumentan tanto el tamaño del problema como el número de procesadores (escalabilidad débil deficiente), ello sugiere problemas con la gestión de volúmenes de datos mayores de forma distribuida. Esto informa las decisiones de diseño fundamentales.