Intel and branch prediction

By: David Kanter (dkanter.delete@this.realworldtech.com), January 21, 2014 10:26 am
Room: Moderated Discussions
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
< 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?