Andrey Klochkov commented on YARN-415:

[~eepayne], thanks a lot for finishing this. Sorry I have never had enough time 
for it. My biggest question - and that's where I stuck when I tried to rebase 
the patch on the latest trunk - is about possibility of previous attempts being 
evicted from Scheduler by following attempts of the same app. Currently 
Scheduler stores just the latest attempt (in 
{{SchedulerApplication.currentAttempt}}), and actually when the next attempt 
starts, the whole {{SchedulerApplication}} instance is replaced with a new one. 
I'm not sure if in fact this may happen before the usage report for the 
previous attempt is retrieved by RM, but from the code it seems possible. If 
this is the case, then we need to somehow keep previous attempts of an app 
until reports for those are retrieved. I realize that with the current 
implementation this may not be done just by storing multiple attempts instead 
of just the current one in {{SchedulerApplication}}, because Scheduler creates 
new {{SchedulerApplication}} instance of every attempt. What do you think? 

> Capture memory utilization at the app-level for chargeback
> ----------------------------------------------------------
>                 Key: YARN-415
>                 URL: https://issues.apache.org/jira/browse/YARN-415
>             Project: Hadoop YARN
>          Issue Type: New Feature
>          Components: resourcemanager
>    Affects Versions: 0.23.6
>            Reporter: Kendall Thrapp
>            Assignee: Andrey Klochkov
>         Attachments: YARN-415--n10.patch, YARN-415--n2.patch, 
> YARN-415--n3.patch, YARN-415--n4.patch, YARN-415--n5.patch, 
> YARN-415--n6.patch, YARN-415--n7.patch, YARN-415--n8.patch, 
> YARN-415--n9.patch, YARN-415.201405311749.txt, YARN-415.201406031616.txt, 
> YARN-415.patch
> For the purpose of chargeback, I'd like to be able to compute the cost of an
> application in terms of cluster resource usage.  To start out, I'd like to 
> get the memory utilization of an application.  The unit should be MB-seconds 
> or something similar and, from a chargeback perspective, the memory amount 
> should be the memory reserved for the application, as even if the app didn't 
> use all that memory, no one else was able to use it.
> (reserved ram for container 1 * lifetime of container 1) + (reserved ram for
> container 2 * lifetime of container 2) + ... + (reserved ram for container n 
> * lifetime of container n)
> It'd be nice to have this at the app level instead of the job level because:
> 1. We'd still be able to get memory usage for jobs that crashed (and wouldn't 
> appear on the job history server).
> 2. We'd be able to get memory usage for future non-MR jobs (e.g. Storm).
> This new metric should be available both through the RM UI and RM Web 
> Services REST API.

This message was sent by Atlassian JIRA

Reply via email to