Mill *is* a speculation

By: anon (spam.delete.delete.delete@this.this.this.spam.com), January 8, 2019 8:50 am
Room: Moderated Discussions
anon (anon.delete@this.anon.com) on January 8, 2019 2:39 am wrote:
> anon (spam.delete.delete.delete@this.this.this.spam.com) on January 8, 2019 12:56 am wrote:
> > anon (anon.delete@this.anon.com) on January 7, 2019 8:46 pm wrote:
> > > anon (spam.delete.delete.delete@this.this.this.spam.com) on January 7, 2019 5:24 am wrote:
> > > > Eric Bron (eric.bron.delete@this.zvisuel.privatefortest.com) on January 6, 2019 2:36 pm wrote:
> > > > > > Intel Sky Lake:
> > > > > > Branch misprediction penalty = 16.5 cycles average (if mOp cache hit).
> > > > > > Branch misprediction penalty = 19-20 cycles (if mOp cache miss).
> > > > >
> > > > > now multiply by number of operations per cycle and divide by 2 (2 hw theads,
> > > > > assuming only relevant uOps are flushed) and compare with Mill
> > > > >
> > > > >
> > > >
> > > > Your argument doesn't really work.
> > > >
> > > > If we compared two architectures with 20 cycle mispredict penalty, one 2 wide the other 4 wide,
> > > > which got the higher penalty?
> > >
> > > The wider one. There is more wasted work in the wider case. More wasted work is less efficiency.
> > >
> >
> > It should. And is that a problem?
>
> It certainly is one problem, yes.
>
> Are these supposed to be trick questions?
>

No.

> >
> > If the wider architecture runs at the same IPC then the amount of wasted work is actually a problem.
> > If the wider architecture gets more IPC then it's the opposite of a problem.
>
> No, regardless of the IPC achieved, wasted work is reduced efficiency.
>

No. You are talking about theoretical wasted work.
If a 4 wide machine runs at 2 IPC does that mean half the instructions are wasted?
No, they were never there to begin with.

To explain the example in more detail:
If the machine was happily fetching and decoding 4 instructions per cycle and then spends 20 cycles flushing the pipeline in theory 80 instructions are wasted.
If the a machine with the same width only ran at ~2 IPC only 40 instructions are theoretically wasted.
Is that better, is that more efficient?
No, because you're still paying for the width, the extra hardware still consumes more power than a 2 wide machine. It may use less slightly less power because some ressources are not fully utilized, but it definitely does not use less energy because it definitely consumer more than half the power while taking twice as long.

Wide machines running at high IPC is good, that's where they are most efficient. Wide machines running at low IPC are a problem.

This weird theoretical penalty of mispredictions isn't a metric that needs to be minimized at all costs. The cost has to be lower than the gain.
Pipelining on its own increases the cost. A none-pipelined, scalar architecture suffers from no branch misprediction penalty. It doesn't even need a branch predictor and it's pretty damn efficient. But it's horribly slow.


Like I said the argument is pointless, we can minimize the branch misprediction penalty by giving up on all the performance, but where is the point in that?
There are lots of arguments against going wider, but this weird theoretical cost of mispredicts is not one of them.

> >
> > Do you see my point?
>
> No.
>
> > I'd be way more concerned about a wider architecture with
> > a lower penalty, because that implies lower IPC and terrible efficiency.
>
> No it doesn't if it is shallower.
>

I didn't want to bring that into the discussion but you are right.

The problem is if you want to bring that up you have to recognize that the Mill is the shallowest there is because it's in-order.

Also in Eric Bron's calculations the depth is not factored in. I think we can agree that even if we were to accept the metric (I don't) when all things are equal, things are absolutely not equal when comparing OoOE and the in-order Mill.
I mean if they could reach their design goal and a Mill Gold ended up being significantly faster than an OoO architecture with a 200+ entry ROB then 150-200 instructions (or less depending on you you count the slots vs shared ports) don't seem disproportionately expensive for a misprediction.

> >
> > Also more wasted work is not less efficiency.
>
> I can assure you it is, by definition.
>

Efficiency is defined by energy consumption. If some in-order machine throws away twice as much work as a more sophisticated design with a far more complicated branch predictor it might very well be more efficient due to having 1/10 the transistors and power consumption.

> > Twice the IPC means twice the wasted work but
> > twice the completed work as well. That's not any less efficient. It's simply twice as fast.
>
> Only if the wasted "work" is zero cost, but then it would not be work, again by definition.
>

Work got nothing to with it. Energy can be consumed without doing any work, that's circuits work. Doing no work costs energy, doing work also costs energy.
If something consumes twice the power for half the time the energy consumption didn't change.

> >
> > I mean wider architectures actually do suffer from a more frequent penalty, but that's a different
> > argument and a bit more complicated to calculate than pipeline length times theoretical width.
>
> I don't know what you mean by that either.

See above, twice the power half the time wouldn't change anything. But the same number of mispredicts in half the time drastically changes the proportion of cycles spent flushing compared with the cycles spent doing actual work.
That's one of the bigger problems when you're interested in efficiency. That's why big.LITTLE and DVFS exist, power is consumed even when there's no work wasted because there's no work to do at all.
< 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?