[PDF][PDF] Unleashing parallelism in longest common subsequence using dataflow

TA Alves, LAJ Marzulo, FMG Franca - 4th Workshop on …, 2013 - researchgate.net
4th Workshop on Applications for Multi-Core Architectures, 2013researchgate.net
Finding a longest common subsequence (LCS) of two sequences is an important problem
for several fields, such as biology, medicine and linguistics. LCS algorithm is usually
implemented with dynamic programming techniques where a score matrix (C) is filled to
determine the size of the LCS. Parallelization of this task usually follows the wavefront
pattern. When using popular APIs, such as OpenMP, wavefront is implemented by
processing the elements of each diagonal of C in parallel. This approach restricts …
Abstract
Finding a longest common subsequence (LCS) of two sequences is an important problem for several fields, such as biology, medicine and linguistics. LCS algorithm is usually implemented with dynamic programming techniques where a score matrix (C) is filled to determine the size of the LCS. Parallelization of this task usually follows the wavefront pattern. When using popular APIs, such as OpenMP, wavefront is implemented by processing the elements of each diagonal of C in parallel. This approach restricts parallelism and forces threads to wait on a barrier at the end of the computation of each diagonal. In this paper we propose a dataflow parallel version of LCS. Multiple tasks are created, each one being responsible for processing a block of C, and task execution is fired when all data dependencies are satisfied. Comparison with OpenMP implementation showed performance gains from 13 to 23%, which suggests that dataflow execution can be an interesting alternative to wavefront applications.
researchgate.net
以上显示的是最相近的搜索结果。 查看全部搜索结果