sanha commented on a change in pull request #115: [NEMO-96] Modularize DataSkewPolicy to use MetricVertex and BarrierVertex URL: https://github.com/apache/incubator-nemo/pull/115#discussion_r214379645
########## File path: common/src/main/java/edu/snu/nemo/common/ir/vertex/MetricCollectionVertex.java ########## @@ -0,0 +1,92 @@ +/* + * Copyright (C) 2018 Seoul National University + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package edu.snu.nemo.common.ir.vertex; + +import edu.snu.nemo.common.KeyExtractor; +import edu.snu.nemo.common.dag.DAG; +import edu.snu.nemo.common.exception.DynamicOptimizationException; +import edu.snu.nemo.common.ir.edge.IREdge; +import edu.snu.nemo.common.ir.vertex.transform.MetricCollectTransform; +import edu.snu.nemo.common.ir.vertex.transform.Transform; + +/** + * IRVertex that collects statistics to send them to the optimizer for dynamic optimization. + * This class is generated in the DAG through + * {edu.snu.nemo.compiler.optimizer.pass.compiletime.composite.DataSkewCompositePass}. + */ +public class MetricCollectionVertex extends IRVertex { + // This DAG snapshot is taken at the end of the DataSkewCompositePass, for the vertex to know the state of the DAG at + // its optimization, and to be able to figure out exactly where in the DAG the vertex exists. + private final Transform transform; + private final String dstVertexId; Review comment: What did you mean for `dstVertexId`? Why this vertex has to know the "destination vertex"? Does this vertex always has a single output edge? ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services
