zhuzhurk opened a new pull request #12256:
URL: https://github.com/apache/flink/pull/12256


   ## What is the purpose of the change
   
   Bulk slot allocation is needed to check whether a bulk of slot requests can 
be fulfilled at the same time. See [FLIP-119|Bulk Slot 
Allocation](https://cwiki.apache.org/confluence/display/FLINK/FLIP-119+Pipelined+Region+Scheduling#FLIP-119PipelinedRegionScheduling-BulkSlotAllocation).
   
   The dynamic slot sharing makes it hard to implement bulk slot allocation.
   So we will ignore slot sharing in the first version. Co-location constraints 
are not supported as a result.
   Intra-bulk input location preferences will also be ignored, otherwise a bulk 
allocation can be blocked on waiting for producers in the same bulk to be 
assigned slots first.
   
   ## Brief change log
   
     - *Enables SlotPoolImpl to check whether a bulk of slot requests is 
fulfillable*
     - *Enables SchedulerImpl for bulk slot allocation*
     - *Enables SlotProviderStrategy for bulk slot allocation*
     - *Change DefaultExecutionSlotAllocator to use bulk slot allocation when 
it is pipelined region scheduling*
   
   ## Verifying this change
   
   This change added tests and can be verified as follows:
     - *Added tests in SlotPoolImplTest*
     - *Added SlotOccupationTest*
     - *Added BulkSlotAllocationTest*
     - *[WIP] Added DefaultExecutionSlotAllocatorBulkSlotAllocationTest*
   
   ## Does this pull request potentially affect one of the following parts:
   
     - Dependencies (does it add or upgrade a dependency): (yes / **no**)
     - The public API, i.e., is any changed class annotated with 
`@Public(Evolving)`: (yes / **no**)
     - The serializers: (yes / **no** / don't know)
     - The runtime per-record code paths (performance sensitive): (yes / **no** 
/ don't know)
     - Anything that affects deployment or recovery: JobManager (and its 
components), Checkpointing, Kubernetes/Yarn/Mesos, ZooKeeper: (**yes** / no / 
don't know)
     - The S3 file system connector: (yes / **no** / don't know)
   
   ## Documentation
   
     - Does this pull request introduce a new feature? (yes / **no**)
     - If yes, how is the feature documented? (**not applicable** / docs / 
JavaDocs / not documented)
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to