Research Article

SW-LZMA: Parallel Implementation of LZMA Based on SW26010 Many-Core Processor

Algorithm 2

LZMA Athread on CPEs.
   Require:
  Hash_table: Hash Table for fast search entry
  cur_pos: Pointer on first byte of the uncompressed data
  Src: Pointer on input data (in main memory)
   Process:
1.   DMA_get(buffer_base, src, buffer_size)
2.   While(src data is not empty){
3.     If(buffer block compression is finished){
4.       DMA_iget(buffer_base, src, buffer_size)
5.       DMA_iput(dest, compressed _data, compressed_size)
6.     }else{
7.       LZ77_Compress(hash_Table, cur_pos, buffer_base)
8.       Range_Encode(compressed _data)
9.     }
10.   }end while
    Output:
    Dest: Compressed _data output (in main memory)
    Compressed _data: Output buffer (in LDM)