Adventures in Hyperthreading - now with STEREO SOUND!!!

preview_player
Показать описание


Re-upload with fixed audio! Thanks for letting me know all :)

This video is in response to a question from a viewer. We explore hyperthreading and see how we can get the most out of it within our apps.

Thanks all, have a good one :)

Music:
Mozart, W.A. Clarinet Concerto Mvt. 2 K. 622
University Symphony Orchestra; Abraham Kaplan, conductor; William McColl, basset clarinet, using an instrument of his own construction.

Agner Fog Instruction Tables:

Рекомендации по теме
Комментарии
Автор

Mozart Clarinet Concerto.

Aussie content.

Hyperthreading.

Never thought I'd see all three in one video, but now I've died and gone to heaven.

PlayerClarinet
Автор

The first upload counts as speculative execution ;)

plantwateringcitizen
Автор

SMT = Simultaneous Multi Threading. Great video.

anilchandra
Автор

Pointer chasing with some compute is where the HT shines. One of the threads stalls on the memory, then the other can do its compute part and vice versa. In general the pipeline stall is where the HT should help. Max benefit from of HT saw is 1.7x in very carefully thought and well written tree traversal. Compute part was almost equal to memory latency. Beautiful code.

SebastianSzkoda
Автор

Impeccable music taste ... A man of culture and ability at once!

Physwe
Автор

I love the video style, the backgrounds of some nice places, and text floating, something really unique never seen! :D

hariranormal
Автор

Been waiting for the next video :P Interesting stuff. Cheers from Poland

babciaprowadzacego
Автор

Great, informative, and easy to follow as always. Thank you Chris. Cheers ;)

mohandeszalatan
Автор

Thanks, Creel! This is some great analysis. Always good to see your work.

aihtdikh
Автор

Any day you release a new video is a good day :)
Oh! and I thought of another topic that might be interesting, The burrows wheeler transform might be interesting :)

markmanning
Автор

Nice Video, really illustrates the concept :)

kcbsuiejd
Автор

I was just wondering about this yesterday, cheers

GNARGNARHEAD
Автор

Your Creelness, many thanks for taking this thourough expedition through the topic, needed a second to grock it all.
So the takeaway would be unless you have mixed workloads of similar size, stay away from hyperthreading (6:51) But isn't this the CPU putting both these hyperthreads on the same cores? So effectively using only 2 cores instead of the 4 of the non-HT version? Can you tell from the task manager?

gert-janvanderkamp
Автор

Guess who's back
Back again
Creel's back
Tell a friend
Guess who's back, guess who's back
Guess who's back, guess who's back
Guess who's back, guess who's back
Guess who's back

-P
Автор

I had assumed hyperthradong was only compensating for L1 misses, didn't know it could do this much!

Mozartenhimer
Автор

I have a project where I want to see how well I can optimize it, and as part of that I'm parallelizing it. Now I'm really curious to see if writing integer and floating point versions of the same code and splitting the threads between them will see any performance increase. I'm especially interested because it's written in java (cause it derives from a CS assignment) - JIT is really powerful so I think it'll see enough native execution to benefit from stuff like this, but we'll see.

mekafinchi
Автор

It would be interesting if you would compare those two workloads fused together on the same thread and see if there are any benefits of manually changing code versus just spawning another thread and let hyperthreading do the rest of the work.

leonstok
Автор

What processor were these tests run on? I would think that if you have 8 full cores then there should be almost linear scaling in the mixed workload with OS scheduling because everything would have it's own core. If the processor is only maybe 4 cores then it makes sense that hyperthreading would be faster.

realGeobor
Автор

Found the data presentation a bit confusing tbh, but still interesting

cwbh
Автор

why does adding a 3rd hyperthread (thread #2) not increase work to 2.0 but only to 1.5?

SKglitches
visit shbcf.ru