Myrimatch is a tool that identifies proteins by comparing the mass spectrometry data for each constituent peptide against a known database of proteins. The application was developed by Dr. Tabb at Vanderbilt University, and is both multi-threaded and can be clustered efficiently across multiple systems. The data for the benchmark is a set of experimental spectra data collected from baker’s yeast and compared against a FASTA database from yeastgenome.org. Thanks go to Scott Wasson of Tech Report for sharing this benchmark with us. Like Euler 3D, the number of threads can be varied, so all our results are presented over a range of thread counts.
Figure 11 – Myrimatch Performance
Myrimatch performance is reported in execution time. While it is a little hard to see in Figure 11, with full thread occupancy, Westmere executes in 12.5 seconds versus 19.5 seconds for Nehalem. This is by far the best improvement we’ve seen with Westmere; in fact, it’s surprisingly large: 19.5/12.5 = 1.56, which is a little better than expected for 4 vs. 6 cores. Perhaps Myrimatch benefits from some of the microarchitectural improvements as well as the increased core count. As with Euler 3D, the Windows scheduler seems to place threads a little oddly, resulting in peculiar intermediate scaling.
Figure 12 – Myrimatch Power Consumption
The figure above shows power consumption for Myrimatch at different thread counts. At low thread counts where not all cores are active, Westmere shows a mild advantage, but once the systems get sufficiently loaded the power use is essentially equal. As with Euler 3D, the power consumption curves have a slightly lumpy nature to them.
Figure 13 – Myrimatch Energy Efficiency
Since we used execution time above, we will use energy consumption as our metric here. The improvement from Nehalem to Westmere is consistent with the performance gains shown in Figure 11. At peak, Westmere uses only 4026 joules versus 6301 for Nehalem.