2017-01-29 14 views
0

Множество/большинство алгоритмов сжатия имеют реализацию параллельной декомпрессии (например, pigz для gzip и т. Д.).Алгоритмы параллельного сжатия

Однако редко наблюдается сокращение времени, пропорциональное количеству процессоров, брошенных в задачу, причем большинство из них не приносит пользы от более чем шести процессоров.

Я хотел бы знать, если есть какие-то форматы сжатия с параллельной декомпрессии, встроенной в конструкции - то есть будет теоретически 100x быстрее 100 процессоров, чем с 1.

Спасибо и всего наилучшего :)

ответ

1

Возможно, вы связаны с I/O. В какой-то момент больше процессоров не поможет, если они ждут ввода или вывода. Вы просто получаете больше процессоров, ожидающих.

Возможно, ваши входные файлы не достаточно большие.

pigz на самом деле будет в 100 раз быстрее с 100 cpus, для достаточно большого ввода, если он не связан с I/O. По умолчанию pigz отправляет 128K блоков каждому процессору для работы, поэтому для ввода работы для всех 100 процессоров вам понадобится не менее 13 МБ. В идеале, это немного лучше, чем для одновременного запуска всех процессоров на полную мощность.

 Смежные вопросы

  • Нет связанных вопросов^_^