Отправка одновременного этапа набора задач Spark

Предположим, что искровое задание имеет два этапа с независимыми зависимостями (они не зависят друг от друга), и они передаются одновременно/одновременно (как наборы задач) планировщиком DAG планировщику задач. Может ли кто-нибудь дать более подробное представление о том, как ядра, доступные на исполнителях, распределяются между двумя готовыми этапами/наборами задач? Точнее:

  • Задачи из второго набора/этапа не запускаются до тех пор, пока не будут выполнены задачи предыдущего набора/этапа? или же,

  • Задачи из обоих наборов задач могут быть запущены (предоставлены ядра) одновременно в зависимости от логики, реализованной планировщиком задач, например. ФИФО/Ярмарка?

В общем, предположим, что новое предложение ресурсов побудило планировщик задач принять решение о выборе некоторых готовых задач (из n готовых наборов задач) для выполнения? какова логика, реализуемая планировщиком задач в таком случае?

Спасибо.


person Mazen Ezzeddine    schedule 12.08.2016    source источник


Ответы (1)


Это зависит от используемого режима планирования. В TaskSchedulerImpl.scala конструктор анализирует режим планирования на основе флага «spark.scheduler.mode». По умолчанию используется FIFO, и в этом случае все ядра сначала предоставляются первому набору задач, а затем предлагаются второму набору задач.

person Mazen Ezzeddine    schedule 01.09.2016