5 Replies Latest reply on Nov 5, 2010 1:33 AM by Robert Cohen

    bzip2 performance on sparc cpu


      I noticed that on a Enterprise T5140 machine which has UltraSparc T2 processor, a bzip2 process takes nearly 10 times more compared to an core2 duo processor. Is this behaviour normal? Specs are
      T5140 has UltraSparc T2 1.4 Ghz Eight Core CPU, 32 GB RAM, 2x300GB SAS HDD mirrored zfs pool
      PC has Intel Core2DUo E8500 3.16GHz CPU, 2GB RAM, SATA HDD non mirrored zfs pool.

      The following timings are received consistently when no load is present on the machines. The file used for
      comparison was http://download.oracle.com/otn/solaris/studio/SolarisStudio12.2-solaris-sparc-pkg-ML.tar.bz2
      which is about 477MB in size.
      T5140 bzip2 takes 14 minutes 56 seconds bzip2 -d takes 5 minutes 29 seconds.
      Intel bzip2 takes 1 minutes 35 seconds bzip2 -d takes 0 minutes 40 seconds.

      On the T5140, during bzip2, no cpu load or machine load is observed, and no swap is used.

      Is this performance problem normal for a Sparc CPU?
        • 1. Re: bzip2 performance on sparc cpu
          The UltraSPARC T2 processor is designed for large-scale parallel operations and IIRC low power consumption, not single-threaded performance.
          • 2. Re: bzip2 performance on sparc cpu
            I would expect the T2 CPU to be slower, but not that much slower.

            Which version of bzip2 are you using?

            • 3. Re: bzip2 performance on sparc cpu
              bzip2 is a highly cache dependant workload. The T2 only has a shared 4MB cache for all 64 compute threads so expect single threaded cache dependent operations to be VERY slow - think slower then USIII @ 750MHz but faster then USII @ 450MHz.

              If your just benchmarking to learn about the processor then congrats you found the weak spot, hopefully before deployment.

              If you want to bzip files faster I recommend you install pbzip2, you'll then see the T2 use multiple threads and bzip that file in under 15 sec.
              • 4. Re: bzip2 performance on sparc cpu
                I am using the default version coming in the Solaris 10 update 9 DVD, which is 1.0.5.

                Since I was not able to observe any CPU load while waiting for bzip2, I thought is may be slow due to something else. Guess the cache issue explains the reason, though still not sure why I couldnt see the bottleneck during the wait period. Any command that shows cache load?

                I was simply trying to install sunstudio 12.2 to our new server and was shocked when the bzip2 took so much time. First I thought it was the xfs (using for the first time as root fs), than checked if it was paging but there was practically no load on the system.

                So I will try pbzip2 as suggested. Thanks for help.
                • 5. Re: bzip2 performance on sparc cpu
                  Robert Cohen
                  You won't see terribly much CPU load from singlethreaded programs.
                  Because the reporting tools tend to report percentages of the entire machine utilised.
                  Since the machine has 64 (virtual) CPU's.
                  Even a completely CPU bound process (busy loop) still will still only show up as less than 2% utilisation.