Искра на системах NUMA

Я рассматриваю Apache Spark для анализа данных. В прошлом я испытывал замедление Java/Scala на 4-сокетных серверах из-за архитектуры NUMA и локальных объектов для одного узла. Решение состояло в том, чтобы запустить отдельную закрепленную JVM для каждого узла NUMA и заставить их общаться друг с другом с помощью Akka.

Как NUMA будет обрабатываться в Spark, чтобы избежать подобных ситуаций?

1 ответ

Решение

Если вы начинаете Spark с --executor-cores=32 (при условии 8 виртуальных ядер на сокет) у вас будут те же проблемы. Но вы можете запустить 4 рабочих на машину, каждый с --executor-cores=8 вместо. Затем вы можете прикрепить этих исполнителей к узлам.

Эта настройка потребует больше коммуникационных издержек, но, вероятно, будет хорошим компромиссом. Spark старается свести к минимуму связь между исполнителями, так как они на разных машинах в типичном случае.

Другие вопросы по тегам