Biblioteca de compresión usando CUDA de Nvidia


Answers

Hemos finalizado la primera fase de investigación para aumentar el rendimiento de los algoritmos de compresión de datos sin pérdida. Bzip2 fue elegido para el prototipo, nuestro equipo optimizó solo una operación, la transformación Burrows-Wheeler, y obtuvimos algunos resultados: aceleración 2x-4x en buenos archivos comprimibles. El código funciona más rápido en todas nuestras pruebas.

Vamos a completar bzip2, deflate support y LZMA para algunas tareas de la vida real como: tráfico HTTP y compresión de copias de seguridad.

enlace del blog: http://www.wave-access.com/public_en/blog/2011/april/22/breakthrough-in-cuda-data-compression.aspx

Question

¿Alguien conoce un proyecto que implementa métodos de compresión estándar (como Zip, GZip, BZip2, LZMA, ...) usando la biblioteca CUDA de NVIDIA?

Me preguntaba si los algoritmos que pueden hacer uso de muchas tareas paralelas (como la compresión) no se ejecutarían mucho más rápido en una tarjeta gráfica que con una CPU dual o quadcore.

¿Qué piensas sobre los pros y los contras de tal enfoque?







El 30% es bueno, pero para aplicaciones como copias de seguridad no es suficiente por mucho.

Mi experiencia es que el flujo de datos promedio en tales casos obtiene una compresión de 1.2-1.7: 1 usando gzip y termina limitado a una tasa de salida de 30-60Mb / s (esto es a través de una amplia gama de medios modernos (circa 2010-2012) CPU de gama alta.

La limitación aquí es, por lo general, la velocidad a la que los datos se pueden alimentar a la CPU.

Desafortunadamente, para mantener feliz a una unidad de cinta LTO5, necesita una velocidad de datos en bruto (no comprimible) de alrededor de 160Mb / s. Si se alimentan datos comprimibles, se requieren velocidades de datos aún más rápidas.

La compresión LTO es claramente mucho más rápida, pero algo ineficiente (equivalente a gzip -1 - es lo suficientemente bueno para la mayoría de los propósitos). Las unidades LTO4 y hacia arriba generalmente incorporan motores de cifrado AES-256 que también pueden mantener este tipo de velocidades.

Lo que esto significa para mi caso es que necesitaría una implementación de 400% o mejor para considerar que vale la pena.

Consideraciones similares se aplican a través de LAN. A 30 Mb / s, la compresión es un obstáculo en las redes de clase Gb y la pregunta es si gastar más en redes o en compresión ... :)




Links