проблемы использования памяти / процессора при запуске dask в кластере (SGE) - PullRequest
1 голос
/ 08 января 2020

Я перенес свой код, который использует pandas, чтобы выполнить задачу (в основном заменил pd.read_csv на dd.read_csv). Код по существу применяет серию фильтров / преобразований к (dask) кадру данных. Точно так же я использую пакет / массив dask вместо numpy массивоподобных данных. Код прекрасно работает локально (т.е. на моей рабочей станции или на виртуальной машине). Однако, когда я запускаю код в кластер (SGE), мои задания уничтожаются планировщиком, который говорит, что использование памяти / процессора превысило выделенный лимит. Похоже, что dask пытается использовать всю память / потоки, доступные на узле, в отличие от того, что было выделено планировщиком. Похоже, есть два подхода к решению этой проблемы - (a) установить ограничения памяти / процессора для dask из кода, как только мы загрузим библиотеку (так же, как мы устанавливаем matplotlib.use ("Agg"), как только мы загружаем matplotlib, когда нам нужно установить backend) и / или (b), должны понимать ограничения памяти, установленные планировщиком. Не могли бы вы помочь, как go об этой проблеме. Я предпочел бы установить пределы mem / cpu для dask из кода. PS: я понимаю, что есть способ ускорить работу рабочих в кластерной среде и указать эти ограничения, но я заинтересован в запуске моего кода, который отлично работает локально в кластере с минимальными дополнительными изменениями. Спасибо!

...