[
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: [email protected]
For additional commands, e-mail: [email protected]