Configuração de RAID para leitura de alta velocidade

1

Estamos procurando construir uma máquina de reprodução em tempo real usando o Linux e uma configuração RAID (5 ou 10). A configuração atual se parece com:

  • 12 GB de memória
  • unidade de 5 x 7200 rpm (invasão de software)
  • centOS 6 (kernel Linux 2.6.32-71.29.1.el6.x86_64)
  • NVidia Quadro 5000 (driver 280.13)
  • CPU Intel X550 X5650 @ 2.67GHz

Eu executei o Bonnie ++ e o iozone para fazer alguns benchmarks com diferentes configurações de raid (5 e 10), com tipo fs diferente (ext4 e xfs) e tamanho de faixa diferente. Infelizmente parece que não posso obter a velocidade que quero (sempre < 200MB / s).

O outro teste que fiz foi diretamente no software de reprodução (RV - link ), mas não consegui jogue mais rápido que 20 frames por segundo (procurando 24 fps) com mais de 3 sequências.

Esses detalhes de reprodução são um pouco fúteis, só quero saber qual seria a melhor configuração para obter algo como ~ 700MB / s de desempenho de leitura? É possível?

Eu tenho lido bastante, parece que um controlador de hardware poderia ser melhor. Também acho que 7200rpm não é suficiente. 10 ou 15k pode ser melhor? E o SSD?

Eu tenho outra restrição com este projeto, esta máquina irá armazenar todas as sequências para todos os projetos, então a densidade importa (eu aposto que vai custar muito mais para obter a mesma quantidade de armazenamento com drives SSD vs. std 10k rpm ).

Qualquer sugestão ou sugestão será apreciada para obter o melhor valor de velocidade / armazenamento de leitura.

Obrigado!

Editar: Basta encontrar esse link . Alguém tem experiência com este cartão?

    
por Xavier 26.08.2011 / 20:22

4 respostas

2

Se você precisa lidar com streams de vídeo, então você precisa obter algo way melhor do que o que você especificou. Mesmo se você obtiver unidades SATA suficientes para obter a largura de banda desejada de 700MB / s (que deve ser facilmente realizável no hardware de classe do consumidor de hoje), talvez você tenha problemas graves de latência.

De que adianta a sua solução de armazenamento se você puder produzir até 1 GB / s, mas cada IO leva 500 ms ou mais para ser concluído? Você está falando em vídeo, então você quer algo que possa entregar IO suficiente para que sua latência máxima de 40ms (25fps) para recuperar seus quadros seja resolvida.

Você também pode querer dar uma olhada nos sistemas de arquivos especializados para aplicativos de streaming de vídeo. A Hitachi Data Systems (HDS) vende um, por exemplo, também o XFS tem uma extensão em tempo real que foi desenvolvida para aplicativos de mídia.

    
por 26.08.2011 / 21:14
5

Se você precisar suportar vários fluxos consistentes, precisará de um monte de discos realmente rápidos (15k) ou de alguns cartões IO de fusão ou outros SSDs de classe empresarial. Quanto mais rápido for o drive, melhor, porque mesmo esses arquivos de vídeo são sequenciais no disco, assim que você começa a transmitir 2 ou mais deles, é uma carga de trabalho aleatória MUITO difícil para os discos rígidos. Especialmente quando você tiver 3 ou mais.

    
por 26.08.2011 / 20:44
1

O hardware raid terá mais benefícios de leitura do raid1 do que do raid5, mas o ataque do software IIRC não verá um benefício de leitura. Alguém me corrija se meu conhecimento de mdadm estiver desatualizado.

Procure grandes fornecedores de armazenamento como a EMC, a IBM ou mesmo a Dell. Eles terão artigos sobre o dimensionamento de soluções de armazenamento em seus sites, e às vezes até mesmo simples aplicativos da web para isso. Obviamente, eles querem vender coisas para você, mas você pode usar suas páginas de dimensionamento para determinar quantas unidades a que velocidade elas sugerem para obter a taxa de transferência desejada.

    
por 26.08.2011 / 20:58
0

O melhor desempenho geral de leitura para a mesma contagem e tipo de discos rígidos será sem matrizes, mas seu software deve estar ciente dessa configuração.

O HDD único de 7200 rpm fornece 80-120 MB / s com IO sequencial.

No seu caso, para atingir 700 MB / s, você precisará de 700/80 = (8,75) = 9 HDDs Para adicionar redundância, você precisará de 18 HDDs na configuração RAID10. vai custar cerca de US $ 4000 com prateleira de disco e controlador.

Com o SSD você pode obter 200-300MB / s com um único drive SATA. para obter 700, você precisará de RAID10 de 6 SSDs SATA. O preço será de cerca de US $ 3000 (mas você terá menos espaço em disco do que com os HDDs)

A placa FusionIO é capaz de 700 MB / s, mas somente quando você tem vários threads de I / O. O thread único terá 140-150MB / s de acordo com os benchmarks.

    
por 18.05.2012 / 07:54