By: Maynard Handley (name99.delete@this.name99.org), August 15, 2014 4:41 pm
Room: Moderated Discussions
David Kanter (dkanter.delete@this.realworldtech.com) on August 15, 2014 3:01 pm wrote:
> juanrga (nospam.delete@this.juanrga.com) on August 15, 2014 11:39 am wrote:
> > David Kanter (dkanter.delete@this.realworldtech.com) on August 15, 2014 9:41 am wrote:
> >
> > > I also am skeptical that anyone can match Intel in performance while trailing behind by a node. To do that,
> > > it is necessary to offer a very different product with a
> > > different system architecture. E.g., target workloads
> > > where cache does not help and simply slap down more memory controllers and cores (hint: that's a GPU!).
>
> > The ISA advantage will be greatly reduced in the top-end
> > side of the performance spectrum, but will not vanish.
> > Keller mentioned during Core Day conference that his K12
> > core will have a "bigger engine" than its x86 sister
> > thanks to the advantages of ARMv8 over x86-64, which allows to spend more transistors on compute.
>
> I happen to know the differences between those two designs. I'm not really sure it's
> going to translate into a significant performance delta. My guess is maybe 10%.
10% is two years of Intel's current 5% improvement a year.
Maybe that's why there's so much disagreement here? Some of us see "two years" and think that's massive, some of us see "10%" and think that's nothing?
..
I don't want to get involved in the fight over whether various forthcoming ARM64 CPUs are "real" or "servers", but I do get the feeling that most of the vitriol is being generated as a result of miscommunication.
In particular, I get the feeling that the x86 partisans have a particular model in mind for what a "server" IS, and are vociferous that nothing in the ARM camp meets that definition. (Of course it doesn't, if the definition includes "runs x86 code", but what we're seeing is more subtle than that. The expectation is that a server is a certain type of box, running certain types of code, with certain types of IO, costing a certain amount, and being sold to a certain type of customer. )
On the other hand, the ARM proponent are trying to be a lot more catholic in their tastes. They see a "server" as a much more generic term, and see everywhere they look, jobs that could be done perfectly well with boxes that are cheap, that don't demand particular RAS features, that can run fairly generic software, that can be unbalanced in various ways (whether it's amount of RAM, or RAM bandwidth, or IO or whatever). They see a world which needs ever more CDNs, ever more memcached boxes, maybe boxes that sit between IPv6 and IPv4 networks and translate between them, maybe boxes that do nothing but scan twitter feeds looking for keywords and correlating activity, etc etc.
Point is, they see a world of computing tasks to be done, and which can be done adequately, and a lot more cheaply, on various models of these upcoming ARM "server" SoCs. In many ways this is no different from the point in the mid-90's where first Google and then a few other internet companies made a big deal about the fact that they did not need (and were not prepared to pay) for "server" quality hardware --- they were quite happy to put together boxes that did what they needed and did not do a damn thing more.
The frustration arises because the pro-x86 people appear to refuse to engage with this possibility
(I'd draw an analogy to gaming, where the types of people who play a particular type of game game on souped up $3000 rigs simply will not accept that playing a game on your iPhone or Android tablet counts as gaming in any "real" sense --- and thus are mostly blind to how the world around them is changing.
One can understand their anger/fear --- the sooner the world is content with that sort of gaming, the sooner the world will stop manufacturing, at least at prices and in form factors that are useful to gamers, the types of GPUs that hardcore gamers utilize. But pretending the world is not changing because you don't want it to has never served anyone well.)
..
Finally, over the past three months or so, something appears to have broken on this board.
The way I see it, the value (and joy) of this forum is that people can throw out ideas and have them critiqued. Some of the ideas we throw out will be flawed --- and with luck the arguments presented against them will convince us. Some of the ideas we throw out will be undecidable, at least for now, but hopefully we'll all learn something as they are attacked and defended.
An important point in all this, however, is that just because ideas are presented does not mean that they are strongly held, and does not mean that they need to be attacked like a rabid wolverine. Posts that consists of nothing but "It seems to me plausible, but I could be wrong, that maybe the right thing for Intel to do is..." or "Some people say ARM is like this, but then I've also read it's like that" are difficult and irritating to read. That is not the way you talk to your friends in real life, and it shouldn't (IMHO) have to be the way you talk on a forum like this.
I'd urge everyone on this board to step back a little and reimagine what's happening here as something like a group of EE seniors chatting with each other in the dorm room late at night. We all have interesting FACTS that we can use to bolster arguments. We all have interesting OPINIONS about where things will (and should) go, opinions based on patterns we perceive, on our interpretation of history, on our understanding of the economics and business issues involved. We all have interesting QUESTIONS, some fact based (is this possible? has anyone ever done this), some opinion based (how would you handle this engineering/business problem).
The joy of the conversation is in learning stuff along the way, it's not in "winning" by reducing your opponent to a pulp. Even if your opponent is a fool, in real life the way you would handle that is to explain (once, maybe with one followup) that he is wrong, and then to gently ignore him. Maybe take him aside and explain that his enthusiasm is appreciated but he's not really following dorm etiquette.
EVERYONE needs to understand that the fun, in discussing "does ISA matter; will ARM64 servers take off; these features will definitely (not) be in the A8; etc" is in the first few posts where the initial arguments on each side are made. And EVERYONE needs to appreciate that once each argument has been made twice, it's time to move on. We'll revise the issue in a year when we have a year's more data, but until then nothing is achieved by repeating the same point a third time or more, or switching from technical discussion to impugning motives, ad hominem attacks, and accusations of stupidity/incompetence/lying.
Let me end by giving just one example of all this. A few weeks ago Apple's Cyclone was being discussed. I said, based on my understanding (ie facts, opinions, my personal history), that this seemed like a 4-wide design to me. Reading the subsequence discussion, I've been converted to the opinion that it IS actually a six-wide design. That's valuable; that's how the system should work. I begin with a legitimate (but likely incorrect) opinion, and on seeing various good argument, I change to an opinion that's (likely) closer to correct.
BUT
I've also come to the opinion that the way Apple achieved this is not through a "simple" 6-wide design, but through a clustered design specifically two 3-wide clusters, presumably one basically a full 64-bit version of the Swift execution core, and the other slightly stripped down (missing division/sqrt and maybe various special purpose [OS, atomics, etc] instructions). This, I think, would have been interesting and pleasant for everyone to discuss, but I was reluctant to raise the matter given the unpleasant tone that so much of the discussion had taken.
So that's my attempt to bring things back on track.
September looks likely to be the most interesting CPU month in a long long time. Many people are going to want to say many things about a variety of new devices launching or about to be launched. It would be nice if we all treated what we learn/hypothesize about as entertaining and good-natured ribbing among friends, rather than a match to the death in which every piece of bad news for my tribe has to be crushed, along with those who support it, lest shame befall my god.
> juanrga (nospam.delete@this.juanrga.com) on August 15, 2014 11:39 am wrote:
> > David Kanter (dkanter.delete@this.realworldtech.com) on August 15, 2014 9:41 am wrote:
> >
> > > I also am skeptical that anyone can match Intel in performance while trailing behind by a node. To do that,
> > > it is necessary to offer a very different product with a
> > > different system architecture. E.g., target workloads
> > > where cache does not help and simply slap down more memory controllers and cores (hint: that's a GPU!).
>
> > The ISA advantage will be greatly reduced in the top-end
> > side of the performance spectrum, but will not vanish.
> > Keller mentioned during Core Day conference that his K12
> > core will have a "bigger engine" than its x86 sister
> > thanks to the advantages of ARMv8 over x86-64, which allows to spend more transistors on compute.
>
> I happen to know the differences between those two designs. I'm not really sure it's
> going to translate into a significant performance delta. My guess is maybe 10%.
10% is two years of Intel's current 5% improvement a year.
Maybe that's why there's so much disagreement here? Some of us see "two years" and think that's massive, some of us see "10%" and think that's nothing?
..
I don't want to get involved in the fight over whether various forthcoming ARM64 CPUs are "real" or "servers", but I do get the feeling that most of the vitriol is being generated as a result of miscommunication.
In particular, I get the feeling that the x86 partisans have a particular model in mind for what a "server" IS, and are vociferous that nothing in the ARM camp meets that definition. (Of course it doesn't, if the definition includes "runs x86 code", but what we're seeing is more subtle than that. The expectation is that a server is a certain type of box, running certain types of code, with certain types of IO, costing a certain amount, and being sold to a certain type of customer. )
On the other hand, the ARM proponent are trying to be a lot more catholic in their tastes. They see a "server" as a much more generic term, and see everywhere they look, jobs that could be done perfectly well with boxes that are cheap, that don't demand particular RAS features, that can run fairly generic software, that can be unbalanced in various ways (whether it's amount of RAM, or RAM bandwidth, or IO or whatever). They see a world which needs ever more CDNs, ever more memcached boxes, maybe boxes that sit between IPv6 and IPv4 networks and translate between them, maybe boxes that do nothing but scan twitter feeds looking for keywords and correlating activity, etc etc.
Point is, they see a world of computing tasks to be done, and which can be done adequately, and a lot more cheaply, on various models of these upcoming ARM "server" SoCs. In many ways this is no different from the point in the mid-90's where first Google and then a few other internet companies made a big deal about the fact that they did not need (and were not prepared to pay) for "server" quality hardware --- they were quite happy to put together boxes that did what they needed and did not do a damn thing more.
The frustration arises because the pro-x86 people appear to refuse to engage with this possibility
(I'd draw an analogy to gaming, where the types of people who play a particular type of game game on souped up $3000 rigs simply will not accept that playing a game on your iPhone or Android tablet counts as gaming in any "real" sense --- and thus are mostly blind to how the world around them is changing.
One can understand their anger/fear --- the sooner the world is content with that sort of gaming, the sooner the world will stop manufacturing, at least at prices and in form factors that are useful to gamers, the types of GPUs that hardcore gamers utilize. But pretending the world is not changing because you don't want it to has never served anyone well.)
..
Finally, over the past three months or so, something appears to have broken on this board.
The way I see it, the value (and joy) of this forum is that people can throw out ideas and have them critiqued. Some of the ideas we throw out will be flawed --- and with luck the arguments presented against them will convince us. Some of the ideas we throw out will be undecidable, at least for now, but hopefully we'll all learn something as they are attacked and defended.
An important point in all this, however, is that just because ideas are presented does not mean that they are strongly held, and does not mean that they need to be attacked like a rabid wolverine. Posts that consists of nothing but "It seems to me plausible, but I could be wrong, that maybe the right thing for Intel to do is..." or "Some people say ARM is like this, but then I've also read it's like that" are difficult and irritating to read. That is not the way you talk to your friends in real life, and it shouldn't (IMHO) have to be the way you talk on a forum like this.
I'd urge everyone on this board to step back a little and reimagine what's happening here as something like a group of EE seniors chatting with each other in the dorm room late at night. We all have interesting FACTS that we can use to bolster arguments. We all have interesting OPINIONS about where things will (and should) go, opinions based on patterns we perceive, on our interpretation of history, on our understanding of the economics and business issues involved. We all have interesting QUESTIONS, some fact based (is this possible? has anyone ever done this), some opinion based (how would you handle this engineering/business problem).
The joy of the conversation is in learning stuff along the way, it's not in "winning" by reducing your opponent to a pulp. Even if your opponent is a fool, in real life the way you would handle that is to explain (once, maybe with one followup) that he is wrong, and then to gently ignore him. Maybe take him aside and explain that his enthusiasm is appreciated but he's not really following dorm etiquette.
EVERYONE needs to understand that the fun, in discussing "does ISA matter; will ARM64 servers take off; these features will definitely (not) be in the A8; etc" is in the first few posts where the initial arguments on each side are made. And EVERYONE needs to appreciate that once each argument has been made twice, it's time to move on. We'll revise the issue in a year when we have a year's more data, but until then nothing is achieved by repeating the same point a third time or more, or switching from technical discussion to impugning motives, ad hominem attacks, and accusations of stupidity/incompetence/lying.
Let me end by giving just one example of all this. A few weeks ago Apple's Cyclone was being discussed. I said, based on my understanding (ie facts, opinions, my personal history), that this seemed like a 4-wide design to me. Reading the subsequence discussion, I've been converted to the opinion that it IS actually a six-wide design. That's valuable; that's how the system should work. I begin with a legitimate (but likely incorrect) opinion, and on seeing various good argument, I change to an opinion that's (likely) closer to correct.
BUT
I've also come to the opinion that the way Apple achieved this is not through a "simple" 6-wide design, but through a clustered design specifically two 3-wide clusters, presumably one basically a full 64-bit version of the Swift execution core, and the other slightly stripped down (missing division/sqrt and maybe various special purpose [OS, atomics, etc] instructions). This, I think, would have been interesting and pleasant for everyone to discuss, but I was reluctant to raise the matter given the unpleasant tone that so much of the discussion had taken.
So that's my attempt to bring things back on track.
September looks likely to be the most interesting CPU month in a long long time. Many people are going to want to say many things about a variety of new devices launching or about to be launched. It would be nice if we all treated what we learn/hypothesize about as entertaining and good-natured ribbing among friends, rather than a match to the death in which every piece of bad news for my tribe has to be crushed, along with those who support it, lest shame befall my god.