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