Skip to content
Snippets Groups Projects
  • Zhan Zhang's avatar
    ed146334
    [SPARK-17637][SCHEDULER] Packed scheduling for Spark tasks across executors · ed146334
    Zhan Zhang authored
    ## What changes were proposed in this pull request?
    
    Restructure the code and implement two new task assigner.
    PackedAssigner: try to allocate tasks to the executors with least available cores, so that spark can release reserved executors when dynamic allocation is enabled.
    
    BalancedAssigner: try to allocate tasks to the executors with more available cores in order to balance the workload across all executors.
    
    By default, the original round robin assigner is used.
    
    We test a pipeline, and new PackedAssigner  save around 45% regarding the reserved cpu and memory with dynamic allocation enabled.
    
    ## How was this patch tested?
    
    (Please explain how this patch was tested. E.g. unit tests, integration tests, manual tests)
    Both unit test in TaskSchedulerImplSuite and manual tests in production pipeline.
    
    Author: Zhan Zhang <zhanzhang@fb.com>
    
    Closes #15218 from zhzhan/packed-scheduler.
    ed146334
    History
    [SPARK-17637][SCHEDULER] Packed scheduling for Spark tasks across executors
    Zhan Zhang authored
    ## What changes were proposed in this pull request?
    
    Restructure the code and implement two new task assigner.
    PackedAssigner: try to allocate tasks to the executors with least available cores, so that spark can release reserved executors when dynamic allocation is enabled.
    
    BalancedAssigner: try to allocate tasks to the executors with more available cores in order to balance the workload across all executors.
    
    By default, the original round robin assigner is used.
    
    We test a pipeline, and new PackedAssigner  save around 45% regarding the reserved cpu and memory with dynamic allocation enabled.
    
    ## How was this patch tested?
    
    (Please explain how this patch was tested. E.g. unit tests, integration tests, manual tests)
    Both unit test in TaskSchedulerImplSuite and manual tests in production pipeline.
    
    Author: Zhan Zhang <zhanzhang@fb.com>
    
    Closes #15218 from zhzhan/packed-scheduler.
test NaN GiB