• DocumentCode
    2049341
  • Title

    Cache Friendly Burrows-Wheeler Inversion

  • Author

    Kärkkäinen, Juha ; Puglisi, Simon J.

  • Author_Institution
    Dept. of Comput. Sci., Univ. of Helsinki, Helsinki, Finland
  • fYear
    2011
  • fDate
    21-24 June 2011
  • Firstpage
    38
  • Lastpage
    42
  • Abstract
    The Burrows-Wheeler transform permutes the symbols of a string such that the permuted string can be compressed effectively with fast, simple techniques. Inversion of the transform is a bottleneck in practice. Inversion takes linear time, but, for each symbol decoded, folklore says that a random access into the transformed string (and so a CPU cache-miss) is necessary. In this paper we show how to mitigate cache misses and so speed inversion. Our main idea is to modify the standard inversion algorithm to detect and record repeated sub strings in the original string as it is recovered. Subsequent occurrences of these repetitions are then copied in a cache friendly way from the already recovered portion of the string, short cutting a series of random accesses by the standard inversion algorithm. We show experimentally that this approach leads to faster runtimes in general, and can drastically reduce inversion time for highly repetitive data.
  • Keywords
    cache storage; data compression; transforms; CPU cache misses; cache friendly Burrows-Wheeler transform inversion; permuted string; speed inversion; standard inversion algorithm; transformed string; Arrays; DNA; Data compression; Electronic mail; Pattern matching; Runtime; Transforms; BWT; Burrows-Wheeler transform; cache misses; data compression; suffix array;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Data Compression, Communications and Processing (CCP), 2011 First International Conference on
  • Conference_Location
    Palinuro
  • Print_ISBN
    978-1-4577-1458-0
  • Electronic_ISBN
    978-0-7695-4528-8
  • Type

    conf

  • DOI
    10.1109/CCP.2011.15
  • Filename
    6061025