Стандартный метод для распространения файлов до выполнения MPI - PullRequest
0 голосов
/ 06 декабря 2011

Я новичок в мире MPI и HPC в целом.Я разработал распределенный алгоритм, который я реализовал с использованием MPI.Каждый процесс MPI обращается к набору файлов, который отличается для каждого процесса MPI.На моем компьютере это уже работает, потому что файлы уже есть.

Проблема возникает сейчас, когда я хочу запустить программу на нескольких компьютерах, потому что мне нужно вручную перенести файлы на каждую рабочую станцию, а затем запустить мою программу.Это нормально для одного или двух компьютеров, потому что я могу сделать это вручную, но что произойдет, если у меня есть 1000 компьютеров, и я хочу распространять файлы на каждый компьютер перед запуском моей программы.

Существует ли вообще приемлемый / стандартныйспособ передачи файлов от узла узла в кластере ко всем узлам назначения до запуска фактической программы MPI?

ОБНОВЛЕНИЕ В качестве примера Matlab имеет аргумент функции пакетного распределения, называемый FileDependencies , который архивирует соответствующий файл на хост-машине и распределяет их по узлам, а затем распаковывает их в файловую структуру на этих машинах.

1 Ответ

2 голосов
/ 06 декабря 2011

Обычно с общей файловой системой, такой как NFS.

Редактировать : MPI обычно используется для параллельных программ, требующих тесной связи (высокопроизводительные вычисления).Похоже, что между вашими задачами нет никакой связи, вы просто хотите, чтобы все работало одновременно.Этот тип вычислений называется высокопроизводительными вычислениями или смущающими параллельными вычислениями.Наиболее широко используемой платформой для HTC является Condor , в нее даже встроен механизм передачи файлов (просто перечислите файлы, которые вы хотите передать, и они окажутся на ваших исполняющих хостах).

...