I am in the process of converting the programs in the FASTA
package over to the PowerPC and would like to share some observations.
When I first converted FASTA to the PowerPC version, the speed-up over
the 68K version was very modest, only about 33%. I then compared
FASTA on the PPC to FASTA on an IBM RS/6000 with AIX (same
architecture, different speeds and operating systems). I was dismayed
that a FASTA search that took about 7 sec on the Unix RS/6K took more
than 2 minutes on the PPC.
Since the Unix system has a sophisticated preemptive
scheduling mechanism and the MacPPC requires frequent poling to
simulate multiprocessing, I checked to see whether my event checking
routine was responsible for some of the difference. It was; removing
the ChkEvent() routine decreased the time required from > 2 minutes to
about 22 sec (on a PowerMac 8100/80). Still not as good as Unix, but
in the ballpark. I have since modified the ChkEvent() routine to poll
the system only once per second, and the performance loss is modest
(28 vs 22 sec). Here, the MacPPC was so fast that it spent 80% of its
time doing system polling and only 20% on my application.
FASTA may also be slower on the Mac because of inefficiencies
in the file system (and remember, the Unix time is a CPU time, not
elapsed, so i/o time is not included, however that adds only about 1
sec). To focus on the relative CPU performance, I searched the PIR1
database with SSEARCH, which implements the Smith-Waterman algorithm.
Here the results were much more impressive; the MacPPC took about 8
min while the Unix RS/6K took 6. Thus, for very CPU-intensive tasks,
the 80 Mhz PowerMac performs about 75% as well as an IBM RS/6000 model
370. I suspect that performance scales well with clock speed on the
MacPPC, so that the ~$2500 model 7100 (66 Mhz) would be equivalent to
about 60% of a 370 (a 62 MHz chip set) at about 10% the price.
wrp at virginia.EDU
Dept. of Biochemistry #440
U. of Virginia
Charlottesville, VA 22908