Есть кластер с RHEL 6.
- ФС – gpfs;
- Процессор – 24хядерные Intel Xeon;
- Оперативка – 128 Гб;
- Диски HDD серверные.
Запускается задача явной динамики с массивной записью данных каждого шага на диск. Через какое-то время переполняется кэш оперативной памяти и задача падает с ООМ.
Если запускать на нескольких узлах, то задача падает быстрее. Если запускать на одном узле – падает гораздо позже. На стационарном компьютере (Windows 7, i7-7700k, 64 Гб оперативы, HDD) задача не падает, но считается, очевидно, медленно.
На мой дилетантский взгляд бутылочное горло – дисковая подсистема: производительность нескольких узлов гораздо выше пропускной способности дисков и поэтому «сгенерированные» расчётные данные не успевают записываться на диск; снижаем вычислительную мощность и проблема пропадает.
Вопросы:
- Верно ли моё предположение?
- Какой самый дешёвый (желательно без покупки нового железа, т.е. программный) и простой (у нас тут все по части Linux дилетанты) способ решить проблему?
P.S. Кроме как уменьшать периодичность записи данных в голову ничего не идёт, но это не очень желательно.