Os SSDs de software RAID0'ing ajudam ou impedem a maximização da taxa de transferência útil da CPU?

2

Minha pergunta está no título ... aqui está um resumo:

[OS é o Linux.]

[ UPDATE: O conteúdo deste RAID0 é redundante (sincronizado com o SCM). Não estou preocupado com o aumento do risco de perda de dados.]

[ UPDATE 2: Praticamente, provavelmente estou dividindo os cabelos aqui. Mas além de tentar resolver um problema prático, estou querendo melhorar / confirmar minha compreensão do teórico.]

Eu tenho um servidor de compilação automatizado que eu uso para compilar o código-fonte de um projeto muito grande e estou procurando minimizar meus tempos de compilação. Eu acho que os melhores tempos de construção possíveis acontecerão quando a máquina permanecer ligada à CPU por toda a duração da construção (ou seja, todos os núcleos carregados a 100%, o tempo todo). Essa é uma meta idealizada que só pode ser abordou assintoticamente.

Eu posso dizer pelo comportamento da compilação (principalmente, observar a saída do mpstat) que o maior inimigo do meu objetivo é% iowait. Há momentos em que vejo um% ocioso não desprezível, e considero uma falha modesta do agendador do kernel e / ou pequenas ineficiências na capacidade do Make de paralelizar a construção. Mas isso geralmente não é grande o suficiente para me preocupar. Por outro lado, o% iowait freqüentemente se torna seriamente superdimensionado ... e minha carga de CPU cai drasticamente. Acredito que isso geralmente acontece quando alguns threads tentam vincular (gravar) grandes bibliotecas ao (RAID0 controlado por software) enquanto outros threads tentam ler código-fonte.

(Por favor, ignore no momento o fato de que posso mover a saída para um controlador de volume e controle diferente do código-fonte. Isso é planejado.)

Estou pensando em mudar para SSDs. Mas, nesse caso, acho que provavelmente é melhor abandonar o software RAIDing [*] das unidades. Minha intuição é: os tempos de acesso dos SSDs são tão rápidos, e os tempos de transferência são tão rápidos, que um simples LVM de 4 SSDs irá esmagar meus% iowaits para quase nada, e meus núcleos serão constantemente indexados, fazendo o máximo quantidade de trabalho útil.

... Nesse caso, o controle de software de 4 SSDs RAID aumentaria desnecessariamente meu% sys, deixando menos para% usuário. Meus núcleos ainda estariam atrelados, mas haveria menos trabalho "útil" sendo feito.

A minha intuição sobre SSDs de software RAID0'ing está correta, para esse objetivo específico?

[*] PERGUNTA DE BÔNUS: Há um controlador RAID na placa-mãe, mas eu entendo que ele é apenas 'falso RAID', fornecendo funções de gerenciamento de volume dentro da ROM de opção do BIOS, mas apenas RAID de software. Então eu não uso. Mas seria um verdadeiro controlador RAID de hardware útil mesmo aqui? Está claro que posso prender meus núcleos facilmente nesta máquina; Eu simplesmente não posso sustentar isso. Acredito que os SSDs resolverão principalmente esse problema de resistência, e me pergunto se mesmo um controlador RAID de hardware real pode melhorar isso.

    
por Ryan V. Bissell 12.12.2014 / 04:22

2 respostas

2

O RAID de software no Linux em hardware moderno é bom ... mesmo com SSDs. Não coloca uma demanda tremenda em suas CPUs. Realmente.

Heck, com unidades de estado sólido Fusion-io , o esquema de implementação recomendado e comum é usar software RAID.

Eu não me preocuparia com isso.

Veja também: Preciso dos cartões RAID Fusion-io?

    
por 12.12.2014 / 05:12
0

Apesar de eu ter aceito a resposta de @ ewwhite acima, eu queria voltar e relatar uma resposta um pouco conflitante que acabei de descobrir em outro lugar na web, que é baseada em dados empíricos:

Our results from the testing showed a 16% increase in reads while utilizing (2) SSDs in a RAID 0, with a 2% decrease in write performance. The performance gains from the reads is substantial enough to warrant utilizing the RAID 0 for most purposes, but if you're running an application that performs more writes than reads you may benefit more from using the data disks stand-alone instead of going with the RAID 0 option.

Em link

(Meu RAID está lendo mais do que escrevendo, então a resposta do @ ewwhite ainda é apropriada para minhas necessidades.)

    
por 19.01.2015 / 10:10