Ressources de traitement de cluster nécessaires pour 50 Gb DEM?

9

À des fins de «location», je dois spécifier les ressources informatiques dont j'ai besoin depuis le centre de calcul de mon université. J'ai très peu d'idée de quoi demander.

Compte tenu des informations ci-dessous, pourriez-vous suggérer quelque chose?

Il s'agit du cluster de calcul: "Un serveur à dix lames avec chaque lame composée de 2 processeurs Intel Core Xeon 2,33 GHz à 16 Go avec 16 Go de mémoire pour un total de 80 processeurs et 160 Go de mémoire. Comptes sur un système de disque de 2 To. Linux 64 bits "

Avec la compression sans perte, les données d'origine sont un fichier tiff de 50 Go. À un moment donné, je travaillerai avec plusieurs (jusqu'à dix) fichiers de 50 Go.

J'utiliserais GDAL, les scripts Python et peut-être les scripts C ++. Si cela était autorisé, j'utiliserais des logiciels comme Grass GIS et Saga GIS. Aussi, langage R avec bibliothèques spatiales. Je vais dériver les paramètres de terrain habituels, essayer d'appliquer des algorithmes orientés objet pour l'extraction de caractéristiques spécifiques (reliefs) et utiliser l'analyse statistique à des fins descriptives et de modélisation.

Marco
la source
3
Qu'attendez-vous exactement d'une réponse - quelle ou quelles quantités peuvent être demandées? Nombre de lames, nombre de cœurs sur 1 lame, etc.? Y a-t-il un formulaire à remplir qui pourrait donner des indices?
blah238
1
Salut bla. Il n'y a pas de forme. Mon superviseur me pose ces questions à l'avance (avec quelque chose en tête que je ne connais pas). Mais, plus tard, lors de l'accès à la plate-forme, le nombre de processeurs doit être spécifié avec précision, ainsi que les besoins en mémoire et le temps de traitement attendus. Il serait donc bon d'avoir une idée sur le non. de processeurs et la quantité de mémoire qui permettrait d'effectuer une algèbre matricielle simple (A * 0,1 + B + C / 50), chacune des matrices de 50 Go de taille, par exemple, en moins d'une heure (étant donné que le logiciel permet le calcul parallèle ). Je vous remercie.
Marco
2
Cela peut être utile si vous déterminez d'abord votre stratégie pour attaquer le problème. Je ne pense pas que «hors de la boîte» vos scripts Python (en utilisant les liaisons GDAL) pourront tirer parti de plusieurs processeurs. Comment prévoyez-vous de diviser les données et de travailler pour un traitement parallèle. Vous pouvez ensuite exécuter des tests sur une partie des données et extrapoler le temps de traitement total en fonction du nombre de cœurs que vous prévoyez d'utiliser, etc.
DavidF
Merci David. J'ai réfléchi plus à ce sujet. Je ferai quelques tests avec Matlab.
Marco

Réponses:

2

Donc, ce serait bien d'avoir une idée sur le non. de processeurs et la quantité de mémoire qui permettrait d'effectuer une algèbre matricielle simple (A * 0,1 + B + C / 50)

Comme DavidF l'a déclaré dans les commentaires, la stratégie est la plus importante, peu importe la machine, vous ne pouvez pas exécuter (ou ce n'est pas une bonne idée d'exécuter) une algèbre matricielle de 50 Go avec la matrice entière à la fois, car cela implique conceptuellement que la matrice entière doit être écrit en mémoire.

Une bonne stratégie, rapide, très simple et efficace consiste à utiliser gdal_calc , à lire et à écrire le raster en morceaux donc il est très efficace en mémoire.

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

Essayez-le, il est très probable que vous puissiez exécuter le traitement sur votre bureau, puis vous aurez peut-être juste besoin d'une meilleure machine pour accélérer le processus ou non.

Obs: vous devez spammer plusieurs processus gdal_calc pour tirer parti des processeurs multicœurs.

Pablo
la source