Я тестирую влияние различного количества ядер на исполнителей (--executor-cores
) на время выполнения SVD на Spark. При фиксированном --executor-cores
количество разделов RDD основных данных изменяется. Однако, похоже, не происходит значительного изменения времени вычислений SVD для разных --executor-cores
для заданного количества разделов RDD. Это немного сбивает с толку.
Моя среда:
- Кластер Spark с 3 узлами (32 ядра и 32 ГБ памяти на узел). На каждом узле работает 1 рабочий.
- spark.max.cores = 96
- Менеджер кластера =
Standalone
- режим развертывания =
client
Я нанес на график результаты для --executor-cores = [4, 16]
, и, как можно видеть, для данного размера раздела нет большой разницы между временем вычисления при увеличении размера раздела. Итак, мои вопросы:
- Каков эффект от установки количества ядер на исполнителя?
- Количество ядер на исполнителя оказывает значительное влияние на время выполнения, но только для небольших размеров разделов, а не для больших, почему?
- Это как-то влияет на параллелизм (я не уверен)?