Clusterverarbeitungsressourcen für 50 Gb DEM benötigt?

9

Für "Mietzwecke" muss ich die Computerressourcen angeben, die ich vom Rechenzentrum meiner Universität benötige. Ich habe sehr wenig Ahnung, wonach ich fragen soll.

Können Sie unter Berücksichtigung der folgenden Informationen etwas vorschlagen?

Dies ist der Computercluster: "Ein 10-Blade-Server mit jedem Blade, bestehend aus 2 Quad Core Intel Xeon 2,33-GHz-CPUs mit 16 GB Speicher für insgesamt 80 CPUs und 160 GB Speicher. Konten auf einem 2-TB-Festplattensystem. Wird ausgeführt 64-Bit-Linux "

Bei verlustfreier Komprimierung handelt es sich bei den Originaldaten um eine 50-GB-TIFF-Datei. Irgendwann werde ich mit mehreren (bis zu zehn) Dateien mit einer Größe von 50 GB arbeiten.

Ich würde GDAL, Python-Scripting und vielleicht C ++ - Scripting verwenden. Wenn erlaubt, würde ich Software wie Grass GIS und Saga GIS verwenden. Auch R-Sprache mit räumlichen Bibliotheken. Ich werde die üblichen Geländeparameter ableiten, versuchen, objektorientierte Algorithmen zur Extraktion spezifischer Merkmale (Landformen) anzuwenden und statistische Analysen für Beschreibungs- und Modellierungszwecke zu verwenden.

Marco
quelle
3
Was genau erwarten Sie von einer Antwort - welche Menge oder Mengen können angefordert werden? Anzahl der Blades, Anzahl der Kerne auf 1 Blade usw.? Gibt es ein Formular, das Sie ausfüllen müssen, um Hinweise zu geben?
blah238
1
Hallo bla. Es gibt keine Form. Mein Vorgesetzter stellt mir diese Fragen im Voraus (mit einem Gedanken, den ich nicht kenne). Beim späteren Zugriff auf die Plattform sollten jedoch die Anzahl der Prozessoren sowie der erwartete Speicherbedarf und die Verarbeitungszeit genau angegeben werden. Es wäre also gut, eine Idee zu haben. von Prozessoren und der Speichermenge, die die Durchführung einer einfachen Matrixalgebra (A * 0,1 + B + C / 50) ermöglichen würde, wobei jede der Matrizen eine Größe von 50 GB hat, beispielsweise in weniger als einer Stunde (wenn man bedenkt, dass die Software paralleles Rechnen ermöglicht ). Vielen Dank.
Marco
2
Es kann hilfreich sein, wenn Sie zuerst Ihre Strategie für den Angriff auf das Problem festlegen. Ich glaube nicht, dass Ihre Python-Skripte (mit GDAL-Bindungen) "out of the box" mehrere Prozessoren nutzen können. Wie wollen Sie die Daten aufteilen und für die Parallelverarbeitung arbeiten? Sie könnten dann einige Tests für einen Teil der Daten ausführen und die Gesamtverarbeitungszeit basierend auf der Anzahl der Kerne, die Sie verwenden
möchten
Danke David. Ich habe genauer darüber nachgedacht. Ich werde einige Tests mit Matlab machen.
Marco

Antworten:

2

Es wäre also gut, eine Idee zu haben. der Prozessoren und der Speichermenge, die die Durchführung einer einfachen Matrixalgebra ermöglichen würde (A * 0,1 + B + C / 50)

Wie DavidF in den Kommentaren feststellte, ist die Strategie wichtiger, unabhängig von der Maschine. Sie können eine 50-GB-Matrixalgebra nicht mit der gesamten Matrix gleichzeitig ausführen (oder es ist keine gute Idee, sie auszuführen), da dies konzeptionell impliziert, dass die gesamte Matrix muss in den Speicher geschrieben werden.

Eine gute Strategie, schnell, sehr einfach und effizient, ist die Verwendung von gdal_calc , das Lesen und Schreiben des Rasters in Blöcken , sodass es sehr speichereffizient ist.

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

Probieren Sie es aus, es ist sehr wahrscheinlich, dass Sie die Verarbeitung auf Ihrem Desktop ausführen können, und dann benötigen Sie möglicherweise nur einen besseren Computer, um den Prozess zu beschleunigen, oder nicht.

Obs: Sie müssen mehrere gdal_calc-Prozesse als Spam versenden, um die Vorteile von Multicore-Prozessoren nutzen zu können.

Pablo
quelle