By: mpx (mpx.delete@this.nomail.pl), May 12, 2013 12:04 pm
Room: Moderated Discussions
Doug S (foo.delete@this.bar.bar) on May 11, 2013 10:49 am wrote:
>
> Why would Google have to introduce anything? Linux has good support for CPUs with
> >1 thread/core,
It's about supporting cores with different number of threads changing dynamically during runtime. I don't think Android supports this (perhaps Linux for Power 7 - does it support switching between SMT1/SMT2/SMT4 modes?).
2-way SMT, like in Intel processors, is easy for programmers, as each logical processor is fast enought to still be treated just like a physical CPU by a software. A logical processor physically being a thread in 8-way SMT is just to slow for software to make such assumption. Software optimized for full-speed cores is going to choke in such cases. Thus a need for a special API that would inform OS that this piece of software is optimized for high-ipc and incompatible with multi-way SMT.
> What the hell would people be doing on their phone that they need
> 8 threads?
A general characteristics of CPU - memory is high-latency - is the main driver for SMT. Smaprthones of the past were less bothered by it because of sub-1GHz frequencies. Now, with frequencies approaching 2GHz they would benefit from SMT more.
The second driver might be a huge cost competition among low-end smartphones. SMT can provide best performance / cost ratio compared to the expansive option of adding more cores.
>
> Why would Google have to introduce anything? Linux has good support for CPUs with
> >1 thread/core,
It's about supporting cores with different number of threads changing dynamically during runtime. I don't think Android supports this (perhaps Linux for Power 7 - does it support switching between SMT1/SMT2/SMT4 modes?).
2-way SMT, like in Intel processors, is easy for programmers, as each logical processor is fast enought to still be treated just like a physical CPU by a software. A logical processor physically being a thread in 8-way SMT is just to slow for software to make such assumption. Software optimized for full-speed cores is going to choke in such cases. Thus a need for a special API that would inform OS that this piece of software is optimized for high-ipc and incompatible with multi-way SMT.
> What the hell would people be doing on their phone that they need
> 8 threads?
A general characteristics of CPU - memory is high-latency - is the main driver for SMT. Smaprthones of the past were less bothered by it because of sub-1GHz frequencies. Now, with frequencies approaching 2GHz they would benefit from SMT more.
The second driver might be a huge cost competition among low-end smartphones. SMT can provide best performance / cost ratio compared to the expansive option of adding more cores.