Посмотрите на поток данных в вашем приложении, а затем посмотрите на скорости передачи данных, которые обеспечивает ваша (я полагаю, совместно используемая) дисковая система, и скорость, которую обеспечивает ваше межсоединение GigE, и топологию вашего кластера.Что из этого является узким местом?
GigE обеспечивает теоретическую максимальную скорость передачи 125 МБ / с между узлами - таким образом, 4 ГБ потребуется ~ 30 с, чтобы переместить 100 40 МБ фрагментов данных в ваш центральный узел из 100 обрабатывающих узлов через GigE.
Файловая система, совместно используемая всеми вашими узлами, обеспечивает альтернативу передаче данных ОЗУ через ОЗУ через Ethernet.
Если ваша общая файловая система работает быстро на уровне чтения / записи на диск (скажем, множество массивов RAID 0 или RAID 10, объединенных в Luster F / S или что-то подобное) и использует 20 ГБ/ s или 40 Гбит / с соединяют между собой хранилище блоков и узлы, затем 100 узлов, каждый из которых записывает файл 40 МБ на диск, и центральный узел, считывающий эти 100 файлов, может быть быстрее, чем передача фрагментов 100 40 МБ через узел GigE в узел межсоединения.
Но если ваша общая файловая система представляет собой массив RAID 5 или 6, экспортируемый в узлы через NFS через GigE Ethernet, это будет медленнее, чем передача ОЗУ в ОЗУ через GigE с использованием RPC или MPI, потому что вы должны писать ив любом случае, читайте диски через GigE.
Итак, были хорошие ответы и обсуждение, или ваш вопрос.Но мы не знаем (не знали) скорость соединения вашего узла, и мы не знаем, как настроен ваш диск (общий диск или один диск на узел), или есть ли у общего диска свое собственное соединение и какая это скорость.
Скорость соединения узла теперь известна.Это больше не свободная переменная.
Настройка диска (общий / не общий) неизвестна, следовательно, свободная переменная.
Межсоединение диска (при условии, что общий диск) неизвестен, поэтому другаясвободная переменная.
Сколько оперативной памяти имеет ваш центральный узел, неизвестно (может ли он хранить данные 4 ГБ в ОЗУ?), поэтому это свободная переменная.
Если все, включая общий диск, использует один и тот же GigEтогда можно с уверенностью сказать, что 100 узлов, каждый из которых записывает файл 40 МБ на диск, а затем центральный узел, считывающий 100 файлов 40 МБ с диска, - самый медленный путь.Если ваш центральный узел не может выделить 4 ГБ ОЗУ без перестановки, в этом случае, вероятно, все усложняется.
Если ваш общий диск имеет высокую производительность, возможно, он быстрее для 100 узлов записывает каждый файл размером 40 МБ.и для центрального узла, чтобы прочитать 100 40 МБ файлов.