Estudo de desempenho com o Cascade Lake em aplicações genômicas
Resumo: HPC High Performance Computing, HPC & AI Innovation Lab, Genomics, Variant Calling, De Novo Assembly, Next Generation Sequencing, BWA-GATK, SOAPdenovo2, SPAdes, Cascade Lake
Sintomas
Artigo escrito por Kihoon Yoon do HPC and AI Innovation Lab em maio de 2019
Causa
Nenhuma
Resolução
Chamada de variante e montagem "de novo "
Visão geral
A segunda geração de processadores escaláveis Intel® Xeon® é sucessora do Skylake e oferece até 56 núcleos com um único processador (Cascade Lake AP 9282). Além da Intel oferecer mais núcleos, há suporte à Optane, DRAM mais rápida (DDR4-2933 em configuração de 1 DPC) e mais configurações de DRAM (1 TB, 2 TB e 4 TB). É claro que os consumidores geralmente esperam mais desempenho, melhor eficiência e menor consumo de energia de um processador mais recente. No entanto, alguns clientes procuram melhorias que não são tão óbvias, como suporte para novas instruções, otimizações de ecossistema em camadas, suporte para novas tecnologias ou uma nova direção de produto. O Cascade Lake se baseia em uma base do Skylake com foco nas características secundárias, e as melhorias não são tão óbvias.
Normalmente, os aplicativos na análise de dados de sequenciamento de última geração (NGS) são de código aberto e não serão atualizados tão rapidamente quanto a nova tecnologia surgir. Isso significa que as melhorias que vêm com o Cascade Lake têm menos probabilidade de afetar o desempenho dos aplicativos NGS.
Este blog ilustra como as CPUs do Cascade Lake se comportam em duas cargas de trabalho genômicas diferentes, Variant Calling e De Novo assembly.
As configurações de teste detalhadas para chamada de variantes e montagem De Novo estão listadas na Tabela 1.
Tabela 1 Configuração de teste para chamada de variante e montagem De Novo
|
|
Dell PowerEdge R640 |
Dell PowerEdge R940 |
|||||||
|
Skylake |
Lago em cascata |
Skylake |
Lago em cascata |
||||||
|
CPU |
2 x 6154 |
2 x 6148 |
2 x 6152 |
2 x 6138 |
2 x 6248 |
2 x 6252 |
2 6230 |
4 8168 |
4 8280M |
|
Frequência básica (GHz) |
3.0 |
2,4 |
2.1 |
2.0 |
2.5 |
2.1 |
2.1 |
2,7 |
2,7 |
|
Número de núcleos |
18 |
20 |
22 |
20 |
20 |
24 |
20 |
24 |
28 |
|
TDP (W) |
200 |
150 |
140 |
140 |
150 |
125 |
125 |
205 |
205 |
|
Memória |
24 DDR4 de 16 GB a 2.666 MHz, 2 DPC |
12 DDR4 de 32 GB a 2.933 MHz, 1 DPC |
48 DDR4 de 32 GB a 2.666 MHz, 2 DPC |
24 DDR4 de 64 GB a 2.933 MHz, 1 DPC |
|||||
|
Armazenamento |
10x SAS de 1,2 TB, 12 Gbps, 10.000 em RAID 0 |
18x SAS de 1,2 TB, 12 Gbps, 10.000 em RAID 0 |
|||||||
|
BIOS do sistema |
2.1.3 |
||||||||
|
Kernel |
3.10.0-957.el7.x86_64 |
||||||||
|
OS |
Servidor Red Hat Enterprise Linux versão 7.6 (Maipo) |
||||||||
|
Leituras sequenciais |
ERR194161, 50x genoma humano inteiro para chamada de variantes e ERR318658, 3,2 bilhões de leituras de genoma humano inteiro para montagem de novo |
||||||||
Chamada de variante
Gasoduto BWA-GATK
Como mostrado na Figura 1, cada etapa se comporta de maneira bem diferente em cada CPU testada, e as diferenças de desempenho entre as diferentes etapas com as CPUs testadas variam de 0,61% a 46,34%. No entanto, as diferenças no tempo de execução geral não são bem notáveis (Tabela 2).
Figura 1 Tempos de execução de cada etapa no pipeline de chamada de variante
O Cascade Lake 6248 teve um desempenho superior na maioria das etapas e no melhor tempo de execução geral, mas teve um desempenho insatisfatório na etapa "Mark Duplicates", sendo 27% mais lento do que o Cascade Lake 6252. Não está claro por que o 6248 tem um desempenho ruim para essa etapa, embora testes repetidos mostrem resultados consistentes. Com esse comportamento inconsistente nas diferentes etapas, considerar o desempenho geral faz mais sentido ao selecionar uma CPU adequada para o fluxo de trabalho.
Tabela 2 Comparações do tempo total de execução entre CPUs Skylake vs Cascade Lake
|
CPU |
Preço |
Especificação |
Tempo de execução total de BWA-GATK (horas) |
|
|
Skylake |
6148 |
$3,072.00 - $3078,00 |
2,4 GHz, 20 núcleos, 150 W |
24.26 |
|
6154 |
$3.543,00 |
3,0 GHz, 18 núcleos, 200 W |
23.47 |
|
|
6152 |
R$ 3.655,00 - R$ 3661,00 |
2,1 GHz, 22 núcleos, 140 W |
24.58 |
|
|
6138 |
R$ 2.612,00 - R$ 2618,00 |
2,0 GHz, 20 núcleos, 125 W |
24.83 |
|
|
Lago em cascata |
6248 |
$3,072.00 - $3,078.00 |
2,5 GHz, 20 núcleos, 150 W |
23.36 |
|
6252 |
R$ 3.655,00 - R$ 3.662,00 |
2,1 GHz, 24 núcleos, 150 W |
23.82 |
|
|
6230 |
$1,894.00 - $1,900.00 |
2,1 GHz, 20 núcleos, 125 W |
23.68 |
|
Embora o melhor desempenho geral possa ser obtido com o Cascade Lake 6248, o Cascade Lake 6230 não é uma má opção para clientes com energia limitada. Como os resultados mostrados aqui são baseados em um teste de amostra única, é difícil concluir se o Cascade Lake 6230 e 6248 são melhores do que o Cascade Lake 6252 sem os resultados dos testes de throughput. No entanto, considerando o throughput, o Cascade Lake 6252 pode ter um desempenho superior nos testes de throughput devido ao número maior de núcleos. Ele pode acomodar mais amostras para processar simultaneamente. No entanto, o Cascade Lake 6230 pode ser a escolha mais econômica entre as CPUs testadas.
Montagem De Novo
Para o De Novo Assembly, o Skylake 8168 e o Cascade Lake 8280M são comparados com a mesma quantidade de memória do sistema, 1,5 TB no R940. A principal razão pela qual o Cascade Lake 8280M foi escolhido é por ser maior sua contagem de núcleos e porque ele suporta mais memória, o que é benéfico porque o tamanho dos dados para o conjunto De Novo continua a crescer ao longo do tempo.
SOAPdenovo2
O ganho máximo de desempenho com o upgrade do Skylake 8168 para o Cascade Lake 8280M é de aproximadamente 1%, conforme mostrado em 92 núcleos do Skylake 8168 em comparação com 108 núcleos do Cascade Lake 8280M comparações da Figura 2. Para o teste, um núcleo por CPU foi n deixado para o sistema operacional e outros usos de limpeza. Embora os resultados mostrem que o Cascade Lake 8280M é mais lento em 2%, em média, com vários números de núcleos usados, as comparações entre 92 núcleos de 8168 e 108 núcleos de 8280M confirmaram que o Cascade Lake 8280M tem um desempenho ligeiramente melhor do que o Skylake 8168.

Figura 2 Gráficos de tempo de execução e consumo de memória de pico para SOAPdenovo2 com vários números de núcleos
SOAPdenovo2 parece estar limitado à largura de banda da memória. O consumo de memória de pico está aumentando constantemente à medida que mais núcleos são usados para um processo com configuração de 1 DPC na CPU Cascade Lake, enquanto o consumo de memória de pico está diminuindo com a configuração de 2 DPC na CPU Skylake. Conforme mostrado na Figura 3 em nossa publicação anterior Blog, a largura de banda da memória pode diferir em 11% entre a configuração de 1 DPC e 2 DPC com o mesmo tipo de DIMMs de fileira dupla. Para chegar a uma conclusão melhor, são necessários mais testes com a configuração de 2 DPC (DDR4-2666) na CPU do Cascade Lake 8280M.
Espadas
O Cascade 8280M tem melhor desempenho em todos os testes com vários números de núcleos, e é possível obter um desempenho 5% melhor na comparação CPU versus CPU (comparação entre 8168 de 92 núcleos e 8280M de 108 núcleos), conforme mostrado na Figura 3. Os padrões de consumo de memória de pico são quase semelhantes entre duas CPUs; no entanto, o Cascade Lake 8280M com configuração de 1 DPC mostra consumos de memória mais altos do que o Skylake 8168 com configuração de 2 DPC. Embora a largura de banda da memória não pareça ser tão crítica quanto podemos ver nos testes do SOAPdenovo2, a configuração de 2 DPC com DDR4-2666MHz pode ser uma configuração melhor para o De Novo Assembly.

Figura 3 Gráficos de tempo de execução e consumo de memória de pico para SPAdes com vários números de núcleos
Conclusão
Em geral, as CPUs Cascade Lake testadas aqui não têm desempenho superior às CPUs Skylake para cargas de trabalho genômicas, como Variant Calling e De Novo Assembly. Esperava-se um desempenho semelhante, já que a CPU Cascade Lake é baseada na CPU Skylake e visa melhorar a funcionalidade de suporte em vez de melhorar o desempenho puro. No entanto, o Cascade Lake oferece mais opções em comparação com o Skylake em termos de TDP mais baixo e contagem de núcleos mais alta para tipos de cargas de trabalho de chamada de variantes. É notável que a configuração de 1 DPC com DIMMS DDR4 de 2.933 MHz não melhora o desempenho do SOAPdenovo2. Para aplicativos De Novo Assembly, maior largura de banda de memória parece ser melhor. Não há nenhum benefício em atualizar a memória para DDR4 de 2.933 MHz em configuração de 1 DPC para CPUs Cascade Lake. É recomendável configurar 2 DPC com DDR4 2666MHz, especialmente para aplicativos de montagem De Novo .