See the comment:
From the discussion in TAJO-540
In general, query (or job) scheduler aims at the maximum resource utilization. For multi-tenancy, we also need to consider the fairness for multiple users (or queries). BTW, the maximum resource utilization and fairness are usually conflict to each other in many cases. To mitigate this problem, many scheduler seems to use preemption approach.
In this point, our resource and scheduler system has the following problems:
- A query exclusively uses allocated resources at the first time until the query is completed or failed.
- There is no mechanism to deallocate resources during query processing.
- Preempt is also not allowed.
To achieve the multi tenancy, we should change our resource circulation. Especially, resource allocation must be fine grained instead of per query.
So, I'll create a jira issue to change the resource circulation. We have to do this issue firstly in my opinion. If we achieve this, implementing multi-tenant scheduler would be much easier than now. It would be a good starting point of this issue.
|Implement NodeResourceManager and Status updater||Resolved|