Uploaded image for project: 'Apache Nemo'
  1. Apache Nemo
  2. NEMO-382

Integrate executor_json into the IR DAG



    • Type: Improvement
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Labels:


      Nemo relies on the executor_json flag (defined in JobConf) specified by the user at the command line for acquiring resources. The current behavior is to first acquire all the specified resources upon job start according to the executor_json, and then start executing the IR DAG. Based on the resource-related execution properties annotated on the vertices, Nemo schedules computations across the acquired resources.

      This current separation of resource acquisition (via the command line configuration flag) and the resource placement/usage (via the IR DAG annotations) may actually not be desirable for the following reasons. First, this puts an extra burden on both the developers that write passes, and those that deploy jobs. While working on one interface, they need to also think about what happens with the other interface. Second, the configuration parameter is somewhat unnecessarily coarse-grained, as it is applied DAG-wide. There may be optimizations that benefit from more fine-grained resource acquisition (e.g., per-vertex resource acquisition).

      A straightforward solution would be to remove the executor_json flag, and incorporate its functionality into the IR DAG, for example through a new execution property. This allows developers to only worry about the passes they apply, and also enables more fine control over which resources to acquire/use for which computations,.





            • Assignee:
              johnyangk John Yang
            • Votes:
              0 Vote for this issue
              1 Start watching this issue


              • Created: