Вычислительные пулы
В Tengri вычисление производится в виртуальных вычислительных пулах.
Вычислитель — это легковесный контейнер, входящий в вычислительный пул, содержащий программный код и обладающий выделенными вычислительными ресурсами для вычислительных задач:
-
Выполнение SQL-запросов
-
Выполнение кода на Python
-
Запуск моделей AI
Операции с вычислительными пулами:
-
CREATE WORKER POOL
— Создание вычислительного пула -
ALTER WORKER POOL
— Изменение атрибутов вычислительного пула -
DROP WORKER POOL
— Сброс вычислительного пула -
ALTER WORKER POOL SET DEFAULT
— Установка атрибутов вычислительного пула по умолчанию -
SHOW WORKER POOLS
— Вывод списка всех вычислительных пулов -
SHOW WORKER POOL
— Вывод текущего вычислительного пула -
USE WORKER POOL
— Установка текущего вычислительного пула
Создание вычислительного пула
CREATE [OR REPLACE] WORKER POOL [IF NOT EXISTS] <pool_name>
[<worker_pool_attribute> [ ... ]];
Создает новый вычислительный пул с указанным именем и атрибутами.
Если указан модификатор OR REPLACE
, то конечное действие эквивалентно удалению существующего вычислительного пула и созданию нового с тем же именем.
Опциональный модификатор IF NOT EXISTS
ограничивает запрос только теми случаями, в которых указанный объект еще не существует.
Модификаторы являются взаимоисключающими. Если указать их оба, это приведет к ошибке. |
Можно указать следующие атрибуты вычислительного пула:
-
WORKER SIZE <size>
— устанавливает размер вычислителя для данного вычислительного пула:XS
,S
,M
,L
,XL
. -
MAX WORKER COUNT <count>
— устанавливает максимальное количество вычислителей. -
WORKER IDLE TTL <seconds> SECONDS
— устанавливает максимальное время простоя вычислителей. -
SCALING STRATEGY <strategy>
— задает стратегию масштабирования:-
STD
— если нет свободных вычислителей, сразу сообщить об их отсутствии. -
ECO
— если нет свободных вычислителей, ждать 10 минут, пока они появятся.
-
Посмотреть примеры
Создаем вычислительный пул с именем my_worker_pool
и размером вычислителей S
:
CREATE WORKER POOL my_worker_pool
WORKER SIZE S;
Создаем вычислительный пул с именем my_worker_pool
, размером вычислителей L
, максимальным количеством вычислителей 40
, максимальным временем простоя вычислителей 300
секунд и со стратегией масштабирования ECO
:
CREATE WORKER POOL my_worker_pool
WORKER SIZE L
MAX WORKER COUNT 40
WORKER IDLE TTL 300 SECONDS
SCALING STRATEGY ECO;
Изменение атрибутов вычислительного пула
ALTER WORKER POOL [IF EXISTS] <pool_name> RENAME TO <new_pool_name>;
ALTER WORKER POOL [IF EXISTS] <pool_name> SET <worker_pool_attribute>;
Изменяет вычислительный пул с указанным именем.
Не рекомендуется изменять атрибуты вычислительных пулов, запущенных внутри вашей рабочей группы, так как это может привести к неожиданному падению производительности вычислений в случаях, когда вычислительные пулы используются несколькими пользователями. Поэтому выражения Если вам как пользователю требуется изменить размер используемого вами вычислительного пула (например, увеличить его), то рекомендуется выбрать для работы другой вычислительный пул большего размера. |
Поддерживаемые действия:
-
RENAME TO
— переименовывает вычислительный пул в указанное имя<new_pool_name>
. Все атрибуты и конфигурации вычислительного пула сохраняются. -
SET
— обновляет атрибут вычислительного пула. Можно изменить следующие атрибуты:-
WORKER SIZE <size>
— задает размер вычислителя (XS
,S
,M
,L
,XL
) для данного вычислительного пула. -
MAX WORKER COUNT <count>
— устанавливает максимальное количество вычислителей для данного вычислительного пула. -
WORKER IDLE TTL <seconds> SECONDS
— устанавливает время простоя вычислителей для данного вычислительного пула. -
SCALING STRATEGY <strategy>
— задает стратегию масштабирования:-
STD
— если нет свободных вычислителей, сразу сообщить об их отсутствии. -
ECO
— если нет свободных вычислителей, ждать 10 минут, пока они появятся.
-
-
Опциональный модификатор IF EXISTS
ограничивает запрос только теми случаями, в которых указанный объект существует.
Сброс вычислительного пула
DROP WORKER POOL [IF EXISTS] <pool_name>;
Удаляет вычислительный пул с указанным именем.
Опциональный модификатор IF EXISTS
ограничивает запрос только теми случаями, в которых указанный объект существует.
Установка атрибутов вычислительного пула по умолчанию
ALTER WORKER POOL SET DEFAULT <worker_pool_attributes>;
Устанавливает атрибуты по умолчанию для всех новых вычислительных пулов в системе.
Этот оператор позволяет задать общесистемные атрибуты по умолчанию, которые будут применяться к вычислительным пулам при их создании без явного указания этих атрибутов.
Можно указать следующие атрибуты вычислительных пулов:
-
WORKER SIZE <size>
— задает размер вычислителя по умолчанию (XS
,S
,M
,L
,XL
) для данного вычислительного пула. -
MAX WORKER COUNT <count>
— устанавливает максимальное количество вычислителей по умолчанию для данного вычислительного пула. -
WORKER IDLE TTL <seconds> SECONDS
— устанавливает время простоя вычислителей по умолчанию для данного вычислительного пула. -
SCALING STRATEGY <strategy>
— устанавливает стратегию масштабирования по умолчанию:-
STD
— если нет свободных вычислителей, сразу сообщить об их отсутствии. -
ECO
— если нет свободных вычислителей, ждать 10 минут, пока они появятся.
-
Вывод списка всех вычислительных пулов
SHOW WORKER POOLS;
Выводит список всех вычислительных пулов в системе.
Это утверждение отображает информацию обо всех доступных вычислительных пулах, включая их имена и конфигурации.
Чтобы увидеть вычислительный пул в ответе, требуется привилегия MONITOR .
|
Вывод текущего вычислительного пула
SHOW WORKER POOL;
Выводит вычислительный пул, который в данный момент используется для выполнения запроса.
Это утверждение отображает информацию о текущем активном вычислительном пуле, включая его имя и конфигурацию.
Установка текущего вычислительного пула
USE WORKER POOL <pool_name>;
Устанавливает указанный вычислительный пул в качестве текущего пула для выполнения запросов.
Этот оператор изменяет вычислительный пул, который будет использоваться для выполнения последующих запросов. Указанный пул должен существовать, а пользователь должен иметь необходимые привилегии для его использования.
Для использования этого оператора необходима привилегия USAGE .
|
Увеличение размеров вычислительного пула
Если вам как пользователю требуется изменить размер используемого вами вычислительного пула (например, увеличить его), то рекомендуется выбрать для работы другой вычислительный пул из списка доступных, не изменяя атрибуты текущего вычислительного пула.
Для этого нужно сделать следующее.
Выводим размер используемого вычислительного пула:
SHOW WORKER POOL;
+----------------+------+
| worker_pool | size |
+----------------+------+
| compute_s | S |
+----------------+------+
Выводим размеры доступных для использования вычислительных пулов:
SHOW WORKER POOLS;
+----------------+-------+
| name | value |
+----------------+-------+
| client_compute | S |
+----------------+-------+
| compute_m | M |
+----------------+-------+
| compute_s | S |
+----------------+-------+
| compute_l | L |
+----------------+-------+
Переключаемся на вычислительный пул большего размера:
USE WORKER POOL compute_m;
+--------+
| status |
+--------+
| USE |
+--------+