You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Stephan Ewen (JIRA)" <ji...@apache.org> on 2016/08/25 18:54:20 UTC

[jira] [Commented] (FLINK-4490) Decouple Slot and Instance

    [ https://issues.apache.org/jira/browse/FLINK-4490?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15437453#comment-15437453 ] 

Stephan Ewen commented on FLINK-4490:
-------------------------------------

For the FLIP-6 work, we need that agreed.
Here is an idea of how we can make this hopefully without a lot of additional work:

(1) We introduce an abstract class {{Slot}} class that defines the methods that the {{ExecutionGraph}} and {{JobManager}} need, like
    - fail()
    - release()
    - return()
    - getTaskManagerGateway()

    The {{SlotProvider}} will expose the new {{Slot}}.

(2) We implement a version of that slot that internally contains the current master's slot, to keep this compatible in the master, and we change the ExecutionGraph to work on the new {{Slot}}. The scheduler wraps the old slot to the new slot.

(3) We can then implement the FLIP-6 specific variant of the new slot.

> Decouple Slot and Instance
> --------------------------
>
>                 Key: FLINK-4490
>                 URL: https://issues.apache.org/jira/browse/FLINK-4490
>             Project: Flink
>          Issue Type: Sub-task
>          Components: Scheduler
>            Reporter: Kurt Young
>
> Currently, {{Slot}} and {{Instance}} holds each other. For {{Instance}} holding {{Slot}}, it makes sense because it reflects how many resources it can provide and how many are using. 
> But it's not very necessary for {{Slot}} to hold {{Instance}} which it belongs to. It only needs to hold some connection information and gateway to talk to. Another downside for {{Slot}} holding {{Instance}} is that {{Instance}} actually contains some allocate/de-allocation logicals, it will be difficult if we want to do some allocation refactor without letting {{Slot}} noticed. 
> We should abstract the connection information of {{Instance}} to let {{Slot}} holds. (Actually we have {{InstanceConnectionInfo}} now, but lacks of instance's akka gateway, maybe we can just adding the akka gateway to the {{InstanceConnectionInfo}})



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)