domingo, 19 de octubre de 2014

Hyper-Threading

¿Que es HyperThreading?



  • También conocido como H Technology.
  • Marca registrada de la empresa Intel para denominar su implementación de la tecnología Multithreading Simultáneo también conocido como SMAT. 
  • Permite a los programas preparados para ejecutar múltiples hilos procesarlos en paralelo dentro de un único procesador.
    • Incrementa el uso de las unidades de ejecución del procesador.
  • Esta tecnología consiste en simular dos procesadores lógicos dentro de un único procesador físico. 
    • El resultado es una mejoría en el rendimiento del procesador, puesto que al simular dos procesadores se pueden aprovechar mejor las unidades de cálculo manteniéndolas ocupadas durante un porcentaje mayor de tiempo. 
    • Esto conlleva una mejora en la velocidad de las aplicaciones que según Intel es aproximadamente de un 60%.
  • La tecnología HyperThreading tiene grandes capacidades de procesamiento y rapidez. 


  • Algunas de sus ventajas son: 
    • Mejora el apoyo de código “multi-hilos”, que permite ejecutar múltiples hilos simultáneamente.
    • Mejora de la reacción. 
    • Mejora el tiempo de respuesta.

  • De acuerdo con el primer informe de Intel, los Pentium 4 que incorporan esta tecnología tienen: 
  • Un rendimiento entre un 15% y un 30% superior al de los procesadores sin HyperThreading 
  • Utilizan sólo un 5% más de recursos.


Aqui vemos un multiprocesador, tendríamos el 1º y el 2º.


Y que pasaría si fuese hyperthreading, donde los dos procesadores se han sumado, y son como que fuese y solo.



¿Que es el multiproceso?


Modalidad operativa de un sistema informático que permite ejecutar varios programas simultáneamente, compartiendo la memoria central y las unidades periféricas.

 
Las computadoras que tienen mas de un CPU son llamadas multiproceso. Un sistema operativo multiproceso coordina las operaciones de la computadoras multiprocesadoras. Ya que cada CPU en una computadora de multiproceso puede estar ejecutando una instrucci ón, el otro procesador queda liberado para procesar otras instrucciones simultáneamente. Al usar una computadora con capacidades de multiproceso incrementamos su velocidad de respuesta y procesos. Casi todas las computadoras que tienen capacidad de mu ltiproceso ofrecen una gran ventaja.


¿Que es el Multinúcleo?


Resultado de imagen de imagen de procesador multinucleo

Los procesadores multi-núcleo son un procesador que contiene dentro de su empaque a varios núcleos o “cerebros”. La mayoría de los procesadores son mono-núcleo, o sea tienen un solo cerebro. Mientras un procesador mono-núcleo tiene un solo cerebro para ejecutar procesos, un procesador multi-núcleo puede repartir los procesos entre sus varios cerebros para su posterior ejecución.
 
Es como cuando a una persona le dan muchos trabajos por hacer, si otro lo ayuda entre los dos pueden dividirse el trabajo y terminar más rápido. Si los dos les toca hacer un solo trabajo, si este es divisible, entonces los dos lo también lo harán mas rápido. Pero si el trabajo no es divisible, entonces en ese caso uno solo lo haría.
 
Por eso las aplicaciones que sacan más provecho de estos procesadores multinúcleo son aquellas que pueden generar muchos hilos de ejecución (thread) como las aplicaciones de audio/video, cálculo científico, juegos, tratamiento de gráficos en 3D, etc.
 
El primer procesador multinúcleo en el mercado fue el IBM Power 4 en el año 2000.
 
Pero de todas maneras siempre hay aplicaciones que no se dividen en hilos de ejecución, que no aprovechan por completo estos procesadores. Pero estos procesadores pueden ejecutar varias de estas aplicaciones al mismo tiempo.
 
Solo cuando uno ejecute una sola aplicación que no sea paralelizable (no se pueda descomponer en hilos) es cuando no se aprovecha el potencial de procesamiento que tienen estos procesadores.
 
Actualmente muchos programas son poco paralelizables (excepto en los sectores donde se usan supercomputadoras, sistemas distribuidos y paralelos, etc.), pero se pueden ejecutar muchos de ellos a la vez. Con el auge de estos procesadores, saldrán aplicaciones más paralelizables.
 
Una alternativa a los procesadores multinúcleo son los sistemas multiprocesadores, que consisten en una placa madre que podía soportar desde 2 a más procesadores. El rendimiento es bastante bueno, pero también es bastante caro.

 Antecedentes de los procesadores multinúcleo
 
Los procesadores multinúcleo se basaron en los sistemas distribuidos, la computación paralela, y las tecnologías como el Hyperthreading; que mostraban como dividir el trabajo entre varias unidades de ejecución.

Procesamiento en Paralelo

El procesamiento en paralelo es la división de una aplicación en varias partes para que sean ejecutadas a la vez por diferentes unidades de ejecución.

El procesamiento en paralelo se utiliza en Computación Paralela y la Computación Distribuida.

 




¿Que son los Multiprocesadores?


Un sistema multiprocesador es aquel que tiene más de un zócalo  donde «pinchar» un procesador. A su vez, un procesador puede contener uno o más núcleos, en cuyo caso se habla de procesador multinúcleo, o multi-core si se usa el término anglosajón.
Placa base
En ambos casos, se trata de configuraciones donde se emplea el paralelismo  como método para aumentar el rendimiento efectivo de un equipo, pero mediante estrategias distintas. Los equipos multiprocesador encajan mejor en entornos empresariales, en los que se necesita un nivel de paralelismo mayor que el que puede ofrecer un sistema con un único procesador y varios núcleos.

Ejemplo: los sistemas Xeon  de dos procesadores pueden acomodar hasta 12 núcleos físicos y 24 núcleos en total.


No hay comentarios:

Publicar un comentario