XSIforum.com

Foros no 3D => Hardware => Mensaje iniciado por: Ownage en 15 Febrero 2014, 20:16:26

Título: hyperthreating
Publicado por: Ownage en 15 Febrero 2014, 20:16:26
Alguen me podria aclarar que es y como afecta a mi trabajo el hyperthreating??

por lo que se hace que ciertos procesadores intel dupliquen el numero de cores, pero que programas lo soportan??
como se que esta activado?? como se que pocesadores pueden soportarlo??
Título: Re:hyperthreating
Publicado por: Cesar Saez en 16 Febrero 2014, 00:51:04
Es la tecnología de Intel para mejorar el paralelismo en sus procesadores (2 unidades lógicas por cada unidad física), tiene que ver con que a nivel de cpu las instrucciones se ejecutan en hilos/threads de forma paralela (cuando no son dependientes entre si) mejorando el rendimiento global.

Hay casos concretos en que los programas pueden tomar control sobre como se ejecutan sobrescribiendo el comportamiento por defecto según conveniencia, por ejemplo es bastante común que se procese la interfaz gráfica en un hilo mientras hacen otro tipo de trabajo 'de fondo' y así no se bloquea el sistema a la mínima, o por ejemplo los renderers suelen calcular distintas partes de la imagen en distintos hilos... cosas asi.

Como usuario no es mucho lo que puedes hacer, es algo a nivel de hardware y no tendrías que preocuparte de ello :)
Título: Re:hyperthreating
Publicado por: Ownage en 16 Febrero 2014, 00:57:22
asi que en el windows task manager si tengo un i7 no deberian aparecer 14 nucleos no?? solo que a la hora de calular el render "simulatia" que habria 14?
Título: Re:hyperthreating
Publicado por: Cesar Saez en 16 Febrero 2014, 01:07:05
No, esto va a bajo nivel, rollo hardware/bios y tal... el hyper threading 'engaña' al sistema operativo virtualizando 2 threads/hilos por cada core. Es la forma en que está montado el hardware en si, no es algo a nivel de software que puedas aumentar/disminuir.
En wikipedia puedes encontrar una definición formal... pero vamos, es más o menos lo que te he dicho.

tl;dr: Quad Core + HT -> 4 procesadores físicos que gracias al HT se traducen en 8 hilos/thread para el sistema.
Título: Re:hyperthreating
Publicado por: eduardito en 16 Febrero 2014, 12:57:17
Es un engañabobos,4 cores fisicos dan lo que dan, por mucho hyperthteading tenga.
Título: Re:hyperthreating
Publicado por: povmaniaco en 17 Febrero 2014, 20:32:18
Es un engañabobos,4 cores fisicos dan lo que dan, por mucho hyperthteading tenga.

Me ha hecho gracia el tono de la respuesta.. pero tiene mucha razon.
Mi última prueba, hecha con Mitsuba y usando el HT:
Código: [Seleccionar]
2014-02-17 20:19:05 INFO  rend [SamplingIntegrator] Starting render job (640x480, 64 samples, 4 cores, SSE2 enabled) ..
2014-02-17 20:20:44 DEBUG rend [HDRFilm] Developing film ..
2014-02-17 20:20:44 INFO  rend [HDRFilm] Writing image to "H:\pyshader\modes\Mitsuba/resources\matpreview.exr" ..
2014-02-17 20:20:44 DEBUG rend [Bitmap] Writing a 640x480 OpenEXR file
2014-02-17 20:20:44 INFO  rend [RenderQueue] Render time: 1.6517m
2014-02-17 20:20:44 DEBUG rend [Thread] Thread "rend" has finished
2014-02-17 20:21:43 DEBUG wrk1 [Thread] Thread "wrk1" has finished
2014-02-17 20:21:43 DEBUG wrk0 [Thread] Thread "wrk0" has finished
2014-02-17 20:21:43 DEBUG wrk2 [Thread] Thread "wrk2" has finished
2014-02-17 20:21:43 DEBUG wrk3 [Thread] Thread "wrk3" has finished
2014-02-17 20:21:43 DEBUG main [Thread] Spawning thread "wrk0"
2014-02-17 20:21:43 DEBUG main [Thread] Spawning thread "wrk1"
2014-02-17 20:21:46 DEBUG main [Thread] Spawning thread "rend"
2014-02-17 20:21:46 INFO  rend [SamplingIntegrator] Starting render job (640x480, 64 samples, 2 cores, SSE2 enabled) ..
2014-02-17 20:23:25 DEBUG rend [HDRFilm] Developing film ..
2014-02-17 20:23:25 INFO  rend [HDRFilm] Writing image to "H:\pyshader\modes\Mitsuba/resources\matpreview.exr" ..
2014-02-17 20:23:25 DEBUG rend [Bitmap] Writing a 640x480 OpenEXR file
2014-02-17 20:23:25 INFO  rend [RenderQueue] Render time: 1.6429m

Mi pc es un Core2 Duo, osea, tiene 2 procesadores.
Como vereis, con 4 threads, incluso ha tardado unos segundos más, supongo que los que ha necesitado para lanzar 2 'hilos' extra..:)

Saludos..
Título: Re:hyperthreating
Publicado por: Ownage en 18 Febrero 2014, 13:20:54
eso si que escuche... que para renders y estas cosas era mejor un dual core quad que un i5 puede que sea por esto?? que el dual core quad tiene 4 cores y el i 5 2 + 2 simulados¿
Título: Re:hyperthreating
Publicado por: povmaniaco en 18 Febrero 2014, 19:33:06
Apostaria a que es eso.. donde este un 'core' fisico siempre sera más potente, creo yo.
Título: Re:hyperthreating
Publicado por: Cesar Saez en 18 Febrero 2014, 20:16:49
eso si que escuche... que para renders y estas cosas era mejor un dual core quad que un i5 puede que sea por esto?? que el dual core quad tiene 4 cores y el i 5 2 + 2 simulados¿
Que yo sepa no existe/se-usa el término dual core quad... el nombre va en relación al número de cores y suele ser bastante explícito (dual=2, quad=4, hexa=6, octo=8).
La diferencia entre un dual core y un quad core pasa por el numero de cores y no por la eficiencia del HT (que por cierto, viene incluido en ambos procesadores).

Dicho esto, hay que recalcar que un quad core con HT no es ni de coña equivalente a un octa core sin HT (o un dual+HT a un quad), se estima que cada thread adicional es equivalentes a un 15~20% de un thread "real" (lo que es una mejora sustancial pero no hay que dejarse engañar por el monitor de recursos del SO).
Título: Re:hyperthreating
Publicado por: Ownage en 18 Febrero 2014, 22:52:30
http://ark.intel.com/products/75122

http://ark.intel.com/products/65509

entonces.. la diferencia entre este i7 y el i5 es simplemente que los dos tienen 4 cores pero al i7  le permiten hiperthreat y solo gana un 15-20% mas????
Título: Re:hyperthreating
Publicado por: Cesar Saez en 19 Febrero 2014, 00:36:15
No tio, no sé si me estoy expresando mal o que pero no entiendo de donde sacas esas conclusiones... las diferencias son las que cita en la propia página (8M cache vs 6M, 3.9Ghz vs 3.2Ghz, Quad+HT vs quad, etc).
Título: Re:hyperthreating
Publicado por: Epar en 19 Febrero 2014, 01:23:56
Como dice César, el hyperthreating solo emula un duplicado del core, por lo que ofrece un incremento de un 15 o 20%, lo cual es siginifciativo sin duda, pero nunca se puede comparar a un core fisico.
En otras palabras, 4 cores sin hyperthreating corren mas que un dual con hyperthreating.
Simple y logico, o no?

(y quiero un 8 cores con hyperthreating, para reyes del año que sea,..:XDDD)
Título: Re:hyperthreating
Publicado por: Ownage en 19 Febrero 2014, 01:32:43
pero el i5 mostrado en la ficha anterior, tiene 4 cores con 4 threads y el i7 4 cores con 8 threads (hyperthreating)

esto dice que el i7 solo es un 15, 20% mas potente que un i5?? eso es lo que quiero decir....

segun la ficha y dejando de banda el clock y el cahce):

i5=
# of Cores    4
# of Threads    4
hyperthreating technology- no

i7=
# of Cores    4
# of Threads    8
hyperthreating technology- yes

quizas lo este entendiendo fatal eh...
Título: Re:hyperthreating
Publicado por: Epar en 19 Febrero 2014, 02:11:03
Es que estas comparando dos cores diferentes, tecnologia diferente y potencia diferente.
Olvidate del i5 si vas por un i7. Es como comparar un P4 con un CoreDuo.
El hyperthreating es un complemento, si tu procesador lo tiene sabes que tendrás un 20% mas de potencia, solo eso.
Por si acaso: el i5 es anterior al i7.
Título: Re:hyperthreating
Publicado por: Ownage en 19 Febrero 2014, 17:44:49
aizz... yo aqui haciendo de una piedra una montaña

hehehe esque cuando se me cursan los cables se me crusan :)

me quedo con lo de tecjnologias distintas y ya puedo dormir tranquilo