[AIPS] [NRAO] AIPS Benchmarks: comments on Linux PCs

Most recent change on $Date: 2007/10/29 20:57:41 $ (UT) [Athlon results]

Recent DDT Benchmark Results

Intel Pentium and 486 Systems

[Cute Linux/AIPS Logo] These results are from AIPS installations on Intel systems running various versions of Linux. Linux is an open source Unix-based operating system that is rapidly finding its way into the mainstream. The Astronomical Community has championed its use for quite some time; the AIPS port to Linux was carried out in late 1993 (kernel 0.99.12, on a 386/25).

In February 1998, Jeff Uphoff used the GNU g77 compiler (EGCS version) to compile and build AIPS (15APR98). After considerable testing with different optimization settings, the AIPSMark on a dual pentium pro 200 went from 3.31 (gcc/f2c) to 6.7. We strongly recommend that the g77 (EGCS) compiler be used if you need to build AIPS on a Pentium system.

In the ensuing years, it became clear that for EIDE based systems, it is vital to use hdparm to tune your disk for optimal performance. This may increase the performance by up to a factor of two. A typical if somewhat aggressive setting is achieved by the command

/sbin/hdparm -c 1 -d 1 -k 1 -m 16 /dev/hda

You should NOT USE THIS until you fully understand the effects of each of the parameters, and whether or not it applies to your hardware!!! Refer to the hdparm manual page for details, and talk to your system administrator (if that's not you).

AMD Athlon

James Anderson of New Mexico Tech reports an AIPSMark(93) of 27.2 on his system. It was loaded with 512 Megabytes of memory, 2 Gigabytes of swap, and two highly tuned (-c1 -m16 -k 1) EIDE hard disks. He did some fine tuning of the compiler options, namely changing -O3 to -march=pentiumpro -Os in CCOPTS.SH, and changed the Linux section of FDEFAULT.SH to set OPT0="-march=pentiumpro", and OPT1="-march=pentiumpro -Os". Other settings were left in the default as-shipped state.

Walter Briskin of Princeton reports an AIPSMark(93) of 18.4 on a sub-$1000 machine. This system had a 650MHz Athlon (running at 663 MHz) with 128 MB RAM and a non-UDMA IDE disk (hdparm tuned: -c1 -d1 -m16 -u1) running Linux 2.2.15pre7 on Redhat 6.1.92. The SETPAR speed parameter was set to 12.4. The compiler settings used were -s -static -O3 -fomit-frame-pointer -Wall -mpentiumpro -march=pentiumpro -malign-functions=4 -funroll-loops -fexpensive-optimizations -malign-double -fschedule-insns2 -mwide-multiply and the AIPS version used was 31DEC00.

Pentium 4 1.4GHz

Jeff Pedelty (see SGI results) has once again shattered the old record. At the time of writing, the AIPSMark(93) of 69.0 that he achieved on his Pentium 4 1.4-Gigahertz system is a new record. It also is the first time that the large DDT has completed in less than one minute (58 seconds to be precise)!

Jeff writes that he used a:

Dell Precision Workstation 330 with a 1.5GHz Pentium 4 processor. I have 384MB memory and 3 of the 15K RPM 18GB drives. I striped 2 of the drives to make /usr and the other is /data. I have AIPS disk 1 on /usr, disk 2 on /data, disk 3 back on /usr, and disk 4 back on /data. The GSA price was ~$4800 (no monitor).

Although the system uses Red Hat 7.0 Linux, Jeff retrofitted the gcc-2.95 components (gcc, g77, etc.) before building AIPS on it. An 80-MByte AP size was selected, and the FDEFAULT.SH settings for compiler options were left at system defaults. Total build time (INSTEP2, INSTEP4) was about 32 minutes; as Jeff said, this is a little longer than his first AIPS install back in 1983 on a VAX 11/780 :-)

Pentium III 800 (Coppermine)

Paul Hirst of the Joint Astronomy Centre in Hawaii has achived an AIPSMark(93) of 25.6 on a P-III 800MHz system with a single EIDE disk. He used hdparm to tune the hard disk with parameters -c1 -m16 -d1 -u1. Without these, the AIPSMark dropped to a somewhat dismal value of 14. This was with the egcs-2.91.66 (merged gcc/egcs) compilers, on a Linux RedHat 6.1 system running Kernel version 2.2.12-20, and with the AIPS SETPAR speed parameter set to 25.

An interesting feature of this test was that the AIPS binaries were on a somewhat busy NFS server (Sparc/Solaris), but the DA00 area was local (via symlink) as were the data areas (no symlinks; logicals expanded directly to local paths). The network was 100BaseT, i.e. 100 Megabits per second, which likely removes it as a possible bottleneck.

Pentium III Xeon 550

(November 1999) A single processor Pentium III 550 system (550 MHz) was delivered to NRAO with Red Hat 6.0 pre-installed (though we re-installed it to better configure the partition sizes and swap space; at least we knew all the parts would work with Linux!). It was quite well equipped, with 768 Mbytes of memory and four 18-Gigabyte, 10,000-RPM Ultra-2 SCSI disks. One of these was used to hold the operating system and AIPS, as well as an AIPS data area. The remaining three were totally dedicated to data; two of these were used in the DDT testing.

The result was a very impressive 21.6 AIPSMarks. Given that this system was purchased on the open market for about $7k, it may represent a new point on the price/performance curve for Astronomical Data Processing.

Pentium III 500

(May 26, 1999) A Single processor Pentium III 500 system was used to install Red Hat 6.0 and AIPS 15APR99 at NRAO's Charlottesville location. The system had a single 13Gbyte EIDE disk (7200 RPM, tuned with /sbin/hdparm to allow 32-bit access, enable DMA, and increase multisector operations to 16) and 256 Mbytes of RAM. Running XFree86 3.3.3, the KDE window manager/environment and a minimum of X clients (xterm, xsysinfo), this system achieved 17.86 AIPSMarks.

It is the author's opinion that tuning the EIDE disk is vital to getting the best AIPS performance out of PC systems. Many users of Linux desktops do not use hdparm to tune their disks and are as a result handicapping themselves in terms of disk I/O performance. Care needs to be exercised so that the options applied will actually work with the drive and controller in your system. See the manual page on hdparm for all the details.

Pentium II 450 and 400

NRAO received shipments of PII-400 and 450 systems in late 1998 and has performed preliminary benchmarks on them. On a dual processor 450MHz system with 256 Megabytes of memory, and a 9-Gbyte 10,000 RPM SCSI disk the best figure is 16.13. A 128-Megabyte single processor with a 14-Gbyte 7200 RPM EIDE disk gets a respectable 14.93. A single-processor PII-400 system gets 14.5 when configured with 256 megabytes of memory. The number comes out somewhat lower with 128 megabytes (14.1) and 64 megabytes (12.5).

Pentium II 300

Robert Mutel of the University of Iowa achieved an AIPSMark of 4.58 using a single processor 300 MHz Pentium II, with 128 MB memory and 2x6 GB EIDE disks. This was using Red Hat 5.0 Linux and gcc version, and a snapshot of the 15APR98 version of AIPS from January 16, 1998.

UPDATE: After installing the egcs/1.0.1 version of the GNU compile suite (which includes g77, the native Fortran compiler), the AIPSMark shot up to 9.57.

Pentium II 266

Colin Lonsdale of Haystack reports an AIPSMark of 4.23 on a 266 MHz Pentium II system (512 Kbyte cache, 64 Megabytes memory, two IDE hard drives, Red Hat 4.2 Linux). Given that the cost of the system was about $4k, this is perhaps the first time a single-processor system has gone below the $1000/AipsMark barrier.

Pentium Pro 200

A recent trial on a Linux-based 200MHz Pentium Pro (i686) yielded an AIPSMark of 3.30. The small DDT ran almost 40% faster than on an IBM RS/6000 model 580. This was using GNU C and the f2c translator; we have looked at some commercial Fortran compilers but have not managed to get these to either build AIPS to completion or to pass the DDT test -- yet. We have tried g77 (see above for spectacular results).

Pentium 200

Jose Navarro has recently tried to benchmark a 200 MHz Pentium, but hardware problems prevented him from obtaining an accurate AIPSmark. It is certain to exceed the 1.94 that Craig achieved on the 166 MHz system, though; see below.

Paul Hirst of the X-ray Astronomy Group at Leicester reports an AIPSMark of 2.3 on a Pentium 200 MHz (not a Ppro or MMX) with 32 megabytes memory, 64 megabytes of swap, using local SCSI disks and Linux 2.0.20 (Red Hat v3, gcc 2.7.2, AIPS 15OCT96).
UPDATE: Paul's system was upgraded (g77 2.7.2, RPMs g77_lib-0.5.18-1Ada and gcc-g77-0.5.18-1, memory now 96 Megs, Red Hat 4.2, Kernel 2.0.30) and tried 15APR98. His AIPSMark went to 3.6 (with the speed parameter set to 3.5).

Pentium 166 MHz

Craig Walker reports that he obtained an AIPSmark(93) of 1.94 on a VA Research Pentium 166, with the following characteristics:

Pentium 133 MHz

  1. Thanks to Aileen O'Donoghue's system, we have obtained an AIPSMark(93) on a Pentium 133 MHz with 64 megabytes of memory. The result was 1.70. During the DDT, the swap space was not used at all; everything ran in memory.
  2. Thanks to Mark Swain, I was recently able to benchmark a Pentium (133 MHz, 16 Megabytes, 64 Megs swap, single IDE drive) running Linux 1.3.83/gcc 2.7.2 (53.04 BogoMIPS). The precompiled Linux ELF binaries from 15JAN96were used, and the AIPSMark(93) achieved was 1.5.

Pentium 90 MHz tests

Jeff Uphoff has run rigorous set of DDT benchmarks on a 90 MHz Gateway 2000 Pentium system running the Linux operating system, with various (large) amounts of memory and different disk configurations. The best number we obtained from this was 1.04 AIPSmarks(93). However, it ran the small and medium DDT tests considerably faster than a SPARC IPX (the quintessential 1-AIPSmark(93) system).

Incidentally, a recent Linux installer claimed that the AIPS installation (binary load-and-go tape) was, and I quote, An Absolute Joy. :-)

Linux is a trademark of Linus Torvalds.

Patrick P. Murphy