By: RichardC (tich.delete@this.pobox.com), May 12, 2013 12:36 am
Room: Moderated Discussions
Ricardo B (ricardo.b.delete@this.xxxxx.xx) on May 11, 2013 6:55 pm wrote:
> ... but it hasn't anything to do with clients vs servers.
> Saying "SMT is for servers" is a gross oversimplification of the reality of SMT.
> Ie, if you have a "server application" which is highly threaded but high also IPC application, SMT hurts.
True. It's not black and white. But it's very dark gray and off-white: probably
90% of server workloads benefit from SMT, and 95% of laptop/desktop workloads don't.
> That line of reasoning is a slippery slope.
> One could also argue that most desktop/laptops aren't running CPU constrained applications anymore.
>
> And if you're going to argue most of these applications aren't multi-threaded,
> then you're also arguing against multi-core CPUs.
True. Which may be why people are buying so many more smartphones and tablets
than PCs now. 2C/2T does quite well.
> Your entire line of thought it based on one wrong premise: "SMT is of use for servers but not for clients".
So tell me what commonly-used client app (or workload) benefits from SMT ?
> You could argue that.
> But you could also argue that, since many client applications aren't multi-threaded,
> it would be interesting to see what Intel could do if they designed a CPU with
> just 1 or 2 cores under the same power budget as the current 4 core ones.
Yes, that would be interesting too.
>
> But that's a skewed view, you're missing the global picture.
> This is the situation in terms of client CPUs:
> 1. Client CPUs need to have fat cores. They need these fat cores to provide the maximum performance on single
> threaded applications, which is still a very important use case for clients, more than on servers.
>
> 2. At the same time, clients have an increasing number of those fat cores, because single thread improvements
> have become very hard. Exploiting those multiple cores obviously requires multi-threaded software.
Actually, I don't see "increasing numbers of cores". We seem to be settling down
at 2C for the low end, and 4C for mid-high.
>
> So, in summary, clients want CPUs with multiple fat cores and multi-threaded software to exploit them.
>
> But lots of client (or not) software is actually low IPC and makes poor use of the fat cores.
> Therefore, if you have a CPU with multiple fat cores... adding SMT
> is a no-brainer that will benefit more use cases than not.
> Clients or servers.
No, because most of the apps aren't effectively multi-threaded (or not threaded
in a way that scales beyond 4 threads).
> ... but it hasn't anything to do with clients vs servers.
> Saying "SMT is for servers" is a gross oversimplification of the reality of SMT.
> Ie, if you have a "server application" which is highly threaded but high also IPC application, SMT hurts.
True. It's not black and white. But it's very dark gray and off-white: probably
90% of server workloads benefit from SMT, and 95% of laptop/desktop workloads don't.
> That line of reasoning is a slippery slope.
> One could also argue that most desktop/laptops aren't running CPU constrained applications anymore.
>
> And if you're going to argue most of these applications aren't multi-threaded,
> then you're also arguing against multi-core CPUs.
True. Which may be why people are buying so many more smartphones and tablets
than PCs now. 2C/2T does quite well.
> Your entire line of thought it based on one wrong premise: "SMT is of use for servers but not for clients".
So tell me what commonly-used client app (or workload) benefits from SMT ?
> You could argue that.
> But you could also argue that, since many client applications aren't multi-threaded,
> it would be interesting to see what Intel could do if they designed a CPU with
> just 1 or 2 cores under the same power budget as the current 4 core ones.
Yes, that would be interesting too.
>
> But that's a skewed view, you're missing the global picture.
> This is the situation in terms of client CPUs:
> 1. Client CPUs need to have fat cores. They need these fat cores to provide the maximum performance on single
> threaded applications, which is still a very important use case for clients, more than on servers.
>
> 2. At the same time, clients have an increasing number of those fat cores, because single thread improvements
> have become very hard. Exploiting those multiple cores obviously requires multi-threaded software.
Actually, I don't see "increasing numbers of cores". We seem to be settling down
at 2C for the low end, and 4C for mid-high.
>
> So, in summary, clients want CPUs with multiple fat cores and multi-threaded software to exploit them.
>
> But lots of client (or not) software is actually low IPC and makes poor use of the fat cores.
> Therefore, if you have a CPU with multiple fat cores... adding SMT
> is a no-brainer that will benefit more use cases than not.
> Clients or servers.
No, because most of the apps aren't effectively multi-threaded (or not threaded
in a way that scales beyond 4 threads).