Zhu Zhu created FLINK-14536:
-------------------------------
Summary: Make clear the way to aggregate specified cpuCores resources
Key: FLINK-14536
URL:
https://issues.apache.org/jira/browse/FLINK-14536 Project: Flink
Issue Type: Bug
Components: Runtime / Coordination
Affects Versions: 1.10.0
Reporter: Zhu Zhu
Fix For: 1.10.0
I'm raising this question because I find {{cpuCores}} in {{ResourceSpec#merge}} are aggregated with {{max()}}, while in {{ResourceProfile#merge}} it is {{sum()}}.
This means that when calculating resources of a vertex from within operators, the {{cpuCores}} is the max value. While it is a sum(or subtraction in {{ResourceProfile#subtract}}) when dealing with shared slot bookkeeping and related checks.
This is confusing to me, especially when I'm considering how to generate a shared slot resource spec merged from all vertices in it(see FLINK-14314).
I'm not pretty sure if we already have a concise definition for it?
If there is, we need to respect it and change {{ResourceSpec}} or {{ResourceProfile}} accordingly.
If not, we need to decide it first before we can move on with fine grained resources.
Need to mention that if we take the {{max()}} way, we need to re-consider how we can conduct a correct {{ResourceProfile#subtract}} regarding {{cpuCores}}, since there is not a clear way to reverse a {{max()}} computation.
cc [~trohrmann] [~wuzang]
--
This message was sent by Atlassian Jira
(v8.3.4#803005)