Recursos de processamento de cluster necessários para 50 Gb DEM?

9

Para "fins de aluguel", preciso especificar os recursos de computação necessários no centro de computação da minha universidade. Eu tenho muito pouca ideia do que pedir.

Considerando as informações abaixo, você pode sugerir algo?

Este é o cluster computacional: "Um servidor de dez blade com cada blade composto por 2 CPUs Quad Core Intel Xeon de 2,33 Ghz com 16 GB de memória para um total de 80 CPUs e 160 GB de memória. Contas em um sistema de disco de 2 TB. Executando Linux de 64 bits "

Com a compactação sem perdas, os dados originais são um arquivo tiff de 50GB. Em algum momento, eu estarei trabalhando com vários (até dez) arquivos de 50 GB de tamanho.

Eu usaria scripts GDAL, Python e talvez C ++. Se permitido, eu usaria softwares como Grass GIS e Saga GIS. Além disso, linguagem R com bibliotecas espaciais. Vou derivar os parâmetros usuais do terreno, tentando aplicar algoritmos orientados a objetos para a extração de características específicas (formas de relevo) e usando análises estatísticas para fins descritivos e de modelagem.

Marco
fonte
3
O que exatamente você espera de uma resposta - que quantidade ou quantidades podem ser solicitadas? Número de lâminas, número de núcleos em 1 lâmina, etc.? Existe um formulário que você precise preencher que possa fornecer alguma pista?
blah238
11
Oi blá Não há forma. Meu supervisor está me fazendo essas perguntas de antemão (com algo em mente que não estou ciente). Porém, posteriormente, ao acessar a plataforma, o número de processadores deve ser especificado exatamente, bem como as necessidades de memória e o tempo de processamento esperados. Então, seria bom ter uma idéia do não. de processadores e a quantidade de memória que permitiria realizar álgebra matricial simples (A * 0,1 + B + C / 50), cada uma das matrizes com 50 Gb de tamanho em, por exemplo, menos de uma hora (considerando que o software permite computação paralela ) Obrigado.
Marco
2
Pode ajudar se você determinar sua estratégia para atacar o problema primeiro. Não acredito que 'fora da caixa' seus scripts Python (usando ligações GDAL) possam tirar proveito de vários processadores. Como você planeja dividir os dados e trabalhar para processamento paralelo. Você poderia, então, fazer alguns testes em um pedaço dos dados e tempo de processamento total de extrapolar com base no número de núcleos que você pretende usar, etc.
davidf
Obrigado David. Eu pensei mais profundamente sobre isso. Vou fazer alguns testes com o Matlab.
Marco

Respostas:

2

Então, seria bom ter uma idéia do não. de processadores e a quantidade de memória que permitiria realizar álgebra matricial simples (A * 0,1 + B + C / 50)

Como DavidF afirmou nos comentários, mais importante é a estratégia, não importa a máquina, você não pode executar (ou não é uma boa ideia executar) uma álgebra de matriz de 50 GB com toda a matriz de uma só vez, pois conceitualmente implica que toda a matriz deve ser gravado na memória.

Uma boa estratégia, rápida, muito fácil e eficiente é usar gdal_calc , é ler e gravar a varredura em pedaços, por isso é muito eficiente em termos de memória.

Por exemplo: gdal_calc.py -A input.tif -B input2.tif --outfile = result.tif --calc = "(A + B) / 2"

Experimente, é muito provável que você possa executar o processamento em sua área de trabalho e, em seguida, pode precisar de uma máquina melhor para acelerar o processo ou não.

Obs: Você precisa enviar spam para vários processos gdal_calc para aproveitar os processadores multicore.

Pablo
fonte