Carlo Curino commented on YARN-3656:

Patch looks good to me (as you followed all previous rounds of advises we 

Looking at it, I would argue that the "structure" of a solution you provide, 
i.e., decomposing the placement agent into various sub-routines and a choice of 
policies for  time-range selection (IStageEarliestStart) , and single-atom 
allocation (IStageAllocator) is quite elegant. I would propose, in fact, to 
"gut" the existing GreedyReservationAgent and turn it into a simple 
"configuration" class that selects the right set of policies for 
IStageAllocator, IStageEarliestStart and iteratively run over those. This would 
be cleaner, and make it easier for people to improve on specific sub-set of 
this problem. If you agree with this, you must ensure the behavior is 
"identical" to the current GreedyReservationAgent.  You should be able to do 
this fairly easily given the infrastructure you have for your agents and the 
testing harnesses you have in place.

My 2 cents...

> LowCost: A Cost-Based Placement Agent for YARN Reservations
> -----------------------------------------------------------
>                 Key: YARN-3656
>                 URL: https://issues.apache.org/jira/browse/YARN-3656
>             Project: Hadoop YARN
>          Issue Type: Improvement
>          Components: capacityscheduler, resourcemanager
>    Affects Versions: 2.6.0
>            Reporter: Ishai Menache
>            Assignee: Jonathan Yaniv
>              Labels: capacity-scheduler, resourcemanager
>         Attachments: LowCostRayonExternal.pdf, YARN-3656-v1.patch, 
> lowcostrayonexternal_v2.pdf
> YARN-1051 enables SLA support by allowing users to reserve cluster capacity 
> ahead of time. YARN-1710 introduced a greedy agent for placing user 
> reservations. The greedy agent makes fast placement decisions but at the cost 
> of ignoring the cluster committed resources, which might result in blocking 
> the cluster resources for certain periods of time, and in turn rejecting some 
> arriving jobs.
> We propose LowCost – a new cost-based planning algorithm. LowCost “spreads” 
> the demand of the job throughout the allowed time-window according to a 
> global, load-based cost function. 

This message was sent by Atlassian JIRA

Reply via email to