By: Jouni Osmala (josmala.delete@this.cc.hut.fi), December 8, 2014 3:47 pm
Room: Moderated Discussions
> > I'm assuming that 90+% of programs already run fast enough and they don't matter for this.
> > Its all about asking question in what use current computers are too slow , and can you parallerize
> > that or are those cases already parallel. And I'm assuming you can parallerize atleast 10%
> > of those times where user waits CPU for long enough to actually notice it.
>
> What's the advantage?
>
> You won't get scaling for much longer, and current trends are actually for lower power anyway. So what's the
> upside of pushing the whole parallelism snake-oil? We know that we need fairly complex OoO CPU's anyway, because
> people want reasonable performance and it turns out OoO is actually more efficient than slow in-order.
There is enough scaling left to turn somewhat better than current high end xeons to client CPU:s . Especially when stacked dram becomes standard and L3 cache becomes redundant due to lower latency on main memory, and there would be enormous bandwidth available to CPU:s.
> The whole "let's parallelize" thing is a huge waste of everybody's time. There's this huge
> body of "knowledge" that parallel is somehow more efficient, and that whole huge body is pure
> and utter garbage. Big caches are efficient. Parallel stupid small cores without caches are
> horrible unless you have a very specific load that is hugely regular (ie graphics).
On arm front highly parallel world may become reality, on Intel world its more like having 16 core client where each core is slightly MORE powerful than current core , and servers probably have 60 of same cores but having lower base frequency and higher power budget.
> Nobody is ever going to go backwards from where we are today. Those complex OoO cores aren't going away.
I'm talking about diminishing return's on going beyond where those complex OoO cores are right now. And there is enough scaling left to go for 16+ cores of similar complexity of current high end cores with added wider vector unit.
> Where the hell do you envision that those magical parallel algorithms would be used?
>
> The only place where parallelism matters is in graphics or on the server side,
> where we already largely have it. Pushing it anywhere else is just pointless.
I'm considering compiling large programs with multiple files, running large excel simulations, laying out large documents with multiple chapters, designing buildings and zoning, machine engineering... Its where employees spend their time waiting computer to finish calculating something, or hobbyist doing same things.
> So give up on parallelism already. It's not going to happen. End users are fine with roughly
> on the order of four cores, and you can't fit any more anyway without using too much energy
> to be practical in that space. And nobody sane would make the cores smaller and weaker in order
> to fit more of them - the only reason to make them smaller and weaker is because you want to
> go even further down in power use, so you'd still not have lots of those weak cores.
My point was you cannot really do much more powerful x86 core , and if you want more performance the parallerism is only direction to go, and scaling trends give us enough to go for 16 cores on client.
> > Its all about asking question in what use current computers are too slow , and can you parallerize
> > that or are those cases already parallel. And I'm assuming you can parallerize atleast 10%
> > of those times where user waits CPU for long enough to actually notice it.
>
> What's the advantage?
>
> You won't get scaling for much longer, and current trends are actually for lower power anyway. So what's the
> upside of pushing the whole parallelism snake-oil? We know that we need fairly complex OoO CPU's anyway, because
> people want reasonable performance and it turns out OoO is actually more efficient than slow in-order.
There is enough scaling left to turn somewhat better than current high end xeons to client CPU:s . Especially when stacked dram becomes standard and L3 cache becomes redundant due to lower latency on main memory, and there would be enormous bandwidth available to CPU:s.
> The whole "let's parallelize" thing is a huge waste of everybody's time. There's this huge
> body of "knowledge" that parallel is somehow more efficient, and that whole huge body is pure
> and utter garbage. Big caches are efficient. Parallel stupid small cores without caches are
> horrible unless you have a very specific load that is hugely regular (ie graphics).
On arm front highly parallel world may become reality, on Intel world its more like having 16 core client where each core is slightly MORE powerful than current core , and servers probably have 60 of same cores but having lower base frequency and higher power budget.
> Nobody is ever going to go backwards from where we are today. Those complex OoO cores aren't going away.
I'm talking about diminishing return's on going beyond where those complex OoO cores are right now. And there is enough scaling left to go for 16+ cores of similar complexity of current high end cores with added wider vector unit.
> Where the hell do you envision that those magical parallel algorithms would be used?
>
> The only place where parallelism matters is in graphics or on the server side,
> where we already largely have it. Pushing it anywhere else is just pointless.
I'm considering compiling large programs with multiple files, running large excel simulations, laying out large documents with multiple chapters, designing buildings and zoning, machine engineering... Its where employees spend their time waiting computer to finish calculating something, or hobbyist doing same things.
> So give up on parallelism already. It's not going to happen. End users are fine with roughly
> on the order of four cores, and you can't fit any more anyway without using too much energy
> to be practical in that space. And nobody sane would make the cores smaller and weaker in order
> to fit more of them - the only reason to make them smaller and weaker is because you want to
> go even further down in power use, so you'd still not have lots of those weak cores.
My point was you cannot really do much more powerful x86 core , and if you want more performance the parallerism is only direction to go, and scaling trends give us enough to go for 16 cores on client.