LoadBalancedView bloats memory - bug or wrong settings?
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 32/100
- Tipo de issue
- Bug
- Clareza
- Precisa de esclarecimento
- Status de atividade
- Estagnada
- Stack de tecnologia
- jupyter-notebook, mysql, python
- Domínio
- databases, distributed-systems
Direção de pesquisa
Comece executando o MWE 660000-task fornecido após iniciar ipcluster start, concentrando-se no caminho LoadBalancedView map_async(...) e wait_interactive(). Compare seu comportamento de memória com DirectView e examine a issue relacionada e o relatório do Stack Overflow. Considera-se concluído determinar se o crescimento é um bug ou uma configuração e definir e documentar uma correção ou workaround com memória limitada.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
This issue may be related to https://github.com/ipython/ipyparallel/issues/207 which is also not marked as solved, yet.
Also I posted this problem on stackoverflow (https://stackoverflow.com/questions/45781545/ipyparallels-loadbalancedview-bloats-memory-how-can-i-avoid-that).
I want to execute multiple tasks in parallel using python and ipyparallel in a jupyter notebook and using 4 local engines by executing ipcluster start in a local console.
Besides that one can also use DirectView, I use LoadBalancedView to map a set of tasks. Each task takes around 0.2 seconds (can vary though) and each task does a MySQL query where it loads some data and then processes it.
Working with ~45000 tasks works fine, however, my memory grows really high. This is actually bad because I want to run another experiment with over 660000 tasks which I can't run anymore because it bloats up my memory limit of 16 GB and then the memory swapping on my local drive starts. However, when using the DirectView my memory grows relatively small and is never full. But I actually need LoadBalancedView.
Even when running a minimal working example without database query this happens (see below).
I am not perfectly familiar with the ipyparallel library but I've read something about logs and caches that the ipcontroler does which may cause this. I am still not sure if it is a bug or if I can change some settings to avoid my problem.
Running a MWE
For my Python 3.5.3 environment running on Windows 10 I use the following (recent) packages:
- ipython 6.1.0
- ipython_genutils 6.1.0
- ipyparallel 6.0.2
- jupyter 1.0.0
- jupyter_client 4.4.0
- jupyter_console 5.0.0
- jupyter_core 4.2.0
I would like the following example to work for LoadBalancedView without the immense memory growth (if possible at all):
-
Start
ipcluster starton a console -
Run a jupyter notebook with the following three cells:
<1st cell> import ipyparallel as ipp rc = ipp.Client() lview = rc.load_balanced_view() <2nd cell> %%px --local import time <3rd cell> def sleep_here(i): time.sleep(0.2) return 42 amr = lview.map_async(sleep_here, range(660000)) amr.wait_interactive()
- Linguagem predominante
- Jupyter Notebook
- Estrelas
- 2.6k
- Forks
- 1k
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de ipython/ipyparallel
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 48/100
ipython/ipyparallel#1029 · 9 comentários ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 35/100
ipython/ipyparallel#984 ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
ipython/ipyparallel#937 · 4 comentários ·
-
Packages and definitions loaded in the regular kernel are not known by engines and vice versa Abertaquestion
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
ipython/ipyparallel#897 · 12 comentários ·
-
bug
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
ipython/ipyparallel#882 ·
Todas as issues de ipython/ipyparallel
Issues semelhantes
-
[Documentation Request] vLLM kv_load_failure_policy doesn't apply to load failures in L2 adapters Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
-
DATABASE_URL=pglite:memory: creates a directory named 'memory:' instead of an in-memory database Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
BuilderIO/agent-native#5730 · 1 comentário ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
duckdb/duckdb-wasm#2258 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
supabase/agent-skills#602 ·