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

By: Maynard Handley (name99.delete@this.name99.org), January 3, 2019 12:27 pm
Room: Moderated Discussions
Maynard Handley (name99.delete@this.name99.org) on January 3, 2019 11:24 am 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.
>
> I don't know if that's an accurate analysis.
>
> First I don't think RISC vs CISC is a useful axis; the axis that mattered was OoO vs EPIC.
>
> In particular we know NOW that the win from OoO is primarily in the handling of things the
> compiler can't predict (branch results and cache misses), NOT in "micro" OoO of an instruction
> slipping two or three cycles --- that can be handled by optimal in order scheduling.
>
> Now, was this known at the time? I'm not sure. Certainly a lot of the early OoO PPCs were pretty much set up
> for micro-scheduling only --- they had TINY queues and ROBs. And at the time (hell, even today for most circumstances
> outside GPUs,JITs and some of the Apple world) it's not helpful to talk about the single best schedule for a
> particular CPU instance if you have to ship a single binary to multiple different CPU instances.
>
> So, point is:
> - the RISC compiler job was easy
> - the "do IO close to as well as OoO" compiler job was easy-ish under the right circumstances
> - there was PRACTICAL, if not theoretical, value to even small levels of OoO because they
> acted like a "performance" version of an ISA. An ISA let's you move binaries between implementations,
> but doesn't promise they'll work well, only that they will work. OoO, even in small versions,
> gets close to promising that any binary will work reasonably close to optimal, regardless
> of what the binary targeted, and how later implementations changed.
>
> But the EPIC job was a claim that you can ALSO get in the compiler (some
> how?, with predication and poison load bits?) ALL these advantages. So
> - you need to get the branch prediction advantage --- but we know what happens when you rely on predication
> everywhere (especially when you have to start nesting it), not JUST for specifically targeted hot targets
> - you need magic in the compiler to be able to predict most of the upcoming loads many many cycles
> in advance. Prefetchers can only do some of this, the user can only hint (only knows!) some of it
> - and don't forget that easy binary portability across very different implementations advantage.
>
> Maybe it's the advantage of hindsight, but I think it's pretty clear just
> how silly the EPIC assumptions were, the gap between what they were hoping
> for, and reality, in a way that was never true for either EPIC or OoO.
>
> Now this does not mean that existing ISAs (RISC or CISC, if you have to classify
> yourself by utterly irrelevant 80s tribal badges) are optimal.
> In particular I could certainly believe the claims that EDGE ISAs will be a better solution
> longterm. The concept ("couldn't we do better if we describe the data flow to the CPU rather
> than a lower level insistence on exactly what gets done in what order") clearly makes sense;
> the question is whether it can be translated into real silicon in a way that's practical;
> and that's far too far from my field of expertise for me to have an opinion.
>
> Oh, for people who haven't read it (jesus christ, that's a link and a half!):
> https://piazza-resources.s3.amazonaws.com/hf1cdb546x444z/hg1su47nz4g5po/Discerning.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAR6AWVCBXWSVKKHMZ%2F20190103%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190103T185319Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Security-Token=FQoGZXIvYXdzEKr%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaDI9PviHRZ5DLxssoDyK3A3EJQ%2FGIOv4FiC0a1%2Br%2BvBhM8BICllgYPz9b5goNkWYv4c8GKazVtP%2BQUTi3MWUacs%2BDpGtZvx%2FYa3jigIBJTh2g09jhZDUAEPB%2BtMM%2B07WkpqZ8T42dXY1sfKNWymRqOSrewhDvtTwjYsC2CpK%2FOAvTy21Ww%2B%2BzeG2EsPbw7VdCJlZj5YXsXlVN47HmrGPxow9SNbNCN%2BEFnJ47d0CMluHaRqbdF3H7Mmbn499GENec%2BIYJGo%2BdcjPjHySmIhEQ%2B%2BkNCPybc3lbYtH5tnCyGsKPzESnozBEFhiTDUQSRekCDRCRZlZsBqO5GQOQxO8EcDtOieJC5Hky1hefJy3j3uZ0WTBsPWP3x8kICkMkJr%2FxIpPcgFUfbKlut0gOTDZevMG0d%2BU1n8F52wT1ewf5fm13MnpWDbXEjrsIpHxsH5qIg7F8LeYzD%2Bme%2F3g4Es8Y2t%2F3UEiNhupxHhF5ljyYR2f0AQuXymHskJahu2%2BzZM2Wt6On2dodCVNpTLwb19ACsQzPmArgVC4ft7sOsVgf6%2B%2BFgyb73X6AW0F06Hf0XKvLusaaYtLMf1C%2F42oVPxRC2tDst3MtIpIov%2Fm44QU%3D&X-Amz-Signature=5a5ee2409804322dbebaae0cbaff6bd1fec47cf3d2b8413c0a7ae9787526c104
>
> is the paper describing the OoO win. I would not especially endorse their entire set
> of conclusions (especially not in the simple-minded "IO can be almost as good as OoO,
> given a perfect compiler and profiling"), but the paper has its interesting parts.
>
> One thing I think they miss is the extent to which once you have an OoO infrastructure
> you can just keep building on it. For example they don't discuss the wins from load/store
> bypassing, and one suspects they don't see much of a win from MLP because they're not providing
> a crazy ambitious (A12-level) degree of MLP hardware in their simulator.
>
> (Or more precisely they are rather unfair in the comparison, assuming the IO
> machine has KIP-style support for MLP via iCFP, whereas their OoO machine has
> not only no KIP-style support, but is unambiguously provisioned for OoO.
> Basically a reasonable argument for "here's how to build a faster IO CPU, maybe for low power"; but not a good
> argument for "here's how existing IO machines can hit much the same performance level as OoO machines".)

Woah, these guys have a theory for how to make this actionable:
http://homes.sice.indiana.edu/lukefahr/papers/shrupad_micro17.pdf
I'll have to read it, but the basic insight seems plausible to me. Very cute!
< 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?