Я работаю с кодом, который планирую запустить на сервере в ближайшем будущем.Прямо сейчас это работает на моей локальной машине, но несколько человек будут одновременно запускать программу.Я беспокоюсь, что они будут использовать больше оперативной памяти или Vram, чем доступно.Если я использую dask, будет ли он ждать доступных ресурсов перед выполнением вызова функции?
Пример кода
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from numba import njit
import numpy as np
from dask.distributed import Client, LocalCluster
@njit
def addingNumbers (big_array, big_array2, save_array):
for i in range (big_array.shape[0]):
for j in range (big_array.shape[1]):
save_array[i][j] = big_array[i][j] * big_array2[i][j]
return save_array
if __name__ == "__main__":
cluster = LocalCluster()
client = Client(cluster)
big_array = np.random.random_sample((100, 3000))
big_array2 = np.random.random_sample((100, 3000))
save_array = np.zeros(shape=(100, 3000))
x = client.submit(addingNumbers, big_array, big_array2, save_array)
y = client.gather(x)
Если несколько человек одновременно запускали вышеуказанный код одновременновремя и сервер почти не занят, будет ли dask ждать, пока ram будет доступен для отправки функции, или он отправит ее, и сервер получит ошибку нехватки памяти?
Если dask не ждетпока оперативная память доступна, как бы вы поставили в очередь вызов функции?Спасибо