Intel and branch prediction

By: Maynard Handley (name99.delete@this.name99.org), January 21, 2014 9:14 pm
Room: Moderated Discussions
Maynard Handley (name99.delete@this.name99.org) on January 21, 2014 8:52 pm wrote:
> David Kanter (dkanter.delete@this.realworldtech.com) on January 21, 2014 10:26 am wrote:
> > Patrick Chase (patrickjchase.delete@this.gmail.com) on January 21, 2014 9:19 am wrote:
> > > Maynard Handley (name99.delete@this.name99.org) on January 19, 2014 10:26 pm wrote:
> > > > The limit literature tells us that the data flow allows an IPC
> > > > of this magnitude. To actually get there we would need:
> > > > - more or less perfect I-prefetch. This is (fortunately) possible, but the literature
> > > > as to how to do it was only published in 2011. Intel generally can't turn around
> > > > fast enough to get a finding into production in three years.
> > > >
> > > > - another ramp up in branch prediction, from the current about 98% accurate to about
> > > > 99% accurate. This is probably doable with the newest branch predictors, like TAGE ---
> > > > but again, Intel turnaround time.
> > >
> > > TAGE was published in 2006, not 2011. Also, at any given time Intel knows things that aren't (yet)
> > > in the literature. It's entirely possible that they were aware of some of the cost reductions for TAGE
> > > that came about in subsequent years (they don't seem all that non-obvious to me, to be honest).
> > >
> > > One thing to keep in mind here is that branch prediction is an area that has been basically
> > > fallow in academia since ~Y2K (the top architectural folks mostly moved on), but that has
> > > received relentless focus from people like Intel. When that sort of situation develops the
> > > academic literature doesn't really tell you much of anything about the state of the art.
> > >
> >
> > There's actually quite a few issues here that are worth raising.
> >
> > First, as Patrick said there are few academics working
> > in this area...mostly Daniel Jiminez and Andre Szenec.
> >
> > Second, industry is far ahead of academia. I talked about this with both Daniel and Andy Glew, and
> > their impression is that Intel's branch prediction group is about 5 years ahead of academia.
> >
> > Third, nobody publishes good branch prediction info in
> > industry. Branch prediction algorithms are basically
> > impossible to detect and reverse engineer, so patents aren't
> > very useful. Intel has certainly made a conscious
> > choice to keep branch prediction as a trade secret, which
> > really limits the disclosure. The only time Intel
> > was open about branch prediction recently was on the old Atom core, which had terrible predictors (gshare).
> >
> > David
>
> Thanks for the info, David.
> Should we conclude, as a result, that Intel have already hit the upper limit in branch prediction:
> that they have pretty much everything covered (directional branches and indirect branches,
> specialized predictors for unusual situations, very long history correlations) and they're
> so close to the entropy limit that there's no scope for real improvement?
> (Except perhaps in really painful stuff, like merging after mispredicted branch divergence,
> which, yeah, is doable, but seems like an overall energy.performance loser.)
>
> Should we likewise conclude the same thing regarding I- and D-prefetch, which
> would seem subject to the same sort of sociological issues as you describe?
>

Oops, should have added that original TAGE was maybe 2006, but the most recent version I am aware of, with various bells and whistles that get it closer to the 99% number, is 2011 vintage.
< Previous Post in ThreadNext Post in Thread >
TopicPosted ByDate
Some cinebench scores and IPCTimothy McCaffrey2014/01/17 09:27 PM
  Many Thanks :) (NT)Alberto2014/01/18 02:12 AM
  Thanks! :-) (NT)Poindexter2014/01/19 04:46 AM
  Is Cinebench a totally useless benchmark?slacker2014/01/19 11:47 AM
    Is Cinebench a totally useless benchmark?Brett2014/01/19 12:48 PM
      Is Cinebench a totally useless benchmark?Alberto2014/01/19 02:08 PM
        Is Cinebench a totally useless benchmark?Exophase2014/01/19 07:48 PM
          Is Cinebench a totally useless benchmark?Alberto2014/01/20 02:15 AM
            Is Cinebench a totally useless benchmark?Exophase2014/01/20 02:45 AM
              Is Cinebench a totally useless benchmark?Alberto2014/01/21 04:42 AM
                Is Cinebench a totally useless benchmark?Exophase2014/01/21 08:10 AM
                  Monopolies holding back advancementsDoug S2014/01/21 06:04 PM
                    Monopolies holding back advancementsMaxwell2014/01/22 08:00 AM
                      Monopolies holding back advancementsDoug S2014/01/22 11:31 PM
                        Moore's Law provided Planned Obsolescencehobold2014/01/23 01:31 AM
                          Moore's Law provided Planned ObsolescenceDoug S2014/01/23 08:54 PM
                            Moore's Law provided Planned Obsolescencehobold2014/01/24 03:02 AM
                              Moore's Law provided Planned ObsolescenceDoug S2014/01/24 01:18 PM
        Is Cinebench a totally useless benchmark?Maynard Handley2014/01/19 10:26 PM
          Is Cinebench a totally useless benchmark?Exophase2014/01/19 11:01 PM
            Is Cinebench a totally useless benchmark?Maynard Handley2014/01/20 03:25 AM
              Is Cinebench a totally useless benchmark?Patrick Chase2014/01/21 10:13 AM
                Is Cinebench a totally useless benchmark?Patrick Chase2014/01/21 12:31 PM
          Is Cinebench a totally useless benchmark?Patrick Chase2014/01/21 09:19 AM
            Intel and branch predictionDavid Kanter2014/01/21 10:26 AM
              Intel and branch predictionMaynard Handley2014/01/21 08:52 PM
                Intel and branch predictionMaynard Handley2014/01/21 09:14 PM
                No dynamic predication yet, I suspectPaul A. Clayton2014/01/21 10:04 PM
                  No dynamic predication yet, I suspectExophase2014/01/22 12:29 AM
                    No dynamic predication yet, I suspectdmcq2014/01/22 05:24 AM
                    No dynamic predication yet, I suspectPatrick Chase2014/01/22 11:36 PM
                      No dynamic predication yet, I suspectMaynard Handley2014/01/23 08:51 AM
                        No dynamic predication yet, I suspectPatrick Chase2014/01/23 11:59 AM
                          No dynamic predication yet, I suspectPatrick Chase2014/01/23 12:01 PM
                          16 misses per core on Haswell?David Kanter2014/01/23 06:10 PM
                            16 misses per core on Haswell?Patrick Chase2014/01/23 08:12 PM
                          No dynamic predication yet, I suspectPatrick Chase2014/01/27 06:34 PM
                            Fixed link to paperPaul A. Clayton2014/01/28 08:51 AM
                        No dynamic predication yet, I suspectPatrick Chase2014/01/23 12:29 PM
                      SMT influence on ROB size?Paul A. Clayton2014/01/23 11:26 AM
                        SMT influence on ROB size?Patrick Chase2014/01/23 08:40 PM
    Is Cinebench a totally useless benchmark?Exophase2014/01/19 07:44 PM
    Is Cinebench a totally useless benchmark?anon2014/01/19 08:43 PM
      Is Cinebench a totally useless benchmark?Timothy McCaffrey2014/01/20 04:24 PM
Reply to this Topic
Name:
Email:
Topic:
Body: No Text
How do you spell purple?