Font Size: a A A

Design Of Parallel Huffman Compress Algorithm Program Based On OpenMP And Multi-Core Architecture

Posted on:2013-03-24Degree:MasterType:Thesis
Country:ChinaCandidate:R HuFull Text:PDF
GTID:2248330395985104Subject:Computer technology
Abstract/Summary:PDF Full Text Request
The linear relation between the instruction throughput and the clock speed is becoming obsolete as the manufacture technologies of micro-processors are approaching their physical limit. Under the constraints from power and processor architectures, processor designers can’t increase the CPU performance simply by piling more hardware resource on a single chip anymore. It has become the trend to design multi-core processors to increase the performance and better utilize the hardware resources on a chip. This has brought many challenges as well as opportunities that had never been met into the whole research world of computer science. In order to make full use of the multi-core processor, it is also important to study the techniques for parallel programming. Application developers have to spend more time to re-design and test their code in order to take the full advantages of multi-core processors. There is no simple and automated way to develop a parallel program, which makes it demand more effort in order to get a correct and efficient program for multi-core processors.This paper is an exploration of the multi-core programming under such background. A parallel Huffman compress algorithm is developed based on OpenMP programming model. The traditional serial-execution procedures were analyzed, and the Intel performance analyzer was used to find the hot spot in the serial-execution program. Then the hot spot code was parallelized. Intel Vtune performance analyzer was used to find the most time-consuming part in the program. There is no need to change the code structure, so the application developers can understand the operations in the code, find performance bottlenecks, and work towards the correct directions for code parallelization and optimization.The code based on OpenMP was further optimized and debugged with the help from various developing tools. An experiment platform was built, which is used to evaluated and compare the code performance between the parallelized version and the serial-execution version. The evaluation results show that:the parallelized code is about1.5to2times faster than the serial-executed version.Finally, it discussed the various factors that could have impacts on the program performance on multi-core platforms based on the algorithm and experiment results mentioned above, and proposed some suggestions to develop parallel programs.
Keywords/Search Tags:the model of OpenMP, parallel programming, multi-core, multithread
PDF Full Text Request
Related items