At my work, I have both a Sun T5220 and M3000. The T5220 has 64 ~1.2 GHz “threads” composed of one CPU with 8 cores of 8 threads each. The M3000 has 8 ~2.75GHz threads composed of 4 cores of 2 threads each.
Product installs were taking much longer than usual, and my customer asked me to find out why. The answer: his install is not very parallel, so being limited to a single slower thread really killed the uncompress and install time.
Here are some numbers. Tested on Solaris 10, with files in /tmp which is mounted on RAM. Input file is Sun Studio 12. The .tar file was removed in between tests, and de/compressions of the files were performed before timing them. Tests were repeated once :).
$ ls -l studio12u1-sol-sparc.tar* -rw-r--r-- 1 alucard 1000 530489344 Nov 19 14:57 studio12u1-sol-sparc.tar -rw-r--r-- 1 alucard 1000 523107141 Nov 19 14:57 studio12u1-sol-sparc.tar.bz2 -rw-r--r-- 1 alucard 1000 522070280 Nov 19 15:15 studio12u1-sol-sparc.tar.gz
$ time gunzip studio12u1-sol-sparc.tar.gz real 0m6.210s user 0m5.041s sys 0m1.168s $ time bunzip2 studio12u1-sol-sparc.tar.bz2 real 2m13.908s user 2m11.729s sys 0m2.110s
$ time gunzip studio12u1-sol-sparc.tar.gz real 0m33.612s user 0m30.704s sys 0m2.905s $ time bunzip2 studio12u1-sol-sparc.tar.bz2 real 6m29.298s user 6m25.302s sys 0m3.985s
The M3000 gunzip’d in 20% of the time the T5220 did, and bunzip’d in 33% of the time. Expected, once you look, because a single thread is much slower on one than on the other.
$ time unpigz studio12u1-sol-sparc.tar.gz real 0m8.400s user 0m9.779s sys 0m3.875s $ time pbunzip2 studio12u1-sol-sparc.tar.bz2 real 0m32.492s user 8m23.074s sys 0m4.807s
Parallel gunzip completed in 25% of the time as single-threaded on the T5220, and parallel bunzip2 completed in 10% of the time! Amazing what throwing 63 more threads on the task can do!
So if you’re wondering why your Sun T series is slow – try doing more things in parallel :).
Note: to take advantage of pbunzip2’s parallel decompression, the files must be compressed with pbzip2 (said files can still be decompressed with plain bzip2).
Commenting is closed for this article.