The return of hyper threading - Any benefit to TG2?

Started by reck, October 21, 2008, 05:13:24 PM

Previous topic - Next topic

reck

I was reading about these new intel chips, the Core i7. Apparently they (intel) have reintroduced hyper threading to these cpu's so you can split each cpu into 2. Therefore if you have a 4 core i7 you could have 8 threads running. How would this run with Terragen 2? Would it be best to restrict it to the 4 "proper" cores or would you see a benefit using hyper threading and assigning 8 threads?

PG

Well as Oshyan has said, the more cores you have to split instructions between, the more overhead you have to process as a result. So unless you have a very complex scene it would just end up being detrimental to the rendering process and you'd end up having longer renders.
Figured out how to do clicky signatures

reck

So adding more cores/threads will actually slow down the render? I'd heard that was the case but didn't think it was a problem till you wanted to use 16 or more cores, i'm only talking about using 4-8 cores.


In that case I wonder what the ideal number of cores is before it starts slowing down?

jo

Hi reck,

Adding more threads can slow things down more so with hyperthreading than if you have proper cores, which is what PG is talking about. If you do a search for hyperthreading you should come across posts describing why hyperthreading can cause things to slow down.

There is a point where the number of threads can cause things to slow down even with real cores due to the threading overhead. On the Mac it seems anything after 4 cores starts to slow down. I believe the Windows version scales better and can run well up to 8 cores, but I'm not certain about that.

Regards,

Jo

reck

I see, it looks like I've been taken in by Intels marketing regarding hyperthreading then. If hyperthreading can slow things down it's actually having the opposite effect to what I thought it might do. Maybe it's more useful in other applications but I would have thought 3d modelling would have been a good candidate for this sort of thing.

PG

depending on the cache size, it's more designed for instruction word lengths that the processor is designed for, e.g. if you have a 64 bit processor then a hyperthreaded processor would simply divide this in twain. Cuts out most of the overhead. TG2 has to double up on instruction words to fill a 64 bit processor at the moment and that has huge costs. If you have to do that for every processor then it just gets bogged down in "paperwork". For a hyperthreaded processor, the extra cores are only hypothetical, in reality you still have 1 core doing 1 thing at a time but taking advantage of cycles that would not normally be used, e.g. missread instructions from the cache.
Figured out how to do clicky signatures

pagan

I have intel core 2 quad CPU Q9450 2.66GHz running on vista 32bit
what should I set my max/min threads at?

PG

Figured out how to do clicky signatures

teksurgical1

I'm running on an 8 core Mac Pro, with 3GHz Xeon processors.  I had been rendering at the default with 16 thread maximum and 1 minimum.  Over the last week I have been rendering at 2 threads max because it seriously cuts my render times.  A  preview image I rendered as an example took 1:14s with max threads at 4.  Reducing it to max threads 2, it took only 33 seconds.  With default 16 thread max it took 2:45s.  The size of the subdivision cache is 1200mb.  Yeah its a little disheartening to see Activity Monitor not completely filled on all 8 levels like Maya would do for instance, but in the end time is the real test and limiting max threads to 2 is basically my new way of life

Oshyan

Supposedly Intel has improved "hyperthreading" on the Corei7, but as others have said it is still not nearly the equivalent of additional *real* cores. Considering TG2's sensitivity to overhead with multiple cores, I think it's best to limit to using only "real" cores with TG2. As far as Mac multithreaded performance, that's definitely an area we need to work on.

- Oshyan