Issue No.06 - November/December (2009 vol.26)
Ali Jannesari , University of Karlsruhe
Victor Pankratius , University of Karlsruhe
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MS.2009.183
As multicore computers become mainstream and the demand for parallel software increases, software developers need to know which approaches to parallelism work. A case study in which four teams competitively parallelized the Bzip2 compression algorithm illustrates the difficulties that arise when working with a nonnumeric, real application. The sequential code needed significant restructuring before parallelization could begin; restructuring consumed most of the development time. Parallelization at a high level resulted in significant speedups. Low-level, inner-loop parallelizations performed poorly. The case study yielded several other lessons learned.
Programming techniques, concurrent programming, parallel programming, multicore systems, bzip, concurrency, synchronization, patterns, OpenMP, Posix
Ali Jannesari, Victor Pankratius, "Parallelizing Bzip2: A Case Study in Multicore Software Engineering", IEEE Software, vol.26, no. 6, pp. 70-77, November/December 2009, doi:10.1109/MS.2009.183