Recursos de procesamiento de clúster necesarios para 50 Gb DEM?

9

Para "fines de alquiler", tengo que especificar los recursos informáticos que necesito del centro informático de mi universidad. Tengo muy poca idea de qué pedir.

Teniendo en cuenta la siguiente información, ¿puede sugerir algo?

Este es el clúster computacional: "Un servidor de diez blades con cada blade que consta de 2 CPU de cuatro núcleos Intel Xeon 2.33 Ghz con 16 GB de memoria para un total de 80 CPU y 160 GB de memoria. Cuentas en un sistema de disco de 2 TB. Linux de 64 bits "

Con una compresión sin pérdidas, los datos originales son un archivo tiff de 50 gb. En algún momento trabajaré con varios (hasta diez) archivos de 50 gb de tamaño.

Usaría GDAL, secuencias de comandos Python y tal vez secuencias de comandos C ++. Si está permitido, usaría softwares como Grass GIS y Saga GIS. Además, lenguaje R con bibliotecas espaciales. Obtendré los parámetros de terreno habituales, intentando aplicar algoritmos orientados a objetos para la extracción de características específicas (formas terrestres) y utilizando análisis estadísticos con fines descriptivos y de modelado.

Marco
fuente
3
¿Qué es exactamente lo que espera de una respuesta: qué cantidad o cantidades se pueden solicitar? ¿Número de cuchillas, número de núcleos en 1 cuchilla, etc.? ¿Hay algún formulario que deba completar que pueda dar alguna pista?
blah238
1
Hola bla No hay forma Mi supervisor me está haciendo estas preguntas de antemano (con algo en mente que desconozco). Pero más tarde, al acceder a la plataforma, se debe especificar exactamente el número de procesadores, así como las necesidades de memoria esperadas y el tiempo de procesamiento. Por lo tanto, sería bueno tener una idea sobre el no. de procesadores y la cantidad de memoria que permitiría realizar álgebra matricial simple (A * 0.1 + B + C / 50), cada una de las matrices de 50 Gb de tamaño, por ejemplo, en menos de una hora (considerando que el software permite computación paralela ) Gracias.
Marco
2
Puede ayudar si determina primero su estrategia para atacar el problema. No creo que 'fuera de la caja' sus scripts de Python (usando enlaces GDAL) puedan aprovechar múltiples procesadores. ¿Cómo planea dividir los datos y trabajar para el procesamiento paralelo? Luego, podría ejecutar algunas pruebas en una porción de los datos y extrapolar el tiempo total de procesamiento en función de la cantidad de núcleos que planea usar, etc.
DavidF
Gracias david He pensado más a fondo sobre esto. Haré algunas pruebas con Matlab.
Marco

Respuestas:

2

Por lo tanto, sería bueno tener una idea sobre el no. de procesadores y la cantidad de memoria que permitiría realizar álgebra matricial simple (A * 0.1 + B + C / 50)

Como dijo DavidF en los comentarios, lo más importante es la estrategia, no importa la máquina, no puede ejecutar (o no es una buena idea ejecutar) un álgebra matricial de 50 GB con toda la matriz a la vez, ya que conceptualmente implica que toda la matriz tiene que ser escrito en la memoria.

Una buena estrategia, rápida, muy fácil y eficiente es usar gdal_calc , lee y escribe el ráster en fragmentos, por lo que es muy eficiente con la memoria.

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

Pruébelo, es muy probable que pueda ejecutar el procesamiento en su escritorio, y luego puede que necesite una máquina mejor para acelerar el proceso o no.

Obs: necesita enviar spam a múltiples procesos gdal_calc para aprovechar los procesadores multinúcleo.

Pablo
fuente