From the docs ( https://ci.apache.org/projects/flink/flink-docs-master/concepts/runtime.html )

By adjusting the number of task slots, users can define how subtasks are isolated from each other. Having one slot per TaskManager means each task group runs in a separate JVM (which can be started in a separate container, for example). Having multiple slots means more subtasks share the same JVM. Tasks in the same JVM share TCP connections (via multiplexing) and heartbeat messages. They may also share data sets and data structures, thus reducing the per-task overhead.

Does this mean that if the same task and job is running in two slots on the same task-manager, that messages that happen to move between these slots will do so more efficiently, and avoid serialization overhead?


Reply via email to