historico do desenvolvimento computacional do brams
Transcript of historico do desenvolvimento computacional do brams
![Page 1: historico do desenvolvimento computacional do brams](https://reader034.fdocuments.in/reader034/viewer/2022042619/5874acfe1a28ab7e618b75e7/html5/thumbnails/1.jpg)
HISTORICO DO DESENVOLVIMENTO
COMPUTACIONAL DO BRAMS
Jairo Panetta
ITA/IECPETROBRAS/E&P
BMFBovespa
CPTEC, 21/03/2016
![Page 2: historico do desenvolvimento computacional do brams](https://reader034.fdocuments.in/reader034/viewer/2022042619/5874acfe1a28ab7e618b75e7/html5/thumbnails/2.jpg)
Contribuições• Alvaro Luiz Fazenda• Celso Luiz Mendes• Daniel Massaru Katsurayama• Daniel Merli Lamosa• Demerval Soares Moreira• Eduardo Hidenori Enari• Eduardo Rocha Rodrigues• Eugenio Sper de Almeida• Haroldo Fraga de Campos Velho• Luiz Filipe Guedes Mota• Luiz Flavio Rodrigues• Manoel Baptista da Silva Junior• Marcelo Saraiva Limeira• Marco Dias Gubitoso• Marcio Augusto de Moraes• Paulo Yoshio Kubota• Pedro Pais Lopes• Rafael Mello da Fonseca• Roberto Pinto Souto• Saulo Rabelo Maciel de Barros• Simone Shizue Tomita• Stephan Stephany
![Page 3: historico do desenvolvimento computacional do brams](https://reader034.fdocuments.in/reader034/viewer/2022042619/5874acfe1a28ab7e618b75e7/html5/thumbnails/3.jpg)
Necessidade de Paralelismo
2000 1 proc 355 s/dia
![Page 4: historico do desenvolvimento computacional do brams](https://reader034.fdocuments.in/reader034/viewer/2022042619/5874acfe1a28ab7e618b75e7/html5/thumbnails/4.jpg)
2004 8 proc 23 s/dia
Necessidade de Paralelismo
![Page 5: historico do desenvolvimento computacional do brams](https://reader034.fdocuments.in/reader034/viewer/2022042619/5874acfe1a28ab7e618b75e7/html5/thumbnails/5.jpg)
2007 63 proc 12 s/dia
Necessidade de Paralelismo
![Page 6: historico do desenvolvimento computacional do brams](https://reader034.fdocuments.in/reader034/viewer/2022042619/5874acfe1a28ab7e618b75e7/html5/thumbnails/6.jpg)
2010 1752 proc 4 s/dia
Necessidade de Paralelismo
![Page 7: historico do desenvolvimento computacional do brams](https://reader034.fdocuments.in/reader034/viewer/2022042619/5874acfe1a28ab7e618b75e7/html5/thumbnails/7.jpg)
BRAMS: FINEP 2002 a 2006
brams.cptec.inpe.br
![Page 8: historico do desenvolvimento computacional do brams](https://reader034.fdocuments.in/reader034/viewer/2022042619/5874acfe1a28ab7e618b75e7/html5/thumbnails/8.jpg)
Objetivo 2007 - 2008
• Escalar de 100 núcleos para 1000 núcleos– Financiado CNPq, Grandes Desafios da Computação
• Objetivo CPTEC: – Aumentar a resolução do BRAMS de produção– Domínio: América Latina– Resolução: de 40km para 20km e talvez 10km
WSCAD-2009
![Page 9: historico do desenvolvimento computacional do brams](https://reader034.fdocuments.in/reader034/viewer/2022042619/5874acfe1a28ab7e618b75e7/html5/thumbnails/9.jpg)
Tempo de Execução Original, 20 km
862
474
387 388447
585
824
0
200
400
600
800
1.000
0 100 200 300 400 500 600 700 800
Escravos
Te
mp
o d
e E
xe
cu
çã
o (
s)
WSCAD-2009
![Page 10: historico do desenvolvimento computacional do brams](https://reader034.fdocuments.in/reader034/viewer/2022042619/5874acfe1a28ab7e618b75e7/html5/thumbnails/10.jpg)
7.217
4.3313.227 2.885 2.757
7.077
24.089
0
10.000
20.000
30.000
0 100 200 300 400 500 600 700 800
Escravos
Te
mp
o d
e E
xe
cu
çã
o (
s)
WSCAD-2009
Tempo de Execução Original, 10 km
![Page 11: historico do desenvolvimento computacional do brams](https://reader034.fdocuments.in/reader034/viewer/2022042619/5874acfe1a28ab7e618b75e7/html5/thumbnails/11.jpg)
Diagnóstico
• Fases com tempo crescente:– Algoritmo possui componente sequencial
• Motivo: composição e decomposição do domínio– Um processo compõe e decompõe campos
• Exemplo: Saída– Todos os processos enviam seus sub-domínios para um único
processo– O único processo compõe o domínio completo e escreve
• Solução: – Evitar composição/decomposição, quando possível– Quando impossível, minimizar componente sequencial
WSCAD-2009
![Page 12: historico do desenvolvimento computacional do brams](https://reader034.fdocuments.in/reader034/viewer/2022042619/5874acfe1a28ab7e618b75e7/html5/thumbnails/12.jpg)
Tempo de Execução Final, 20km
862
474387 388
447
585
824
712
379
262222
179 160 1440
200
400
600
800
1.000
0 100 200 300 400 500 600 700 800
Escravos
Te
mp
o d
e E
xe
cu
çã
o (
s)
BRAMS 4.2 BRAMS 5.0
WSCAD-2009
![Page 13: historico do desenvolvimento computacional do brams](https://reader034.fdocuments.in/reader034/viewer/2022042619/5874acfe1a28ab7e618b75e7/html5/thumbnails/13.jpg)
Tempo de Execução Final, 10km
7.217
4.331
3.2272.885 2.757
7.077
6.579
3.530
2.2621.734 1.460 1.225 1.0680
2.000
4.000
6.000
8.000
10.000
0 100 200 300 400 500 600 700 800
Escravos
Te
mp
o d
e E
xe
cu
çã
o (
s)
BRAMS 4.2 BRAMS 5.0
WSCAD-2009
![Page 14: historico do desenvolvimento computacional do brams](https://reader034.fdocuments.in/reader034/viewer/2022042619/5874acfe1a28ab7e618b75e7/html5/thumbnails/14.jpg)
Objetivo 2010
• Escalar de 1.000 núcleos para 10.000 núcleos– Financiado CNPq, Grandes Desafios da Computação
• Visa aumentar a escalabilidade mantendo resolução
![Page 15: historico do desenvolvimento computacional do brams](https://reader034.fdocuments.in/reader034/viewer/2022042619/5874acfe1a28ab7e618b75e7/html5/thumbnails/15.jpg)
Diagnóstico
• Mestre utiliza tempo em excesso
• Estrutura mestre-escravo impede escalabilidade
• Solução: eliminar mestre-escravo; todos osprocessos computam
![Page 16: historico do desenvolvimento computacional do brams](https://reader034.fdocuments.in/reader034/viewer/2022042619/5874acfe1a28ab7e618b75e7/html5/thumbnails/16.jpg)
Tempo de Execução Final, 20km
347
189
11085 76 68 66 64 66 63 63
0
100
200
300
400
0 480 960 1.440 1.920 2.400 2.880 3.360 3.840 4.320 4.800
Cores
Te
mp
o d
e E
xe
cu
çã
o (
s)
IJHPSA-2010
![Page 17: historico do desenvolvimento computacional do brams](https://reader034.fdocuments.in/reader034/viewer/2022042619/5874acfe1a28ab7e618b75e7/html5/thumbnails/17.jpg)
Tempo de Execução Final, 10km
2.825
228253262285320365433531754
1.428
0
1.000
2.000
3.000
4.000
0 480 960 1440 1920 2400 2880 3360 3840 4320 4800
Cores
Te
mp
o d
e E
xe
cu
çã
o (
s)
IJHPSA-2010
![Page 18: historico do desenvolvimento computacional do brams](https://reader034.fdocuments.in/reader034/viewer/2022042619/5874acfe1a28ab7e618b75e7/html5/thumbnails/18.jpg)
Objetivo 2011
• Objetivo CPTEC: – Aumentar a resolução do BRAMS de produção– Resolução 5km
• Problema: – BRAMS em 5 km usa memória em excesso– 32GB por nó limitam execuções a 8 núcleos por nó,
dos 24 núcleos disponíveis
WSCAD-2012
![Page 19: historico do desenvolvimento computacional do brams](https://reader034.fdocuments.in/reader034/viewer/2022042619/5874acfe1a28ab7e618b75e7/html5/thumbnails/19.jpg)
Uso de Memória 5 km
0,27 0,28 0,33 0,36 0,39 0,42 0,46
1,00 1,02 1,05 1,08 1,10 1,13 1,17
3,84 3,86 3,89
0
0,5
1
1,5
2
2,5
3
3,5
4
0 1.600 3.200 4.800 6.400 8.000 9.600
Mem
ória
por
pro
cess
o (G
B)
Processos MPI
20km 10km 05km
WSCAD-2012
![Page 20: historico do desenvolvimento computacional do brams](https://reader034.fdocuments.in/reader034/viewer/2022042619/5874acfe1a28ab7e618b75e7/html5/thumbnails/20.jpg)
Após 3 meses de trabalho
WSCAD-2012
![Page 21: historico do desenvolvimento computacional do brams](https://reader034.fdocuments.in/reader034/viewer/2022042619/5874acfe1a28ab7e618b75e7/html5/thumbnails/21.jpg)
Tempo de Execução Após Redução de Memória
WSCAD-2012
![Page 22: historico do desenvolvimento computacional do brams](https://reader034.fdocuments.in/reader034/viewer/2022042619/5874acfe1a28ab7e618b75e7/html5/thumbnails/22.jpg)
Diagnóstico
• Tempo da saída domina a computação:– Constante com o número de núcleos
• Solução: I/O Paralelo– MPI-I/O e HDF5
WSCAD-2012
![Page 23: historico do desenvolvimento computacional do brams](https://reader034.fdocuments.in/reader034/viewer/2022042619/5874acfe1a28ab7e618b75e7/html5/thumbnails/23.jpg)
Tempo de Execução Otimizado
WSCAD-2012
![Page 24: historico do desenvolvimento computacional do brams](https://reader034.fdocuments.in/reader034/viewer/2022042619/5874acfe1a28ab7e618b75e7/html5/thumbnails/24.jpg)
Eficiência Paralela
WSCAD-2012
Escalabilidade ratificada no Santos Dumont até 13.000 núcleos
![Page 25: historico do desenvolvimento computacional do brams](https://reader034.fdocuments.in/reader034/viewer/2022042619/5874acfe1a28ab7e618b75e7/html5/thumbnails/25.jpg)
Desde então:
• Escalar de 10.000 núcleos para 100.000 núcleos– Financiamentos IBM, INTEL, FAPESP, CNPq
• Mecanismo: Paralelismo Híbrido– MPI + OpenMP– MPI + Aceleradores
![Page 26: historico do desenvolvimento computacional do brams](https://reader034.fdocuments.in/reader034/viewer/2022042619/5874acfe1a28ab7e618b75e7/html5/thumbnails/26.jpg)
Paralelismo Hibrido: Advecção de Escalares em OpenMP
![Page 27: historico do desenvolvimento computacional do brams](https://reader034.fdocuments.in/reader034/viewer/2022042619/5874acfe1a28ab7e618b75e7/html5/thumbnails/27.jpg)
Paralelismo Hibrido: Advecção de Escalares na GPU
![Page 28: historico do desenvolvimento computacional do brams](https://reader034.fdocuments.in/reader034/viewer/2022042619/5874acfe1a28ab7e618b75e7/html5/thumbnails/28.jpg)
Conclusões
• Paralelismo para uma escala de processadores e resolução não atende a próxima escala de processadores e resolução
• Ineficiências em locais inesperados, sem “glamour” acadêmico
• Enorme esforço de desenvolvimento ao longo dos anos