New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
YUNIKORN-184. Update YuniKorn-Core Design Documentation #158
Conversation
|
||
### Components: | ||
|
||
``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we use a chart for this?
This is a bit hard to read.
| | ||
|Write Ops +----------------+ | ||
+-------------+ V ++Scheduler | | ||
|ConfigWacher + +---------------+ Allocate || And | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Guess we are missing PartitionManager, placement rules etc here.
And the rest server.
| | ||
+-------------------+-------------------------+ | ||
|--------+ +------+ +----------+ +----------+ | | ||
||Node | |Queue | |Allocation| |Requests | | + |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Missing Application?
|
||
#### Scheduler Cache | ||
|
||
Caches all data related to scheduler state, such as used resources of each queues, nodes, allocations. Relationship between allocations and nodes, etc. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Missing application
Hey @wangdatan, TravisBuddy Request Identifier: a71ce1a0-9c86-11ea-8472-279b0b07e116 |
Codecov Report
@@ Coverage Diff @@
## master #158 +/- ##
=======================================
Coverage 58.62% 58.62%
=======================================
Files 62 62
Lines 6096 6096
=======================================
Hits 3574 3574
Misses 2381 2381
Partials 141 141 Continue to review full report at Codecov.
|
``` | ||
|
||
+---------------+ +--------------+ | ||
|K8s Shim | |YARN Shim | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it a good idea to mention the YARN shim here, if we don't have it implemented yet? I think it would be better to display only the K8s one and add a note that it can be extended with others, such as a YARN Shim
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
May be we can give a reference to SI here than shim
And cover more that in respective shim's as each shim may differ in impl
|
||
**Allocation by application** | ||
|
||
When it goes to Application, see (`scheduler_application.go: func (sa *SchedulingApplication) tryAllocate`), It first sort the pending resource requests belong to the application (based on requests' priority). And based on the selected request, and configured node-sorting policy, it sorts nodes belong to the partition and try to allocate resources on the sorted nodes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it worths to mention somewhere what are the available sorting policies and how to configure and create a custom one. (or a link to a configuration page, when we can add this info)
+-------------+ V ++Scheduler | | ||
|ConfigWacher + +---------------+ Allocate || And | | ||
+-------------+ |Scheduler Cache| <-----------------| | | ||
+----------> +---------------+ Preempt ++Preemptor | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Its better we keep config out of core area? as anyway it will be a CRD etc later.
So it may confuse if we put it more tightly coupled.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe it fits more in the shim part, but it would be useful to have a small description about the relationship between different entities, like pod, app, task
based on the discussion, let's merge this PR first. Later on, we can do more improvements based on this. cc @kingamarton @sunilgovind feel free to create follow up JIRAs to improve this doc. |
Updated initial draft.