johnyangk commented on a change in pull request #111: [NEMO-139, 6] Logic in the scheduler for appending jobs, Support RDD caching URL: https://github.com/apache/incubator-nemo/pull/111#discussion_r211455671
########## File path: common/src/main/java/edu/snu/nemo/common/ir/vertex/executionproperty/MarkerProperty.java ########## @@ -0,0 +1,46 @@ +/* + * 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.executionproperty; + +import edu.snu.nemo.common.ir.executionproperty.VertexExecutionProperty; + +/** + * A property represents that a vertex annotated with this property should be regarded as a kind of "marker" and + * doesn't process any data. + * Attaching this property makes runtime to not schedule this vertex. + * This kind of vertices is needed when some data have to be written before it's usage is not determined yet + * (e.g., for caching). + */ +public final class MarkerProperty extends VertexExecutionProperty<Boolean> { Review comment: Thanks @jeongyooneo @sanha for your explanation. I understood that this property is actually being interpreted in two different ways: (1) Ignore(skip) scheduling (2) Some kind of an indicator when scanning for cached data (as in https://github.com/apache/incubator-nemo/pull/111/files/cfcbf0f6c16347d377e2e671a88739d65bbc36b1#diff-b29364b5afa203a9c5f3f3af1717b866R68) IMHO (1) and (2) are orthogonal, and I feel we should have a separate property for each. I feel that (1) is straightforward, whereas (2) assumes certain things (e.g., Cached edge toward a ghost is a representative edge). If we go with a single property that does both (1) and (2), then I'd suggest using a name that clearly describes either (1) or (2) and maybe leave a TODO or comment to indicate that it is being used for the other purpose as well. (with certain assumptions) ---------------------------------------------------------------- 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: us...@infra.apache.org With regards, Apache Git Services