Delirios de un Informático

Delirando sobre informática, fotografía, programación, móviles y mucho más desde 2003

Compresión multihilo en Linux

votar
Archivado en Linux con fecha 3/Ago/2009 - 0 comentarios
Ver en Bitacoras.com - Etiquetado con: , , , ,

Hace años que disponemos de procesadores con más de un núcleo que en la práctica el sistema operativo ve como varios procesadores, pero todavía hay mucho software que no aprovecha todo el potencial disponible. La compresión de archivos es una tarea bastante frecuente y el software generalmente hace uso sólo de 1 núcleo del procesador, desaprovechando el resto. La siguiente imagen lo ilustra perfectamente:

comparativa

El primer tramo es una compresión con el comando bzip2 sin más, y se ve que sólo utiliza 1 núcleo dejando los otros 7 sin uso. El segundo tramo (sobre el segundo 20) es una compresión del mismo archivo pero aprovechando todos los núcleos, y evidentemente se hace en mucho menos tiempo.

En Linux los compresores más utilizados (gzip y bzip2) no implementan multithreading, pero existen modificaciones que sí lo hacen: SMP mgzip y Parallel BZIP2. Estas dos utilidades sirven sólo para comprimir, generando archivos perfectamente compatibles con sus versiones estándar. También existe 7-Zip, que permite comprimir en múltiples formatos, incluyendo gzip y bzip2. Un ejemplo práctico:

7z a -m0=bzip2 -mmt=8 test.pdf.bzip2 test.pdf

Con ese comando se realiza una compresión en formato bzip2 utilizando 8 núcleos del procesador.

Antes de comentar...

Puedes escribir lo que quieras, pero por favor hazlo respetando a los demás y en relación al tema que se está tratando. Todo comentario insultante o fuera de lugar será eliminado

Está permitido utilizar las siguientes etiquetas HTML para formatear tu comentario: <a> <b> <blockquote> <i> <u>. Además también puedes utilizar estos emoticonos:

:) :( :'( :P ;) :D XD :O :S 8) :$ (A) (L) (K) |) (6) :@ +o( :|

Puedes enviar referencias a esta anotación utilizando esta dirección

Haz tu comentario

Nombre Correo electrónico Página web

Delirios de un Informático :: Gestionado con WordPress :: Alojado en Bitacoras.com :: Licenciado bajo Creative Commons