Title :
Slashing the Time for BWT Inversion
Author :
Kärkkäinen, Juha ; Kempa, Dominik ; Puglisi, Simon J.
Author_Institution :
Dept. of Comput. Sci., Univ. of Helsinki, Helsinki, Finland
Abstract :
Inverting the Burrows-Wheeler transform (BWT) is a bottleneck in BWT-based decompressors. The state-of-the-art inversion algorithm runs in linear time but is slow in practice due to CPU-cache misses. For more than a decade these cache misses have been thought to be inherent to BWT inversion. We show how to reduce the number of cache misses by a factor of nearly two, and simultaneously the cost of cache misses by another factor of two, obtaining a consistent speed up by a factor of 2.3-4. We can do even better if the data is highly repetitive. We describe an algorithm that achieves an asymptotic reduction in cache misses in theory and is the fastest algorithm in practice for such data.
Keywords :
cache storage; data compression; BWT inversion; Burrows-Wheeler transform; cache misses; time slashing; Algorithm design and analysis; Arrays; Complexity theory; Educational institutions; Out of order; Transforms;
Conference_Titel :
Data Compression Conference (DCC), 2012
Conference_Location :
Snowbird, UT
Print_ISBN :
978-1-4673-0715-4
DOI :
10.1109/DCC.2012.18