You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@yunikorn.apache.org by "Peter Bacsko (Jira)" <ji...@apache.org> on 2023/11/29 16:21:00 UTC

[jira] [Created] (YUNIKORN-2209) Remove limit checks in QueueTracker

Peter Bacsko created YUNIKORN-2209:
--------------------------------------

             Summary: Remove limit checks in QueueTracker
                 Key: YUNIKORN-2209
                 URL: https://issues.apache.org/jira/browse/YUNIKORN-2209
             Project: Apache YuniKorn
          Issue Type: Sub-task
          Components: core - common
            Reporter: Peter Bacsko


{{QueueTracker.increaseTrackedResource()}} contains code that is no longer relevant and is a good candidate for removal.

It verifies whether the increased resource is over certain limits. However, this is not the responsibility of the tracker, at least not anymore. The method returns a boolean which is no longer used by the application. 
Worse, we ignore the increment calculation but perform the decrement part. This results in a corrupted state. Even if we detect that limits are violated, there's no reason to mess things up even further.

It has performance impacts. Lot of intermediate Resource objects are created, eg. "finalResourceUsage", {{resources.NewResource()}} is called multiple times. These all results in heap allocations and they immediately become garbage as soon as the method returns. Actually after performing YUNIKORN-2201, {{Manager.IncreaseTrackedResource()}} is a 1.5-2% contributor to the overall heap and cpu usage. Not a massive save, but if it's easy to gain a quick improvement, let's go for it.





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

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@yunikorn.apache.org
For additional commands, e-mail: dev-help@yunikorn.apache.org