Characterization of Smith-Waterman sequence database search in X10


Productivity and performance are always viewed as two sides of parallel programming languages. X10 is a new object-oriented parallel language for both high-productivity and high-performance. To help the development of X10, we characterize the performance of X10 in bioinformatics using the fundamental application Smith-Waterman (SW) sequence database search. We implement the SW application in X10 on multi-core shared-memory architecture. Through comparing with three SW implementations in C++, we make following suggestions for X10 as well as its compiler. (1) X10 compiler should improve its array access implementation in kernel loop to avoid redundant check and inefficient offset computation. The array access of the latest version X10 is much slower than that of C++, which results in poor single-core performance of SW in X10. (2) X10 should support the utilization of SIMD instructions. With 128-bit SSE instructions, SW in X10 can achieve 8.7--17.7 fold speedup. Note that there are many applications in the world which can dramatically benefit from SIMD architectures on modern processors.

DOI: 10.1145/2246056.2246058

10 Figures and Tables

Cite this paper

@inproceedings{Ji2012CharacterizationOS, title={Characterization of Smith-Waterman sequence database search in X10}, author={Yingsheng Ji and Li Liu and Guangwen Yang}, booktitle={X10 '12}, year={2012} }