K. Viswanathan Iyer, Karthick Seshadri, K. Srinivasulu
{"title":"具有并行译码潜力的霍夫曼编码的新进展","authors":"K. Viswanathan Iyer, Karthick Seshadri, K. Srinivasulu","doi":"10.1002/cpe.70096","DOIUrl":null,"url":null,"abstract":"<div>\n \n <p>With examples we provide a minimum theory framework to understand data compression of text files—using Huffman coding—that will also provide a framework in designing experiments involving encoding/decoding. We propose a parallelizable heuristic for the naïve Huffman encoding and decoding which addresses the difficulty in parallelizing the inherently sequential Huffman decoding. While the proposal is amenable to a design of an efficient parallel algorithm for Huffman decoding, it also achieves a better compression ratio in the sense that the fraction of inputs for it works is over 0.83. The results of simulations of the parallel algorithm on a 64-core machine show that the proposed parallel modified Huffman encoding and decoding results in a faster algorithm when compared to the naïve Huffman scheme and the sequential version of the heuristic proposed. Further, the parallel implementation of the proposed encoding and decoding schemes resulted in a mean speed-up of <span></span><math>\n <semantics>\n <mrow>\n <mi>O</mi>\n <mfenced>\n <mrow>\n <mi>r</mi>\n <msub>\n <mi>log</mi>\n <mfenced>\n <mfrac>\n <mi>n</mi>\n <mi>r</mi>\n </mfrac>\n </mfenced>\n </msub>\n <mi>n</mi>\n </mrow>\n </mfenced>\n </mrow>\n <annotation>$$ O\\left(r{\\log}_{\\left(\\frac{n}{r}\\right)}n\\right) $$</annotation>\n </semantics></math> and <span></span><math>\n <semantics>\n <mrow>\n <mi>O</mi>\n <mrow>\n <mo>(</mo>\n <mi>r</mi>\n <mo>)</mo>\n </mrow>\n </mrow>\n <annotation>$$ O(r) $$</annotation>\n </semantics></math> respectively over the naïve Huffman encoding and decoding when processing an input of size <span></span><math>\n <semantics>\n <mrow>\n <mi>n</mi>\n </mrow>\n <annotation>$$ n $$</annotation>\n </semantics></math> on a multi-core processor with <span></span><math>\n <semantics>\n <mrow>\n <mi>r</mi>\n </mrow>\n <annotation>$$ r $$</annotation>\n </semantics></math> cores.</p>\n </div>","PeriodicalId":55214,"journal":{"name":"Concurrency and Computation-Practice & Experience","volume":"37 9-11","pages":""},"PeriodicalIF":1.5000,"publicationDate":"2025-04-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"An Advancement in Huffman Coding With a Potential for Parallel Decoding\",\"authors\":\"K. Viswanathan Iyer, Karthick Seshadri, K. Srinivasulu\",\"doi\":\"10.1002/cpe.70096\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<div>\\n \\n <p>With examples we provide a minimum theory framework to understand data compression of text files—using Huffman coding—that will also provide a framework in designing experiments involving encoding/decoding. We propose a parallelizable heuristic for the naïve Huffman encoding and decoding which addresses the difficulty in parallelizing the inherently sequential Huffman decoding. While the proposal is amenable to a design of an efficient parallel algorithm for Huffman decoding, it also achieves a better compression ratio in the sense that the fraction of inputs for it works is over 0.83. The results of simulations of the parallel algorithm on a 64-core machine show that the proposed parallel modified Huffman encoding and decoding results in a faster algorithm when compared to the naïve Huffman scheme and the sequential version of the heuristic proposed. Further, the parallel implementation of the proposed encoding and decoding schemes resulted in a mean speed-up of <span></span><math>\\n <semantics>\\n <mrow>\\n <mi>O</mi>\\n <mfenced>\\n <mrow>\\n <mi>r</mi>\\n <msub>\\n <mi>log</mi>\\n <mfenced>\\n <mfrac>\\n <mi>n</mi>\\n <mi>r</mi>\\n </mfrac>\\n </mfenced>\\n </msub>\\n <mi>n</mi>\\n </mrow>\\n </mfenced>\\n </mrow>\\n <annotation>$$ O\\\\left(r{\\\\log}_{\\\\left(\\\\frac{n}{r}\\\\right)}n\\\\right) $$</annotation>\\n </semantics></math> and <span></span><math>\\n <semantics>\\n <mrow>\\n <mi>O</mi>\\n <mrow>\\n <mo>(</mo>\\n <mi>r</mi>\\n <mo>)</mo>\\n </mrow>\\n </mrow>\\n <annotation>$$ O(r) $$</annotation>\\n </semantics></math> respectively over the naïve Huffman encoding and decoding when processing an input of size <span></span><math>\\n <semantics>\\n <mrow>\\n <mi>n</mi>\\n </mrow>\\n <annotation>$$ n $$</annotation>\\n </semantics></math> on a multi-core processor with <span></span><math>\\n <semantics>\\n <mrow>\\n <mi>r</mi>\\n </mrow>\\n <annotation>$$ r $$</annotation>\\n </semantics></math> cores.</p>\\n </div>\",\"PeriodicalId\":55214,\"journal\":{\"name\":\"Concurrency and Computation-Practice & Experience\",\"volume\":\"37 9-11\",\"pages\":\"\"},\"PeriodicalIF\":1.5000,\"publicationDate\":\"2025-04-16\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Concurrency and Computation-Practice & Experience\",\"FirstCategoryId\":\"94\",\"ListUrlMain\":\"https://onlinelibrary.wiley.com/doi/10.1002/cpe.70096\",\"RegionNum\":4,\"RegionCategory\":\"计算机科学\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q3\",\"JCRName\":\"COMPUTER SCIENCE, SOFTWARE ENGINEERING\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Concurrency and Computation-Practice & Experience","FirstCategoryId":"94","ListUrlMain":"https://onlinelibrary.wiley.com/doi/10.1002/cpe.70096","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 0
摘要
通过示例,我们提供了一个最小的理论框架来理解文本文件的数据压缩-使用霍夫曼编码-这也将为设计涉及编码/解码的实验提供一个框架。我们提出了一个并行启发式的naïve霍夫曼编码和解码,它解决了并行化固有顺序的霍夫曼解码的困难。虽然该提议适用于霍夫曼解码的高效并行算法的设计,但它也实现了更好的压缩比,因为它的输入工作分数超过0.83。在64核机器上的仿真结果表明,与naïve Huffman方案和启发式算法的顺序版本相比,所提出的并行改进Huffman编码和解码算法的速度更快。此外,所提出的编码和解码方案的并行实现导致平均加速为O r log n r n在处理大小为n $$ n $$的输入时,分别对$$ O\left(r{\log}_{\left(\frac{n}{r}\right)}n\right) $$和O (r) $$ O(r) $$进行霍夫曼编码和解码在一个有r $$ r $$核的多核处理器上。
An Advancement in Huffman Coding With a Potential for Parallel Decoding
With examples we provide a minimum theory framework to understand data compression of text files—using Huffman coding—that will also provide a framework in designing experiments involving encoding/decoding. We propose a parallelizable heuristic for the naïve Huffman encoding and decoding which addresses the difficulty in parallelizing the inherently sequential Huffman decoding. While the proposal is amenable to a design of an efficient parallel algorithm for Huffman decoding, it also achieves a better compression ratio in the sense that the fraction of inputs for it works is over 0.83. The results of simulations of the parallel algorithm on a 64-core machine show that the proposed parallel modified Huffman encoding and decoding results in a faster algorithm when compared to the naïve Huffman scheme and the sequential version of the heuristic proposed. Further, the parallel implementation of the proposed encoding and decoding schemes resulted in a mean speed-up of and respectively over the naïve Huffman encoding and decoding when processing an input of size on a multi-core processor with cores.
期刊介绍:
Concurrency and Computation: Practice and Experience (CCPE) publishes high-quality, original research papers, and authoritative research review papers, in the overlapping fields of:
Parallel and distributed computing;
High-performance computing;
Computational and data science;
Artificial intelligence and machine learning;
Big data applications, algorithms, and systems;
Network science;
Ontologies and semantics;
Security and privacy;
Cloud/edge/fog computing;
Green computing; and
Quantum computing.