Enhanced Parallel bzip2 Compression with Lock-Free Queue

Since the general trend nowadays is to have more and more processors (cores) available in each computer, the scalability of the data structures used in parallel programs must be carefully considered in order to guarantee that they take full advantage of the available processors. Because of increased...

ver descrição completa

Detalhes bibliográficos
Autores: Sánchez-Salazar, José, Aymerich-Sánchez, Edward
Tipo de documento: artigo
Estado:Versão publicada
Data de publicação:2017
País:Costa Rica
Recursos:Universidad Nacional de Costa Rica
Repositório:Portal de Revistas UNA
Idioma:inglês
OAI Identifier:oai:ojs.www.una.ac.cr:article/9620
Acesso em linha:https://www.revistas.una.ac.cr/index.php/uniciencia/article/view/9620
Access Level:Acceso aberto
Palavra-chave:Computer programming
Data processing
Programming languages
Programación informática
Procesamiento de datos
Lenguaje de programación.
Descrição
Resumo:Since the general trend nowadays is to have more and more processors (cores) available in each computer, the scalability of the data structures used in parallel programs must be carefully considered in order to guarantee that they take full advantage of the available processors. Because of increased containment, lock-based data structures usually do not perform proportionally as the number of processors increases. The use of well-designed lock-free data structures, like first in-first out, (fifo) queues, can boost the performance of a parallel program when many processors are available. In this work, a parallel version of bzip2, a popular compression and decompression program, is designed and implemented by using lock-free queues instead of the lock-based ones, and applying a two-buffer-output strategy. The performance of lock-free implementation is measured against lock-based implementations. Compression time was measured with different number of processors and different block sizes. Consistent with our hypothesis, the results show that our parallel lock-free implementation outperforms the other implementations.