[ 
https://issues.apache.org/jira/browse/YARN-6593?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Konstantinos Karanasos updated YARN-6593:
-----------------------------------------
    Attachment: YARN-6593.003.patch

Attaching new version of the patch. I had several offline discussions with 
[~chris.douglas], also got feedback from [~subru].
Here is a brief description:
* {{PlacementConstraints}} contains various static methods for applications to 
create constraints in a user-friendly way.
* {{PlacementConstraint}} is the constraint object that will be used by the 
scheduler. It contains the generic constraint triple, as well as the more 
specific target and cardinality constraints. It also contains the composite 
constraints (and/or/delayedOr).
* The hierarchy in the {{PlacementConstraint}} is different from the protobuf 
that is passed over the wire. This way we are not restricted by the limitations 
of the protobuf version, and we also can evolve the PlacementConstraint objects 
the scheduler sees independently from the protobuf objects.
* {{PlacementConstraintToProtoConverter}} converts a PlacementConstraint to its 
protobuf counterpart.
* {{PlacementConstraintFromProtoConverter}} converts a protobuf object to its 
PlacementConstraint counterpart.
* Notice that there are purposely no *PBImpl classes, since the 
PlacementConstraint objects will be manipulated by the scheduler, thus there is 
no need to maintain expensive protobuf-backed records (this is related to 
similar overheads on the {{ResourceRequest}} objects, discussed in YARN-6245).
* {{PlacementConstraintTransformations}} perform transformations on the 
PlacementConstraint objects. At the moment, there is one converter that 
translates the generic constraints to specific target/cardinality ones, in case 
the scheduler wants to handle them separately. A second converter does the 
inverse transformation. More transformations can be eventually added, such as 
transform a tree to a CNF form.

Please give it a look and let me know how it looks.

> [API] Introduce Placement Constraint object
> -------------------------------------------
>
>                 Key: YARN-6593
>                 URL: https://issues.apache.org/jira/browse/YARN-6593
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>            Reporter: Konstantinos Karanasos
>            Assignee: Konstantinos Karanasos
>         Attachments: YARN-6593.001.patch, YARN-6593.002.patch, 
> YARN-6593.003.patch
>
>
> This JIRA introduces an object for defining placement constraints.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org

Reply via email to