Resultados - RaulDiazR/Image-Processing GitHub Wiki

Resultados obtenidos

Pruebas locales (Fase intermedia)

Cómo se mencionó previamente, se iba a realizar la ejecución de 600 imágenes, dentro de este sistema de Master - Slave (Maestro - Esclavo) donde cada imágen iba a ser procesada con los siguientes filtros:

  • Escala de grises
  • Espejo vertical
  • Espejo horizontal
  • Espejo vertical en escala de grises
  • Espejo horizontal en escala de grises
  • Efecto de blurring #El efecto en este aspecto va a depender del valor que se le de al Kernel

En la fase intermedia se presentaron los principales avances del proyecto, dentro de los cuáles eran realizar los mismos procesamientos de manera local para 100 imágenes, al sumar el total de las métricas de las computadoras, el primer resultado que se tuvo fue el siguiente:

        --- Reporte Final ---
        Total de localidades leídas: 279,423,605,960
        Total de localidades escritas: 32,863,801,128
        Promedio de Tiempo total de ejecución: 2 minutos con 58.31 segundos
        Promedio de velocidad de ejecución: 174 Mb/s:
        Promedio de Cantidad de MIPS estimados: 132,701.12

Pruebas del clúster de computadoras (Master - Slave / Fase final)

Al hacer la ejecución de nuestra granja de computadoras para las 600 imágenes, se obtuvieron las siguientes métricas:

       --- Reporte Final ---
       Kernel utilizado para desenfoque: 155 #Valor máximo
       Total de localidades leídas: 253,840,626,252,000
       Total de localidades escritas: 63,380,930,400
       Tiempo total de ejecución: 46 min 24.12 s
       Velocidad : 519.6 GB/s
       MIPS estimados: 1,823,065,185

Análisis

Podemos observar algunas diferencias, como por ejemplo:

  • Tiempo de ejecución: Podemos obervar que el tiempo aumentó de manera considerable, ya que al ser 600 imágenes y al ser 6 procesos por imagen y al cosiderar que el proceso es paralelo, puede ser normal, esto igual depende de las capacidades de cada PC que se esté utilizando.
  • Velocidad: Se observa que la velocidad de ejecución ha subido, ya que al ser en paralelo todos los procedimientos, el maestro manda un proceso a cualquier esclavo, pero posiblemente la PC esclavo no tenga la suficiente y rápida capacidad de hacer los procesos, ppr lo cuál el tiempo de completar las 600 imágenes se extiende.
  • MIPS: En este caso, vemos que los MIPS para la pruebas locales es muy pequeña en comparación a las vistas en las pruebas finales, con esto podemos decir que el clúster de computadoras que se realizó es más potente que hacer esto en versión local, esto igual nos habla que de cierta manera, hubo un buen aprovechamiento de los recursos distribuidos, esto nos dice que el sistema en general está bien optimizado.

Frecuencia de reloj

¿Qué es la frecuencia del reloj?

La frecuencia del reloj de un procesador (medida en Hz, normalmente GHz) indica cuántos ciclos por segundo puede ejecutar.
Por ejemplo, un CPU de 3.0 GHz realiza 3 mil millones de ciclos por segundo.

Cada ciclo puede ejecutar una o más instrucciones, dependiendo de la arquitectura del procesador.


¿Cómo afecta esto al rendimiento?

  • A mayor frecuencia de reloj, más ciclos por segundo, lo que generalmente se traduce en mayor cantidad de instrucciones ejecutadas por segundo (MIPS).
  • Sin embargo, el aumento de rendimiento no siempre es lineal, ya que también influyen otros factores como:
    • Arquitectura del procesador
    • Memoria y caché
    • Nivel de paralelismo
    • Eficiencia del software

Frecuencia del reloj y eficiencia

La eficiencia de procesamiento no se mide solo por cuántas instrucciones se ejecutan, sino por cuánto se aprovecha el hardware disponible.
Así influye la frecuencia del reloj:

Si se incrementa la frecuencia:

  • Se aumenta el número potencial de instrucciones por segundo.
  • También aumenta el consumo energético y la temperatura.
  • Si el software no está optimizado, no se aprovecha completamente la frecuencia adicional.

Alta frecuencia + baja eficiencia:

  • Se desperdician ciclos de reloj.
  • El rendimiento por watt o por ciclo es bajo.

En sistemas distribuidos (clusters):

  • Un procesador con frecuencia menor puede ser más lento individualmente.
  • Pero al trabajar en paralelo (como en un cluster bien balanceado), la eficiencia global puede ser mucho mayor.

Ejemplo práctico

Sistema Frecuencia del reloj MIPS observados Eficiencia relativa
PC local 3.0 GHz 132,701.12 Alta
Cluster (4 PCs) ~2.4 GHz 1,823,065,185 Muy alta (paralelismo)

Aunque el cluster tiene CPUs más lentos, el procesamiento paralelo logra una eficiencia total muy superior.


Conclusión

  • Más frecuencia de reloj significa más potencial de rendimiento, pero no garantiza eficiencia.
  • La clave está en cómo se aprovechan esos ciclos con buen software y paralelismo.
  • En escenarios de procesamiento masivo (como imágenes en un cluster), el trabajo paralelo bien distribuido supera ampliamente la dependencia exclusiva de la frecuencia.