-
Es decir, una unidad se ara l doble d rapido, o, almenos, se pueden hacer 2 unidades a la vez con el mismo procesador con el HT activado? Y con el genome@home?
-
No lo creo … y menos de un programa "standard" como el cliente Seti ...
No esta optimizado para ningun SO ni para ningun procesador ...
Me juego lo que quieras a que con el HT activado te hara dos unidades, pero con el doble de tiempo gastado ...
el genome, no lo conozco ...
-
El Seti no funciona con hyperthreading, en principio si tienes un Dual en lugar de hacer 2 unidades hara 4 pero en el doble de tiempo de tal manera que el tiempo por unidad es el mismos, yo lo tengo quitado.. el HT esta bien pensado pero no funcionara correctamente hasta las proximas revisiones de Soft, en princio segun mis pruebas se consigue una mejora de rendimiento de un 60% .. en algunos caso llega al 80% pero muy contados…
-
A ver si sacan una nueva version del genome y el seti con soporte a HT
-
Creo que puedes procesar 2 unidades a la vez y se mejora el rendimiento, no al doble evidentemente pero parece que mejora. Con el SetiHide es muy facil de hacer para procesar unidades simultaneamente.
Salu2
-
para el seti no mejora nada.. tengo 7 Dual Xeon 2´4, y he podido hacer pruebas con ellos,, os lo aseguro haces el doble de unidades pero en el doble de tiempo con lo que no mejora el rendimiento.
-
A ver si me explico: segun vi en 1 prueba comparado con 1 procesador solo sin HT el mismo procesador con HT era capaz de hacer 2 unidades simultaneamente de lo que se tarda sin HT en hacerlas secuencialmente.
No puedo decir mas porque no lo he probado personalmente pero vamos, es lo que lei…
Lo que esta claro es que el cliente SETI no soporta multiproceso y nunca podremos procesar una unidad simultaneamente con varios procesadores, pero si que podemos hacer una unidad en cada procesador. Lo de Zero no lo comprendo ¿esta cada unidad procesandose en cada procesador?
Salu2
-
en principio sin HT me procesa na unidad con cada procesador de tal manera que en mas menos 3 horas me procesa 2 unidades.
si activo el HT el setidriver coje 4 unidades y las procesa a la vez, pero tarda unas 6 horas en acabar con todas, lo que significa que no gano nada en recursos.
si quereis saber como funciona el HT lo cuento un poco y vereis como es imposible que funcione a un 100% l. yo creo que cunado revisen soft. no pasara de un 60 (que no esta mal) -
Pues eso, Zero, que si puedes explicar un poco como funciona, porque yo soy de los que piensa que de donde no hay no se puede sacar, así que me gustaría saber como gana rendimiento un procesador actuando como si fueran 2.
Yo me dedico a la infografía, por lo que el rendimiento del procesador es vital para mi trabajo (cuanto menos tarde en hacer cada render más pruebas y tanteos puedo hacer sin desesperar) y con los biprocesador el programa que yo uso, obtiene una mejora en torno al 70% respecto a tener uno solo… Por eso se me hace dificil suponer que un procesador puede mejorar su rendimiento un 60 simulando ser dos...
Aunque la evolución de los procesadores estos últimos años está siendo tan "salvaje" que todo es posible. Fíjate donde se quedaron los Mac...
-
Hablando del HT hay q distinguir entre el implementado en los primeros Xeon y el HT del P IV.
Los primeros Xeon sufrian perdidas de rendimiento en segun q aplicaciones al activar el HT, por ejemplo comprimir Divx, segun parece Intel ha trabajado en esto y actualmente no hay perdidas de rendimiento en casi ninguna aplicación y es de suponer q en posteriores revisiones esta situación sea más favorable aun.
Efectivamente cuando se recompilen las aplicaciones o se diseñen pensando en el HT las mejoras de rendimiento serán aun mayores… pero hablar de un 60% me parece excesivo...
Uno d los problemas del HT es el tema de recursos compartidos... supongamos q tenemos 2 threads y uno de ellos monopoliza un recurso como la FPU, la FPU no sabe q lo q ejecuta son de 2 threads diferentes simplemente ejecuta uno dejando al otro "muerto"... En un sistema "convencional" el SO asigna a cada thread su porción de tiempo de CPU , lanza uno y cuando le corresponda el otro. Lo mismo pasa con las caches, registros... y demas recursos que comparten los dos threads de un procesador con HT.
Claro q tb tiene grandes ventajas, y en el PIV con su Pipeline de 20 etapas mas aun, supongamos que la unidad de prediccion de errores "falla", en ese caso hay q vaciar la pipeline y cargar otro thread, con los consiguientes ciclos de reloj perdidos, en el caso del HT, ese thread se pierde pero habrá otro ejecutandose q aprovechará en parte la CPU. Tal vez por esta razón, implementar el HT en la arquitectura del Athlon, con su pipeline de 10 etapas, no obtendría resultados comparables a los del PIV, claro que el athlon tb tiene otras ventajas.... pero esto no son más que conjeturas mias
Por último, y ya acabo con el rollo q estoy soltando :D, creo q la mayor virtud del HT es q consigue una mejora significativa del rendimiento aumentando tan solo un 5% el area del procesador...
asi q entre tenerlo y no tenerlo pues q lo tenga
Saludos
-
La tecnología Hyper-Threading es una forma de tecnología SMT (Simultaneous Multithreading Technology) de tal manera que múltiples Threads de una aplicación Software pueden ser ejecutados simultáneamente en un único procesador.
Esto se consigue duplicando el Architectural State de cada procesador. De esta manera el procesador físico se muestra al sistema como dos procesadores lógicos, pudiendo así un procesador lógico dedicarse a ejecutar una operación de coma flotante mientras el segundo procesador lógico puede ejecutar operaciones de carga y suma.
En la familia de procesadores Intel Xeon con Hyper-Threading los recursos de ejecución estan compartidos por dos Architectural-States o dos procesadores lógicos, y la mayor parte de estos recursos se encuentran en el motor de ejecución rápida y en el subsistema de cache integrada.A continuación pasaremos a describir con brevedad cada uno de los diferentes componentes del HT.
*Fetch & Deliver Engine, es el encargado de buscar las instrucciones desde cada uno de los procesadores lógicos alternando la búsqueda y enviar la instrucción al Rapid Execution engine. En el nivel de cache L1 se alternan cada una línea es asignada a un procesador lógico y la otra línea al segundo procesador lógico, esto es así mientras los dos procesadores necesiten acceder a la cache de ejecución, en caso contrario, si uno solo de los procesadores lógicos tiene que acceder a la cache de ejecución utilizara todo el ancho de banda.
*Rapid Ejecución Engine, es el encargado de extraer las instrucciones de las colas de instrucciones y enviarlas hacia las unidades de ejecución lo mas rápidamente posible, según las dependencias de otras instrucciones y la posibilidad de uso de las unidades de ejecución. Cabe la posibilidad de que se ejecuten instrucciones out-of-order. Para esto existe un scheduler, este no distingue entre instrucciones, su única función es hacer un índice de las colas de instrucciones.
*Integrated Cache Subsystem. Este sistema se encarga de ofrecer datos e instrucciones al core del procesador a una alta velocidad, La cache esta compartida por ambos procesadores lógicos, de tal manera que ambos pueden compartir los datos albergados en la misma, que esta diseñada para ofrecer un alto potencial de asociabilidad entre procesadores lógicos, minimizando la posibilidad de la existencia de conflictos entre estos a la hora de acceder a la cache
*Recorder and Retire Block, este bloque es el encargado de ordenar las instrucciones ejecutadas out-of-order en su correcta posición dentro del programa.
*Bus de sistema. El bus de sistema de 400Mhz esta diseñado para incrementar el throutput del multi-proceso y para mejorar el ancho de banda de acceso a memoria para el Hyper-Threading ofreciendo una ancho de banda total de 3.2GB/s.Siento el rollo si alguno tiene mas interes me prepare un curso de esto para impartirlo a unos clientes y tengo un cojon de informacion..