Parece que o aumento da CPU ultrapassou a velocidade do disco por um tempo. Supondo que um desktop ou laptop com CPU Intel / AMD moderna de núcleo duplo e um único disco SATA médio, a compactação em quase todo o disco proporcionaria melhor desempenho geral? Basicamente, a largura de banda reduzida do disco compensa o aumento da carga da CPU? Tenho certeza de que a resposta real é "depende do que você está fazendo". Ao fazer esta pergunta, espero ter alguém que tenha feito esse problema e dar alguns exemplos ou armadilhas.
10
Respostas:
Sim, a compactação de disco pode fornecer um melhor desempenho em determinadas circunstâncias:
Há uma razão pela qual o ZFS e o Btrfs, ambos os designs recentes de campo verde, incluem provisões para compactação.
No espaço HPC, quando um aplicativo está checando da memória para o disco, as CPUs frequentemente não estão fazendo nada útil. Desta vez é essencialmente pura sobrecarga. Qualquer uso das CPUs para reduzir esse tempo é uma vitória.
fonte
A compactação de disco nunca oferece melhor desempenho.
Pode não lhe dar quase nenhuma penalidade devido às CPUs modernas e velozes, mas isso é algo completamente diferente.
Você supõe que transferir menos dados de / para o disco pode melhorar o desempenho; mas as transferências de big data quase nunca são um gargalo de E / S: os gargalos reais são tempo e latência de busca. Os discos rígidos modernos são realmente rápidos em transferências de dados sustentadas com arquivos grandes, o que os atrasa são as pequenas transferências de todo o disco.
Alguns cenários:
fonte
Existem situações específicas que já fazem isso no nível por aplicativo, como a compactação de vídeo - um sistema que não conseguiu ler vídeos brutos com qualidade HD com rapidez suficiente a partir de um dsk, mas pode ler informações compactadas e expandi-las usando a memória e a energia da CPU . Não há razão para que isso também não possa ser o caso de outras situações específicas, mas isso pode ser melhor tratado no nível do aplicativo, para que os métodos de compactação usados sejam otimizados para seus propósitos.
Lembre-se de que a sobrecarga de desempenho da descompressão vale a pena se toda a taxa de transferência aumentar, portanto a idéia não deve ser descartada imediatamente - acho que ainda não estamos prontos para o desempenho de uso geral que aumenta a compactação, mas é teoricamente possível para negociar um recurso do qual você tem excesso (CPU e memória) para aumentar em outro lugar (total de dados lidos no disco rígido)
fonte
Você respondeu sua própria pergunta! depende é de fato a resposta.
A melhor generalização que posso fazer é:
Se você tiver um aplicativo de banco de dados com restrição de leitura de disco , sim! o desempenho é melhor.
Eu não acho que esse seja o caso da maioria das atividades que você fará em um desktop / laptop.
No meu domínio (SQL Server), eu sei que os bancos de dados de relatórios sob cargas pesadas de leitura podem obter melhor desempenho se a compactação for usada. Eu sei que o mesmo é verdade para o mysql.
A Microsoft tem um white paper sobre seus recursos de compactação no SQL Server 2008. Não é exatamente uma leitura leve, a menos que você seja um DBA, mas aqui está um gráfico que suporta minha generalização:
fonte
As velocidades da CPU sempre foram mais rápidas que as velocidades do disco. IMHO, a compactação vai aumentar a sobrecarga e, assim, diminuir o desempenho.
fonte
Eu estava lendo algo parecido com isso ontem sobre o OSX e sua compactação do sistema de arquivos - Basicamente, a resposta gira em torno do que você deseja compactar - neste exemplo, ele está falando sobre os dados "FAT"; estruturas de arquivos, propriedades, metadados etc. que quando armazenados juntos podem ser compactados para economizar espaço e serem lidos no processador mais rapidamente do que procurar a cabeça em todo o lugar para encontrar os dados de cada arquivo ...
De qualquer forma, vale a pena ler se você está pensando sobre essas coisas :-p
De: http://arstechnica.com/apple/reviews/2009/08/mac-os-x-10-6.ars/3
fonte
A compactação do Microsoft Disk é feia e antiga. É dificilmente comparável em proporções com o método ARJ dos anos 80. Porém, mesmo a compactação da Microsoft PODE fornecer melhor desempenho em discos rígidos muito lentos (laptop). Especialmente se houver RAM suficiente para armazenar em cache de gravação e impedir gravações excessivas.
O processo de gravação é um ponto fraco de qualquer método de compactação ativado por acesso aleatório.
Então, se você quiser unidade compactada, é melhor mudar para algum tipo de Linux.
A compactação de disco também é muito adequada para unidades de RAM, não é necessário dizer o porquê.
fonte
Duvidosamente. A compactação e descompactação envolve mais do que apenas o disco e a CPU; em particular, haverá muita transferência de dados para e da memória (além da sobrecarga de transferência padrão sem compactação), o que realmente prejudicará em termos de falhas de página.
fonte
Resumindo, não, você provavelmente não obterá desempenho.
Embora a compactação melhore o desempenho do seu armazenamento, ela diminui significativamente a velocidade do processador. Provavelmente se resume a que tipo de arquivos você vai descompactar. Se você está lidando apenas com palavras, excel e outros tipos de arquivos básicos, vá em frente e comprima-os. Se os arquivos individuais forem mais volumosos, você estará sacrificando mais do seu tempo.
fonte