No. Mill does not get the hit because it does not get the benefit even when correctly predicted.

By: rwessel (robertwessel.delete@this.yahoo.com), January 3, 2019 9:18 am
Room: Moderated Discussions
anon (anon.delete@this.anon.com) on January 2, 2019 7:56 pm wrote:
> rwessel (robertwessel.delete@this.yahoo.com) on January 2, 2019 4:53 pm wrote:
> > Doug S (foo.delete@this.bar.bar) on January 2, 2019 10:38 am wrote:
> > > Brett (ggtgp.delete@this.yahoo.com) on January 2, 2019 12:15 am wrote:
> > > > This is not Itanic, which was always a pack of lies, from every angle you look at the problem.
> > > > The Mill team does not have billions to chase rainbows, which
> > > > is the most generous thing you can say Itanic was doing.
> > >
> > >
> > > Remember where Itanium originated - with HP's PA-RISC group 25+ years ago looking beyond where PA-RISC
> > > needed to go after the obvious 64 bit extension. One of the main ideas behind the original "RISC"
> > > strategy was that smarter compilers would allow slimming the transistor budget for the things the
> > > compiler could do, to be used for other things that wouldn't have otherwise been possible.
> > >
> > > RISC was a success, so the next logical step to HP's architects was to expect even more out
> > > of compilers, further slimming the transistor budget (no longer needing to worry about OOE,
> > > etc.) to be used for other things that wouldn't have otherwise been possible (i.e. wider)
> > >
> > > I don't know what evidence existed (in research or whatever) that the "magic compiler" necessary
> > > to make RISC work was possible before the first RISC, any more than similar evidence existed
> > > for EPIC's "magic compiler". In hindsight, the latter was obviously a much bigger step than
> > > the former, and proved to be too much, but I don't see how HP's team could have known that at
> > > the time. They had no reason to sell a "pack of lies" or "chase rainbows", they were designing
> > > a successor to PA-RISC, which would only be used if it actually performed better.
> > >
> > > Obviously the Itanium engineers will have figured out it WAS infeasible years before Intel actually
> > > killed it - because Intel didn't want the egg on their face after the heavy promotion and had various
> > > commitments to it (especially to HP) that meant keeping it alive far longer than it should have been.
> > > Intel needed to get 64 bit x86 widely avaiable so they had a good story to tell ("wow x86 has scaled
> > > so much better than expected we really don't need Itanium any longer") to try to save face.
> >
> >
> > The first RISCs were pretty small projects, and weren't intended to change the world like IPF was.
>
> This is a pretty vast over simplification, and probably based mostly
> on marketing and execu speak about the technologies after the fact..
>
> People working on RISC research and development were absolutely as passionate and strong
> believers in the potential and value of what they were working on as the EPIC people. Everyone
> would have hoped they could help advance the computing industry one way or another.


No doubt, but these were vastly smaller projects than "real" CPU projects at the time. In fact the two first, not counting the 801, were university projects (which is not to denigrate university projects, but modest scale and failure is certainly an expectation there).


> > Had they
> > failed because of system level issues (like needing magic compilers), they'd have just faded quietly away.
> > Plus, much of the motivation for RISC was the notion that
> > compiler were *not* using all the CISC-y stuff in
> > CPUs, so to a certain extent, RISC was designed to support
> > what compilers were already clearly capable of using.
> > There were certainly lapses, and often far too much was
> > punted to software, especially at the system level.
> > But the only thing really being assumed about compilers
> > by the early RISC folks was that it would be compilers,
> > and not assemblers. After all, the model was basically
> > a simple, in-order ISA, with a short pipeline. Toss
> > high clock rates in with the short pipeline, and it would have been hard not to succeed.
>
> "Compilers should just be compilers" is vastly understating the technical challenges, but if
> you don't consider RISC as such a large or risky step as EPIC, that's probably not unreasonable
> but I don't know that it fundamentally makes EPIC the very different and dishonest.


My point is that little new was expected from compilers by the RISC guys. As I mentioned, the "reduced" in RISC came from the notion that compilers weren't using all the CISC-y stuff anyway. Strip that away, and other than a few oddities (branch delay slots, word orientation, lack of FP or missing multiplication or division, register windows), these were fairly straight-forward ISAs to generate code for. And given their simple in-order, short pipeline, nature, they really didn't need much scheduling or code rearrangement to produce decent code. Sure some compiler improvement were effective, in taking better advantage, but most of those improvement also applied to other ISAs. Not until the pipelines became much more complex (and OoO), did really heavy scheduling need to happen.
RISC ISAs were just streams of simple, sequential instructions (branch delay slots excepted, but even those only held a single instruction), if slightly odd ones.

One key improvement that the RISC guys were expecting from compilers was that ISA changes and recompilation would be common. Recompilation is certainly more common now, but the importance of backwards compatibility in ISAs is only modestly less now than it was then. But even though that didn't happen, they did produce CPUs with decent performance (with real compilers).


> RISC designers saw trends in silicon performance that indicated pipelining
> would be necessary for logic to take advantage of it reasonably, and that
> held true for them and the technologies required did turn out to work.


Pipelining was not new with RISC. The regularity of the ISAs made it easier of course, but pipelining was even applied to many microcode machines.


> EPIC saw silicon trends of things like power density and wire delay etc and projected that OOOE structures
> would not be able to take advantage of it reasonably and their compiler parallel model would.
>
> I don't want to excuse Intel the company handling and marketing of Itanium, or even absolve
> technical failures, but around the time EPIC was being developed, it was trying to solve
> real and serious concerns of the time. And some of those concerns have not really been solved
> ever (single threaded performance), you could say that OOOE has failed less badly.


The notion that wide OoO was thermally impossible, while clearly wrong in retrospect, was certainly a widely held belief at times, with a number of the required structures looking like then needed quadratic area. And if OoO is impossible, than something else had to be done (cue the Politician's syllogism, please).

The problem is that EPIC depended explicit on compiler advances that were not in evidence. The closes known were the effort toward vectorization (and to a lesser extent auto parallelization), all of which had shown success in only extremely limited areas.


>
> I say this as an OOOE fan, but I think it's too much to criticize EPIC technical people as being dishonest.
> It's nice that there are significant moon shot efforts like that in industry, although maybe it's harder in
> some ways to let go of a failing project there than academia where publications are worth a lot more.


I've always given Intel credit for trying something seriously different. One of my complaints is that RISC has made CPUs boring, and *nix has made OS’s boring. That is a good thing, in many ways, of course, since it allows us to concentrate on the real work.


> And I actually don't think it was the compiler tech that let down Itanium. You can inline and unroll and parallelize
> everything but you can't adapt to unpredictable data flow in software anywhere but the most trivial things you
> can add prefetch or advanced loads. So it was never aiming to solve that major problem in software.


No, IPF was *explicitly* designed to handle unpredictable flows in software. The speculative memory accesses, full predication, etc. Extract of ILP *requires* dealing with the unpredictable flows, and the whole point of IPF was letting the compilers explicitly code that ILP. Thus the "magic compiler" requirement. But you're right, compilers have great difficulty handling that in all but the most trivial cases. And that despite what has to be the biggest investment in compiler technology ever.


> Then if
> the stars had aligned slightly differently making OOOE a little more expensive and allowing some kind of in
> orderish run ahead implementation to be done efficiently with IA64, things may be different today.

< Previous Post in ThreadNext Post in Thread >
TopicPosted ByDate
Independent micro threadsBrett2018/12/30 01:55 PM
  Independent micro threadsTravis Downs2018/12/30 04:18 PM
    Independent micro threadsBrett2018/12/30 07:16 PM
      Independent micro threadsTravis Downs2018/12/30 07:34 PM
        Independent micro threadsBrett2018/12/30 07:48 PM
          Independent micro threadsTravis Downs2018/12/30 09:06 PM
            Independent micro threadsBrett2018/12/30 10:57 PM
              Independent micro threadsTravis Downs2018/12/31 12:42 AM
                Independent micro threadsBrett2019/01/01 07:02 PM
                  Independent micro threadsMichael S2019/01/02 02:01 AM
                    Independent micro threadsMaynard Handley2019/01/02 03:29 PM
              Independent micro threadsMontaray Jack2019/01/01 02:12 AM
  Independent micro threadsanon2018/12/30 04:34 PM
  Independent micro threadsPaul A. Clayton2018/12/30 05:15 PM
  Independent micro threadsDavid Hess2018/12/30 06:47 PM
    Independent micro threadsDomaldel2018/12/30 07:06 PM
      Independent micro threadsDavid Hess2018/12/30 07:26 PM
        Independent micro threadsDoug S2018/12/31 10:26 AM
          Independent micro threadsDavid Hess2018/12/31 09:32 PM
            Independent micro threadsDoug S2019/01/01 12:40 AM
              Independent micro threadsDavid Hess2019/01/01 11:41 AM
            Overcomming thermal limits of a high dencity 3D arcitecture (Formerly "Independent micro threads")Domaldel2019/01/01 12:40 AM
              Overcomming thermal limits of a high dencity 3D arcitecture (Formerly "Independent micro threads")Domaldel2019/01/01 12:44 AM
                Overcomming thermal limits of a high dencity 3D arcitecture (Formerly "Independent micro threads")Domaldel2019/01/01 12:49 AM
                  Overcomming thermal limits of a high dencity 3D arcitecture (Formerly "Independent micro threads")Domaldel2019/01/01 12:51 AM
              Overcomming thermal limits of a high dencity 3D arcitecture (Formerly "Independent micro threads")Simon Farnsworth2019/01/01 06:05 AM
                Overcomming thermal limits of a high dencity 3D arcitecture (Formerly "Independent micro threads")Domaldel2019/01/01 08:01 AM
                Overcomming thermal limits of a high dencity 3D arcitecture (Formerly "Independent micro threads")Maynard Handley2019/01/01 01:17 PM
                  Taking things to extremes.Domaldel2019/01/01 05:44 PM
                    Yes, I know, the forum is named *Real* World Tech, but I'm thinking that perhapsDomaldel2019/01/01 05:52 PM
                      Yes, I know, the forum is named *Real* World Tech, but I'm thinking that perhapsMontaray Jack2019/01/02 07:26 AM
                        Yes, I know, the forum is named *Real* World Tech, but I'm thinking that perhapsMontaray Jack2019/01/02 08:21 AM
                    Taking things to extremes.Maynard Handley2019/01/01 06:55 PM
                    Taking things to extremes.Kevin G2019/01/04 08:57 AM
              Overcomming thermal limits of a high dencity 3D arcitecture (Formerly "Independent micro threads")David Hess2019/01/01 11:36 AM
    Independent micro threadsTravis Downs2018/12/30 07:38 PM
    Independent micro threadsBrett2018/12/30 07:41 PM
  Independent micro threadsanon2018/12/30 08:20 PM
    Independent micro threadsBrett2018/12/30 08:51 PM
      Independent micro threadsTravis Downs2018/12/30 09:48 PM
        Mill and Independent micro threadsBrett2019/01/01 07:39 PM
          No. Mill does not get the hit because it does not get the benefit even when correctly predicted.Heikki Kultala2019/01/02 12:29 AM
            No. Mill does not get the hit because it does not get the benefit even when correctly predicted.Brett2019/01/02 01:15 AM
              No. Mill does not get the hit because it does not get the benefit even when correctly predicted.Heikki Kultala2019/01/02 02:22 AM
                No. Mill does not get the hit because it does not get the benefit even when correctly predicted.Brett2019/01/03 01:13 AM
                  "Leaf branch" is not a commonly used termHeikki Kultala2019/01/03 03:48 AM
                    "Leaf branch" is not a commonly used termBrett2019/01/03 04:35 AM
                      You lack parallelism than OoOE givesHeikki Kultala2019/01/03 07:38 AM
                        You lack parallelism than OoOE givesBrett2019/01/04 02:41 AM
                          You lack parallelism than OoOE givesBrett2019/01/04 04:10 PM
                            You lack parallelism than OoOE givesBrett2019/01/05 08:29 PM
                              Mill speculates, more parallelism than OoOE givesBrett2019/01/05 08:31 PM
                                Mill *is* a speculationEric Bron2019/01/06 05:04 AM
                                  Mill *is* a speculationMichael S2019/01/06 05:53 AM
                                    Mill *is* a speculationBrett2019/01/06 09:03 PM
                                  Mill *is* a speculationjuanrga2019/01/06 06:10 AM
                                    probably ~2 (NT)Michael S2019/01/06 06:51 AM
                                  Mill *is* a speculationBrett2019/01/06 01:18 PM
                                    Mill *is* a speculationEric Bron2019/01/06 03:36 PM
                                      Mill *is* a speculationBrett2019/01/06 08:47 PM
                                        Mill *is* a speculationJacob Marley2019/01/06 10:29 PM
                                          Mill *is* a speculationBrett2019/01/07 04:24 AM
                                            Mill *is* a speculationMichael S2019/01/07 05:23 AM
                                            Mill *is* a speculationEric Bron2019/01/07 05:36 AM
                                              Mill *is* a speculationBrett2019/01/07 03:40 PM
                                                Mill *is* a speculationEric Bron2019/01/07 05:32 PM
                                            Mill is something you don't understandHeikki Kultala2019/01/08 04:19 AM
                                              Mill is something you don't understandMichael S2019/01/08 07:44 AM
                                                Itanium and static vs dynamicHeikki Kultala2019/01/09 03:14 AM
                                                  Itanium and static vs dynamicPaul A. Clayton2019/01/09 08:51 AM
                                        Mill *is* a speculationEric Bron2019/01/07 05:27 AM
                                          Mill *is* a speculationEric Bron2019/01/07 06:23 AM
                                      Mill *is* a speculationanon2019/01/07 06:24 AM
                                        Mill *is* a speculationEric Bron2019/01/07 06:52 AM
                                          Mill *is* a speculationanon2019/01/07 08:36 AM
                                            Mill *is* a speculationEric Bron2019/01/07 09:20 AM
                                        Mill *is* a speculationjuanrga2019/01/07 10:22 AM
                                          Mill *is* a speculationanon2019/01/07 01:16 PM
                                        Mill *is* a speculationanon2019/01/07 09:46 PM
                                          Mill *is* a speculationanon2019/01/08 01:56 AM
                                            Mill *is* a speculationanon2019/01/08 03:39 AM
                                              Mill *is* a speculationMichael S2019/01/08 03:52 AM
                                                Mill *is* a speculationanon2019/01/08 10:10 PM
                                                  Wasted width not wasted work.Brett2019/01/09 11:44 AM
                                                    No such thing was declared. (NT)anon2019/01/09 03:41 PM
                                                    Very simple test for new uarch ideassomeone2019/01/10 07:03 AM
                                                      Very simple test for new uarch ideasdmcq2019/01/10 07:21 AM
                                                        Very simple test for new uarch ideasDoug S2019/01/10 10:01 AM
                                                          Very simple test for new uarch ideasDan Fay2019/01/10 01:13 PM
                                                      Very simple test for new uarch ideasanonymous22019/01/10 11:03 AM
                                                        Very simple test for new uarch ideasAlberto2019/01/10 11:32 AM
                                                      Very simple test for new uarch ideasEtienne2019/01/11 03:03 AM
                                                        Very simple test for new uarch ideasFoo_2019/01/11 04:31 AM
                                                          Very simple test for new uarch ideasEtienne2019/01/11 05:51 AM
                                                            Very simple test for new uarch ideasFoo_2019/01/11 05:53 AM
                                                              Very simple test for new uarch ideasdmcq2019/01/11 06:08 AM
                                                              Very simple test for new uarch ideasEtienne2019/01/11 06:13 AM
                                                                Very simple test for new uarch ideasFoo_2019/01/11 06:54 AM
                                                                  Very simple test for new uarch ideasEtienne2019/01/11 07:32 AM
                                                                    Very simple test for new uarch ideasBrett2019/01/11 10:25 AM
                                                                      Very simple test for new uarch ideasMegol2019/01/12 06:29 AM
                                                                        Very simple test for new uarch ideasMichael S2019/01/12 09:21 AM
                                                                          Word salad AI fundamentaliy brokenBrett2019/01/12 01:59 PM
                                                                          Very simple test for new uarch ideasMegol2019/01/13 11:51 AM
                                              Mill *is* a speculationanon2019/01/08 08:50 AM
                                                Mill *is* a speculationEric Bron2019/01/08 09:03 AM
                                                  Mill *is* a speculationanon2019/01/08 09:21 AM
                      "Leaf branch" is not a commonly used termMichael S2019/01/03 07:57 AM
                        "Leaf branch" is not a commonly used termBrett2019/01/04 03:29 AM
                  Calls are not needed for speculation for mill if there are no side effect,and dont help if there areHeikki Kultala2019/01/08 04:28 AM
              No. Mill does not get the hit because it does not get the benefit even when correctly predicted.anon2019/01/02 03:05 AM
              No. Mill does not get the hit because it does not get the benefit even when correctly predicted.Doug S2019/01/02 11:38 AM
                No. Mill does not get the hit because it does not get the benefit even when correctly predicted.rwessel2019/01/02 05:53 PM
                  No. Mill does not get the hit because it does not get the benefit even when correctly predicted.anon2019/01/02 08:56 PM
                    itanicBrett2019/01/03 12:41 AM
                      itanicanon2019/01/03 03:12 AM
                      itanicDavid Hess2019/01/03 08:06 AM
                    No. Mill does not get the hit because it does not get the benefit even when correctly predicted.rwessel2019/01/03 09:18 AM
                      No. Mill does not get the hit because it does not get the benefit even when correctly predicted.anon2019/01/04 05:25 AM
                    Itanium could have been RISC or CISC - same outcomesomeone2019/01/04 07:45 AM
                      Itanium could have been RISC or CISC - same outcomeDoug S2019/01/04 12:39 PM
                        Itanium could have been RISC or CISC - same outcomeJan Olšan2019/01/04 01:58 PM
                          "fluffyRISC" has a namevvid2019/01/04 03:48 PM
                        Itanium could have been RISC or CISC - same outcomeBrett2019/01/04 03:43 PM
                      Itanium could have been RISC or CISC - same outcomeanonymou52019/01/04 12:41 PM
                  No. Mill does not get the hit because it does not get the benefit even when correctly predicted.David Hess2019/01/03 08:15 AM
                No. Mill does not get the hit because it does not get the benefit even when correctly predicted.Maynard Handley2019/01/03 12:24 PM
                  No. Mill does not get the hit because it does not get the benefit even when correctly predicted.Maynard Handley2019/01/03 12:27 PM
                    No. Mill does not get the hit because it does not get the benefit even when correctly predicted.dmcq2019/01/04 01:59 AM
                  EPIC target marketsFoo_2019/01/04 06:29 AM
                    EPIC target marketsDoug S2019/01/04 12:42 PM
                      Lack of future visionDoug S2019/01/04 12:57 PM
                        Lack of future visionBrett2019/01/04 02:59 PM
                          Lack of future visionDoug S2019/01/04 04:25 PM
                            Lack of future visionBrett2019/01/04 05:18 PM
                              Lack of future visionDoug S2019/01/05 12:47 AM
                                Lack of future visionBrett2019/01/05 02:06 PM
                                  Lack of future visiondmcq2019/01/05 02:22 PM
                                  Lack of future visionanon2019/01/05 03:01 PM
                                    Lack of future visionMichael S2019/01/05 04:18 PM
                                      Lack of future visionanon2019/01/05 06:14 PM
                                        Lack of future visionMichael S2019/01/06 02:01 AM
                                          Lack of future visionanon2019/01/06 03:23 AM
                                          Mitch Alsup's MY66000 uses IF-like predication (I think) (NT)Paul A. Clayton2019/01/06 04:54 PM
                                            ??? (NT)Michael S2019/01/07 05:25 AM
                                            88K ? (NT)anonymous22019/01/07 04:20 PM
                                          Modestly expanded response: MY66000 predicate shadowPaul A. Clayton2019/01/07 11:53 AM
                      Thanks for the correction (NT)Foo_2019/01/04 04:31 PM
              No. Mill does not get the hit because it does not get the benefit even when correctly predicted.sdrc2019/01/04 07:36 AM
          Mill and Independent micro threadsMichael S2019/01/02 02:32 AM
Reply to this Topic
Name:
Email:
Topic:
Body: No Text
How do you spell green?