许多/大多数压缩算法都有一个并行解压缩实现(比如gzip的pigz等)。
然而,很少有人看到时间的减少与投入任务的处理器数量成正比,大多数人根本不能从超过6个处理器中受益。
我很想知道有没有在设计中内置了并行解压缩的压缩格式--也就是说,理论上100个cpus比1个cpus快100倍。
谢谢你,并祝你一切顺利:)
发布于 2017-01-30 09:42:00
您可能会受到I/O的限制。在某些情况下,如果更多的处理器正在等待输入或输出,那么它们将无能为力。你只会让更多的处理器在等待。
或者你的输入文件不够大。
对于足够大的输入,如果没有I/O限制,对于100个cpus,pigz实际上会快100倍。默认情况下,pigz将128K块发送到每个处理器上进行工作,因此您需要至少13MB的输入才能为所有100个处理器提供工作。理想情况下,比这更多一点,让所有处理器在同一时间满负荷运行。
https://stackoverflow.com/questions/41923696
复制相似问题