By: RichardC (tich.delete@this.pobox.com), May 14, 2013 5:40 pm
Room: Moderated Discussions
Maynard Handley (name99.delete@this.name99.org) on May 14, 2013 5:02 pm wrote:
> RichardC (tich.delete@this.pobox.com) on May 14, 2013 1:09 pm wrote:
> > Ricardo B (ricardo.b.delete@this.xxxxx.xx) on May 14, 2013 12:50 pm wrote:
> >
> > > So, the question remains: which are the common applications that make you want to spend every
> > > last bit of CPU transistor budget on single thread performance and cleave SMT away?
> >
> > I answered that upthread: give me a 4C/4T (or maybe even a 3C/3T) that is
> > blindingly fast for rendering web pages, text editing, word processing, and
> > moving windows around. [And put it together with an SSD, a fast network, and
> > a couple of 2560x1440 monitors].
> >
>
> You seem to be under the delusion that it would be trivial to run cores at 4x their
> current frequency, or to triple their IPC, if we only got rid of that damn SMT.
> Please explain EXACTLY how this will happen --- something a little more sophisticated than
> "well, you get rid of these buffers and those interlocks, voila, you have an 8GHz CPU".
I'm not under that delusion at all. In fact, since SMT, when everything lines up
just right, delivers about a 1.6x increase in throughput, it's a pretty safe bet
that taking it out wouldn't make the cores go 1.6x faster. Intel isn't as dumb as that.
My point is that on a modern 4C desktop/laptop, the SMT support for 8T never gets used
at all (or hardly ever gets used for anything that actually matters). We've had a
pretty long thread here, and people have suggested lots of things that look like they
might be a good fit for SMT, and then it turns out most of them either don't actually
go faster with SMT, or else they have the right kind of parallelism but they're
important enough that they're already done by more specialized hardware (GPU, video
transcode, encryption).
If it never gets used at all, then the cost of not having it would be (very close to)
zero. And in that case, if the benefit of not having it is greater than zero, then
it would be better not to have it (and I'm talking about the narrow technical sense
of which machine I'd rather be using, not the wider sense of what works for Intel's
business model and the whole marketplace). It seems plausible to me that a non-SMT
core might be 2% or maybe even 5% faster. It is not at all plausible that it would be
30% faster. But given the way people pay for small frequency increases, e.g.
3.2GHz to 3.4GHz, it seems a slightly-faster-clocked core is actually rather
desirable.
In the big picture, SMT is valuable to the whole market because it allows cheap 1C's
to have 2T responsiveness and better throughput; and it allows servers to have high
throughput *and* also good single-thread performance under light load. It's a good
thing overall. I'm making the rather narrow point that it's not very useful on
today's typical client systems (4C) with today's client workloads.
So enough with the strawmen already.
> RichardC (tich.delete@this.pobox.com) on May 14, 2013 1:09 pm wrote:
> > Ricardo B (ricardo.b.delete@this.xxxxx.xx) on May 14, 2013 12:50 pm wrote:
> >
> > > So, the question remains: which are the common applications that make you want to spend every
> > > last bit of CPU transistor budget on single thread performance and cleave SMT away?
> >
> > I answered that upthread: give me a 4C/4T (or maybe even a 3C/3T) that is
> > blindingly fast for rendering web pages, text editing, word processing, and
> > moving windows around. [And put it together with an SSD, a fast network, and
> > a couple of 2560x1440 monitors].
> >
>
> You seem to be under the delusion that it would be trivial to run cores at 4x their
> current frequency, or to triple their IPC, if we only got rid of that damn SMT.
> Please explain EXACTLY how this will happen --- something a little more sophisticated than
> "well, you get rid of these buffers and those interlocks, voila, you have an 8GHz CPU".
I'm not under that delusion at all. In fact, since SMT, when everything lines up
just right, delivers about a 1.6x increase in throughput, it's a pretty safe bet
that taking it out wouldn't make the cores go 1.6x faster. Intel isn't as dumb as that.
My point is that on a modern 4C desktop/laptop, the SMT support for 8T never gets used
at all (or hardly ever gets used for anything that actually matters). We've had a
pretty long thread here, and people have suggested lots of things that look like they
might be a good fit for SMT, and then it turns out most of them either don't actually
go faster with SMT, or else they have the right kind of parallelism but they're
important enough that they're already done by more specialized hardware (GPU, video
transcode, encryption).
If it never gets used at all, then the cost of not having it would be (very close to)
zero. And in that case, if the benefit of not having it is greater than zero, then
it would be better not to have it (and I'm talking about the narrow technical sense
of which machine I'd rather be using, not the wider sense of what works for Intel's
business model and the whole marketplace). It seems plausible to me that a non-SMT
core might be 2% or maybe even 5% faster. It is not at all plausible that it would be
30% faster. But given the way people pay for small frequency increases, e.g.
3.2GHz to 3.4GHz, it seems a slightly-faster-clocked core is actually rather
desirable.
In the big picture, SMT is valuable to the whole market because it allows cheap 1C's
to have 2T responsiveness and better throughput; and it allows servers to have high
throughput *and* also good single-thread performance under light load. It's a good
thing overall. I'm making the rather narrow point that it's not very useful on
today's typical client systems (4C) with today's client workloads.
So enough with the strawmen already.