OOO hw vs SW&in-order hw

By: Anders Jensen (.delete@this..), September 28, 2009 10:50 pm
Room: Moderated Discussions
Linus Torvalds (torvalds@linux-foundation.org) on 9/28/09 wrote:

>Cache access patterns need OoO (or
>at least some weaker form of it - maybe somebody makes a
>good run-ahead engine).

I find it confusing that I have to agree with you so much. It has almost never happened before. :) What can be done cheap in hardware should probably be done in hardware, and hiding cache latency may not be cheap in hardware, but it is still the best bargain you are ever going to get. Putting instructions in parallel however is probably cheaper in software and extremely expensive in hardware, sure you will miss out on the last 10% of optimization or so, but that is the healthy sign you should look for in complex optimization. If you have optimized 99% of what is possible then you have wasted far too much resources on that problem and are probably paying through you nose somewhere else.

>Instruction scheduling likewise is about dynamic behavior
>at a low level where software can't do the last details.
>The compiler (static or dynamic) may do fine for linear
>basic blocks without lots of cache behavior, and you can
>extend those basic blocks with various tricks (predication,
>unrolling, inlining), but most of those tricks have fairly
>serious limitations and downsides to them. And none of them
>make the problem go away in the end.

Still I'm not sure it is worth doing Tomasulo just to get this last part. Doing multipass pipelining will probably get you some gains that runahead leaves behind in this respect, but it will definitively cost you some throughput/watt.

>So I think JIT compiling is great. But in the end, you
>still need dynamic hardware in addition to all the
>things you can do in software.

Have to say I don't really JIT being fastest overall anytime soon, but I'm sure it'll happen some day.

Complex problems never has simple solutions and I have yet to find a complex question where the best solution is a corner case. For CPU uarch typical corner cases would be in-order and Out-of-order. Somewhere in between there will be a range of uarchs that can not do every possible reordering combination like a Tomasulo engine, but still isn't strictly in-order like a static VLIW or single issue in-order. Sadly we haven't seen many such uarchs, probably because they would be conceptually difficult to understand and develop, which means you are likely to end up late and slower than a simpler Tomasulo or in-order design on the latest CMOS.
< Previous Post in ThreadNext Post in Thread >
TopicPosted ByDate
Thoughts and questions on the Cortex A9Gabriele Svelto2009/09/26 01:46 AM
  Thoughts and questions on the Cortex A9none2009/09/26 02:27 AM
    Thoughts and questions on the Cortex A9jeff2009/09/27 04:06 AM
      Thoughts and questions on the Cortex A9Michael S2009/09/27 04:29 AM
        Thoughts and questions on the Cortex A9none2009/09/27 05:01 AM
          Thoughts and questions on the Cortex A9Howard Chu2009/09/27 09:39 AM
      Thoughts and questions on the Cortex A9Wilco2009/09/27 06:03 AM
        Thoughts and questions on the Cortex A9jeff2009/09/27 07:00 AM
          Thoughts and questions on the Cortex A9a reader2009/09/27 07:17 AM
            Thoughts and questions on the Cortex A9David Kanter2009/09/27 07:37 AM
              Thoughts and questions on the Cortex A9a reader2009/09/27 07:46 AM
                Thoughts and questions on the Cortex A9Mat2009/10/01 12:04 PM
                  Thoughts and questions on the Cortex A9Wilco2009/10/01 05:09 PM
                    Thoughts and questions on the Cortex A9anon2009/10/01 07:19 PM
            Thoughts and questions on the Cortex A9RagingDragon2009/09/28 04:11 PM
          Thoughts and questions on the Cortex A9Linus Torvalds2009/09/27 08:05 AM
            OOO hw vs SW&in-order hwno thanks2009/09/27 03:47 PM
              OOO hw vs SW&in-order hwLinus Torvalds2009/09/28 05:22 AM
                OOO hw vs SW&in-order hw?2009/09/28 10:37 AM
                  OOO hw vs SW&in-order hwRagingDragon2009/09/28 04:22 PM
                  OOO hw vs SW&in-order hwMegol2009/09/29 03:35 AM
                OOO hw vs SW&in-order hwAnders Jensen2009/09/28 10:50 PM
                  OOO hw vs SW&in-order hwLinus Torvalds2009/09/29 06:44 AM
                    OOO hw vs SW&in-order hwMark Roulo2009/09/29 08:58 AM
                      OOO hw vs SW&in-order hwLinus Torvalds2009/09/29 09:30 AM
                        3- and 4-issue in-order CPUsMark Roulo2009/09/29 10:06 AM
                          3- and 4-issue in-order CPUsLinus Torvalds2009/09/29 10:29 AM
                          3- and 4-issue in-order CPUsGian-Carlo Pascutto2009/09/29 11:35 PM
                          3- and 4-issue in-order CPUsMichael S2009/09/30 01:01 AM
                    OOO hw vs SW&in-order hwmpx2009/09/30 03:14 AM
                    OOO hw vs SW&in-order hwPun Zu2009/10/02 01:44 AM
                      OOO hw vs SW&in-order hwnone2009/10/02 04:22 AM
                      OOO hw vs SW&in-order hwLinus Torvalds2009/10/02 06:11 AM
                        OOO hw vs SW&in-order hwa reader2009/10/02 08:30 AM
                          OOO hw vs SW&in-order hwLinus Torvalds2009/10/02 08:59 AM
                            MoorestownDavid Kanter2009/10/02 09:59 AM
                              What's the difference between Moorestown and Pine Trail cores?anon2009/10/03 07:37 PM
                              Moorestownnone2009/11/03 03:34 PM
                                MoorestownAnon2009/11/04 02:17 PM
                                  Moorestownnone2009/11/05 12:38 AM
                                    MoorestownDavid Kanter2009/11/05 03:45 PM
                                      MoorestownIntelUser20002009/11/06 03:17 AM
                                      MoorestownAnon2009/11/06 12:51 PM
                                        Moorestownnone2009/11/07 06:07 AM
                            OOO hw vs SW&in-order hwAnon2009/10/02 06:55 PM
                              Cluebat for graphicsDavid Kanter2009/10/02 08:19 PM
                                Cluebat for graphicsAnon2009/10/03 04:45 PM
                                  Cluebat for graphicsDavid Kanter2009/10/04 12:57 AM
                                    Cluebat for graphicsAnon2009/10/04 07:15 PM
                                      Cluebat for graphicsDavid Kanter2009/10/05 02:09 AM
                                        Cluebat for graphicsAnon2009/10/05 02:36 PM
                                          Cluebat for graphicsDavid Kanter2009/10/05 08:54 PM
                                            Cluebat for graphicsAnon2009/10/06 04:58 PM
                              OOO hw vs SW&in-order hwLinus Torvalds2009/10/03 05:58 AM
                            OOO hw vs SW&in-order hwslacker2009/10/02 08:11 PM
                            Linux graphics driversRagingDragon2009/10/03 07:27 PM
                              Linux graphics driversanon2009/10/04 06:15 AM
                                Linux graphics driversnone2009/10/04 09:12 AM
            Thoughts and questions on the Cortex A9jeff2009/09/27 05:31 PM
        Thoughts and questions on the Cortex A9someone2009/09/27 08:30 AM
          Thoughts and questions on the Cortex A9none2009/09/27 09:09 AM
            Thoughts and questions on the Cortex A9Wilco2009/09/27 10:35 AM
              Thoughts and questions on the Cortex A9someone2009/09/27 10:55 AM
                Thoughts and questions on the Cortex A9Wilco2009/09/28 01:08 AM
                  Thoughts and questions on the Cortex A9someone2009/09/28 04:58 AM
                    Thoughts and questions on the Cortex A9none2009/09/28 05:18 AM
                      Thoughts and questions on the Cortex A9someone2009/09/28 06:35 AM
                    Thoughts and questions on the Cortex A9Wilco2009/09/28 07:25 AM
                      Thoughts and questions on the Cortex A9Michael S2009/09/28 10:02 AM
                        Thoughts and questions on the Cortex A9Wilco2009/09/29 12:35 AM
                    Thoughts and questions on the Cortex A9Chuck2009/09/28 06:15 PM
              samplesAM2009/09/27 10:20 PM
                samplesWilco2009/09/28 12:51 AM
                  samplesAM2009/09/28 03:16 AM
              Shrinks and process techDavid Kanter2009/09/29 12:22 AM
            Thoughts and questions on the Cortex A9someone2009/09/27 10:42 AM
              Thoughts and questions on the Cortex A9none2009/09/27 11:52 AM
              Atom to stay in-oder or go OoO?AM2009/09/27 10:09 PM
                Atom to stay in-oder or go OoO?Ungo2009/09/28 04:34 AM
                  Atom to stay in-oder or go OoO?a reader2009/09/28 09:15 AM
                    Atom to stay in-oder or go OoO?anon2009/09/28 06:25 PM
                  Atom to stay in-oder or go OoO?AM2009/09/30 02:32 AM
                    Atom to stay in-oder or go OoO?baxeel2009/09/30 07:25 AM
                      Atom to stay in-oder or go OoO?AM2009/09/30 10:12 PM
                    Atom to stay in-oder or go OoO?Ungo2009/10/01 02:00 AM
                      Atom to stay in-oder or go OoO?AM2009/10/01 04:08 AM
                        Atom to stay in-oder or go OoO?anonymous2009/10/01 04:33 AM
                          Atom to stay in-oder or go OoO?AM2009/10/03 06:24 AM
                        Atom to stay in-oder or go OoO?Pun Zu2009/10/02 12:30 AM
                        Atom to stay in-oder or go OoO?Ungo2009/10/02 12:11 PM
                          Atom to stay in-oder or go OoO?AM2009/10/03 06:22 AM
                            Atom to stay in-oder or go OoO?Ungo2009/10/03 01:53 PM
                              Atom to stay in-oder or go OoO?AM2009/10/04 07:44 AM
                                Atom to stay in-oder or go OoO?David Kanter2009/10/04 10:02 PM
                                  Atom to stay in-oder or go OoO?AM2009/10/05 06:18 AM
                                    Atom to stay in-oder or go OoO?David Kanter2009/10/05 10:12 AM
                                      Atom to stay in-oder or go OoO?AM2009/10/06 03:51 AM
                                        Atom to stay in-oder or go OoO?anonymous2009/10/06 06:58 AM
                                        Do you have any proof?David Kanter2009/10/06 08:58 AM
                                          Do you?AM2009/10/06 10:30 PM
                                            Of course I do!anonymous2009/10/07 04:58 AM
                                              Thanks :-)AM2009/10/08 02:17 AM
                                                Thanks :-)anonymous2009/10/08 04:52 AM
                                                  Thanks :-)AM2009/10/09 02:13 AM
                                                    Thanks :-)anonymous2009/10/09 05:03 AM
                                                    Thanks :-)Foo_2009/10/09 05:47 AM
                                                      Thanks :-)AM2009/10/10 12:15 AM
                                            That's what I thought...David Kanter2009/10/07 08:00 AM
                                              That's what I thought...AM2009/10/08 02:26 AM
                                                That's what I thought...anonymous2009/10/08 05:02 AM
                                                  let's see...AM2009/10/09 02:09 AM
                                                    let's see...anonymous2009/10/09 04:43 AM
                                                      let's see...AM2009/10/09 04:52 AM
                                                        let's see...anonymous2009/10/09 05:15 AM
                                                          let's see...AM2009/10/10 12:18 AM
                Atom to stay in-oder or go OoO?someone2009/09/28 05:09 AM
          I call Trollhobold2009/09/28 03:51 AM
            I call Trollsomeone2009/09/28 05:15 AM
              OT: categories of motivation in a forumhobold2009/09/29 05:01 AM
          Thoughts and questions on the Cortex A9Michael S2009/09/28 09:43 AM
            Thoughts and questions on the Cortex A9a reader2009/09/28 03:12 PM
              Thoughts and questions on the Cortex A9someone else2009/09/28 11:25 PM
                Why Cortex A9?hobold2009/09/29 06:20 AM
                  Why Cortex A9?someone else2009/09/29 09:57 AM
                    Why Cortex A9?Richard Cownie2009/09/29 05:09 PM
                      Why Cortex A9?hobold2009/09/29 11:38 PM
                        Why Cortex A9?Richard Cownie2009/09/30 05:49 AM
                          Why Cortex A9?hobold2009/09/30 06:46 AM
                            Why Cortex A9?none2009/09/30 06:56 AM
                              Marvell Sheeva and plug computingRichard Cownie2009/09/30 08:03 AM
                              Why Cortex A9?Michael S2009/09/30 09:07 AM
                                Why Cortex A9?none2009/09/30 09:40 AM
                                Why Cortex A9?Gabriele Svelto2009/09/30 11:43 AM
                                  ARM architectural licenseDavid Kanter2009/09/30 04:57 PM
                                    ARM architectural licensea reader2009/10/01 06:25 AM
                                      ARM architectural licenseRichard Cownie2009/10/01 07:21 AM
                                Why Cortex A9?slacker2009/09/30 06:12 PM
                                  ARM architectural licenseDavid Kanter2009/09/30 06:16 PM
                                  Why Cortex A9?Michael S2009/10/01 06:45 AM
                                    Why Cortex A9?slacker2009/10/02 01:41 AM
                                      Why Cortex A9?Richard Cownie2009/10/02 09:28 AM
                                        Questions...David Kanter2009/10/02 09:56 AM
                                          Questions...Richard Cownie2009/10/02 10:29 AM
                                            Questions...Wilco2009/10/02 12:05 PM
                                          Questions...slacker2009/10/02 07:51 PM
                                        Why Cortex A9?slacker2009/10/02 07:44 PM
                            Why Cortex A9?David W. Hess2009/09/30 07:42 AM
    Thoughts and questions on the Cortex A9Gabriele Svelto2009/09/28 12:28 AM
  Thoughts and questions on the Cortex A9Wilco2009/09/26 06:38 AM
    Thoughts and questions on the Cortex A9Gabriele Svelto2009/09/28 12:38 AM
      Thoughts and questions on the Cortex A9Costanza2009/10/01 02:45 PM
    Thoughts and questions on the Cortex A9sylt2009/09/28 04:54 AM
      Thoughts and questions on the Cortex A9Wilco2009/09/29 12:15 AM
Reply to this Topic
Name:
Email:
Topic:
Body: No Text
How do you spell avocado?