[ https://issues.apache.org/jira/browse/FLINK-31771?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Weihua Hu closed FLINK-31771. ----------------------------- Fix Version/s: 1.18.0 Resolution: Fixed > Improve select available slot from SlotPool > ------------------------------------------- > > Key: FLINK-31771 > URL: https://issues.apache.org/jira/browse/FLINK-31771 > Project: Flink > Issue Type: Improvement > Components: Runtime / Coordination > Reporter: Weihua Hu > Assignee: Weihua Hu > Priority: Major > Fix For: 1.18.0 > > > DefaultScheduler will request slots from SlotPool for tasks one by one. > For each task, the PhysicalSlotProviderImpl#tryAllocateFromAvailable will > retrieve all available slots from > DefaultAllocatedSlotPool#getFreeSlotsInformation, and then select the best > slot by SlotSelectionStrategy. > Currently DefaultAllocatedSlotPool#getFreeSlotsInformation always calculates > the taskExecutorUtilization. This causes task schedules to be too slow when > there are lots of slots, such as 20000 slots total. But only the > EvenlySpreadOutLocationPreferenceSlotSelectionStrategy uses this utilization. > So I would like to move the calculation of taskExecutorUtilization to usage. > DefaultAllocatedSlotPool provides a function: getTaskExecutorUtilization, and > is only used in EvenlySpreadOutLocationPreferenceSlotSelectionStrategy. > This change could reduce the latency of allocated 20000 slots from 72s to 12s > in my local IDE. -- This message was sent by Atlassian Jira (v8.20.10#820010)