martes, 24 de septiembre de 2013

Factores de rendimiento del CPU

FACTORES DE RENDIMIENTO DEL CPU

  
Componente
Unidad de medida
Tiempo de ejecución de CPU para un programa.
Segundos.
Número de instrucciones.
Instrucciones ejecutadas por el programa.
Ciclos de reloj por instrucción (CPI).
Número de ciclos de reloj en promedio por instrucción.
Periodo de reloj.
Segundos por ciclo de reloj.
 














Los factores de rendimiento bàsicos de la CPU son:
1.Número de instrucciones del programa.
2.CPI (Número de ciclos por instrucción).
3.Periodo de reloj / velocidad del reloj.
En vez del número de instrucciones y el CPI se puede usar el número de ciclos del programa.
NÙMEROS DE INSTRUCCIONES DEL PROGRAMA
El número de instrucciones se puede obtener:
Contando las instrucciones (sin seudos) del programa.
Usando un simulador del ISA.
Usando un programa profiler.
Usando contadores de hardware (si están disponibles).
CPI (Número de ciclos por instrucción).

El CPI se puede obtener:
Usando un simulador de la implementación.
Usando contadores de hardware.
Depende de la implementaciòn porque depende de: 
La estructura de la memoria.
La estructura del procesador.
Las instrucciones usadas en el programa.
LOS BENCHMARK
   
Son simplemente aplicaciones que sirven de “probadores” de desempeño, las cuales dan una idea de la potencia del equipo, aunque claro está potencia es en base a pruebas básicas, cuando en realidad el día a día es el verdadero reto a vencer.

Ahora bien, de manera un poco más detallada un Benchmark es es un conjunto de procedimientos ( programa o programas) para evaluar el rendimiento de un rendimiento de un sistema o componente del mismo, de manera más formal puede entenderse que un benchmark es el resultado de la ejecución de un programa informático o un conjunto de programas en una máquina, con el objetivo de estimar el rendimiento de un elemento concreto, para luego poder comparar los resultados con máquinas similares. Un Benchmark podría ser realizado en cualquiera de los componentes dentro de un equipo, ya sea CPU, RAM, GPU, etc., aunque también puede ser dirigido específicamente a una función dentro de un componente, por ejemplo, la unidad de coma flotante de la CPU, o incluso a otros programas.

 
Tipos de Benchmarking

Benchamrking Interno
Benchmarking Competitivo 
Benchmarking Funcional
Benchmarking Genérico 

Cualidades

Los benchmark tienen las siguientes funcionalidades:
  • Comprobar si las especificaciones de los componentes están dentro del margen propio del mismo
  • Maximizar el rendimiento con un presupuesto dado
  • Minimizar costos manteniendo un nivel máximo de rendimiento
  • Obtener la mejor relación costo/beneficio (con un presupuesto o unas exigencias dadas)

Otros tipos de Benchmark

  • Consumo de energía
  • Disipación de calor
  • De Juguete: detectar y medir componentes básicos de un computador
  • Redes
  • Reducción de ruido
  • Servidores
  • Soporte técnico

LEY DE AMDAHL


El aumento de rendimiento que puede obtenerse al mejorar alguna parte de una computadora puede calcularse utilizando la Ley de Amdahl.
La Ley de Amdahl establece que la mejora obtenida en el rendimiento al utilizar algún modo de ejecución más rápido está limitada por la fracción de tiempo que se pueda utilizar ese modo más rápido.
La Ley de Amdahl define la ganancia de rendimiento o aceleración (speedup) que puede lograrse al utilizar una característica particular.
Supongamos que podemos hacer una mejora en una máquina que cuando se utilice aumente su rendimiento. La aceleración es la relación: 

Alternativamente

La aceleración nos indica la rapidez con que se realizará una tarea utilizando una máquina con la mejora con respecto a la máquina original. La Ley de Amdahl nos da una forma rápida de calcular la aceleración, que depende de dos factores:

jueves, 12 de septiembre de 2013

RELOJ DEL PROCESADOR


1.- TIEMPO DE RESPUESTA



Tiempo total para realizar una tarea. Incluye:

  Tiempo de espera en cola.
  Accesos a disco.
  Accesos a memoria.
  Actividades de entrada y salida (I/O).
  Overhead del sistema operativo.

Tiempo que el sistema operativo dedica a sus tareas propias y no al proceso que está ejecutando. Tiempo de carga, recolección de basura, etc.

2.- PRODUCTIVIDAD



La productividad (throughput) de un procesador segmentado como el número de tareas que puede completar por unidad de tiempo
Ésta es una medida más absoluta que las anteriores y mide la potencia global de cálculo del procesador. Podremos calcular la productividad dividiendo el número de tareas emitidas por el tiempo empleado en procesarlas. 


3.- RENDIMIENTO RELATIVO



¿Cómo se puede definir el rendimiento de un sistema computacional?

Tiempo de respuesta (tiempo de ejecución). Tiempo entre que llega y sale una tarea.
Throughput. Cantidad de trabajo hecho en un tiempo dado.

Una disminución del tiempo de respuesta implica un aumento de throughput.
Pero, un aumento de throughput no siempre implica una disminución del tiempo de respuesta.

EJEMPLO:
 
Reemplazar CPUs viejas por nuevas disminuye el tiempo de respuesta y aumenta el throughput (cantidad de trabajo hecho).

 
4.- TIEMPO Y RELOJ



TIEMPO:

Tiempo de CPU. Tiempo que la CPU dedica a la tarea. No incluye tiempo dedicado a correr otras tareas.
Se puede dividir en:

Tiempo de CPU de usuario. Tiempo que la CPU dedica al código de la tarea 

Tiempo de CPU de sistema. Tiempo que la CPU dedica al sistema operativo cuando éste realiza actividades relacionadas con la tarea. Por ejemplo, tiempo para cargar la tarea en memoria.

RELOJ:



El reloj del sistema determina cuando los eventos ocurren en el hardware.

  1. Periodo de reloj. Tiempo en que ocurre un ciclo (pulso) de reloj Se mide en fracciones de segundo. Por ejemplo 0.25 nanosegundos.
  2. Velocidad de reloj. Es el inverso del periodo. Se mide en ciclos por segundo. Por ejemplo 4GHz (giga Hertz).



  

5.- CICLOS DE RELOJ 

Ciclos de reloj del procesador también denominados ciclos por segundo o frecuencia, hace referencia a la velocidad del procesador, incorporado en la CPU del ordenador, y se mide en Mega Hertz (MHz).

A mayor índice de frecuencia, mas rápido es el procesador y en consecuencia el ordenador.

Hace tiempo se solía encontrar procesadores a 16 MHz, hoy en día lo normal es que se superen los 120 MHz.

Un ciclo del CPU, es un impulso electromagnético que genera el oscilador de cuarzo, presente en todo procesador y microprocesador de la computadora. La velocidad de funcionamiento del microprocesador, viene determinada por el ritmo de los impulso de su reloj. Este reloj oscilador, es un circuito electrónico, encargado de emitir a un ritmo constante impulsos eléctricos. 

El funcionamiento de reloj es comparable, con el metrónomo, con su péndulo que oscila de izquierda a derecha. El intervalo de tiempo que el péndulo tarda en recorrer esta distancia y regresar, se denomina ciclo. El reloj marca el número de ciclos por segundo y es la señal utilizada para sincronizar las cosas dentro de una computadora, por ejemplo; todas las instrucciones demoran un cierto número de ciclos para ejecutar.


Diferencia entre el procesador i7 y el Phenom II x6 1090T
 



Procesador
Caché
Velocidad del reloj
Número de núcleo
Número de hilos
TDP máx./potencia
I7-4930K
12 Mb
3.40 GHz
6
12
130 W
Phenom II x6 1090T
L2– 3Mb y L3-6Mb
3.2 GHz
6
8
125 W