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

Peter Bacsko reassigned YUNIKORN-1665:
--------------------------------------

    Assignee: Peter Bacsko

> Group tracked resources/counters to a separate type from Queue
> --------------------------------------------------------------
>
>                 Key: YUNIKORN-1665
>                 URL: https://issues.apache.org/jira/browse/YUNIKORN-1665
>             Project: Apache YuniKorn
>          Issue Type: Sub-task
>          Components: core - scheduler
>            Reporter: Peter Bacsko
>            Assignee: Peter Bacsko
>            Priority: Major
>
> In core, we track a bunch of things inside a queue. Sometimes it's tracked 
> automatically with the parent, sometimes not:
>  
> ||Tracked item||Type||Updated in the parent||
> |Applications|map[string]*Application|no|
> |Allocation|*resource.Resource|yes|
> |Reserved Apps|map[string]int|no|
> |Pending resource|*resource.Resource|yes|
> |Preempted resource|*resource.Resource|yes|
> |Reserved apps|map[string]int|no|
> |Running apps|uint64|yes|
> |AllocatingAcceptedApps|map[string]bool|yes|
> When we move an application to one leaf to another, all of these data 
> structures need to be updated.
> For example, if an application is moved from "root.users.qa.alice" to 
> "root.dev", then its "pending" resources tracked in "root.users.qa.alice" 
> must be subtracted from the two parents + leaf except root and it need to be 
> added to "root.dev".
> Whenever we add something new to track, it's easy to forget that it affects 
> the app moving logic. So we can do two things:
> 1) We re-organize the current source code a bit better to make it clear that 
> code in "queue_moveapp.go" needs to be updated if we add something new to 
> track.
> 2) We extract everything to a separate Tracker type and this becomes even 
> more obvious. The Tracker can be similar to {{ugm.QueueTracker}}, where the 
> trackers are built in a hierarchy which accurately reflects the queue 
> hierarchy, ie. all trackers have child trackers.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to