Google Cloud Composer: соотношение ядра: параллелизм, слоты Executor Open и скорость выполнения задач

Мне нужно некоторое разъяснение относительно отношения ядра AirFlow: параллелизм, слоты Executor Open и его влияние на продолжительность задачи.

Основываясь на своем эксперименте, я заметил, что количество открытых слотов исполнителя прямо пропорционально значению core:parallelism параметра конфигурации воздушного потока Google Cloud Composer. Например, для композитора с 3 узлами параллелизм по умолчанию, а также количество слотов равно 30. С этой конфигурацией я добавил одну DAG во весь композитор с определенной задачей. Я взял в среднем 10 показаний для продолжительности одной задачи, которая составила 15 секунд.

Затем я уменьшил параллелизм до 10 и, следовательно, количество открытых слотов также до 10. Выполнил ту же DAG с той же задачей. Средняя продолжительность времени осталась прежней — 15 секунд.

Мой вопрос: Конфигурация по умолчанию — 30. Предположим, что моему приложению необходимо выполнить только указанную выше DAG без каких-либо других DAG, присутствующих в композиторе, я хотел бы в полной мере воспользоваться ресурсами Composer. Другими словами, я ожидал, что при уменьшении параллелизма уменьшенное количество слотов будет иметь большую емкость, чем раньше, поскольку ОЗУ процессора композитора будет потребляться меньшим количеством слотов. Но эксперимент показывает, что средняя продолжительность задачи остается неизменной.

Может ли кто-нибудь уточнить, ускоряет ли сокращение параллелизма выполнение отдельной задачи?


person Bhushan Khadkikar    schedule 28.07.2020    source источник
comment
Привет! Я хотел бы поделиться с вами ссылкой на другой поток SO: stackoverflow.com/questions/56370720/, написанный одним из инженеров Google, который дает дополнительную информацию об этих настройках конфигурации. Это полезно для вас?   -  person Ines    schedule 29.07.2020
comment
Спасибо Мускат. Ваша ссылка действительно полезна. Однако один открытый запрос действительно уменьшает параллелизм, увеличивает скорость выполнения одной задачи... т.е. получает ли он преимущество от всех ресурсов ЦП и памяти? Кроме того, как я могу связаться с mrsrinivas, упомянутым в вашей ссылке?   -  person Bhushan Khadkikar    schedule 01.08.2020
comment
Настроив Composer worker_concurrency, вы можете уменьшить количество задач, запланированных на узле, чтобы выделить больше памяти для каждой задачи. Компромисс здесь, конечно, заключается в уменьшении параллелизма. Чтобы связаться с mrsrinivas, вы должны оставить комментарий и указать никнейм со знаком @.   -  person Ines    schedule 12.08.2020