Ресурси для кластерної обробки, необхідні для 50 Gb DEM?


9

Для "оренди" я повинен вказати потрібні обчислювальні ресурси, що потрібні мені в обчислювальному центрі мого університету. Я дуже мало уявляю, про що звертатись.

Враховуючи інформацію, подану нижче, ви можете щось запропонувати?

Це обчислювальний кластер: "Сервер з десятьма лезами з кожним лезом, що складається з 2 чотирьохядерних процесорів Intel Xeon 2,33 ГГц з 16 ГБ пам'яті загалом 80 процесорів і 160 ГБ пам'яті. Облікові записи на 2-ти ТБ дисковій системі. Запуск 64-бітний Linux "

При стисненні без втрат вихідні дані - це один тиф-файл 50 Гб. У якийсь момент я буду працювати з декількома (до десяти) файлами розміром 50 Гб.

Я б використовував сценарії GDAL, Python і, можливо, C ++. Якщо це буде дозволено, я б використовував програмні засоби, такі як Гріс ГІС та Сага ГІС. Також мова R з просторовими бібліотеками. Я буду виводити звичайні параметри рельєфу, намагаючись застосувати об'єктно-орієнтовані алгоритми для вилучення конкретних ознак (форми наземної форми) та використовувати статистичний аналіз для описових і моделюючих цілей.


3
Що саме ви очікуєте від відповіді - яку кількість або кількість можна запросити? Кількість лопатей, кількість ядер на 1 лопаті тощо? Чи потрібно заповнити форму, яка могла б дати будь-які підказки?
blah238

1
Привіт, бла. Немає форми. Мій керівник заздалегідь задає мені ці запитання (маючи на увазі щось, про що я не знаю). Але, пізніше, під час доступу до платформи, кількість процесорів повинна бути точно вказана, а також очікувані потреби в пам'яті та час обробки. Отже, було б добре мати уявлення про ні. процесорів і об'єм пам'яті, який дозволив би виконувати просту матричну алгебру (A * 0,1 + B + C / 50), кожна з матриць розміром 50Gb, наприклад, менше однієї години (враховуючи, що програмне забезпечення дозволяє паралельні обчислення ). Дякую.
Марко

2
Це може допомогти, якщо ви спершу визначитеся зі своєю стратегією нападу на проблему. Я не вірю, що ваші сценарії Python (використовуючи прив'язки GDAL) "не в коробці" зможуть скористатися декількома процесорами. Як ви плануєте розділити дані та працювати для паралельної обробки. Потім ви можете запустити кілька тестів на шматок даних та екстраполювати загальний час обробки виходячи з кількості ядер, які ви плануєте використовувати тощо.
DavidF

Дякую, Девід. Я більш детально продумав це. Я зроблю кілька тестів з Matlab.
Марко

Відповіді:


2

Отже, було б добре мати уявлення про ні. процесорів і об'єм пам'яті, який дозволив би виконати просту матричну алгебру (A * 0,1 + B + C / 50)

Як зазначає DavidF в коментарях, більш важливою є стратегія, неважливо, що машина не може запустити (або це не дуже гарна ідея) матричну алгебру об'ємом 50 ГБ відразу з усією матрицею, оскільки концептуально це означає, що вся матриця має бути записаним на пам'ять.

Хороша стратегія, швидко, дуже просто та ефективно - це використовувати gdal_calc , читає та записує растр шматками, так що це дуже ефективно в пам'яті.

Наприклад: gdal_calc.py -A input.tif -B input2.tif --outfile = result.tif --calc = "(A + B) / 2"

Спробуйте, дуже ймовірно, що ви можете запустити обробку на вашому робочому столі, і тоді вам може знадобитися лише краща машина, щоб прискорити процес чи ні.

Висновки: Вам потрібно спамувати кілька процесів gdal_calc, щоб скористатися багатоядерними процесорами.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.