Abstract
The main contribution of this paper is to present a parallel algorithm for LZW decompression and to implement it in a CUDA-enabled GPU. Since sequential LZW decompression creates a dictionary table by reading codes in a compressed file one by one, its parallelization is not an easy task. We first present a parallel LZW decompression algorithm on the CREW-PRAM. We then go on to present an efficient implementation of this parallel algorithm on a GPU. The experimental results show that our parallel LZW decompression on GeForce GTX 980 runs up to 69.4 times faster than sequential LZW decompression on a single CPU. We also show a scenario that parallel LZW decompression on a GPU can be used for accelerating big data applications.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Adobe Developers Association: TIFF Revision 6.0. http://partners.adobe.com/public/developer/en/tiff/TIFF6.pdf
Gibbons, A., Rytter, W.: Efficient Parallel Algorithms. Cambridge University Press, Cambridge (1988)
Harris, M., Sengupta, S., Owens, J.D.: Parallel prefix sum (scan) with CUDA, Chap. 39. In: GPU Gems 3. Addison-Wesley (2007)
Hwu, W.W.: GPU Computing Gems Emerald Edition. Morgan Kaufmann, San Francisco (2011)
Kasagi, A., Nakano, K., Ito, Y.: Parallel algorithms for the summed area table on the asynchronous hierarchical memory machine, with GPU implementations. In: Proceedings of the International Conference on Parallel Processing (ICPP), pp. 251–250, September 2014
Klein, S.T., Wiseman, Y.: Parallel Lempel Ziv coding. Discrete Appl. Math. 146, 180–191 (2005)
Man, D., Uda, K., Ito, Y., Nakano, K.: A GPU implementation of computing Euclidean distance map with efficient memory access. In: Proceedings of the International Conference on Networking and Computing, pp. 68–76, December 2011
Nakano, K.: Simple memory machine models for GPUs. In: Proceedings of the International Parallel and Distributed Processing Symposium Workshops, pp. 788–797, May 2012
Nicolaisen, A.L.V.: Algorithms for compression on GPUs. Ph.D. thesis, Technical University of Denmark, August 2015
Nishida, K., Ito, Y., Nakano, K.: Accelerating the dynamic programming for the matrix chain product on the GPU. In: Proceedings of the International Conference on Networking and Computing, pp. 320–326, December 2011
NVIDIA Corporation: NVIDIA CUDA C programming guide version 7.0, March 2015
Ozsoy, A., Swany, M.: CULZSS: LZSS lossless data compression on CUDA. In: Proceedings of the International Conference on Cluster Computing, pp. 403–411, September 2011
Shyni, K., Kumar, K.V.M.: Lossless LZW data compression algorithm on CUDA. IOSR J. Comput. Eng. 13, 122–127 (2013)
Takeuchi, Y., Takafuji, D., Ito, Y., Nakano, K.: ASCII art generation using the local exhaustive search on the GPU. In: Proceedings of the International Symposium on Computing and Networking, pp. 194–200, December 2013
Welch, T.: High speed data compression and decompression apparatus and method. US patent 4558302, December 1985
Welch, T.A.: A technique for high-performance data compression. IEEE Comput. 17(6), 8–19 (1984)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this paper
Cite this paper
Funasaka, S., Nakano, K., Ito, Y. (2016). A Parallel Algorithm for LZW Decompression, with GPU Implementation. In: Wyrzykowski, R., Deelman, E., Dongarra, J., Karczewski, K., Kitowski, J., Wiatr, K. (eds) Parallel Processing and Applied Mathematics. PPAM 2015. Lecture Notes in Computer Science(), vol 9573. Springer, Cham. https://doi.org/10.1007/978-3-319-32149-3_22
Download citation
DOI: https://doi.org/10.1007/978-3-319-32149-3_22
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-32148-6
Online ISBN: 978-3-319-32149-3
eBook Packages: Computer ScienceComputer Science (R0)