BLAST on UPMEM
Abstract
This paper presents the implementation of the BLAST software on the UPMEM architecture. BLAST is a well-known molecular biology software to rapidly scan DNA or protein genomic banks. It is daily used by thousands of biologists. Given a query sequence, BLAST reports all the sequences of the bank where similarities are found. The result is a list of alignments that detail the similarities. UPMEM’s Processing-In-Memory (PIM) solution consist of adding processing units into the DRAM, to minimize data access time and maximize bandwidth, in order to drastically accelerate data-consuming algorithms. A 16 GBytes UPMEM-DIMM module comes then with 256 UPMEM DRAM Processing Units (named DPU). To find similarities, BLAST proceeds in 3 steps: (1) search of common words between the query sequence and the bank sequences; (2) evaluation of local similarity on the neighbourhood of these words; and (3) computation of the final alignment. As the 2 first steps are limited by memory bandwidth, and represent the majority of time of the overall computation, they have been massively parallelized on UPMEM DPUs. The 3rd step is performed on the host processor and is overlapped with the UPMEM processing. Experimentation on real datasets shows a speed-up of 25 when using UPMEM configuration, versus a standard server running 20 Intel cores.
Origin | Files produced by the author(s) |
---|