Announcement

Collapse
No announcement yet.

Ubuntu 32-bit, 32-bit PAE, 64-bit Benchmarks

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Ubuntu 32-bit, 32-bit PAE, 64-bit Benchmarks

    Phoronix: Ubuntu 32-bit, 32-bit PAE, 64-bit Benchmarks

    Coming up in our forums was a testing request to compare the performance of Linux between using 32-bit, 32-bit PAE, and 64-bit kernels. This is coming after Linus Torvalds has spoke of 25% performance differences between kernels using CONFIG_HIGHMEM4G and those without this option that allows 32-bit builds to address up to 4GB of physical RAM on a system. We decided to compare the performance of the 32-bit, 32-bit PAE, and 64-bit kernels on a modern desktop system and here are the results.

    http://www.phoronix.com/vr.php?view=14477

  • #2
    Did you just use a the 3 kernels and kept the same 32bit user space or did the 64 bit kernel use 64bit user space?

    If the latter do you know what Ubuntu compiles it's 32bit user space as? If memory serves I think ubuntu are using i486 on 32bit user space where as the 64bit user space will be using sse2 as default which could explain some of the differences

    Would it be possible to try the same test again using Gentoo or Arch (or another distro that uses i686 as default)

    Cheers

    Mike

    Comment


    • #3
      One remark: in the switch from x86 to x86_64 the number of GPRs and XMM register is doubled, and of course 64bit ops require only one output register. In the OpenSSL (and John The Ripper) test case the big difference is probably due to the improved ISA rather than to bigger AS (iirc crypto was one of the showcases of earlier amd64 CPUs).
      In general PAE will impact negatively the performance only once the kernel has to map/unmap pages that are not currently accessible; at least in OpenSSL, x264, blowfish and other CPU bound tests I don't expect a significant pressure on mm (hence the small difference between PAE and non-PAE).

      Comment


      • #4
        It's great to see such comparision!
        I've put 3GB RAM into my machine few days ago and with default Ubuntu kernel I have only 2,5-2,7GB available. I was thinking to use PAE enabled kernel but I've heard about serious performance drop mentioned "everywere". I can't use 64bit kernel because my CPU is only 32bit.

        Comment


        • #5
          Originally posted by FireBurn View Post
          Did you just use a the 3 kernels and kept the same 32bit user space or did the 64 bit kernel use 64bit user space?

          If the latter do you know what Ubuntu compiles it's 32bit user space as? If memory serves I think ubuntu are using i486 on 32bit user space where as the 64bit user space will be using sse2 as default which could explain some of the differences

          Would it be possible to try the same test again using Gentoo or Arch (or another distro that uses i686 as default)

          Cheers

          Mike
          Gentoo ? default ?
          You may mean Sabayon (i586) ?
          Once Ubuntu used to have i386, i586 and amd k8 binaries.
          Just waste of resources (silicon). Gentoo is up to 4 times faster compared to Ubuntu. To gain such advantage in HW, you'll usually spend a lot of money.

          Comment


          • #6
            Originally posted by n0nsense View Post
            Gentoo ? default ?
            You may mean Sabayon (i586) ?
            Once Ubuntu used to have i386, i586 and amd k8 binaries.
            Just waste of resources (silicon). Gentoo is up to 4 times faster compared to Ubuntu. To gain such advantage in HW, you'll usually spend a lot of money.
            What?

            I'm trying to say that changing the default compiler options on 32bit systems can show huge differences

            Phoronix could show the differences quite easily using their test suite

            I think I've seen a non-Phoronix article showing just that using the PTS

            Comment


            • #7
              Originally posted by FireBurn View Post
              Did you just use a the 3 kernels and kept the same 32bit user space or did the 64 bit kernel use 64bit user space?

              If the latter do you know what Ubuntu compiles it's 32bit user space as? If memory serves I think ubuntu are using i486 on 32bit user space where as the 64bit user space will be using sse2 as default which could explain some of the differences

              Would it be possible to try the same test again using Gentoo or Arch (or another distro that uses i686 as default)

              Cheers

              Mike
              Well sse2 being part of the standard ABI is one of the advantages of x86_64 (i.e sse2 is always available).

              And the summary gets it straight to the point there is NO reason not to use x86_64 on x86_64 capable hardware.

              Comment


              • #8
                Originally posted by Dragoran View Post
                Well sse2 being part of the standard ABI is one of the advantages of x86_64 (i.e sse2 is always available).

                And the summary gets it straight to the point there is NO reason not to use x86_64 on x86_64 capable hardware.
                Have they proved that you should be using the Ubuntu 64bit CD or have they proved that if you use the 32bit CD you should install a 64bit kernel?

                Comment


                • #9
                  Originally posted by FireBurn View Post
                  Have they proved that you should be using the Ubuntu 64bit CD or have they proved that if you use the 32bit CD you should install a 64bit kernel?
                  The former, a 32bit app running on a x86_64 kernel cannot (and does not) provide performance gains like this (the kernel itself should have a very small impact if any (in most benchmarks); as shown with the PAE vs. NONPAE kernels).

                  Comment


                  • #10
                    Originally posted by Dragoran View Post
                    The former, a 32bit app running on a x86_64 kernel cannot (and does not) provide performance gains like this (the kernel itself should have a very small impact if any (in most benchmarks); as shown with the PAE vs. NONPAE kernels).
                    The problems is they haven't specified this - in fact they've only told us the differences between the kernels

                    Comment


                    • #11
                      Originally posted by FireBurn View Post
                      The problems is they haven't specified this - in fact they've only told us the differences between the kernels
                      True....

                      Well I run one of the benchmarks on my system (c-ray .. one run with a 64bit binary; one with a 32bit binary).

                      Test system was a core i7 920 running at 3.8ghz with HT enabled (running 64bit kernel for both)
                      64 bit:
                      ####################################
                      C-Ray:
                      Total Time

                      52.112 Seconds
                      52.261 Seconds
                      52.124 Seconds

                      Average: 52.16 Seconds
                      ####################################
                      32 bit:
                      ####################################
                      C-Ray:
                      Total Time

                      86.997 Seconds
                      86.774 Seconds
                      86.705 Seconds

                      Average: 86.82 Seconds
                      ####################################
                      The numbers speak for themselves

                      Comment


                      • #12
                        I also think that this huge difference is due to i486, rather than i686 optimization. Does anyone knows how 64-bit programs impact CPU on-die cache memory. Doesn't addresses in it, eat twice as much, than 32-bit code, effectively half usable cache size. How this affects smaller CPUs, like Athlon II for example?

                        Comment


                        • #13
                          It would be really, really great if someone could test Gentoo x86
                          vs Gentoo x64 and show whether there are any gains to achieve.
                          Both with SSE2/SSE3, gcc optimizations and so on. Phoronix is
                          just full of 'Ubuntu this, Ubuntu that' - well Ubuntu is just one
                          member of a big GNU/Linux family, give some love to other distros
                          as well.

                          "So pretty please... with sugar on top. Clean the f-car."
                          Winston Wolf

                          Comment


                          • #14
                            Originally posted by clavko View Post
                            It would be really, really great if someone could test Gentoo x86
                            vs Gentoo x64 and show whether there are any gains to achieve.
                            Both with SSE2/SSE3, gcc optimizations and so on. Phoronix is
                            just full of 'Ubuntu this, Ubuntu that' - well Ubuntu is just one
                            member of a big GNU/Linux family, give some love to other distros
                            as well.

                            "So pretty please... with sugar on top. Clean the f-car."
                            Winston Wolf

                            There is a new writer at anand, he using Arch for reviews.
                            And I totally agree with "'Ubuntu this, Ubuntu that'.
                            Michael promised Sabayon review this week.

                            Comment


                            • #15
                              some time ago I found that some of the PTS tests compile with no optimization at all on 64bit but at least set a sensible march on 32bit.
                              If that is still true and some of tests afflicted by this used in the test, the results could be even more one sided.

                              That said, while computing tests should show a lead for 64bit because of the additional registers and the greater 'length', it doesn't make a lot of sense when disk bound tests are faster too.

                              Something might be rotten in the state of Denmark.
                              Last edited by energyman; 12-30-2009, 08:30 AM.

                              Comment

                              Working...
                              X