Skip to content

Conversation

jan-elastic
Copy link
Contributor

No description provided.

@elasticsearchmachine
Copy link
Collaborator

Pinging @elastic/ml-core (Team:ML)

@jan-elastic jan-elastic force-pushed the adaptive-allocs-scale-to-zero branch from 7f35e5d to c8f5429 Compare September 24, 2024 14:10
@jan-elastic jan-elastic force-pushed the adaptive-allocs-scale-to-zero branch from fcb401e to 838ea74 Compare September 25, 2024 12:16
Copy link
Member

@davidkyle davidkyle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good, just wondering how to test this

@jan-elastic jan-elastic force-pushed the adaptive-allocs-scale-to-zero branch from 2ea297e to 4d8e3d1 Compare September 26, 2024 08:51
Copy link
Member

@davidkyle davidkyle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One comment, otherwise LGTM

@jan-elastic jan-elastic added the auto-merge-without-approval Automatically merge pull request when CI checks pass (NB doesn't wait for reviews!) label Sep 26, 2024
darnautov added a commit to elastic/kibana that referenced this pull request Sep 26, 2024
## Summary

#### Notes for reviewers

elastic/elasticsearch#113455 PR has to be merged
first to support `min_number_of_allocation: 0`. At the moment it's not
possible to start a `Low` vCPUs usage deployment from the UI.

Resolves #189975

- Updates the Start/Update model deployment dialogue, replacing
allocation and threading params with use cases and advanced settings
with vCPUs/VCUs controls.

The vCPUs (or VCUs for serverless env) are derived from the number of
allocations times threads per allocation.

_Optimised for ingest_ sets 1 thread per allocation.
_Optimised for search_ for low vCPUs level sets 2 threads per
allocation, and the maximum available number of threads for medium and
high. This value is limited to the `max_single_ml_node_processors`.

vCPUs control acts differently depending on "Adaptive resources". 

- When On, it enables `adaptive_allocations` and sets the range
`min_number_of_allocations` and `max_number_of_allocations` based on the
use-case (threads per allocation) and cluster configuration.
- For cloud deployments with enabled ML autoscaling, vCPUs ranges are 1
-2 for, 2-32, 33-max
- For on-prem deployments and cloud deployments with disabled
autoscaling, vCPUs ranges are based on the hardware limitations. E.g.
with `total_ml_processors` = 32, and `max_single_ml_node_processors` =
16 ranges are 1-2, 3-16, 17-32.
- When Off, it sets a static `number_of_allocations`. The number of
allocations is an upper bound of the ranges mentioned above.

For serverless deployments adaptive resources are enabled at all times,
and control is hidden.

<img width="795" alt="image"
src="https://github.com/user-attachments/assets/20b2528f-b631-49f9-82f8-fef6175873fd">

- Start deployment modal checks if there is a deployment optimized for a
certain use case, and sets another use case by default. E.g. If an
optimized deployment for a certain use case (e.g., ingestion) is found,
the modal will set a different use case (e.g., search) as the default
upon opening.

- For the cloud deployments, also display a message about vCPU values in
the Cloud Console and a link to edit the deployment:
<img width="791" alt="image"
src="https://github.com/user-attachments/assets/2f98ebca-579e-43c1-ab78-e0dd38ce4786">

- For Serverless, the "Adaptive Resources" control is hidden, as
adaptive allocations are enabled at all times.
<img width="659" alt="image"
src="https://github.com/user-attachments/assets/8133ebf9-6b2b-4fea-95f1-7351cfcf85b6">

- Update action was updated accordingly. As it is not possible to update
threads per allocation, the optimize control is disabled. Advanced
settings are expanded by default and allows the user to adjust vCPUs
level and enable/disable adaptive resources.
<img width="785" alt="image"
src="https://github.com/user-attachments/assets/13c3f0bc-4436-4528-8641-d33eb5384ea2">


- Indicate if adaptive allocations are enabled in the expanded row 
<img width="1322" alt="image"
src="https://github.com/user-attachments/assets/894916df-4c77-4e75-b175-229131b8ecc8">



### Checklist


- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [x] Any UI touched in this PR is usable by keyboard only (learn more
about [keyboard accessibility](https://webaim.org/techniques/keyboard/))
- [x] Any UI touched in this PR does not create any new axe failures
(run axe in browser:
[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),
[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))
- [x] This renders correctly on smaller devices using a responsive
layout. (You can test this [in your
browser](https://www.browserstack.com/guide/responsive-testing-on-local-server))
- [ ] This was checked for [cross-browser
compatibility](https://www.elastic.co/support/matrix#matrix_browsers)

---------

Co-authored-by: Elastic Machine <[email protected]>
Co-authored-by: István Zoltán Szabó <[email protected]>
kibanamachine pushed a commit to kibanamachine/kibana that referenced this pull request Sep 26, 2024
## Summary

#### Notes for reviewers

elastic/elasticsearch#113455 PR has to be merged
first to support `min_number_of_allocation: 0`. At the moment it's not
possible to start a `Low` vCPUs usage deployment from the UI.

Resolves elastic#189975

- Updates the Start/Update model deployment dialogue, replacing
allocation and threading params with use cases and advanced settings
with vCPUs/VCUs controls.

The vCPUs (or VCUs for serverless env) are derived from the number of
allocations times threads per allocation.

_Optimised for ingest_ sets 1 thread per allocation.
_Optimised for search_ for low vCPUs level sets 2 threads per
allocation, and the maximum available number of threads for medium and
high. This value is limited to the `max_single_ml_node_processors`.

vCPUs control acts differently depending on "Adaptive resources".

- When On, it enables `adaptive_allocations` and sets the range
`min_number_of_allocations` and `max_number_of_allocations` based on the
use-case (threads per allocation) and cluster configuration.
- For cloud deployments with enabled ML autoscaling, vCPUs ranges are 1
-2 for, 2-32, 33-max
- For on-prem deployments and cloud deployments with disabled
autoscaling, vCPUs ranges are based on the hardware limitations. E.g.
with `total_ml_processors` = 32, and `max_single_ml_node_processors` =
16 ranges are 1-2, 3-16, 17-32.
- When Off, it sets a static `number_of_allocations`. The number of
allocations is an upper bound of the ranges mentioned above.

For serverless deployments adaptive resources are enabled at all times,
and control is hidden.

<img width="795" alt="image"
src="https://github.com/user-attachments/assets/20b2528f-b631-49f9-82f8-fef6175873fd">

- Start deployment modal checks if there is a deployment optimized for a
certain use case, and sets another use case by default. E.g. If an
optimized deployment for a certain use case (e.g., ingestion) is found,
the modal will set a different use case (e.g., search) as the default
upon opening.

- For the cloud deployments, also display a message about vCPU values in
the Cloud Console and a link to edit the deployment:
<img width="791" alt="image"
src="https://github.com/user-attachments/assets/2f98ebca-579e-43c1-ab78-e0dd38ce4786">

- For Serverless, the "Adaptive Resources" control is hidden, as
adaptive allocations are enabled at all times.
<img width="659" alt="image"
src="https://github.com/user-attachments/assets/8133ebf9-6b2b-4fea-95f1-7351cfcf85b6">

- Update action was updated accordingly. As it is not possible to update
threads per allocation, the optimize control is disabled. Advanced
settings are expanded by default and allows the user to adjust vCPUs
level and enable/disable adaptive resources.
<img width="785" alt="image"
src="https://github.com/user-attachments/assets/13c3f0bc-4436-4528-8641-d33eb5384ea2">

- Indicate if adaptive allocations are enabled in the expanded row
<img width="1322" alt="image"
src="https://github.com/user-attachments/assets/894916df-4c77-4e75-b175-229131b8ecc8">

### Checklist

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [x] Any UI touched in this PR is usable by keyboard only (learn more
about [keyboard accessibility](https://webaim.org/techniques/keyboard/))
- [x] Any UI touched in this PR does not create any new axe failures
(run axe in browser:
[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),
[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))
- [x] This renders correctly on smaller devices using a responsive
layout. (You can test this [in your
browser](https://www.browserstack.com/guide/responsive-testing-on-local-server))
- [ ] This was checked for [cross-browser
compatibility](https://www.elastic.co/support/matrix#matrix_browsers)

---------

Co-authored-by: Elastic Machine <[email protected]>
Co-authored-by: István Zoltán Szabó <[email protected]>
(cherry picked from commit 718444f)
@elasticsearchmachine elasticsearchmachine merged commit f0339ed into main Sep 26, 2024
16 checks passed
@elasticsearchmachine elasticsearchmachine deleted the adaptive-allocs-scale-to-zero branch September 26, 2024 14:18
@elasticsearchmachine
Copy link
Collaborator

💔 Backport failed

Status Branch Result
8.x Commit could not be cherrypicked due to conflicts

You can use sqren/backport to manually backport by running backport --upstream elastic/elasticsearch --pr 113455

kibanamachine added a commit to elastic/kibana that referenced this pull request Sep 26, 2024
…194143)

# Backport

This will backport the following commits from `main` to `8.x`:
- [[ML] Redesign start/update model deployment dialog
(#190243)](#190243)

<!--- Backport version: 9.4.3 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)

<!--BACKPORT [{"author":{"name":"Dima
Arnautov","email":"[email protected]"},"sourceCommit":{"committedDate":"2024-09-26T13:26:31Z","message":"[ML]
Redesign start/update model deployment dialog (#190243)\n\n##
Summary\r\n\r\n#### Notes for
reviewers\r\n\r\nhttps://github.com/elastic/elasticsearch/pull/113455 PR
has to be merged\r\nfirst to support `min_number_of_allocation: 0`. At
the moment it's not\r\npossible to start a `Low` vCPUs usage deployment
from the UI.\r\n\r\nResolves #189975\r\n\r\n- Updates the Start/Update
model deployment dialogue, replacing\r\nallocation and threading params
with use cases and advanced settings\r\nwith vCPUs/VCUs
controls.\r\n\r\nThe vCPUs (or VCUs for serverless env) are derived from
the number of\r\nallocations times threads per
allocation.\r\n\r\n_Optimised for ingest_ sets 1 thread per
allocation.\r\n_Optimised for search_ for low vCPUs level sets 2 threads
per\r\nallocation, and the maximum available number of threads for
medium and\r\nhigh. This value is limited to the
`max_single_ml_node_processors`.\r\n\r\nvCPUs control acts differently
depending on \"Adaptive resources\". \r\n\r\n- When On, it enables
`adaptive_allocations` and sets the range\r\n`min_number_of_allocations`
and `max_number_of_allocations` based on the\r\nuse-case (threads per
allocation) and cluster configuration.\r\n- For cloud deployments with
enabled ML autoscaling, vCPUs ranges are 1\r\n-2 for, 2-32, 33-max\r\n-
For on-prem deployments and cloud deployments with
disabled\r\nautoscaling, vCPUs ranges are based on the hardware
limitations. E.g.\r\nwith `total_ml_processors` = 32, and
`max_single_ml_node_processors` =\r\n16 ranges are 1-2, 3-16,
17-32.\r\n- When Off, it sets a static `number_of_allocations`. The
number of\r\nallocations is an upper bound of the ranges mentioned
above.\r\n\r\nFor serverless deployments adaptive resources are enabled
at all times,\r\nand control is hidden.\r\n\r\n<img width=\"795\"
alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/20b2528f-b631-49f9-82f8-fef6175873fd\">\r\n\r\n-
Start deployment modal checks if there is a deployment optimized for
a\r\ncertain use case, and sets another use case by default. E.g. If
an\r\noptimized deployment for a certain use case (e.g., ingestion) is
found,\r\nthe modal will set a different use case (e.g., search) as the
default\r\nupon opening.\r\n\r\n- For the cloud deployments, also
display a message about vCPU values in\r\nthe Cloud Console and a link
to edit the deployment:\r\n<img width=\"791\"
alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/2f98ebca-579e-43c1-ab78-e0dd38ce4786\">\r\n\r\n-
For Serverless, the \"Adaptive Resources\" control is hidden,
as\r\nadaptive allocations are enabled at all times.\r\n<img
width=\"659\"
alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/8133ebf9-6b2b-4fea-95f1-7351cfcf85b6\">\r\n\r\n-
Update action was updated accordingly. As it is not possible to
update\r\nthreads per allocation, the optimize control is disabled.
Advanced\r\nsettings are expanded by default and allows the user to
adjust vCPUs\r\nlevel and enable/disable adaptive resources.\r\n<img
width=\"785\"
alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/13c3f0bc-4436-4528-8641-d33eb5384ea2\">\r\n\r\n\r\n-
Indicate if adaptive allocations are enabled in the expanded row
\r\n<img width=\"1322\"
alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/894916df-4c77-4e75-b175-229131b8ecc8\">\r\n\r\n\r\n\r\n###
Checklist\r\n\r\n\r\n- [x] Any text added follows [EUI's
writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\r\nsentence case text and includes
[i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\r\n-
[
]\r\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\r\nwas
added for features that require explanation or tutorials\r\n- [x] [Unit
or
functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere
updated or added to match the most common scenarios\r\n- [ ] [Flaky
Test\r\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\r\nused on any tests changed\r\n- [x] Any UI touched in this PR is
usable by keyboard only (learn more\r\nabout [keyboard
accessibility](https://webaim.org/techniques/keyboard/))\r\n- [x] Any UI
touched in this PR does not create any new axe failures\r\n(run axe in
browser:\r\n[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),\r\n[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))\r\n-
[x] This renders correctly on smaller devices using a
responsive\r\nlayout. (You can test this [in
your\r\nbrowser](https://www.browserstack.com/guide/responsive-testing-on-local-server))\r\n-
[ ] This was checked for
[cross-browser\r\ncompatibility](https://www.elastic.co/support/matrix#matrix_browsers)\r\n\r\n---------\r\n\r\nCo-authored-by:
Elastic Machine
<[email protected]>\r\nCo-authored-by: István
Zoltán Szabó
<[email protected]>","sha":"718444fec14ae2d22894cca1349a7e577443dd99","branchLabelMapping":{"^v9.0.0$":"main","^v8.16.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:enhancement",":ml","v9.0.0","Feature:3rd
Party Models","Team:ML","v8.16.0","backport:version"],"title":"[ML]
Redesign start/update model deployment dialog
","number":190243,"url":"https://github.com/elastic/kibana/pull/190243","mergeCommit":{"message":"[ML]
Redesign start/update model deployment dialog (#190243)\n\n##
Summary\r\n\r\n#### Notes for
reviewers\r\n\r\nhttps://github.com/elastic/elasticsearch/pull/113455 PR
has to be merged\r\nfirst to support `min_number_of_allocation: 0`. At
the moment it's not\r\npossible to start a `Low` vCPUs usage deployment
from the UI.\r\n\r\nResolves #189975\r\n\r\n- Updates the Start/Update
model deployment dialogue, replacing\r\nallocation and threading params
with use cases and advanced settings\r\nwith vCPUs/VCUs
controls.\r\n\r\nThe vCPUs (or VCUs for serverless env) are derived from
the number of\r\nallocations times threads per
allocation.\r\n\r\n_Optimised for ingest_ sets 1 thread per
allocation.\r\n_Optimised for search_ for low vCPUs level sets 2 threads
per\r\nallocation, and the maximum available number of threads for
medium and\r\nhigh. This value is limited to the
`max_single_ml_node_processors`.\r\n\r\nvCPUs control acts differently
depending on \"Adaptive resources\". \r\n\r\n- When On, it enables
`adaptive_allocations` and sets the range\r\n`min_number_of_allocations`
and `max_number_of_allocations` based on the\r\nuse-case (threads per
allocation) and cluster configuration.\r\n- For cloud deployments with
enabled ML autoscaling, vCPUs ranges are 1\r\n-2 for, 2-32, 33-max\r\n-
For on-prem deployments and cloud deployments with
disabled\r\nautoscaling, vCPUs ranges are based on the hardware
limitations. E.g.\r\nwith `total_ml_processors` = 32, and
`max_single_ml_node_processors` =\r\n16 ranges are 1-2, 3-16,
17-32.\r\n- When Off, it sets a static `number_of_allocations`. The
number of\r\nallocations is an upper bound of the ranges mentioned
above.\r\n\r\nFor serverless deployments adaptive resources are enabled
at all times,\r\nand control is hidden.\r\n\r\n<img width=\"795\"
alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/20b2528f-b631-49f9-82f8-fef6175873fd\">\r\n\r\n-
Start deployment modal checks if there is a deployment optimized for
a\r\ncertain use case, and sets another use case by default. E.g. If
an\r\noptimized deployment for a certain use case (e.g., ingestion) is
found,\r\nthe modal will set a different use case (e.g., search) as the
default\r\nupon opening.\r\n\r\n- For the cloud deployments, also
display a message about vCPU values in\r\nthe Cloud Console and a link
to edit the deployment:\r\n<img width=\"791\"
alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/2f98ebca-579e-43c1-ab78-e0dd38ce4786\">\r\n\r\n-
For Serverless, the \"Adaptive Resources\" control is hidden,
as\r\nadaptive allocations are enabled at all times.\r\n<img
width=\"659\"
alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/8133ebf9-6b2b-4fea-95f1-7351cfcf85b6\">\r\n\r\n-
Update action was updated accordingly. As it is not possible to
update\r\nthreads per allocation, the optimize control is disabled.
Advanced\r\nsettings are expanded by default and allows the user to
adjust vCPUs\r\nlevel and enable/disable adaptive resources.\r\n<img
width=\"785\"
alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/13c3f0bc-4436-4528-8641-d33eb5384ea2\">\r\n\r\n\r\n-
Indicate if adaptive allocations are enabled in the expanded row
\r\n<img width=\"1322\"
alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/894916df-4c77-4e75-b175-229131b8ecc8\">\r\n\r\n\r\n\r\n###
Checklist\r\n\r\n\r\n- [x] Any text added follows [EUI's
writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\r\nsentence case text and includes
[i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\r\n-
[
]\r\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\r\nwas
added for features that require explanation or tutorials\r\n- [x] [Unit
or
functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere
updated or added to match the most common scenarios\r\n- [ ] [Flaky
Test\r\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\r\nused on any tests changed\r\n- [x] Any UI touched in this PR is
usable by keyboard only (learn more\r\nabout [keyboard
accessibility](https://webaim.org/techniques/keyboard/))\r\n- [x] Any UI
touched in this PR does not create any new axe failures\r\n(run axe in
browser:\r\n[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),\r\n[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))\r\n-
[x] This renders correctly on smaller devices using a
responsive\r\nlayout. (You can test this [in
your\r\nbrowser](https://www.browserstack.com/guide/responsive-testing-on-local-server))\r\n-
[ ] This was checked for
[cross-browser\r\ncompatibility](https://www.elastic.co/support/matrix#matrix_browsers)\r\n\r\n---------\r\n\r\nCo-authored-by:
Elastic Machine
<[email protected]>\r\nCo-authored-by: István
Zoltán Szabó
<[email protected]>","sha":"718444fec14ae2d22894cca1349a7e577443dd99"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/190243","number":190243,"mergeCommit":{"message":"[ML]
Redesign start/update model deployment dialog (#190243)\n\n##
Summary\r\n\r\n#### Notes for
reviewers\r\n\r\nhttps://github.com/elastic/elasticsearch/pull/113455 PR
has to be merged\r\nfirst to support `min_number_of_allocation: 0`. At
the moment it's not\r\npossible to start a `Low` vCPUs usage deployment
from the UI.\r\n\r\nResolves #189975\r\n\r\n- Updates the Start/Update
model deployment dialogue, replacing\r\nallocation and threading params
with use cases and advanced settings\r\nwith vCPUs/VCUs
controls.\r\n\r\nThe vCPUs (or VCUs for serverless env) are derived from
the number of\r\nallocations times threads per
allocation.\r\n\r\n_Optimised for ingest_ sets 1 thread per
allocation.\r\n_Optimised for search_ for low vCPUs level sets 2 threads
per\r\nallocation, and the maximum available number of threads for
medium and\r\nhigh. This value is limited to the
`max_single_ml_node_processors`.\r\n\r\nvCPUs control acts differently
depending on \"Adaptive resources\". \r\n\r\n- When On, it enables
`adaptive_allocations` and sets the range\r\n`min_number_of_allocations`
and `max_number_of_allocations` based on the\r\nuse-case (threads per
allocation) and cluster configuration.\r\n- For cloud deployments with
enabled ML autoscaling, vCPUs ranges are 1\r\n-2 for, 2-32, 33-max\r\n-
For on-prem deployments and cloud deployments with
disabled\r\nautoscaling, vCPUs ranges are based on the hardware
limitations. E.g.\r\nwith `total_ml_processors` = 32, and
`max_single_ml_node_processors` =\r\n16 ranges are 1-2, 3-16,
17-32.\r\n- When Off, it sets a static `number_of_allocations`. The
number of\r\nallocations is an upper bound of the ranges mentioned
above.\r\n\r\nFor serverless deployments adaptive resources are enabled
at all times,\r\nand control is hidden.\r\n\r\n<img width=\"795\"
alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/20b2528f-b631-49f9-82f8-fef6175873fd\">\r\n\r\n-
Start deployment modal checks if there is a deployment optimized for
a\r\ncertain use case, and sets another use case by default. E.g. If
an\r\noptimized deployment for a certain use case (e.g., ingestion) is
found,\r\nthe modal will set a different use case (e.g., search) as the
default\r\nupon opening.\r\n\r\n- For the cloud deployments, also
display a message about vCPU values in\r\nthe Cloud Console and a link
to edit the deployment:\r\n<img width=\"791\"
alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/2f98ebca-579e-43c1-ab78-e0dd38ce4786\">\r\n\r\n-
For Serverless, the \"Adaptive Resources\" control is hidden,
as\r\nadaptive allocations are enabled at all times.\r\n<img
width=\"659\"
alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/8133ebf9-6b2b-4fea-95f1-7351cfcf85b6\">\r\n\r\n-
Update action was updated accordingly. As it is not possible to
update\r\nthreads per allocation, the optimize control is disabled.
Advanced\r\nsettings are expanded by default and allows the user to
adjust vCPUs\r\nlevel and enable/disable adaptive resources.\r\n<img
width=\"785\"
alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/13c3f0bc-4436-4528-8641-d33eb5384ea2\">\r\n\r\n\r\n-
Indicate if adaptive allocations are enabled in the expanded row
\r\n<img width=\"1322\"
alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/894916df-4c77-4e75-b175-229131b8ecc8\">\r\n\r\n\r\n\r\n###
Checklist\r\n\r\n\r\n- [x] Any text added follows [EUI's
writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\r\nsentence case text and includes
[i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\r\n-
[
]\r\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\r\nwas
added for features that require explanation or tutorials\r\n- [x] [Unit
or
functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere
updated or added to match the most common scenarios\r\n- [ ] [Flaky
Test\r\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\r\nused on any tests changed\r\n- [x] Any UI touched in this PR is
usable by keyboard only (learn more\r\nabout [keyboard
accessibility](https://webaim.org/techniques/keyboard/))\r\n- [x] Any UI
touched in this PR does not create any new axe failures\r\n(run axe in
browser:\r\n[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),\r\n[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))\r\n-
[x] This renders correctly on smaller devices using a
responsive\r\nlayout. (You can test this [in
your\r\nbrowser](https://www.browserstack.com/guide/responsive-testing-on-local-server))\r\n-
[ ] This was checked for
[cross-browser\r\ncompatibility](https://www.elastic.co/support/matrix#matrix_browsers)\r\n\r\n---------\r\n\r\nCo-authored-by:
Elastic Machine
<[email protected]>\r\nCo-authored-by: István
Zoltán Szabó
<[email protected]>","sha":"718444fec14ae2d22894cca1349a7e577443dd99"}},{"branch":"8.x","label":"v8.16.0","branchLabelMappingKey":"^v8.16.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Dima Arnautov <[email protected]>
elasticsearchmachine pushed a commit that referenced this pull request Sep 27, 2024
…113664)

* Adaptive allocations: scale to zero allocations (#113455)

* Fix AdaptiveAllocationsScalerTests for release
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

auto-merge-without-approval Automatically merge pull request when CI checks pass (NB doesn't wait for reviews!) backport pending :ml Machine learning >non-issue Team:ML Meta label for the ML team v8.16.0 v9.0.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants