Speaker: Ben Langmead, Johns Hopkins University
This session provides an overview of the results from a multiyear collaboration with engineers at Intel to revamp Bowtie and Bowtie 2 (and another related tool called HISAT) to make effective use of all the processor cores on modern Intel® CPUs. Included are results from running our improved code on Intel® Xeon® and Intel® Xeon Phi™ processors. The speaker describes an array of improvements made to the code, including the integration of the Intel® Threading Building Blocks library, the use of mutex implementations that are more appropriate for NUMA systems, as well as a novel "cohort lock" mutex implementation that is fully NUMA-aware. All of these led to improvements in thread scaling on the testedsystems. Also described is a series of results showing how optimizations to key critical sections in the code led to further improvements. These results, which benefited from strategic use of Intel tools like Intel® Inspector and Intel® VTune™ Amplifier, constitute a guide for other genomics software tools for authors seeking to similarly adapt their software to make better use of modern manycore systems.