Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save TomNicholas/b4f6a2e839ecea403ab291c9bc0c2c02 to your computer and use it in GitHub Desktop.
Save TomNicholas/b4f6a2e839ecea403ab291c9bc0c2c02 to your computer and use it in GitHub Desktop.
Root task overproduction problem with dask.distributed scheduler
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"id": "fe6925a2-fd0a-4d29-8a2f-77d800aa1c24",
"metadata": {},
"source": [
"### Install packages on coiled software environment"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "c5ea48b0-88aa-4919-8f6c-55a51a16164d",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Creating new software environment\n",
"Creating new ecr build\n",
"STEP 1: FROM coiled/default:sha-6b4e896\n",
"STEP 2: COPY environment.yml environment.yml\n",
"--> 693b1fed488\n",
"STEP 3: RUN conda env update -n coiled -f environment.yml && rm environment.yml && conda clean --all -y && echo \"conda activate coiled\" >> ~/.bashrc\n",
"Collecting package metadata (repodata.json): ...working... done\n",
"Solving environment: ...working... done\n",
"\n",
"Downloading and Extracting Packages\n",
"atk-1.0-2.36.0 | 560 KB | ########## | 100% \n",
"cryptography-37.0.2 | 1.5 MB | ########## | 100% \n",
"nbconvert-core-6.5.0 | 425 KB | ########## | 100% \n",
"fsspec-2022.5.0 | 96 KB | ########## | 100% \n",
"fribidi-1.0.10 | 112 KB | ########## | 100% \n",
"dask-2022.6.0 | 5 KB | ########## | 100% \n",
"backports.functools_ | 9 KB | ########## | 100% \n",
"commonmark-0.9.1 | 46 KB | ########## | 100% \n",
"typing-extensions-4. | 8 KB | ########## | 100% \n",
"entrypoints-0.4 | 9 KB | ########## | 100% \n",
"debugpy-1.6.0 | 2.0 MB | ########## | 100% \n",
"zipp-3.8.0 | 12 KB | ########## | 100% \n",
"pip-22.1.2 | 1.5 MB | ########## | 100% \n",
"botocore-1.24.21 | 5.3 MB | ########## | 100% \n",
"fontconfig-2.14.0 | 305 KB | ########## | 100% \n",
"lerc-3.0 | 216 KB | ########## | 100% \n",
"future-0.18.2 | 738 KB | ########## | 100% \n",
"pexpect-4.8.0 | 47 KB | ########## | 100% \n",
"aioitertools-0.10.0 | 21 KB | ########## | 100% \n",
"pandoc-2.18 | 12.5 MB | ########## | 100% \n",
"libuuid-2.32.1 | 28 KB | ########## | 100% \n",
"libtool-2.4.6 | 511 KB | ########## | 100% \n",
"parso-0.8.3 | 69 KB | ########## | 100% \n",
"jedi-0.18.1 | 995 KB | ########## | 100% \n",
"dataclasses-0.8 | 10 KB | ########## | 100% \n",
"libzlib-1.2.12 | 62 KB | ########## | 100% \n",
"libxcb-1.13 | 391 KB | ########## | 100% \n",
"jmespath-1.0.0 | 21 KB | ########## | 100% \n",
"cairo-1.16.0 | 1.5 MB | ########## | 100% \n",
"openjpeg-2.4.0 | 444 KB | ########## | 100% \n",
"prompt-toolkit-3.0.2 | 252 KB | ########## | 100% \n",
"argon2-cffi-bindings | 34 KB | ########## | 100% \n",
"harfbuzz-4.3.0 | 2.0 MB | ########## | 100% \n",
"soupsieve-2.3.1 | 33 KB | ########## | 100% \n",
"cloudpickle-2.1.0 | 25 KB | ########## | 100% \n",
"traitlets-5.2.2.post | 85 KB | ########## | 100% \n",
"multidict-6.0.2 | 51 KB | ########## | 100% \n",
"gts-0.7.6 | 411 KB | ########## | 100% \n",
"libgd-2.3.3 | 266 KB | ########## | 100% \n",
"wrapt-1.14.1 | 51 KB | ########## | 100% \n",
"xorg-libxext-1.3.4 | 54 KB | ########## | 100% \n",
"cffi-1.15.0 | 433 KB | ########## | 100% \n",
"frozenlist-1.3.0 | 43 KB | ########## | 100% \n",
"jsonschema-4.6.0 | 62 KB | ########## | 100% \n",
"pango-1.50.7 | 456 KB | ########## | 100% \n",
"boto3-1.21.21 | 71 KB | ########## | 100% \n",
"libiconv-1.16 | 1.4 MB | ########## | 100% \n",
"xz-5.2.5 | 343 KB | ########## | 100% \n",
"s3fs-2022.5.0 | 26 KB | ########## | 100% \n",
"openssl-1.1.1o | 2.1 MB | ########## | 100% \n",
"stack_data-0.2.0 | 21 KB | ########## | 100% \n",
"packaging-21.3 | 36 KB | ########## | 100% \n",
"pytz-2022.1 | 242 KB | ########## | 100% \n",
"pandas-1.4.2 | 12.5 MB | ########## | 100% \n",
"libblas-3.9.0 | 12 KB | ########## | 100% \n",
"gtk2-2.24.33 | 7.4 MB | ########## | 100% \n",
"libstdcxx-ng-12.1.0 | 4.3 MB | ########## | 100% \n",
"numpy-1.22.4 | 6.8 MB | ########## | 100% \n",
"xorg-libsm-1.2.3 | 26 KB | ########## | 100% \n",
"ipython_genutils-0.2 | 21 KB | ########## | 100% \n",
"libxml2-2.9.14 | 770 KB | ########## | 100% \n",
"bokeh-2.4.3 | 13.8 MB | ########## | 100% \n",
"decorator-5.1.1 | 12 KB | ########## | 100% \n",
"xorg-xproto-7.0.31 | 73 KB | ########## | 100% \n",
"python-fastjsonschem | 243 KB | ########## | 100% \n",
"zict-2.2.0 | 20 KB | ########## | 100% \n",
"readline-8.1.2 | 291 KB | ########## | 100% \n",
"zstd-1.5.2 | 452 KB | ########## | 100% \n",
"libgfortran-ng-12.1. | 23 KB | ########## | 100% \n",
"libffi-3.4.2 | 57 KB | ########## | 100% \n",
"pickleshare-0.7.5 | 9 KB | ########## | 100% \n",
"font-ttf-source-code | 684 KB | ########## | 100% \n",
"pcre-8.45 | 253 KB | ########## | 100% \n",
"pthread-stubs-0.4 | 5 KB | ########## | 100% \n",
"notebook-6.4.12 | 6.3 MB | ########## | 100% \n",
"font-ttf-inconsolata | 94 KB | ########## | 100% \n",
"backcall-0.2.0 | 13 KB | ########## | 100% \n",
"ca-certificates-2022 | 144 KB | ########## | 100% \n",
"ptyprocess-0.7.0 | 16 KB | ########## | 100% \n",
"expat-2.4.8 | 187 KB | ########## | 100% \n",
"jpeg-9e | 268 KB | ########## | 100% \n",
"ncurses-6.3 | 1002 KB | ########## | 100% \n",
"xorg-libxau-1.0.9 | 13 KB | ########## | 100% \n",
"xorg-libxdmcp-1.1.3 | 19 KB | ########## | 100% \n",
"async-timeout-4.0.2 | 9 KB | ########## | 100% \n",
"libnsl-2.0.0 | 31 KB | ########## | 100% \n",
"executing-0.8.3 | 18 KB | ########## | 100% \n",
"pyyaml-6.0 | 178 KB | ########## | 100% \n",
"freetype-2.10.4 | 890 KB | ########## | 100% \n",
"tzdata-2022a | 121 KB | ########## | 100% \n",
"libwebp-1.2.2 | 85 KB | ########## | 100% \n",
"argon2-cffi-21.3.0 | 15 KB | ########## | 100% \n",
"lz4-c-1.9.3 | 179 KB | ########## | 100% \n",
"aiohttp-3.8.1 | 585 KB | ########## | 100% \n",
"beautifulsoup4-4.11. | 96 KB | ########## | 100% \n",
"ld_impl_linux-64-2.3 | 667 KB | ########## | 100% \n",
"pure_eval-0.2.2 | 14 KB | ########## | 100% \n",
"partd-1.2.0 | 18 KB | ########## | 100% \n",
"pandocfilters-1.5.0 | 11 KB | ########## | 100% \n",
"xorg-libx11-1.7.2 | 941 KB | ########## | 100% \n",
"tornado-6.1 | 657 KB | ########## | 100% \n",
"attrs-21.4.0 | 49 KB | ########## | 100% \n",
"pyzmq-23.1.0 | 484 KB | ########## | 100% \n",
"importlib_resources- | 22 KB | ########## | 100% \n",
"icu-70.1 | 13.5 MB | ########## | 100% \n",
"font-ttf-ubuntu-0.83 | 1.9 MB | ########## | 100% \n",
"msgpack-python-1.0.4 | 88 KB | ########## | 100% \n",
"ipython-8.4.0 | 1.1 MB | ########## | 100% \n",
"libdeflate-1.12 | 78 KB | ########## | 100% \n",
"backoff-1.11.1 | 15 KB | ########## | 100% \n",
"wheel-0.37.1 | 31 KB | ########## | 100% \n",
"sqlite-3.38.5 | 1.5 MB | ########## | 100% \n",
"lcms2-2.12 | 443 KB | ########## | 100% \n",
"matplotlib-inline-0. | 11 KB | ########## | 100% \n",
"s3transfer-0.5.2 | 55 KB | ########## | 100% \n",
"heapdict-1.0.1 | 7 KB | ########## | 100% \n",
"cytoolz-0.11.2 | 392 KB | ########## | 100% \n",
"libgcc-ng-12.1.0 | 940 KB | ########## | 100% \n",
"libglib-2.70.2 | 3.1 MB | ########## | 100% \n",
"gdk-pixbuf-2.42.8 | 595 KB | ########## | 100% \n",
"charset-normalizer-2 | 35 KB | ########## | 100% \n",
"toolz-0.11.2 | 48 KB | ########## | 100% \n",
"certifi-2022.5.18.1 | 150 KB | ########## | 100% \n",
"fonts-conda-forge-1 | 4 KB | ########## | 100% \n",
"zlib-1.2.12 | 90 KB | ########## | 100% \n",
"nbclient-0.6.4 | 65 KB | ########## | 100% \n",
"coiled-0.2.6 | 93 KB | ########## | 100% \n",
"six-1.16.0 | 14 KB | ########## | 100% \n",
"backports-1.0 | 4 KB | ########## | 100% \n",
"idna-3.3 | 55 KB | ########## | 100% \n",
"pillow-9.1.1 | 44.8 MB | ########## | 100% \n",
"ipykernel-6.13.1 | 187 KB | ########## | 100% \n",
"xorg-kbproto-1.0.7 | 27 KB | ########## | 100% \n",
"tinycss2-1.1.1 | 23 KB | ########## | 100% \n",
"liblapack-3.9.0 | 12 KB | ########## | 100% \n",
"locket-1.0.0 | 8 KB | ########## | 100% \n",
"rich-12.4.4 | 164 KB | ########## | 100% \n",
"defusedxml-0.7.1 | 23 KB | ########## | 100% \n",
"nbconvert-pandoc-6.5 | 4 KB | ########## | 100% \n",
"libpng-1.6.37 | 306 KB | ########## | 100% \n",
"prometheus_client-0. | 49 KB | ########## | 100% \n",
"markupsafe-2.1.1 | 22 KB | ########## | 100% \n",
"librsvg-2.54.3 | 6.4 MB | ########## | 100% \n",
"webencodings-0.5.1 | 12 KB | ########## | 100% \n",
"click-8.1.3 | 148 KB | ########## | 100% \n",
"textual-0.1.18 | 66 KB | ########## | 100% \n",
"fonts-conda-ecosyste | 4 KB | ########## | 100% \n",
"jinja2-3.1.2 | 99 KB | ########## | 100% \n",
"graphite2-1.3.13 | 102 KB | ########## | 100% \n",
"jupyter_core-4.10.0 | 81 KB | ########## | 100% \n",
"pixman-0.40.0 | 627 KB | ########## | 100% \n",
"python-graphviz-0.20 | 35 KB | ########## | 100% \n",
"xorg-libxrender-0.9. | 32 KB | ########## | 100% \n",
"aiosignal-1.2.0 | 12 KB | ########## | 100% \n",
"xorg-renderproto-0.1 | 9 KB | ########## | 100% \n",
"yaml-0.2.5 | 87 KB | ########## | 100% \n",
"psutil-5.9.1 | 350 KB | ########## | 100% \n",
"mistune-0.8.4 | 54 KB | ########## | 100% \n",
"bleach-5.0.0 | 123 KB | ########## | 100% \n",
"nbformat-5.4.0 | 104 KB | ########## | 100% \n",
"flit-core-3.7.1 | 44 KB | ########## | 100% \n",
"nest-asyncio-1.5.5 | 9 KB | ########## | 100% \n",
"pyrsistent-0.18.1 | 92 KB | ########## | 100% \n",
"jupyter_client-7.3.4 | 91 KB | ########## | 100% \n",
"jupyterlab_pygments- | 17 KB | ########## | 100% \n",
"ipywidgets-7.7.0 | 103 KB | ########## | 100% \n",
"sortedcontainers-2.4 | 26 KB | ########## | 100% \n",
"jupyterlab_widgets-1 | 133 KB | ########## | 100% \n",
"graphviz-4.0.0 | 2.7 MB | ########## | 100% \n",
"wcwidth-0.2.5 | 33 KB | ########## | 100% \n",
"typing_extensions-4. | 27 KB | ########## | 100% \n",
"font-ttf-dejavu-sans | 388 KB | ########## | 100% \n",
"importlib-metadata-4 | 33 KB | ########## | 100% \n",
"widgetsnbextension-3 | 1.2 MB | ########## | 100% \n",
"python_abi-3.10 | 4 KB | ########## | 100% \n",
"lz4-4.0.0 | 36 KB | ########## | 100% \n",
"pyopenssl-22.0.0 | 49 KB | ########## | 100% \n",
"send2trash-1.8.0 | 17 KB | ########## | 100% \n",
"tk-8.6.12 | 3.3 MB | ########## | 100% \n",
"tblib-1.7.0 | 15 KB | ########## | 100% \n",
"libopenblas-0.3.20 | 10.1 MB | ########## | 100% \n",
"libsodium-1.0.18 | 366 KB | ########## | 100% \n",
"nbconvert-6.5.0 | 6 KB | ########## | 100% \n",
"yarl-1.7.2 | 132 KB | ########## | 100% \n",
"pygments-2.12.0 | 817 KB | ########## | 100% \n",
"python-3.10.4 | 28.7 MB | ########## | 100% \n",
"pyparsing-3.0.9 | 79 KB | ########## | 100% \n",
"libwebp-base-1.2.2 | 824 KB | ########## | 100% \n",
"giflib-5.2.1 | 77 KB | ########## | 100% \n",
"pycparser-2.21 | 100 KB | ########## | 100% \n",
"pysocks-1.7.1 | 28 KB | ########## | 100% \n",
"aiobotocore-2.3.3 | 52 KB | ########## | 100% \n",
"_libgcc_mutex-0.1 | 3 KB | ########## | 100% \n",
"libtiff-4.4.0 | 638 KB | ########## | 100% \n",
"xorg-libice-1.0.10 | 58 KB | ########## | 100% \n",
"python-dateutil-2.8. | 240 KB | ########## | 100% \n",
"urllib3-1.26.9 | 100 KB | ########## | 100% \n",
"zeromq-4.3.4 | 351 KB | ########## | 100% \n",
"libgomp-12.1.0 | 459 KB | ########## | 100% \n",
"asttokens-2.0.5 | 21 KB | ########## | 100% \n",
"xorg-xextproto-7.3.0 | 28 KB | ########## | 100% \n",
"libgfortran5-12.1.0 | 1.8 MB | ########## | 100% \n",
"setuptools-62.3.4 | 1.3 MB | ########## | 100% \n",
"terminado-0.15.0 | 28 KB | ########## | 100% \n",
"dask-core-2022.6.0 | 834 KB | ########## | 100% \n",
"gettext-0.19.8.1 | 3.6 MB | ########## | 100% \n",
"libcblas-3.9.0 | 12 KB | ########## | 100% \n",
"bzip2-1.0.8 | 484 KB | ########## | 100% \n",
"brotlipy-0.7.0 | 342 KB | ########## | 100% \n",
"distributed-2022.6.0 | 722 KB | ########## | 100% \n",
"_openmp_mutex-4.5 | 23 KB | ########## | 100% \n",
"Preparing transaction: ...working... done\n",
"Verifying transaction: ...working... done\n",
"\n",
"Executing transaction: ...working...\n",
"Enabling notebook extension jupyter-js-widgets/extension...\n",
"- Validating: \u001b[32mOK\u001b[0m\n",
"\n",
"done\n",
"# $ conda activate coiled\n",
"#\n",
"# To activate this environment, use\n",
"#\n",
"#\n",
"# To deactivate an active environment, use\n",
"\n",
"#\n",
"# $ conda deactivate\n",
"/opt/conda/pkgs\n",
"fsspec-2022.5.0-pyhd8ed1ab_0.tar.bz2 96 KB\n",
"atk-1.0-2.36.0-h3371d22_4.tar.bz2 560 KB\n",
"nbconvert-core-6.5.0-pyhd8ed1ab_0.tar.bz2 425 KB\n",
"cryptography-37.0.2-py310h597c629_0.tar.bz2 1.5 MB\n",
"\n",
"---------------\n",
"Will remove the following tarballs:\n",
"Cache location: /opt/conda/pkgs\n",
"Removed libuuid-2.32.1-h7f98852_1000.tar.bz2\n",
"Removed multidict-6.0.2-py310h5764c6d_1.tar.bz2\n",
"Removed libxcb-1.13-h7f98852_1004.tar.bz2\n",
"Removed soupsieve-2.3.1-pyhd8ed1ab_0.tar.bz2\n",
"Removed frozenlist-1.3.0-py310h5764c6d_1.tar.bz2\n",
"Removed argon2-cffi-bindings-21.2.0-py310h5764c6d_2.tar.bz2\n",
"Removed harfbuzz-4.3.0-hf9f4e7c_0.tar.bz2\n",
"Removed boto3-1.21.21-pyhd8ed1ab_0.tar.bz2\n",
"Removed cloudpickle-2.1.0-pyhd8ed1ab_0.tar.bz2\n",
"Removed libgd-2.3.3-h18fbbfe_3.tar.bz2\n",
"Removed gts-0.7.6-h64030ff_2.tar.bz2\n",
"Removed xorg-libxext-1.3.4-h7f98852_1.tar.bz2\n",
"Removed backports.functools_lru_cache-1.6.4-pyhd8ed1ab_0.tar.bz2\n",
"giflib-5.2.1-h36c2ea0_2.tar.bz2 77 KB\n",
"mistune-0.8.4-py310h6acc77f_1005.tar.bz2 54 KB\n",
"wheel-0.37.1-pyhd8ed1ab_0.tar.bz2 31 KB\n",
"fribidi-1.0.10-h36c2ea0_0.tar.bz2 112 KB\n",
"entrypoints-0.4-pyhd8ed1ab_0.tar.bz2 9 KB\n",
"debugpy-1.6.0-py310hd8f1fbe_0.tar.bz2 2.0 MB\n",
"dask-2022.6.0-pyhd8ed1ab_0.tar.bz2 5 KB\n",
"commonmark-0.9.1-py_0.tar.bz2 46 KB\n",
"backports.functools_lru_cache-1.6.4-pyhd8ed1ab_0.tar.bz2 9 KB\n",
"typing-extensions-4.2.0-hd8ed1ab_1.tar.bz2 8 KB\n",
"pip-22.1.2-pyhd8ed1ab_0.tar.bz2 1.5 MB\n",
"libtool-2.4.6-h9c3ff4c_1008.tar.bz2 511 KB\n",
"pexpect-4.8.0-pyh9f0ad1d_2.tar.bz2 47 KB\n",
"jedi-0.18.1-py310hff52083_1.tar.bz2 995 KB\n",
"botocore-1.24.21-pyhd8ed1ab_1.tar.bz2 5.3 MB\n",
"fontconfig-2.14.0-h8e229c2_0.tar.bz2 305 KB\n",
"aioitertools-0.10.0-pyhd8ed1ab_0.tar.bz2 21 KB\n",
"lerc-3.0-h9c3ff4c_0.tar.bz2 216 KB\n",
"future-0.18.2-py310hff52083_5.tar.bz2 738 KB\n",
"zipp-3.8.0-pyhd8ed1ab_0.tar.bz2 12 KB\n",
"libuuid-2.32.1-h7f98852_1000.tar.bz2 28 KB\n",
"pandoc-2.18-ha770c72_0.tar.bz2 12.5 MB\n",
"xz-5.2.5-h516909a_1.tar.bz2 343 KB\n",
"pango-1.50.7-hbd2fdc8_0.tar.bz2 456 KB\n",
"openssl-1.1.1o-h166bdaf_0.tar.bz2 2.1 MB\n",
"libgd-2.3.3-h18fbbfe_3.tar.bz2 266 KB\n",
"wrapt-1.14.1-py310h5764c6d_0.tar.bz2 51 KB\n",
"frozenlist-1.3.0-py310h5764c6d_1.tar.bz2 43 KB\n",
"jsonschema-4.6.0-pyhd8ed1ab_0.tar.bz2 62 KB\n",
"libiconv-1.16-h516909a_0.tar.bz2 1.4 MB\n",
"xorg-libxdmcp-1.1.3-h7f98852_0.tar.bz2 19 KB\n",
"async-timeout-4.0.2-pyhd8ed1ab_0.tar.bz2 9 KB\n",
"xorg-xproto-7.0.31-h7f98852_1007.tar.bz2 73 KB\n",
"gtk2-2.24.33-h90689f9_2.tar.bz2 7.4 MB\n",
"ipython_genutils-0.2.0-py_1.tar.bz2 21 KB\n",
"python-fastjsonschema-2.15.3-pyhd8ed1ab_0.tar.bz2 243 KB\n",
"stack_data-0.2.0-pyhd8ed1ab_0.tar.bz2 21 KB\n",
"numpy-1.22.4-py310h4ef5377_0.tar.bz2 6.8 MB\n",
"pickleshare-0.7.5-py_1003.tar.bz2 9 KB\n",
"packaging-21.3-pyhd8ed1ab_0.tar.bz2 36 KB\n",
"decorator-5.1.1-pyhd8ed1ab_0.tar.bz2 12 KB\n",
"libblas-3.9.0-15_linux64_openblas.tar.bz2 12 KB\n",
"bokeh-2.4.3-py310hff52083_0.tar.bz2 13.8 MB\n",
"libxml2-2.9.14-h22db469_0.tar.bz2 770 KB\n",
"xorg-libsm-1.2.3-hd9c2040_1000.tar.bz2 26 KB\n",
"xorg-libxext-1.3.4-h7f98852_1.tar.bz2 54 KB\n",
"pandas-1.4.2-py310h769672d_2.tar.bz2 12.5 MB\n",
"cffi-1.15.0-py310h0fdd8cc_0.tar.bz2 433 KB\n",
"pytz-2022.1-pyhd8ed1ab_0.tar.bz2 242 KB\n",
"s3fs-2022.5.0-pyhd8ed1ab_0.tar.bz2 26 KB\n",
"boto3-1.21.21-pyhd8ed1ab_0.tar.bz2 71 KB\n",
"zict-2.2.0-pyhd8ed1ab_0.tar.bz2 20 KB\n",
"font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 684 KB\n",
"xorg-libxau-1.0.9-h7f98852_0.tar.bz2 13 KB\n",
"ncurses-6.3-h27087fc_1.tar.bz2 1002 KB\n",
"expat-2.4.8-h27087fc_0.tar.bz2 187 KB\n",
"libstdcxx-ng-12.1.0-ha89aaad_16.tar.bz2 4.3 MB\n",
"notebook-6.4.12-pyha770c72_0.tar.bz2 6.3 MB\n",
"tornado-6.1-py310h5764c6d_3.tar.bz2 657 KB\n",
"libwebp-1.2.2-h3452ae3_0.tar.bz2 85 KB\n",
"zstd-1.5.2-h8a70e8d_1.tar.bz2 452 KB\n",
"readline-8.1.2-h0f457ee_0.tar.bz2 291 KB\n",
"libgfortran-ng-12.1.0-h69a702a_16.tar.bz2 23 KB\n",
"jpeg-9e-h166bdaf_1.tar.bz2 268 KB\n",
"ca-certificates-2022.5.18.1-ha878542_0.tar.bz2 144 KB\n",
"backcall-0.2.0-pyh9f0ad1d_0.tar.bz2 13 KB\n",
"pure_eval-0.2.2-pyhd8ed1ab_0.tar.bz2 14 KB\n",
"pyzmq-23.1.0-py310h330234f_0.tar.bz2 484 KB\n",
"pcre-8.45-h9c3ff4c_0.tar.bz2 253 KB\n",
"libffi-3.4.2-h7f98852_5.tar.bz2 57 KB\n",
"font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 94 KB\n",
"aiohttp-3.8.1-py310h5764c6d_1.tar.bz2 585 KB\n",
"libnsl-2.0.0-h7f98852_0.tar.bz2 31 KB\n",
"pthread-stubs-0.4-h36c2ea0_1001.tar.bz2 5 KB\n",
"executing-0.8.3-pyhd8ed1ab_0.tar.bz2 18 KB\n",
"freetype-2.10.4-h0708190_1.tar.bz2 890 KB\n",
"argon2-cffi-21.3.0-pyhd8ed1ab_0.tar.bz2 15 KB\n",
"attrs-21.4.0-pyhd8ed1ab_0.tar.bz2 49 KB\n",
"tzdata-2022a-h191b570_0.tar.bz2 121 KB\n",
"xorg-libx11-1.7.2-h7f98852_0.tar.bz2 941 KB\n",
"pyyaml-6.0-py310h5764c6d_4.tar.bz2 178 KB\n",
"lz4-c-1.9.3-h9c3ff4c_1.tar.bz2 179 KB\n",
"ptyprocess-0.7.0-pyhd3deb0d_0.tar.bz2 16 KB\n",
"beautifulsoup4-4.11.1-pyha770c72_0.tar.bz2 96 KB\n",
"icu-70.1-h27087fc_0.tar.bz2 13.5 MB\n",
"pandocfilters-1.5.0-pyhd8ed1ab_0.tar.bz2 11 KB\n",
"importlib_resources-5.7.1-pyhd8ed1ab_1.tar.bz2 22 KB\n",
"font-ttf-ubuntu-0.83-hab24e00_0.tar.bz2 1.9 MB\n",
"ld_impl_linux-64-2.36.1-hea4e1c9_2.tar.bz2 667 KB\n",
"libdeflate-1.12-h166bdaf_0.tar.bz2 78 KB\n",
"partd-1.2.0-pyhd8ed1ab_0.tar.bz2 18 KB\n",
"ipython-8.4.0-py310hff52083_0.tar.bz2 1.1 MB\n",
"sqlite-3.38.5-h4ff8645_0.tar.bz2 1.5 MB\n",
"msgpack-python-1.0.4-py310hbf28c38_0.tar.bz2 88 KB\n",
"cytoolz-0.11.2-py310h5764c6d_2.tar.bz2 392 KB\n",
"backoff-1.11.1-pyhd8ed1ab_0.tar.bz2 15 KB\n",
"s3transfer-0.5.2-pyhd8ed1ab_0.tar.bz2 55 KB\n",
"lcms2-2.12-hddcbb42_0.tar.bz2 443 KB\n",
"libgcc-ng-12.1.0-h8d9b700_16.tar.bz2 940 KB\n",
"matplotlib-inline-0.1.3-pyhd8ed1ab_0.tar.bz2 11 KB\n",
"heapdict-1.0.1-py_0.tar.bz2 7 KB\n",
"toolz-0.11.2-pyhd8ed1ab_0.tar.bz2 48 KB\n",
"certifi-2022.5.18.1-py310hff52083_0.tar.bz2 150 KB\n",
"zlib-1.2.12-h166bdaf_0.tar.bz2 90 KB\n",
"gdk-pixbuf-2.42.8-hff1cb4f_0.tar.bz2 595 KB\n",
"fonts-conda-forge-1-0.tar.bz2 4 KB\n",
"nbclient-0.6.4-pyhd8ed1ab_1.tar.bz2 65 KB\n",
"libglib-2.70.2-h174f98d_4.tar.bz2 3.1 MB\n",
"charset-normalizer-2.0.12-pyhd8ed1ab_0.tar.bz2 35 KB\n",
"idna-3.3-pyhd8ed1ab_0.tar.bz2 55 KB\n",
"six-1.16.0-pyh6c4a22f_0.tar.bz2 14 KB\n",
"pillow-9.1.1-py310he619898_1.tar.bz2 44.8 MB\n",
"ipykernel-6.13.1-py310hfdc917e_0.tar.bz2 187 KB\n",
"locket-1.0.0-pyhd8ed1ab_0.tar.bz2 8 KB\n",
"backports-1.0-py_2.tar.bz2 4 KB\n",
"xorg-kbproto-1.0.7-h7f98852_1002.tar.bz2 27 KB\n",
"libpng-1.6.37-h21135ba_2.tar.bz2 306 KB\n",
"rich-12.4.4-pyhd8ed1ab_0.tar.bz2 164 KB\n",
"defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2 23 KB\n",
"nbconvert-pandoc-6.5.0-pyhd8ed1ab_0.tar.bz2 4 KB\n",
"coiled-0.2.6-pyhd8ed1ab_0.tar.bz2 93 KB\n",
"tinycss2-1.1.1-pyhd8ed1ab_0.tar.bz2 23 KB\n",
"librsvg-2.54.3-h7abd40a_0.tar.bz2 6.4 MB\n",
"graphite2-1.3.13-h58526e2_1001.tar.bz2 102 KB\n",
"prometheus_client-0.14.1-pyhd8ed1ab_0.tar.bz2 49 KB\n",
"liblapack-3.9.0-15_linux64_openblas.tar.bz2 12 KB\n",
"python-graphviz-0.20-pyhaef67bd_0.tar.bz2 35 KB\n",
"jupyter_core-4.10.0-py310hff52083_0.tar.bz2 81 KB\n",
"click-8.1.3-py310hff52083_0.tar.bz2 148 KB\n",
"markupsafe-2.1.1-py310h5764c6d_1.tar.bz2 22 KB\n",
"xorg-libxrender-0.9.10-h7f98852_1003.tar.bz2 32 KB\n",
"textual-0.1.18-pyhd8ed1ab_1.tar.bz2 66 KB\n",
"jinja2-3.1.2-pyhd8ed1ab_1.tar.bz2 99 KB\n",
"fonts-conda-ecosystem-1-0.tar.bz2 4 KB\n",
"webencodings-0.5.1-py_1.tar.bz2 12 KB\n",
"bleach-5.0.0-pyhd8ed1ab_0.tar.bz2 123 KB\n",
"xorg-renderproto-0.11.1-h7f98852_1002.tar.bz2 9 KB\n",
"yaml-0.2.5-h7f98852_2.tar.bz2 87 KB\n",
"aiosignal-1.2.0-pyhd8ed1ab_0.tar.bz2 12 KB\n",
"flit-core-3.7.1-pyhd8ed1ab_0.tar.bz2 44 KB\n",
"nest-asyncio-1.5.5-pyhd8ed1ab_0.tar.bz2 9 KB\n",
"psutil-5.9.1-py310h5764c6d_0.tar.bz2 350 KB\n",
"nbformat-5.4.0-pyhd8ed1ab_0.tar.bz2 104 KB\n",
"ipywidgets-7.7.0-pyhd8ed1ab_0.tar.bz2 103 KB\n",
"jupyterlab_pygments-0.2.2-pyhd8ed1ab_0.tar.bz2 17 KB\n",
"jupyter_client-7.3.4-pyhd8ed1ab_0.tar.bz2 91 KB\n",
"pyrsistent-0.18.1-py310h5764c6d_1.tar.bz2 92 KB\n",
"importlib-metadata-4.11.4-py310hff52083_0.tar.bz2 33 KB\n",
"jupyterlab_widgets-1.1.0-pyhd8ed1ab_0.tar.bz2 133 KB\n",
"graphviz-4.0.0-h5abf519_0.tar.bz2 2.7 MB\n",
"sortedcontainers-2.4.0-pyhd8ed1ab_0.tar.bz2 26 KB\n",
"tblib-1.7.0-pyhd8ed1ab_0.tar.bz2 15 KB\n",
"tk-8.6.12-h27826a3_0.tar.bz2 3.3 MB\n",
"typing_extensions-4.2.0-pyha770c72_1.tar.bz2 27 KB\n",
"pyopenssl-22.0.0-pyhd8ed1ab_0.tar.bz2 49 KB\n",
"python_abi-3.10-2_cp310.tar.bz2 4 KB\n",
"lz4-4.0.0-py310h5d5e884_2.tar.bz2 36 KB\n",
"widgetsnbextension-3.6.0-py310hff52083_0.tar.bz2 1.2 MB\n",
"wcwidth-0.2.5-pyh9f0ad1d_2.tar.bz2 33 KB\n",
"libopenblas-0.3.20-pthreads_h78a6416_0.tar.bz2 10.1 MB\n",
"libsodium-1.0.18-h36c2ea0_1.tar.bz2 366 KB\n",
"font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 388 KB\n",
"send2trash-1.8.0-pyhd8ed1ab_0.tar.bz2 17 KB\n",
"pygments-2.12.0-pyhd8ed1ab_0.tar.bz2 817 KB\n",
"nbconvert-6.5.0-pyhd8ed1ab_0.tar.bz2 6 KB\n",
"yarl-1.7.2-py310h5764c6d_2.tar.bz2 132 KB\n",
"pycparser-2.21-pyhd8ed1ab_0.tar.bz2 100 KB\n",
"pysocks-1.7.1-py310hff52083_5.tar.bz2 28 KB\n",
"python-3.10.4-h9a8a25e_0_cpython.tar.bz2 28.7 MB\n",
"aiobotocore-2.3.3-pyhd8ed1ab_0.tar.bz2 52 KB\n",
"libwebp-base-1.2.2-h7f98852_1.tar.bz2 824 KB\n",
"urllib3-1.26.9-pyhd8ed1ab_0.tar.bz2 100 KB\n",
"pyparsing-3.0.9-pyhd8ed1ab_0.tar.bz2 79 KB\n",
"xorg-libice-1.0.10-h7f98852_0.tar.bz2 58 KB\n",
"libtiff-4.4.0-hc85c160_1.tar.bz2 638 KB\n",
"zeromq-4.3.4-h9c3ff4c_1.tar.bz2 351 KB\n",
"libgfortran5-12.1.0-hdcd56e2_16.tar.bz2 1.8 MB\n",
"python-dateutil-2.8.2-pyhd8ed1ab_0.tar.bz2 240 KB\n",
"xorg-xextproto-7.3.0-h7f98852_1002.tar.bz2 28 KB\n",
"gettext-0.19.8.1-h73d1719_1008.tar.bz2 3.6 MB\n",
"_libgcc_mutex-0.1-conda_forge.tar.bz2 3 KB\n",
"asttokens-2.0.5-pyhd8ed1ab_0.tar.bz2 21 KB\n",
"libgomp-12.1.0-h8d9b700_16.tar.bz2 459 KB\n",
"brotlipy-0.7.0-py310h5764c6d_1004.tar.bz2 342 KB\n",
"dask-core-2022.6.0-pyhd8ed1ab_0.tar.bz2 834 KB\n",
"bzip2-1.0.8-h7f98852_4.tar.bz2 484 KB\n",
"Removed fsspec-2022.5.0-pyhd8ed1ab_0.tar.bz2\n",
"libcblas-3.9.0-15_linux64_openblas.tar.bz2 12 KB\n",
"Removed dask-2022.6.0-pyhd8ed1ab_0.tar.bz2\n",
"Removed fribidi-1.0.10-h36c2ea0_0.tar.bz2\n",
"Removed botocore-1.24.21-pyhd8ed1ab_1.tar.bz2\n",
"distributed-2022.6.0-pyhd8ed1ab_0.tar.bz2 722 KB\n",
"Total: 237.1 MB\n",
"Removed atk-1.0-2.36.0-h3371d22_4.tar.bz2\n",
"Removed nbconvert-core-6.5.0-pyhd8ed1ab_0.tar.bz2\n",
"Removed fontconfig-2.14.0-h8e229c2_0.tar.bz2\n",
"\n",
"setuptools-62.3.4-py310hff52083_0.tar.bz2 1.3 MB\n",
"Removed typing-extensions-4.2.0-hd8ed1ab_1.tar.bz2\n",
"Removed cryptography-37.0.2-py310h597c629_0.tar.bz2\n",
"\n",
"Removed entrypoints-0.4-pyhd8ed1ab_0.tar.bz2\n",
"_openmp_mutex-4.5-2_gnu.tar.bz2 23 KB\n",
"---------------------------------------------------\n",
"terminado-0.15.0-py310hff52083_0.tar.bz2 28 KB\n",
"Removed commonmark-0.9.1-py_0.tar.bz2\n",
"Removed parso-0.8.3-pyhd8ed1ab_0.tar.bz2\n",
"Removed libtool-2.4.6-h9c3ff4c_1008.tar.bz2\n",
"Removed zipp-3.8.0-pyhd8ed1ab_0.tar.bz2\n",
"Removed aioitertools-0.10.0-pyhd8ed1ab_0.tar.bz2\n",
"Removed future-0.18.2-py310hff52083_5.tar.bz2\n",
"Removed pandoc-2.18-ha770c72_0.tar.bz2\n",
"Removed debugpy-1.6.0-py310hd8f1fbe_0.tar.bz2\n",
"Removed pip-22.1.2-pyhd8ed1ab_0.tar.bz2\n",
"Removed jmespath-1.0.0-pyhd8ed1ab_0.tar.bz2\n",
"Removed pexpect-4.8.0-pyh9f0ad1d_2.tar.bz2\n",
"Removed jedi-0.18.1-py310hff52083_1.tar.bz2\n",
"Removed lerc-3.0-h9c3ff4c_0.tar.bz2\n",
"Removed dataclasses-0.8-pyhc8e2a94_3.tar.bz2\n",
"Removed libzlib-1.2.12-h166bdaf_0.tar.bz2\n",
"Removed openjpeg-2.4.0-hb52868f_1.tar.bz2\n",
"Removed cairo-1.16.0-ha61ee94_1011.tar.bz2\n",
"Removed prompt-toolkit-3.0.29-pyha770c72_0.tar.bz2\n",
"Removed traitlets-5.2.2.post1-pyhd8ed1ab_0.tar.bz2\n",
"Removed libiconv-1.16-h516909a_0.tar.bz2\n",
"Removed cffi-1.15.0-py310h0fdd8cc_0.tar.bz2\n",
"Removed wrapt-1.14.1-py310h5764c6d_0.tar.bz2\n",
"Removed pytz-2022.1-pyhd8ed1ab_0.tar.bz2\n",
"Removed pandas-1.4.2-py310h769672d_2.tar.bz2\n",
"Removed libstdcxx-ng-12.1.0-ha89aaad_16.tar.bz2\n",
"Removed jsonschema-4.6.0-pyhd8ed1ab_0.tar.bz2\n",
"Removed stack_data-0.2.0-pyhd8ed1ab_0.tar.bz2\n",
"Removed packaging-21.3-pyhd8ed1ab_0.tar.bz2\n",
"Removed openssl-1.1.1o-h166bdaf_0.tar.bz2\n",
"Removed pango-1.50.7-hbd2fdc8_0.tar.bz2\n",
"Removed xz-5.2.5-h516909a_1.tar.bz2\n",
"Removed libblas-3.9.0-15_linux64_openblas.tar.bz2\n",
"Removed gtk2-2.24.33-h90689f9_2.tar.bz2\n",
"Removed s3fs-2022.5.0-pyhd8ed1ab_0.tar.bz2\n",
"Removed ipython_genutils-0.2.0-py_1.tar.bz2\n",
"Removed python-fastjsonschema-2.15.3-pyhd8ed1ab_0.tar.bz2\n",
"Removed decorator-5.1.1-pyhd8ed1ab_0.tar.bz2\n",
"Removed bokeh-2.4.3-py310hff52083_0.tar.bz2\n",
"Removed xorg-libsm-1.2.3-hd9c2040_1000.tar.bz2\n",
"Removed libxml2-2.9.14-h22db469_0.tar.bz2\n",
"Removed zict-2.2.0-pyhd8ed1ab_0.tar.bz2\n",
"Removed zstd-1.5.2-h8a70e8d_1.tar.bz2\n",
"Removed font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2\n",
"Removed pickleshare-0.7.5-py_1003.tar.bz2\n",
"Removed xorg-xproto-7.0.31-h7f98852_1007.tar.bz2\n",
"Removed libgfortran-ng-12.1.0-h69a702a_16.tar.bz2\n",
"Removed ca-certificates-2022.5.18.1-ha878542_0.tar.bz2\n",
"Removed pcre-8.45-h9c3ff4c_0.tar.bz2\n",
"Removed readline-8.1.2-h0f457ee_0.tar.bz2\n",
"Removed font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2\n",
"Removed notebook-6.4.12-pyha770c72_0.tar.bz2\n",
"Removed ptyprocess-0.7.0-pyhd3deb0d_0.tar.bz2\n",
"Removed libffi-3.4.2-h7f98852_5.tar.bz2\n",
"Removed backcall-0.2.0-pyh9f0ad1d_0.tar.bz2\n",
"Removed expat-2.4.8-h27087fc_0.tar.bz2\n",
"Removed xorg-libxdmcp-1.1.3-h7f98852_0.tar.bz2\n",
"Removed numpy-1.22.4-py310h4ef5377_0.tar.bz2\n",
"Removed pthread-stubs-0.4-h36c2ea0_1001.tar.bz2\n",
"Removed ncurses-6.3-h27087fc_1.tar.bz2\n",
"Removed xorg-libxau-1.0.9-h7f98852_0.tar.bz2\n",
"Removed jpeg-9e-h166bdaf_1.tar.bz2\n",
"Removed freetype-2.10.4-h0708190_1.tar.bz2\n",
"Removed pyyaml-6.0-py310h5764c6d_4.tar.bz2\n",
"Removed libwebp-1.2.2-h3452ae3_0.tar.bz2\n",
"Removed libnsl-2.0.0-h7f98852_0.tar.bz2\n",
"Removed executing-0.8.3-pyhd8ed1ab_0.tar.bz2\n",
"Removed argon2-cffi-21.3.0-pyhd8ed1ab_0.tar.bz2\n",
"Removed tzdata-2022a-h191b570_0.tar.bz2\n",
"Removed ld_impl_linux-64-2.36.1-hea4e1c9_2.tar.bz2\n",
"Removed partd-1.2.0-pyhd8ed1ab_0.tar.bz2\n",
"Removed aiohttp-3.8.1-py310h5764c6d_1.tar.bz2\n",
"Removed lz4-c-1.9.3-h9c3ff4c_1.tar.bz2\n",
"Removed pure_eval-0.2.2-pyhd8ed1ab_0.tar.bz2\n",
"Removed pandocfilters-1.5.0-pyhd8ed1ab_0.tar.bz2\n",
"Removed beautifulsoup4-4.11.1-pyha770c72_0.tar.bz2\n",
"Removed importlib_resources-5.7.1-pyhd8ed1ab_1.tar.bz2\n",
"Removed tornado-6.1-py310h5764c6d_3.tar.bz2\n",
"Removed font-ttf-ubuntu-0.83-hab24e00_0.tar.bz2\n",
"Removed attrs-21.4.0-pyhd8ed1ab_0.tar.bz2\n",
"Removed libdeflate-1.12-h166bdaf_0.tar.bz2\n",
"Removed pyzmq-23.1.0-py310h330234f_0.tar.bz2\n",
"Removed xorg-libx11-1.7.2-h7f98852_0.tar.bz2\n",
"Removed msgpack-python-1.0.4-py310hbf28c38_0.tar.bz2\n",
"Removed sqlite-3.38.5-h4ff8645_0.tar.bz2\n",
"Removed icu-70.1-h27087fc_0.tar.bz2\n",
"Removed ipython-8.4.0-py310hff52083_0.tar.bz2\n",
"Removed lcms2-2.12-hddcbb42_0.tar.bz2\n",
"Removed libgcc-ng-12.1.0-h8d9b700_16.tar.bz2\n",
"Removed backoff-1.11.1-pyhd8ed1ab_0.tar.bz2\n",
"Removed gdk-pixbuf-2.42.8-hff1cb4f_0.tar.bz2\n",
"Removed async-timeout-4.0.2-pyhd8ed1ab_0.tar.bz2\n",
"Removed toolz-0.11.2-pyhd8ed1ab_0.tar.bz2\n",
"Removed fonts-conda-forge-1-0.tar.bz2\n",
"Removed cytoolz-0.11.2-py310h5764c6d_2.tar.bz2\n",
"Removed charset-normalizer-2.0.12-pyhd8ed1ab_0.tar.bz2\n",
"Removed libglib-2.70.2-h174f98d_4.tar.bz2\n",
"Removed s3transfer-0.5.2-pyhd8ed1ab_0.tar.bz2\n",
"Removed six-1.16.0-pyh6c4a22f_0.tar.bz2\n",
"Removed wheel-0.37.1-pyhd8ed1ab_0.tar.bz2\n",
"Removed certifi-2022.5.18.1-py310hff52083_0.tar.bz2\n",
"Removed heapdict-1.0.1-py_0.tar.bz2\n",
"Removed nbclient-0.6.4-pyhd8ed1ab_1.tar.bz2\n",
"Removed pillow-9.1.1-py310he619898_1.tar.bz2\n",
"Removed backports-1.0-py_2.tar.bz2\n",
"Removed idna-3.3-pyhd8ed1ab_0.tar.bz2\n",
"Removed tinycss2-1.1.1-pyhd8ed1ab_0.tar.bz2\n",
"Removed xorg-kbproto-1.0.7-h7f98852_1002.tar.bz2\n",
"Removed ipykernel-6.13.1-py310hfdc917e_0.tar.bz2\n",
"Removed zlib-1.2.12-h166bdaf_0.tar.bz2\n",
"Removed liblapack-3.9.0-15_linux64_openblas.tar.bz2\n",
"Removed defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2\n",
"Removed libpng-1.6.37-h21135ba_2.tar.bz2\n",
"Removed markupsafe-2.1.1-py310h5764c6d_1.tar.bz2\n",
"Removed coiled-0.2.6-pyhd8ed1ab_0.tar.bz2\n",
"Removed rich-12.4.4-pyhd8ed1ab_0.tar.bz2\n",
"Removed matplotlib-inline-0.1.3-pyhd8ed1ab_0.tar.bz2\n",
"Removed locket-1.0.0-pyhd8ed1ab_0.tar.bz2\n",
"Removed prometheus_client-0.14.1-pyhd8ed1ab_0.tar.bz2\n",
"Removed nbconvert-pandoc-6.5.0-pyhd8ed1ab_0.tar.bz2\n",
"Removed fonts-conda-ecosystem-1-0.tar.bz2\n",
"Removed textual-0.1.18-pyhd8ed1ab_1.tar.bz2\n",
"Removed nest-asyncio-1.5.5-pyhd8ed1ab_0.tar.bz2\n",
"Removed bleach-5.0.0-pyhd8ed1ab_0.tar.bz2\n",
"Removed nbformat-5.4.0-pyhd8ed1ab_0.tar.bz2\n",
"Removed psutil-5.9.1-py310h5764c6d_0.tar.bz2\n",
"Removed pixman-0.40.0-h36c2ea0_0.tar.bz2\n",
"Removed jupyter_core-4.10.0-py310hff52083_0.tar.bz2\n",
"Removed aiosignal-1.2.0-pyhd8ed1ab_0.tar.bz2\n",
"Removed xorg-renderproto-0.11.1-h7f98852_1002.tar.bz2\n",
"Removed python-graphviz-0.20-pyhaef67bd_0.tar.bz2\n",
"Removed click-8.1.3-py310hff52083_0.tar.bz2\n",
"Removed xorg-libxrender-0.9.10-h7f98852_1003.tar.bz2\n",
"Removed librsvg-2.54.3-h7abd40a_0.tar.bz2\n",
"Removed jinja2-3.1.2-pyhd8ed1ab_1.tar.bz2\n",
"Removed graphite2-1.3.13-h58526e2_1001.tar.bz2\n",
"Removed webencodings-0.5.1-py_1.tar.bz2\n",
"Removed ipywidgets-7.7.0-pyhd8ed1ab_0.tar.bz2\n",
"Removed jupyter_client-7.3.4-pyhd8ed1ab_0.tar.bz2\n",
"Removed pyrsistent-0.18.1-py310h5764c6d_1.tar.bz2\n",
"Removed jupyterlab_pygments-0.2.2-pyhd8ed1ab_0.tar.bz2\n",
"Removed flit-core-3.7.1-pyhd8ed1ab_0.tar.bz2\n",
"Removed yaml-0.2.5-h7f98852_2.tar.bz2\n",
"Removed mistune-0.8.4-py310h6acc77f_1005.tar.bz2\n",
"Removed sortedcontainers-2.4.0-pyhd8ed1ab_0.tar.bz2\n",
"Removed font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2\n",
"Removed typing_extensions-4.2.0-pyha770c72_1.tar.bz2\n",
"Removed jupyterlab_widgets-1.1.0-pyhd8ed1ab_0.tar.bz2\n",
"Removed importlib-metadata-4.11.4-py310hff52083_0.tar.bz2\n",
"Removed wcwidth-0.2.5-pyh9f0ad1d_2.tar.bz2\n",
"Removed widgetsnbextension-3.6.0-py310hff52083_0.tar.bz2\n",
"Removed graphviz-4.0.0-h5abf519_0.tar.bz2\n",
"Removed tk-8.6.12-h27826a3_0.tar.bz2\n",
"Removed lz4-4.0.0-py310h5d5e884_2.tar.bz2\n",
"Removed tblib-1.7.0-pyhd8ed1ab_0.tar.bz2\n",
"Removed pyopenssl-22.0.0-pyhd8ed1ab_0.tar.bz2\n",
"Removed python_abi-3.10-2_cp310.tar.bz2\n",
"Removed python-3.10.4-h9a8a25e_0_cpython.tar.bz2\n",
"Removed send2trash-1.8.0-pyhd8ed1ab_0.tar.bz2\n",
"Removed libopenblas-0.3.20-pthreads_h78a6416_0.tar.bz2\n",
"Removed libsodium-1.0.18-h36c2ea0_1.tar.bz2\n",
"Removed pygments-2.12.0-pyhd8ed1ab_0.tar.bz2\n",
"Removed giflib-5.2.1-h36c2ea0_2.tar.bz2\n",
"Removed nbconvert-6.5.0-pyhd8ed1ab_0.tar.bz2\n",
"Removed pycparser-2.21-pyhd8ed1ab_0.tar.bz2\n",
"Removed yarl-1.7.2-py310h5764c6d_2.tar.bz2\n",
"Removed libwebp-base-1.2.2-h7f98852_1.tar.bz2\n",
"Removed pyparsing-3.0.9-pyhd8ed1ab_0.tar.bz2\n",
"Removed aiobotocore-2.3.3-pyhd8ed1ab_0.tar.bz2\n",
"Removed _libgcc_mutex-0.1-conda_forge.tar.bz2\n",
"Removed libtiff-4.4.0-hc85c160_1.tar.bz2\n",
"Removed libgomp-12.1.0-h8d9b700_16.tar.bz2\n",
"pixman-0.40.0-h36c2ea0_0.tar.bz2 627 KB\n",
"Removed asttokens-2.0.5-pyhd8ed1ab_0.tar.bz2\n",
"Removed pysocks-1.7.1-py310hff52083_5.tar.bz2\n",
"Removed urllib3-1.26.9-pyhd8ed1ab_0.tar.bz2\n",
"Removed xorg-libice-1.0.10-h7f98852_0.tar.bz2\n",
"Removed dask-core-2022.6.0-pyhd8ed1ab_0.tar.bz2\n",
"Removed libcblas-3.9.0-15_linux64_openblas.tar.bz2\n",
"Removed python-dateutil-2.8.2-pyhd8ed1ab_0.tar.bz2\n",
"Removed libgfortran5-12.1.0-hdcd56e2_16.tar.bz2\n",
"Removed gettext-0.19.8.1-h73d1719_1008.tar.bz2\n",
"Removed setuptools-62.3.4-py310hff52083_0.tar.bz2\n",
"Removed zeromq-4.3.4-h9c3ff4c_1.tar.bz2\n",
"dask-2022.6.0-pyhd8ed1ab_0 14 KB\n",
"pthread-stubs-0.4-h36c2ea0_1001 14 KB\n",
"liblapack-3.9.0-15_linux64_openblas 45 KB\n",
"Removed terminado-0.15.0-py310hff52083_0.tar.bz2\n",
"Removed xorg-xextproto-7.3.0-h7f98852_1002.tar.bz2\n",
"removing typing-extensions-4.2.0-hd8ed1ab_1\n",
"libgfortran-ng-12.1.0-h69a702a_16 96 KB\n",
"removing liblapack-3.9.0-15_linux64_openblas\n",
"WARNING: /root/.conda/pkgs does not exist\n",
"Removed bzip2-1.0.8-h7f98852_4.tar.bz2\n",
"removing libblas-3.9.0-15_linux64_openblas\n",
"nbconvert-pandoc-6.5.0-pyhd8ed1ab_0 14 KB\n",
"\n",
"typing-extensions-4.2.0-hd8ed1ab_1 23 KB\n",
"Total: 452 KB\n",
"Will remove the following packages:\n",
"fonts-conda-forge-1-0 11 KB\n",
"removing libgfortran-ng-12.1.0-h69a702a_16\n",
"libcblas-3.9.0-15_linux64_openblas 45 KB\n",
"removing dask-2022.6.0-pyhd8ed1ab_0\n",
"---------------\n",
"removing fonts-conda-forge-1-0\n",
"/opt/conda/pkgs\n",
"libblas-3.9.0-15_linux64_openblas 46 KB\n",
"\n",
"Removed _openmp_mutex-4.5-2_gnu.tar.bz2\n",
"Removed distributed-2022.6.0-pyhd8ed1ab_0.tar.bz2\n",
"fonts-conda-ecosystem-1-0 9 KB\n",
"---------------------------------------------------\n",
"Cache location: /opt/conda/pkgs\n",
"removing nbconvert-pandoc-6.5.0-pyhd8ed1ab_0\n",
"removing pthread-stubs-0.4-h36c2ea0_1001\n",
"Removed brotlipy-0.7.0-py310h5764c6d_1004.tar.bz2\n",
"_libgcc_mutex-0.1-conda_forge 6 KB\n",
"python_abi-3.10-2_cp310 11 KB\n",
"removing python_abi-3.10-2_cp310\n",
"nbconvert-6.5.0-pyhd8ed1ab_0 18 KB\n",
"removing _libgcc_mutex-0.1-conda_forge\n",
"removing _openmp_mutex-4.5-2_gnu\n",
"\n",
"removing nbconvert-6.5.0-pyhd8ed1ab_0\n",
"removing fonts-conda-ecosystem-1-0\n",
"_openmp_mutex-4.5-2_gnu 99 KB\n",
"removing libcblas-3.9.0-15_linux64_openblas\n",
"--> f11cf860e55\n",
"STEP 4: ENV PATH /opt/conda/envs/coiled/bin:$PATH\n",
"--> ea9a17a2fd8\n",
"STEP 5: SHELL [\"conda\", \"run\", \"-n\", \"coiled\", \"/bin/bash\", \"-c\"]\n",
"--> 23dee29df25\n",
"STEP 6: COPY requirements.txt requirements.txt\n",
"--> b4be03bbda9\n",
"STEP 7: RUN pip install -r requirements.txt && rm requirements.txt\n",
"Preparing metadata (setup.py): started\n",
"Resolved https://github.com/gjoseph92/distributed.git to commit f05c94e4c986d7e23e27215ce646a12d6008c849\n",
"Requirement already satisfied: tornado>=6.0.3 in /opt/conda/envs/coiled/lib/python3.10/site-packages (from distributed==2022.5.2+29.gf05c94e4->-r requirements.txt (line 1)) (6.1)\n",
"Building wheel for distributed (setup.py): started\n",
"Requirement already satisfied: fsspec>=0.6.0 in /opt/conda/envs/coiled/lib/python3.10/site-packages (from dask==2022.05.2->distributed==2022.5.2+29.gf05c94e4->-r requirements.txt (line 1)) (2022.5.0)\n",
"Requirement already satisfied: zict>=0.1.3 in /opt/conda/envs/coiled/lib/python3.10/site-packages (from distributed==2022.5.2+29.gf05c94e4->-r requirements.txt (line 1)) (2.2.0)\n",
"Requirement already satisfied: pyyaml in /opt/conda/envs/coiled/lib/python3.10/site-packages (from distributed==2022.5.2+29.gf05c94e4->-r requirements.txt (line 1)) (6.0)\n",
"Requirement already satisfied: urllib3 in /opt/conda/envs/coiled/lib/python3.10/site-packages (from distributed==2022.5.2+29.gf05c94e4->-r requirements.txt (line 1)) (1.26.9)\n",
"Requirement already satisfied: tblib>=1.6.0 in /opt/conda/envs/coiled/lib/python3.10/site-packages (from distributed==2022.5.2+29.gf05c94e4->-r requirements.txt (line 1)) (1.7.0)\n",
"Requirement already satisfied: toolz>=0.8.2 in /opt/conda/envs/coiled/lib/python3.10/site-packages (from distributed==2022.5.2+29.gf05c94e4->-r requirements.txt (line 1)) (0.11.2)\n",
"Requirement already satisfied: sortedcontainers!=2.0.0,!=2.0.1 in /opt/conda/envs/coiled/lib/python3.10/site-packages (from distributed==2022.5.2+29.gf05c94e4->-r requirements.txt (line 1)) (2.4.0)\n",
"Requirement already satisfied: psutil>=5.0 in /opt/conda/envs/coiled/lib/python3.10/site-packages (from distributed==2022.5.2+29.gf05c94e4->-r requirements.txt (line 1)) (5.9.1)\n",
"Requirement already satisfied: msgpack>=0.6.0 in /opt/conda/envs/coiled/lib/python3.10/site-packages (from distributed==2022.5.2+29.gf05c94e4->-r requirements.txt (line 1)) (1.0.4)\n",
"Requirement already satisfied: packaging>=20.0 in /opt/conda/envs/coiled/lib/python3.10/site-packages (from distributed==2022.5.2+29.gf05c94e4->-r requirements.txt (line 1)) (21.3)\n",
"Requirement already satisfied: locket>=1.0.0 in /opt/conda/envs/coiled/lib/python3.10/site-packages (from distributed==2022.5.2+29.gf05c94e4->-r requirements.txt (line 1)) (1.0.0)\n",
"Requirement already satisfied: jinja2 in /opt/conda/envs/coiled/lib/python3.10/site-packages (from distributed==2022.5.2+29.gf05c94e4->-r requirements.txt (line 1)) (3.1.2)\n",
"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 9.3 MB/s eta 0:00:00\n",
"Downloading dask-2022.5.2-py3-none-any.whl (1.1 MB)\n",
"Requirement already satisfied: click>=6.6 in /opt/conda/envs/coiled/lib/python3.10/site-packages (from distributed==2022.5.2+29.gf05c94e4->-r requirements.txt (line 1)) (8.1.3)\n",
"Collecting dask==2022.05.2\n",
"Requirement already satisfied: cloudpickle>=1.5.0 in /opt/conda/envs/coiled/lib/python3.10/site-packages (from distributed==2022.5.2+29.gf05c94e4->-r requirements.txt (line 1)) (2.1.0)\n",
"Preparing metadata (setup.py): finished with status 'done'\n",
"Cloning https://github.com/gjoseph92/distributed.git (to revision f05c94e4c986d7e23e27215ce646a12d6008c849) to /tmp/pip-req-build-nb_02m4b\n",
"Collecting git+https://github.com/gjoseph92/distributed.git@f05c94e4c986d7e23e27215ce646a12d6008c849 (from -r requirements.txt (line 1))\n",
"Attempting uninstall: distributed\n",
"Found existing installation: distributed 2022.6.0\n",
"Successfully uninstalled dask-2022.6.0\n",
"Uninstalling dask-2022.6.0:\n",
"Found existing installation: dask 2022.6.0\n",
"Attempting uninstall: dask\n",
"Successfully built distributed\n",
"Stored in directory: /root/.cache/pip/wheels/e9/3d/b2/d5913938da3eb04e5b1cdad786d925f46fd6146a657991c26f\n",
"Installing collected packages: dask, distributed\n",
"Building wheel for distributed (setup.py): finished with status 'done'\n",
"Created wheel for distributed: filename=distributed-2022.5.2+29.gf05c94e4-py3-none-any.whl size=872481 sha256=96ff121844b8cb433641d0344295da06b7591f2ea0a15997ce7a51b59460b868\n",
"Building wheels for collected packages: distributed\n",
"Requirement already satisfied: MarkupSafe>=2.0 in /opt/conda/envs/coiled/lib/python3.10/site-packages (from jinja2->distributed==2022.5.2+29.gf05c94e4->-r requirements.txt (line 1)) (2.1.1)\n",
"Requirement already satisfied: heapdict in /opt/conda/envs/coiled/lib/python3.10/site-packages (from zict>=0.1.3->distributed==2022.5.2+29.gf05c94e4->-r requirements.txt (line 1)) (1.0.1)\n",
"Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in /opt/conda/envs/coiled/lib/python3.10/site-packages (from packaging>=20.0->distributed==2022.5.2+29.gf05c94e4->-r requirements.txt (line 1)) (3.0.9)\n",
"Requirement already satisfied: partd>=0.3.10 in /opt/conda/envs/coiled/lib/python3.10/site-packages (from dask==2022.05.2->distributed==2022.5.2+29.gf05c94e4->-r requirements.txt (line 1)) (1.2.0)\n",
"\n",
"Successfully uninstalled distributed-2022.6.0\n",
"Successfully installed dask-2022.5.2 distributed-2022.5.2+29.gf05c94e4\n",
"Uninstalling distributed-2022.6.0:\n",
"STEP 8: COMMIT 2fcc0d9c-cc4a-4b9c-8e3d-666f8249a0a0\n",
"--> 180d3160bad\n",
"180d3160bad8fff902a733dfee8b79f8bbe9033a84dd8b329e2a6b81dcc2d6bb\n",
"$ conda update -n base -c defaults conda\n",
"\n",
"\n",
"==> WARNING: A newer version of conda exists. <==\n",
"current version: 4.9.2\n",
"\n",
"latest version: 4.13.0\n",
"Please update conda by running\n",
"\n",
"\n",
"\n",
"Running command git clone --filter=blob:none --quiet https://github.com/gjoseph92/distributed.git /tmp/pip-req-build-nb_02m4b\n",
"Running command git rev-parse -q --verify 'sha^f05c94e4c986d7e23e27215ce646a12d6008c849'\n",
"Running command git fetch -q https://github.com/gjoseph92/distributed.git f05c94e4c986d7e23e27215ce646a12d6008c849\n",
"Running command git checkout -q f05c94e4c986d7e23e27215ce646a12d6008c849\n",
"WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv\n",
"\n",
"Docker build succeeded: 2fcc0d9c-cc4a-4b9c-8e3d-666f8249a0a0\n",
"Copying blob sha256:dfef8986f350d2efb7dd633410dceac30543be620085d9819f42db7067f55f64\n",
"Getting image source signatures\n",
"Copying blob sha256:265f294871bdf9731de0f471dccda8bf2e032c87c5f18b9f8580b8044c2f8306\n",
"Copying blob sha256:e8e5a737a307b843154b2a4c2e56a74ea0e26ebeb7a4fba98a48b86637ea06a7\n",
"Copying blob sha256:2ae2372aa56811c1cc89739a70f8e756282abb0f088d25de7c32f670063766a3\n",
"Copying blob sha256:bb53e1ee3144031d417fa375ecee08df1a87b6e37062d29aa28eca29232c7dc0\n",
"Copying blob sha256:95586cf65be51397fa66deda7dc39e71cde778b158d00667af113db52029d2bb\n",
"Copying blob sha256:0553ab4c463e8dd22931a5deb37e8014a18cde60d6be1337f4415de56649a947\n",
"Copying config sha256:180d3160bad8fff902a733dfee8b79f8bbe9033a84dd8b329e2a6b81dcc2d6bb\n",
"Writing manifest to image destination\n",
"Copying blob sha256:f5600c6330da7bb112776ba067a32a9c20842d6ecc8ee3289f1a713b644092f8\n",
"Storing signatures\n",
"Copying blob sha256:95586cf65be51397fa66deda7dc39e71cde778b158d00667af113db52029d2bb\n",
"Getting image source signatures\n",
"Copying blob sha256:265f294871bdf9731de0f471dccda8bf2e032c87c5f18b9f8580b8044c2f8306\n",
"Copying blob sha256:dfef8986f350d2efb7dd633410dceac30543be620085d9819f42db7067f55f64\n",
"Copying blob sha256:0553ab4c463e8dd22931a5deb37e8014a18cde60d6be1337f4415de56649a947\n",
"Copying blob sha256:f5600c6330da7bb112776ba067a32a9c20842d6ecc8ee3289f1a713b644092f8\n",
"Copying blob sha256:2ae2372aa56811c1cc89739a70f8e756282abb0f088d25de7c32f670063766a3\n",
"Copying blob sha256:bb53e1ee3144031d417fa375ecee08df1a87b6e37062d29aa28eca29232c7dc0\n",
"Copying blob sha256:e8e5a737a307b843154b2a4c2e56a74ea0e26ebeb7a4fba98a48b86637ea06a7\n",
"Copying config sha256:180d3160bad8fff902a733dfee8b79f8bbe9033a84dd8b329e2a6b81dcc2d6bb\n",
"Writing manifest to image destination\n",
"Storing signatures\n",
"Environment created\n",
"Successfully saved software environment build\n"
]
}
],
"source": [
"import coiled\n",
"coiled.create_software_environment(\n",
" name=\"root_overproduction_test_random_dask_only\",\n",
" conda=\"root_overproduction_test_random_dask_only.yml\",\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "5573bfd9-de4e-4968-9cb9-5d54e07e200b",
"metadata": {},
"outputs": [],
"source": [
"from coiled.v2 import Cluster"
]
},
{
"cell_type": "markdown",
"id": "d665570b-66db-4f0a-971f-71926dd3e505",
"metadata": {},
"source": [
"### Install packages locally"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "db3b4f42-cbeb-445d-83c6-041f976ada52",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Collecting git+https://github.com/dask/distributed.git@refs/pull/6468/head\n",
" Cloning https://github.com/dask/distributed.git (to revision refs/pull/6468/head) to /tmp/pip-req-build-j9ywho7d\n",
" Running command git clone --filter=blob:none --quiet https://github.com/dask/distributed.git /tmp/pip-req-build-j9ywho7d\n",
"\u001b[33m WARNING: Did not find branch or tag 'refs/pull/6468/head', assuming revision or ref.\u001b[0m\u001b[33m\n",
"\u001b[0m Running command git fetch -q https://github.com/dask/distributed.git refs/pull/6468/head\n",
" Running command git checkout -q f05c94e4c986d7e23e27215ce646a12d6008c849\n",
" Resolved https://github.com/dask/distributed.git to commit f05c94e4c986d7e23e27215ce646a12d6008c849\n",
" Preparing metadata (setup.py) ... \u001b[?25ldone\n",
"\u001b[?25h"
]
}
],
"source": [
"# Let's try out Gabe's adjustment to the distributed scheduler\n",
"!pip install git+https://github.com/dask/distributed.git@refs/pull/6468/head --no-dependencies"
]
},
{
"cell_type": "markdown",
"id": "586864b1-90f2-42bf-80fc-9ee7155ddd63",
"metadata": {},
"source": [
"### Create coiled cluster"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "8fd8bbf8-000c-4051-91a0-60d380e89e90",
"metadata": {},
"outputs": [],
"source": [
"import dask"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "a40bb452-16cf-45ba-b36a-9af4d775a523",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "ea33a302d51046719885dde971ecbef2",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"></pre>\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:root:error sending AWS credentials to cluster: Connect timeout on endpoint URL: \"http://169.254.169.254/latest/api/token\"\n"
]
}
],
"source": [
"NTHREADS = 1\n",
"\n",
"cluster = coiled.Cluster(\n",
" name=\"root_overproduction_test_cmip6\", \n",
" software='root_overproduction_test_cmip6',\n",
" n_workers=20,\n",
" worker_options=dict(resources={\"ROOT\": NTHREADS}),\n",
" worker_vm_types=['r5.2xlarge'],\n",
" scheduler_memory=\"8 GiB\",\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "2d92ae00-0271-4fbe-8d8d-ee0676917056",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Dashboard: http://3.239.24.25:8787\n"
]
}
],
"source": [
"from dask.distributed import Client\n",
"client = Client(cluster)\n",
"print('Dashboard:', client.dashboard_link)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "d6869c2d-6d50-49ee-8b65-c1f4bb85562a",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
" <div style=\"width: 24px; height: 24px; background-color: #e1e1e1; border: 3px solid #9D9D9D; border-radius: 5px; position: absolute;\"> </div>\n",
" <div style=\"margin-left: 48px;\">\n",
" <h3 style=\"margin-bottom: 0px;\">Client</h3>\n",
" <p style=\"color: #9D9D9D; margin-bottom: 0px;\">Client-fe31e210-eb52-11ec-ade0-f85ea04b3007</p>\n",
" <table style=\"width: 100%; text-align: left;\">\n",
"\n",
" <tr>\n",
" \n",
" <td style=\"text-align: left;\"><strong>Connection method:</strong> Cluster object</td>\n",
" <td style=\"text-align: left;\"><strong>Cluster type:</strong> coiled.ClusterBeta</td>\n",
" \n",
" </tr>\n",
"\n",
" \n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Dashboard: </strong> <a href=\"http://3.239.24.25:8787\" target=\"_blank\">http://3.239.24.25:8787</a>\n",
" </td>\n",
" <td style=\"text-align: left;\"></td>\n",
" </tr>\n",
" \n",
"\n",
" </table>\n",
"\n",
" \n",
" <details>\n",
" <summary style=\"margin-bottom: 20px;\"><h3 style=\"display: inline;\">Cluster Info</h3></summary>\n",
" <div class=\"jp-RenderedHTMLCommon jp-RenderedHTML jp-mod-trusted jp-OutputArea-output\">\n",
" <div style=\"width: 24px; height: 24px; background-color: #e1e1e1; border: 3px solid #9D9D9D; border-radius: 5px; position: absolute;\">\n",
" </div>\n",
" <div style=\"margin-left: 48px;\">\n",
" <h3 style=\"margin-bottom: 0px; margin-top: 0px;\">ClusterBeta</h3>\n",
" <p style=\"color: #9D9D9D; margin-bottom: 0px;\">root_overproduction_test_cmip6</p>\n",
" <table style=\"width: 100%; text-align: left;\">\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Dashboard:</strong> <a href=\"http://3.239.24.25:8787\" target=\"_blank\">http://3.239.24.25:8787</a>\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Workers:</strong> 2\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Total threads:</strong> 16\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Total memory:</strong> 124.05 GiB\n",
" </td>\n",
" </tr>\n",
" \n",
" </table>\n",
"\n",
" <details>\n",
" <summary style=\"margin-bottom: 20px;\">\n",
" <h3 style=\"display: inline;\">Scheduler Info</h3>\n",
" </summary>\n",
"\n",
" <div style=\"\">\n",
" <div>\n",
" <div style=\"width: 24px; height: 24px; background-color: #FFF7E5; border: 3px solid #FF6132; border-radius: 5px; position: absolute;\"> </div>\n",
" <div style=\"margin-left: 48px;\">\n",
" <h3 style=\"margin-bottom: 0px;\">Scheduler</h3>\n",
" <p style=\"color: #9D9D9D; margin-bottom: 0px;\">Scheduler-d6e8285f-6684-4739-9f9a-e114ca72d199</p>\n",
" <table style=\"width: 100%; text-align: left;\">\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Comm:</strong> tls://10.4.3.178:8786\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Workers:</strong> 2\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Dashboard:</strong> <a href=\"http://10.4.3.178:8787/status\" target=\"_blank\">http://10.4.3.178:8787/status</a>\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Total threads:</strong> 16\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Started:</strong> Just now\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Total memory:</strong> 124.05 GiB\n",
" </td>\n",
" </tr>\n",
" </table>\n",
" </div>\n",
" </div>\n",
"\n",
" <details style=\"margin-left: 48px;\">\n",
" <summary style=\"margin-bottom: 20px;\">\n",
" <h3 style=\"display: inline;\">Workers</h3>\n",
" </summary>\n",
"\n",
" \n",
" <div style=\"margin-bottom: 20px;\">\n",
" <div style=\"width: 24px; height: 24px; background-color: #DBF5FF; border: 3px solid #4CC9FF; border-radius: 5px; position: absolute;\"> </div>\n",
" <div style=\"margin-left: 48px;\">\n",
" <details>\n",
" <summary>\n",
" <h4 style=\"margin-bottom: 0px; display: inline;\">Worker: root_overproduction_test_cmip6-worker-00b6332026</h4>\n",
" </summary>\n",
" <table style=\"width: 100%; text-align: left;\">\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Comm: </strong> tls://10.4.7.2:43463\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Total threads: </strong> 8\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Dashboard: </strong> <a href=\"http://10.4.7.2:38289/status\" target=\"_blank\">http://10.4.7.2:38289/status</a>\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Memory: </strong> 62.03 GiB\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Nanny: </strong> tls://10.4.7.2:44569\n",
" </td>\n",
" <td style=\"text-align: left;\"></td>\n",
" </tr>\n",
" <tr>\n",
" <td colspan=\"2\" style=\"text-align: left;\">\n",
" <strong>Local directory: </strong> /scratch/dask-worker-space/worker-3o3ybwyu\n",
" </td>\n",
" </tr>\n",
"\n",
" \n",
"\n",
" \n",
"\n",
" </table>\n",
" </details>\n",
" </div>\n",
" </div>\n",
" \n",
" <div style=\"margin-bottom: 20px;\">\n",
" <div style=\"width: 24px; height: 24px; background-color: #DBF5FF; border: 3px solid #4CC9FF; border-radius: 5px; position: absolute;\"> </div>\n",
" <div style=\"margin-left: 48px;\">\n",
" <details>\n",
" <summary>\n",
" <h4 style=\"margin-bottom: 0px; display: inline;\">Worker: root_overproduction_test_cmip6-worker-71d63e01eb</h4>\n",
" </summary>\n",
" <table style=\"width: 100%; text-align: left;\">\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Comm: </strong> tls://10.4.13.220:36969\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Total threads: </strong> 8\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Dashboard: </strong> <a href=\"http://10.4.13.220:43839/status\" target=\"_blank\">http://10.4.13.220:43839/status</a>\n",
" </td>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Memory: </strong> 62.03 GiB\n",
" </td>\n",
" </tr>\n",
" <tr>\n",
" <td style=\"text-align: left;\">\n",
" <strong>Nanny: </strong> tls://10.4.13.220:43821\n",
" </td>\n",
" <td style=\"text-align: left;\"></td>\n",
" </tr>\n",
" <tr>\n",
" <td colspan=\"2\" style=\"text-align: left;\">\n",
" <strong>Local directory: </strong> /scratch/dask-worker-space/worker-7r7adz1m\n",
" </td>\n",
" </tr>\n",
"\n",
" \n",
"\n",
" \n",
"\n",
" </table>\n",
" </details>\n",
" </div>\n",
" </div>\n",
" \n",
"\n",
" </details>\n",
"</div>\n",
"\n",
" </details>\n",
" </div>\n",
"</div>\n",
" </details>\n",
" \n",
"\n",
" </div>\n",
"</div>"
],
"text/plain": [
"<Client: 'tls://10.4.3.178:8786' processes=2 threads=16, memory=124.05 GiB>"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"client"
]
},
{
"cell_type": "markdown",
"id": "8306990a-6ef7-41f3-8d1b-2ac724e94aef",
"metadata": {},
"source": [
"### Create fake data"
]
},
{
"cell_type": "markdown",
"id": "9060dc90-ced6-4ca1-aec6-79789052dd6c",
"metadata": {},
"source": [
"Create data corresponding to two data variables from an `(x, y, time)` dataset, chunked only in time."
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "8d507939-1ed6-452c-83cb-afe34ab867b0",
"metadata": {},
"outputs": [],
"source": [
"import dask.array as dsa"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "d2517bac-a9d7-43fc-b649-13cd4b6c9bb7",
"metadata": {},
"outputs": [],
"source": [
"with dask.annotate(resources={\"ROOT\": 1}):\n",
" u = dsa.random.random((5000, 5000, 6000), chunks=(5000, 5000, 1))\n",
"\n",
"with dask.annotate(resources={\"ROOT\": 1}):\n",
" v = dsa.random.random((5000, 5000, 6000), chunks=(5000, 5000, 1))"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "df62009a-9e4f-491d-80ab-4f49fb4ab268",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Each data variable is 1.2 TB in size\n"
]
}
],
"source": [
"print(f\"Each data variable is {u.nbytes / 1e12} TB in size\")"
]
},
{
"cell_type": "markdown",
"id": "9fb6e2c3-dd74-411e-8a9f-3b6ff69140a3",
"metadata": {},
"source": [
"These root tasks represent the lazy nature of `xr.open_dataset`."
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "e3282fd8-630d-43ff-a7ef-ab04fd948376",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAU0AAAINCAIAAAA1IrpiAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nO3deVwTd94H8F9Cwn0TUapyqBwrd0HlkkNEoR4oSmy1drePR7t2q622z/p093lBtXZd66psu9az1gOtAUHBQgCRK1zKGY7KoeBVlMOAHELO54/Z5UkBIQmTTDJ833/0VSaT33wCfvKbTJIZikQiQQAAUqMSHQAAoHTQcwDID3oOAPnRiA4AUF9fX1paGtEplGXZsmWmpqZEp5jqKHAcjnCNjY2Ojo5Ep1CWyspKDw8PolNMdbDfri4qKysl5NLQ0ED0LxX8G/QcAPKDngNAftBzAMgPeg4A+UHPASA/6DkA5Ac9B4D8oOcAkB/0HADyg54DQH7QcwDID3oOAPlBzwEgP+i5hhEIBA4ODu+99570Qg6HExYWZmJiYmRkFBQUlJmZqdjg44/D4XAoFEpGRobi6QFRiP7yIvj39zdl/F5qXFwcjUZramoaXsJms7W0tKT/phQKhcViyRtDlnHCwsJcXV1FIpEsA8r1uIBSQc+JJ3sfhoaGLC0t169fL73ExsYGIbR79+6Ojg4ej7d//36EEIPB6O3tlT2DjONgk/lPP/2E7+MCygY9J57sfbhy5QpCKCUlZXjJzz//jBAKDAyUXi0qKgohdOnSJdkzyDiOUCi0srIKDg6WZUzoufqA1+ea5MKFC3p6euHh4cNL8vPzEUKbNm2SXu3dd99FCOXl5ck+sozjaGlpRUZG5ubmPnr0SJEHAAgCPdcYQqGwoKDgzTffpNPpwwubm5sRQi4uLtJrurm5Dd8kI9nH8fHxQQjdvn1b3vyAQNBzjVFfX9/X1+fu7i698OXLlwghc3Nz6YXYjz09PbIPLvs42Ekdi4uL5QoPiAU91xhtbW0IIQaDIb1QMtbpesdcOD7Zx5k2bdpwGKApoOcao7u7GyFkZGQkvdDExAQh9OLFC+mFPB5v+CYZyT6OsbHxcBigKaDnGgO72gG2gz1s3rx5CKHa2lrphVwud/gmGck+DrYbb2ZmJk92QDDoucawsrJCCHV2dkovDAwMRAjFx8dLL7x06dLwTTKSfRwsABYGaAxi39YDEpnfZxYIBIaGhr6+vtILh4aGrK2t0X8+39Ld3a3w52RkHOfHH39ECJ07dw6vxwVUAHpOPNn7EB4erqurOzg4KL0wPT199OdVr169Kr2Ov7//hJuQZRyJRPLhhx8ihFpbW3F8XEDZYL9dk2zevHlwcHDERRfDw8Nzc3NDQ0ONjIwMDAwWL17MZrOZTKb0OmKxGCFEo4132UxZxhGJRDdu3AgMDMQ+JAs0BtFPNEC+z7dPmzZt7dq1co0vEolMTU2dnZ3FYrGiGf8N+3z7lStXZFkZ5nP1AfO5JtHW1v7LX/6SkpLS1NQk+71qa2u7u7v37t1LoVAmGeDw4cMuLi7R0dGTHAeoGPRcw+zYsWPOnDn79u2T/S4cDsfGxubtt9+e5KYLCwuzsrIOHz484mU8UH/jvWADaohOpzc2Nsp1lx07duzYsWPym/b395fI/0k7oA5gPgeA/KDnAJAf9BwA8oOeA0B+0HMAyA96DgD5Qc8BID/oOQDkBz0HgPyg5wCQH/QcAPKDngNAftBzAMgPej7lPH36lOgIQNXge6nqIisrS94vnCrm66+//p//+Z/Jn3NiQnAtB/VBgW8UE66xsdHR0ZHoFMpSWVmJXaoJEAj224nn4OCgsvOE7dmzByG0Y8cOlW0RSq4OYD6fQsRi8RtvvPH8+XNTU9OOjo7xT/8KyATm8ykkPz//+fPnCKHu7u6srCyi4wDVgZ5PIVeuXNHW1kYI0en0y5cvEx0HqA7st08VAoGAwWAMX4ZRT0+vs7NTX1+f2FRANWA+nyoyMjKkr7U6ODj4888/E5gHqBL0fKqIj4+n0+nDP2ppaWGXQwVTAey3TwkDAwMWFhaDg4PSC2k02vPnz83NzYlKBVQG5vMp4caNG0NDQyMWSiSS69evE5IHqBj0fEq4dOkSlTryby2RSC5evEhIHqBisN9Ofjwez9LSUigUjr6JQqE8efLkjTfeUH0qoEown5NfQkICdv3z0bS0tBISElScB6ge9Jz8Ll++LJFIdP6DTqcP/79YLIaj7lMBfMKZ5EQi0YoVKyIiIrAfOzs7Dx8+vHPnzuF9dQqFwufzsc/JAbKC1+dTC/YdWPiu6FQD++0AkB/0HADyg54DQH7QcwDID3oOAPlBzwEgP+g5AOQHPQeA/KDnAJAf9BwA8oOeA0B+0HMAyA96DgD5Qc8BID/oOQDkBz0HgPyg5wCQH/QcAPKDngNAftBzAMgPeg4A+UHPASA/6DkA5Ac9B4D8oOcAkB/0HADyg54DQH7QcwDID3oOAPlBzwEgP+g5AORHIzoAQH19fWlpaarZ1vPnzw0MDG7dutXY2KiaLS5btszU1FQ12wKvQ5FIJERnmOoaGxsdHR2JTqEslZWVHh4eRKeY6mC/XV1UVlZKyKWhoYHoXyr4N+g5AOQHPQeA/KDnAJAf9BwA8oOeA0B+0HMAyA96DgD5Qc8BID/oOQDkBz0HgPyg5wCQH/QcAPKDngNAftBzDSMQCBwcHN577z3phRwOJywszMTExMjIKCgoKDMzU7HBxx+Hw+FQKJSMjAzF0wOiEP3lRfDv72/K+L3UuLg4Go3W1NQ0vITNZmtpaUn/TSkUCovFkjeGLOOEhYW5urqKRCJZBpTrcQGlgp4TT/Y+DA0NWVparl+/XnqJjY0NQmj37t0dHR08Hm///v0IIQaD0dvbK3sGGcfBJvOffvoJ38cFlA16TjzZ+3DlyhWEUEpKyvCSn3/+GSEUGBgovVpUVBRC6NKlS7JnkHEcoVBoZWUVHBwsy5jQc/UBr881yYULF/T09MLDw4eX5OfnI4Q2bdokvdq7776LEMrLy5N9ZBnH0dLSioyMzM3NffTokSIPABAEeq4xhEJhQUHBm2++SafThxc2NzcjhFxcXKTXdHNzG75JRrKP4+PjgxC6ffu2vPkBgaDnGqO+vr6vr8/d3V164cuXLxFC5ubm0guxH3t6emQfXPZxsJM6FhcXyxUeEAt6rjHa2toQQgwGQ3qhZKzT9Y65cHyyjzNt2rThMEBTQM81Rnd3N0LIyMhIeqGJiQlC6MWLF9ILeTze8E0ykn0cY2Pj4TBAU0DPNQZ2tQNsB3vYvHnzEEK1tbXSC7lc7vBNMpJ9HGw33szMTJ7sgGDQc41hZWWFEOrs7JReGBgYiBCKj4+XXnjp0qXhm2Qk+zhYACwM0BjEvq0HJDK/zywQCAwNDX19faUXDg0NWVtbo/98vqW7u1vhz8nIOM6PP/6IEDp37hxejwuoAPSceLL3ITw8XFdXd3BwUHphenr66M+rXr16VXodf3//CTchyzgSieTDDz9ECLW2tuL4uICywX67Jtm8efPg4OCIiy6Gh4fn5uaGhoYaGRkZGBgsXryYzWYzmUzpdcRiMUKIRhvvspmyjCMSiW7cuBEYGIh9SBZoDKKfaIB8n2+fNm3a2rVr5RpfJBKZmpo6OzuLxWJFM/4b9vn2K1euyLIyzOfqA+ZzTaKtrf2Xv/wlJSWlqalJ9nvV1tZ2d3fv3buXQqFMMsDhw4ddXFyio6MnOQ5QMei5htmxY8ecOXP27dsn+104HI6Njc3bb789yU0XFhZmZWUdPnx4xMt4oP7Ge8EG1BCdTm9sbJTrLjt27NixY8fkN+3v7y+R/5N2QB3AfA4A+UHPASA/6DkA5Ac9B4D8oOcAkB/0HADyg54DQH7QcwDID3oOAPlBzwEgP+g5AOQHPQeA/KDnAJAf9HzK6erqIjoCUDX4Xqq6yMrKkvcLp4r5xz/+sXv37smfc2JCcC0H9UGBbxQTrrGx0dHRkegUylJZWYldqgkQCPbbiefg4KCy84T95S9/QQjt3r1bZVuEkqsDmM+nEIlEYmtr++jRI0tLy7a2NioVnuWnCvhLTyGlpaXYdcvb29vlujo60HTQ8ynkypUr2traCCE6nX758mWi4wDVgf32qUIsFk+fPn348mxGRkYdHR06OjrEpgKqAfP5VJGdnS19Dca+vj7sogtgKoCeTxWXL1/GdtoxWlpaI66OCkgM9tunhKGhIQaD0dfXJ71QR0ens7PT0NCQqFRAZWA+nxLS0tL6+/tHLBQIBCkpKYTkASoGPZ8S4uPjR18slUKhXLx4kZA8QMVgv538ent7GQwGn88ffZOWltbz588tLCxUnwqoEszn5JecnCwUCl93a2JioirDAEJAz8nv8uXLEolEZywSieTSpUtEBwRKB99LJTmxWOzt7T38ZZLu7u7z589v3Lhx2rRp2BIqlSoQCOh0OnEZgdLB6/OpBfsOLHxXdKqB/XYAyA96DgD5Qc8BID/oOQDkBz0HgPyg5wCQH/QcAPKDngNAftBzAMgPeg4A+UHPASA/6DkA5Ac9B4D8oOcAkB/0HADyg54DQH7QcwDID3oOAPlBzwEgP+g5AOQHPQeA/KDnAJAf9BwA8oOeA0B+0HMAyA96DgD5Qc8BID/oOQDkBz0HgPyg5wCQH/QcAPKjER0AKNfAwMDQ0BBCqLu7WyKRtLS0IIRaW1uNjY0pFIqpqSlCSEdHR19fn+CgQJkoEomE6AxAEQMDAy0tLa2trW1tbR0dHV1jkeuPS6FQLMbCYDCsrKzs7OxsbW0NDAyU9oCAEkHPNUBHRweXy21sbGyV0t7ejt1qbGzMYDAYDMZwLYcrSqFQDAwMtLW1EUKmpqYUCoVGoxkZGfX29gqFQolE0t3djRDi8/n9/f0SiWT0M0VnZ2dHR8fLly+xbU2bNs32P+zs7Ozt7d3c3CwtLYn6zQAZQc/VjlAobGhoqK+vr6urKy8vr6+vf/DgAUJIV1f3jTfemPNb8+bNMzExUXakoaGhp0+fPvitX3/9ta2tDSFkZmY2f/58Ly8vZ2dn7H/09PSUHQnIBXquFp48ecLhcIqKigoLC2tqagQCgba2trOzs6urq6urq7u7u6ur64wZM4iOOdLz589ramqqq6trampqamrq6uqGhoZoNJqLi4u/v7+fn19AQIC1tTXRMQH0nCBisbi6urqwsLCoqIjD4Tx+/JhGo3l6evr5+S1atMjNzc3R0ZFG07CjpEKhsLGxsaamprS0tKioqKKiQiAQzJo1C+u8v7+/h4eHlpYW0TGnIui5SnV2dubk5Ny6dSs1NbWtrc3IyGjRokX+/v5eXl6BgYEq2ANXJYFAwOVyORxOYWFhTk5OZ2enubl5aGjo0qVLV6xYMXPmTKIDTiHQc6UTiUSlpaXp6elsNruiooJOpwcEBISHhy9fvtzZ2ZlKnRIfYZBIJPX19RkZGWw2Oz8/n8/ne3p6hoeHR0RE+Pj4aNyei8aBniuLSCS6ffs2i8VKTk7u6uqytbXF/lkvWbLE0NCQ6HRE6u/vz8nJwZ74Hjx4YGZmtmbNmg0bNoSGhkLhlQR6jjORSJSfn89isa5du9bR0eHl5cVkMlevXu3k5ER0NHXU2NiYkpKSkJBw584dCwuLqKioDRs2BAcHw8t4fEHPcVNaWnrp0qXExMRnz555eHgwmUwmkzl37lyic2mGlpYWFovFYrEqKiosLS3Xr1+/adMmPz8/onORBPR8sng83qVLl06fPl1TU+Ps7LxhwwYmk+no6Eh0Lk3V1NTEYrGuXr2K/T63bdu2efNmc3NzonNpOAlQVFlZ2fbt2w0MDHR1daOjo7OysohORCplZWU7d+40NzfX0dHBfr1isZjoUJoKei63np6eI0eOYDO2t7f3yZMnX758SXQo0urt7T1z5syiRYsQQvb29t988w32hRwgF9hvl8Pjx4//+c9/njp1SiKRbN68eevWrZ6enkSHmipqampOnz59/vx5iUSydevWXbt22djYEB1KcxD8PKMhKisrN2/eTKfTZ8yYERMTg30VDKjey5cvjx07Zm1tTaVSV65cWVRURHQizQA9n0BaWtqSJUsQQu7u7ufPnx8aGiI6EZDw+fz4+Pg333wTIRQUFJSamgov3cc3JT6MpZjMzEwfH58VK1bQ6fTMzMyqqqr33nsP+44nIBadTt+4cWN5eXl2draBgcHq1asXLlyYnp5OdC71BT0fQ2FhYWho6PLly42MjEpLS9lsdlhYGNGhwBiWLFny888/c7lcOzu7FStW+Pr6pqamEh1KHUHPf6OkpGTVqlUBAQFDQ0M5OTlZWVkLFiwgOhSYgIuLC4vFKi4uZjAYq1evDggIyMnJITqUeoGe/9u9e/dWrVrl6+vb09OTk5PD4XCCg4OJDgXksGjRotTU1Pz8fDqdvmTJkoiIiLq6OqJDqQvoOeLxeJ988ombm9uTJ08yMjLy8/Oh4Zpr8eLF2Dd/Ozo6PDw8Pv74466uLqJDqQGiDwQSSSQSnT9/3tLS0sLC4tixY9gp0wA5iMXi8+fPz5gxw8zM7ODBg1P8jZKp2/Ps7Gw3Nzc6nb5z5074iBVZ9fX1xcTE6OrqOjg43Lx5k+g4hJmKPX/69OnatWsRQqtXr25sbCQ6DlC65ubmNWvWIIQiIyMfP35MdBwCTK3X5xKJ5NSpU/Pnz+dyuRkZGTdu3LC3tyc6FFC6uXPnJicnZ2Vl1dfXOzs7f//992KxmOhQqkX0E43qNDc3Y2cs2blzZ29vL9FxAAFevXoVExOjra3t5+dXV1dHdBzVmRLzuVAojIuLc3d37+joKCwsjIuLm+JnbpqydHV1Y2Nj7969KxQKPTw89u7di12UivyIfqJROi6X6+Hhoaen97e//U0gEBAdB6gFgUDwzTff6Ovru7q6VlRUEB1H6cg8n0skkri4uIULFxoYGFRXV+/duxdOMwgwNBrts88+q6mpsbCw8PHxOXz4MMlfsRP9RKMsz58/X7FiBY1Gi4mJgTfGweuIxeJjx45pa2svWbKExIfiyTmfZ2RkuLu719XV5ebmxsbGwslDwetQKJRdu3YVFRU9ffrUxcXlypUrRCdSCrL1fGBg4MMPP8TOlF5TU+Pv7090IqABvLy8ysvLmUzmxo0bt27d2tfXR3QinJHqvFHNzc1RUVGPHj06fvz4xo0biY4DNM/169e3bdtmYWFx7do1Z2dnouPghjzzeVpa2sKFC2k0WmVlJZQcKGbNmjVVVVVmZma+vr6JiYlEx8ENGXoukUj+/ve/r1q1asWKFRwOx87OjuhEQIPNnDkzNzf3/fffZzKZu3btEgqFRCfCA9EHAierp6dnzZo1Ojo6x44dIzoLIJULFy7o6+sHBQU9e/aM6CyTpdmvz6urq6Oiovh8fkJCgo+PD9FxANmUlZWtX78eIZSUlISddlJDafB+e3p6+uLFi2fPnl1eXg4lB8rg7e1dVlZmb28fGBiYkpJCdBzFaWrPz549GxkZGRUVlZmZaWlpSXQcQFoMBoPNZr/33ntRUVH//Oc/iY6jKKJfOMhNLBbHxMRQKJSYmBg4azdQmWPHjlGp1J07d4pEIqKzyE3Dej44OPjOO+9oa2tfuHCB6CxgyklISNDT01uzZk1/fz/RWeSjScfhOjs7IyMjf/nll6SkJDhVIyAEh8NZs2bNvHnzUlJSNOgFo8b0vK2tLSwsrL+/Py0t7Xe/+x3RccDU1djY+NZbb9FotFu3bs2aNYvoODLRjONwjx49CgoKEgqFBQUFUHJALAcHh8LCQh0dnYCAgObmZqLjyEQDet7S0hIcHEyn03NycjTl6ROQ2/Tp03Nzc2fMmLF48eLa2lqi40xM3Xv+yy+/BAQEmJub5+fnW1lZER0HgH8zMzPLyMiYO3duUFDQ3bt3iY4zAbXueUVFRWBg4Ny5c2/fvm1hYUF0HAB+w8TEJDMz08vLa9myZUVFRUTHGY/69ry8vHzJkiVvvvkmm802NjYmOg4AY9DX109JSQkICAgPDy8pKSE6zmup6fH22tra4OBgLy+vlJQUHR0douMAMB6BQBAVFcXhcHJycjw8PIiOMwZ17Hlzc3NgYKCdnV1GRgacgBloBD6fHxkZWV5enpubO3/+fKLjjKR2PX/8+HFgYKCZmdnt27dNTU2JjgOArAYGBiIiIu7fv5+fnz9nzhyi4/yGevW8vb09KCgIewsNDrwBjfPy5cvQ0ND29vb8/HwbGxui4/w/Nep5Z2dncHCwSCTKy8vToE8UAiCts7MzJCREIBDk5+erzz9jdTnePjg4GBkZ2d/ff+vWLfX57QAgLwaDkZmZKRKJVq1aNTAwQHScf1OLnkskkq1bt9bW1qamps6cOZPoOABMipWVVUZGRktLy4YNG0QiEdFxEFKTnu/du5fFYiUlJbm4uBCdBQAczJkzJykp6datW59//jnRWRBCanCeidOnT1MolPPnzxMdBACcsVgsKpUaFxdHdBCizzORnp5Oo9G+/PJLYmMAoCRff/01lUpNTk4mNgaRx9urq6sXL14cFRV17tw5CoVCVAwAlGrbtm1XrlzJy8vz8vIiKgNhPefxeN7e3rNnz87MzNTW1iYkAwAqIBAI3nrrraamprKyMgaDQUgGYnouFotXrVpVWVlZXl4O3zYFpPfixQtvb287O7vMzExCrt5LzPH22NjYrKyshIQEKDmYCszNzZOSkoqLi//6178Sk0D1hwRSU1OpVOrJkydVv2kACHThwgUKhZKQkKD6Tat6v725uXnBggWrVq26cOGCKrcLgDr44IMPLl++XFpaquLvtKm05wMDAz4+Ptra2hwOR1dXV2XbBUBNDA0NBQUF9fb2lpaWqvI71yp9fb579+6nT59eu3YNSg6mJh0dnYSEhPb29l27dqlyu6rreXp6+qlTp44fP65W39cDQMVmz5595syZH3744erVqyrbqIr229vb293c3FasWHH27FkVbA4ANffBBx+wWKzq6mpra2sVbE4VPZdIJCtXrrx3715VVZWRkZGyNweA+hsYGPDy8rK0tLx9+7YK3lFXxX57XFxcZmZmfHw8lBwAjL6+fnx8fElJyZEjR1SxPWW/cVdbW6unp7dv3z5lbwgAjfO3v/2NTqffuXNH2RtS7n67QCBYuHChoaFhbm4uIR/3A0CdicXipUuXtre3V1RUKPVbHsrdb//mm29++eWX06dPQ8kBGI1KpZ47d+7hw4cHDx5U7oaUN3RTU9NXX30VGxvr5OSkvK0AoNFsbGxiY2MPHDhQX1+vvK0oa79dIpGEhYV1dHSUlZXR6XRlbAIAchCLxQEBARKJpLCwkEpVytSrrPn81KlTubm5P/zwA5QcgPFRqdQTJ06Ul5efOHFCSZtQynze1tbm7Oy8devWQ4cO4T44AKT0xRdffPfdd3V1dbNnz8Z9cKX0PCoqisvlcrlcfX193AcHgJQGBwfd3d0dHR1TUlJwHxz//fasrKzk5OTjx49DyQGQna6u7vfff5+ampqeno774DjP5yKRyNPTc86cOdevX8dxWACmiHXr1tXX13O5XHwPbOE8n584caKhoQFelgOgmMOHD7e2th4/fhzfYfGcz3k8noODw/vvvw89B0BhX3zxxYkTJxobG3E8OSyePd+1a9dPP/3U2NhoYmKC15gA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\n",
"text/plain": [
"<IPython.core.display.Image object>"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"u[..., 0].visualize(optimize_graph=True)"
]
},
{
"cell_type": "markdown",
"id": "c58501cd-bd7f-4a20-abed-c9b548b8860c",
"metadata": {},
"source": [
"### Define computation"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "06f1321a-ccaf-4ef3-bb8a-277ccc5ffab8",
"metadata": {},
"outputs": [],
"source": [
"def pad_rechunk(arr):\n",
" \"\"\"\n",
" Pad a single element onto the end of arr, then merge the 1-element long chunk created back in.\n",
" \n",
" This operation complicates each chain of the graph enough so that the scheduler no longer recognises the overall computation as blockwise,\n",
" but doesn't actually change the overall topology of the graph, or the number of chunks along any dimension of the array. \n",
" \n",
" This is motivated by the padding operation we do in xGCM, see\n",
" \n",
" https://xgcm.readthedocs.io/en/latest/grid_ufuncs.html#automatically-applying-boundary-conditions\n",
" https://github.com/xgcm/xgcm/blob/fe860f96bbaa7293142254f48663d71fb97a4f36/xgcm/grid_ufunc.py#L871\n",
" \"\"\"\n",
" \n",
" padded = dsa.pad(arr, pad_width=[(0, 1), (0, 0), (0, 0)], mode=\"wrap\")\n",
" old_chunks = padded.chunks\n",
" new_chunks = list(old_chunks)\n",
" new_chunks[0] = 5001\n",
" rechunked = dsa.rechunk(padded, chunks=new_chunks)\n",
" return rechunked"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "0c827fb5-235b-4b72-852a-d033e13e8868",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <td>\n",
" <table>\n",
" <thead>\n",
" <tr>\n",
" <td> </td>\n",
" <th> Array </th>\n",
" <th> Chunk </th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" \n",
" <tr>\n",
" <th> Bytes </th>\n",
" <td> 1.09 TiB </td>\n",
" <td> 190.77 MiB </td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th> Shape </th>\n",
" <td> (5001, 5000, 6000) </td>\n",
" <td> (5001, 5000, 1) </td>\n",
" </tr>\n",
" <tr>\n",
" <th> Count </th>\n",
" <td> 30000 Tasks </td>\n",
" <td> 6000 Chunks </td>\n",
" </tr>\n",
" <tr>\n",
" <th> Type </th>\n",
" <td> float64 </td>\n",
" <td> numpy.ndarray </td>\n",
" </tr>\n",
" </tbody>\n",
" </table>\n",
" </td>\n",
" <td>\n",
" <svg width=\"238\" height=\"208\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n",
"\n",
" <!-- Horizontal lines -->\n",
" <line x1=\"10\" y1=\"0\" x2=\"68\" y2=\"58\" style=\"stroke-width:2\" />\n",
" <line x1=\"10\" y1=\"100\" x2=\"68\" y2=\"158\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Vertical lines -->\n",
" <line x1=\"10\" y1=\"0\" x2=\"10\" y2=\"100\" style=\"stroke-width:2\" />\n",
" <line x1=\"68\" y1=\"58\" x2=\"68\" y2=\"158\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Colored Rectangle -->\n",
" <polygon points=\"10.0,0.0 68.83529411764707,58.83529411764707 68.83529411764707,158.83529411764707 10.0,100.0\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n",
"\n",
" <!-- Horizontal lines -->\n",
" <line x1=\"10\" y1=\"0\" x2=\"130\" y2=\"0\" style=\"stroke-width:2\" />\n",
" <line x1=\"68\" y1=\"58\" x2=\"188\" y2=\"58\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Vertical lines -->\n",
" <line x1=\"10\" y1=\"0\" x2=\"68\" y2=\"58\" style=\"stroke-width:2\" />\n",
" <line x1=\"16\" y1=\"0\" x2=\"75\" y2=\"58\" />\n",
" <line x1=\"22\" y1=\"0\" x2=\"81\" y2=\"58\" />\n",
" <line x1=\"28\" y1=\"0\" x2=\"87\" y2=\"58\" />\n",
" <line x1=\"35\" y1=\"0\" x2=\"94\" y2=\"58\" />\n",
" <line x1=\"41\" y1=\"0\" x2=\"100\" y2=\"58\" />\n",
" <line x1=\"47\" y1=\"0\" x2=\"106\" y2=\"58\" />\n",
" <line x1=\"54\" y1=\"0\" x2=\"113\" y2=\"58\" />\n",
" <line x1=\"60\" y1=\"0\" x2=\"119\" y2=\"58\" />\n",
" <line x1=\"66\" y1=\"0\" x2=\"125\" y2=\"58\" />\n",
" <line x1=\"73\" y1=\"0\" x2=\"131\" y2=\"58\" />\n",
" <line x1=\"79\" y1=\"0\" x2=\"138\" y2=\"58\" />\n",
" <line x1=\"85\" y1=\"0\" x2=\"144\" y2=\"58\" />\n",
" <line x1=\"92\" y1=\"0\" x2=\"150\" y2=\"58\" />\n",
" <line x1=\"98\" y1=\"0\" x2=\"157\" y2=\"58\" />\n",
" <line x1=\"104\" y1=\"0\" x2=\"163\" y2=\"58\" />\n",
" <line x1=\"111\" y1=\"0\" x2=\"169\" y2=\"58\" />\n",
" <line x1=\"117\" y1=\"0\" x2=\"176\" y2=\"58\" />\n",
" <line x1=\"123\" y1=\"0\" x2=\"182\" y2=\"58\" />\n",
" <line x1=\"130\" y1=\"0\" x2=\"188\" y2=\"58\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Colored Rectangle -->\n",
" <polygon points=\"10.0,0.0 130.0,0.0 188.83529411764707,58.83529411764707 68.83529411764707,58.83529411764707\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n",
"\n",
" <!-- Horizontal lines -->\n",
" <line x1=\"68\" y1=\"58\" x2=\"188\" y2=\"58\" style=\"stroke-width:2\" />\n",
" <line x1=\"68\" y1=\"158\" x2=\"188\" y2=\"158\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Vertical lines -->\n",
" <line x1=\"68\" y1=\"58\" x2=\"68\" y2=\"158\" style=\"stroke-width:2\" />\n",
" <line x1=\"75\" y1=\"58\" x2=\"75\" y2=\"158\" />\n",
" <line x1=\"81\" y1=\"58\" x2=\"81\" y2=\"158\" />\n",
" <line x1=\"87\" y1=\"58\" x2=\"87\" y2=\"158\" />\n",
" <line x1=\"94\" y1=\"58\" x2=\"94\" y2=\"158\" />\n",
" <line x1=\"100\" y1=\"58\" x2=\"100\" y2=\"158\" />\n",
" <line x1=\"106\" y1=\"58\" x2=\"106\" y2=\"158\" />\n",
" <line x1=\"113\" y1=\"58\" x2=\"113\" y2=\"158\" />\n",
" <line x1=\"119\" y1=\"58\" x2=\"119\" y2=\"158\" />\n",
" <line x1=\"125\" y1=\"58\" x2=\"125\" y2=\"158\" />\n",
" <line x1=\"131\" y1=\"58\" x2=\"131\" y2=\"158\" />\n",
" <line x1=\"138\" y1=\"58\" x2=\"138\" y2=\"158\" />\n",
" <line x1=\"144\" y1=\"58\" x2=\"144\" y2=\"158\" />\n",
" <line x1=\"150\" y1=\"58\" x2=\"150\" y2=\"158\" />\n",
" <line x1=\"157\" y1=\"58\" x2=\"157\" y2=\"158\" />\n",
" <line x1=\"163\" y1=\"58\" x2=\"163\" y2=\"158\" />\n",
" <line x1=\"169\" y1=\"58\" x2=\"169\" y2=\"158\" />\n",
" <line x1=\"176\" y1=\"58\" x2=\"176\" y2=\"158\" />\n",
" <line x1=\"182\" y1=\"58\" x2=\"182\" y2=\"158\" />\n",
" <line x1=\"188\" y1=\"58\" x2=\"188\" y2=\"158\" style=\"stroke-width:2\" />\n",
"\n",
" <!-- Colored Rectangle -->\n",
" <polygon points=\"68.83529411764707,58.83529411764707 188.83529411764707,58.83529411764707 188.83529411764707,158.83529411764707 68.83529411764707,158.83529411764707\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n",
"\n",
" <!-- Text -->\n",
" <text x=\"128.835294\" y=\"178.835294\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >6000</text>\n",
" <text x=\"208.835294\" y=\"108.835294\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(-90,208.835294,108.835294)\">5000</text>\n",
" <text x=\"29.417647\" y=\"149.417647\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(45,29.417647,149.417647)\">5001</text>\n",
"</svg>\n",
" </td>\n",
" </tr>\n",
"</table>"
],
"text/plain": [
"dask.array<rechunk-merge, shape=(5001, 5000, 6000), dtype=float64, chunksize=(5001, 5000, 1), chunktype=numpy.ndarray>"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pad_rechunk(u)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "fe258a58-99fa-4371-b3aa-7ffc7ceb3b05",
"metadata": {},
"outputs": [],
"source": [
"def binary_reduction(arr1, arr2):\n",
" \"\"\"\n",
" Reducing by taking the mean emulates saving the whole result field (out) to a zarr store, because it requires loading data chunk-wise, but doesn't persist the data once used.\n",
" \n",
" The binary nature of the operation means that the optimal ratio of memory-consuming (data creation) tasks to memory-releasing tasks is 2:1. \n",
" Any higher than that represents unnecessary memory use.\n",
" \n",
" The binary nature also allows us to test root task co-location simultaneously.\n",
" \"\"\"\n",
" \n",
" out = arr1 - arr2\n",
" \n",
" return out.mean()"
]
},
{
"cell_type": "markdown",
"id": "51f174b3-7f6f-422e-bae4-1cb255d546c2",
"metadata": {},
"source": [
"### Show (subset of) graph"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "79c8b608-dd07-43f2-ba09-1e4b28ccd6e8",
"metadata": {},
"outputs": [],
"source": [
"subset_u = u[:, :, slice(0, 4)]\n",
"subset_v = u[:, :, slice(0, 4)]"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "080e59e9-380e-489e-8759-a8ba8f6414f3",
"metadata": {},
"outputs": [],
"source": [
"result_subset = binary_reduction(pad_rechunk(subset_u), pad_rechunk(subset_v))"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "c365f5c1-7b93-4282-a716-de12fbbda412",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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/fb06dMlScrOzt6+fbubm9vAgQNFR7MivXr1KikpSUxM5PrrAABALGY9AAAo3p49e3r06HHixIm2bduKzmK9Dh8+3LVr159++mnEiBGiswAAAKvGMVwAACheVFRUs2bNGPSIFRQUNHr06BkzZhQWForOAgAArBqzHgAAFC8yMnLAgAGiU0CaM2dOfn7+vHnzRAcBAABWjVkPAADKlp2dffDgQa1WKzoIpIceemjWrFlz5sw5d+6c6CwAAMB6MesBAEDZoqOjbW1tQ0NDRQeBJEnSG2+80bhx43fffVd0EAAAYL2Y9QAAoGyRkZEhISH16tUTHQSSJEkODg5z5sz5z3/+k5iYKDoLAACwUlyHCwAABSstLW3UqNGMGTPefPNN0VnwP6Ghobdv305KSuL66wAAwPLYrwcAAAU7ePDglStXwsPDRQfBHRYuXLh///6ffvpJdBAAAGCNmPUAAKBgkZGRTZs27dChg+gguENgYODYsWNnzpx58+ZN0VkAAIDVYdYDAICCRUVFhYeHc6CQDH366acFBQWff/656CAAAMDqMOsBAECpcnJy9u3bxwFc8tSgQYN33nln7ty5mZmZorMAAADrwqwHAAClio6O1mg0ffv2FR0E9zZ16tRmzZrNmjVLdBAAAGBdmPUAAKBUUVFRPXr0cHd3Fx0E9+bg4PD555///PPPu3fvFp0FAABYEa65DgCAIhkMhiZNmkyZMuWtt94SnQWV6d+/f3Z29v79+21s+I4NAABYAn9zAACgSIcPH87KytJqtaKDoAoLFixITk7+4YcfRAcBAADWglkPAACKFBUV1bBhw8DAQNFBUIV27dqNHz9+5syZ+fn5orMAAACrwKwHAABFioyM5GrrSvHJJ5/odLrPPvtMdBAAAGAVmPUAAKA8+fn5f/zxBwdwKYWHh8e77747b96806dPi84CAADUj3MzAwCgPOvXr3/22WevXLni4eEhOgtMotPpAgICAgIC1q1bJzoLAABQOfbrAQBAeSIjIx999FEGPQpib28/b9689evXx8XFic4CAABUjlkPAAAKYzAYoqOjOYBLcQYOHBgeHv7666/r9XrRWQAAgJox6wEAQGFSUlIuXrwYHh4uOgge2Pz5848fP75y5UrRQQAAgJox6wEAQGEiIyO9vb07d+4sOggeWNu2bV9++eV33nknLy9PdBYAAKBa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amNjExYWJjoIIExYWFhOTs706dNFBxGGHgDoAQCwEsx6AFiFatWqzZgxY+HChZcuXRKdBRAgNTX1m2+++fe//12rVi3RWYShB2Dl6AEAsB5cwwXAWmi12tatW9evX3/Xrl2iswDm1rt370uXLp09e9bW1lZ0FpHoAVgzegAArAfn9QCwFmq1+uuvv969e/fu3btFZwHMau/evdu2bZs3bx5v8OgBWC16AACsCuf1ALAu/fv3P3bsWGJiopOTk+gsgDk8fPjQy8vL19d3y5YtorNYCnoA1oYeAABrw3k9AKzLwoULs7OzP/nkE9FBADOZNm3a7du358+fLzqIBaEHYG3oAQCwNsx6AFiXWrVqzZ49e9GiRUePHhWdBahwZ8+enT9//pw5c+rWrSs6iwWhB2BV6AEAsEJcwwXAGnXr1u3q1asJCQn29vaiswAVpaCgoG3btk5OTocOHVKpVKLjWBx6ANaAHgAA68R5PQCs0dKlS69fvz5r1izRQYAKNGfOnAsXLixZsoQ3eI9FD8Aa0AMAYJ3U06dPF50BAMytWrVqDg4O06dP79mzp6urq+g4gOldvHhxwIAB06ZN6927t+gsFooegOLRAwBgtbiGC4CV0mq1nTt3vnfv3smTJx0cHETHAUwpLy+vXbt2tra2sbGxfL5yCegBKBg9AADWjGu4AFgptVr9448/Xr9+fcqUKaKzACb28ccfJyUlrV27ljd4JaMHoGD0AABYM2Y9AKxX/fr1FyxYsGDBgt27d4vOApjMkSNHvv7664ULFzZp0kR0FhmgB6BI9AAAWDmu4QJg7QYOHLh///5z585xww4owJ07d3x8fJ5//vmtW7eKziIn9ACUhB4AADDrAWDt7t275+Pj06xZs927d/MxJZC7vn37Hj169OzZszVr1hSdRU7oASgJPQAA4BouANbO2dl57dq1e/funT9/vugsQLl8++23W7ZsWbt2LW/wSosegGLQAwAAic9cBwBJkho0aGBnZ/fRRx/5+/s3bNhQdBygLOLi4vr37//pp58OHTpUdBZZogegAPQAAKAQ13ABgCRJkl6vDwkJiYmJOX36dL169UTHAUrnjz/+aNOmja+v7/bt221sOGm3jOgByBo9AAAowqwHAP7jwYMHbdu2rVq16uHDh+3t7UXHAYxVUFDQtWvX9PT0U6dOVatWTXQceaMHIFP0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dBBAPi5evNi6devPP/983rx5orPowaBBg1JTU0+cOCE6CCArkyZNCgoKOn78uIeHh+gspW7nzp39+/dPSkpycXERnQVAyXXp0sXR0fG3334THeQvISEhw4YNCwsL69atm+gsQKljXY8h2Nrarlu37tixY+vXrxed5ZXExcUdPnx41qxZooMAstKsWbOFCxcuWLDgzJkzorO8quTk5J07d86YMUN0EEBuVq5c+cYbb/Ts2fP27duis5S6wMDAjh070ugBTN2IESP27t2bnp4uOogkSVJaWtr06dPff/99Gj0wE6zrMZw5c+asWbMmPj7+tddeE52lhN59992zZ8/GxcWZ+uokwNio1eouXbrcvXv3zJkz9vb2ouOU3L/+9a+goKCkpCRra2vRWQC5yczM9PLysra2Dg8Pl/EjRR8/fly9evXly5e///77orMAeCWZmZnVq1dfuXLluHHjRGeRhg0bFhERER8f7+TkJDoLYAis6zGcRYsWVa9effz48Wq1WnSWkkhNTQ0ODp41axaNHkDvLCwsNmzYkJKSMnfuXNFZSi47O3v9+vUffvghjR6gNJQvX37Xrl0pKSnDhw+XzRO+nrV9+3alUjlw4EDRQQC8qvLly/v4+AQFBYkOIu3evTskJGTt2rU0emA+6PUYjr29fUBAwB9//PHdd9+JzlISP/74o5OT04gRI0QHAeTJxcXl119/XblyZUhIiOgsJbRhw4bc3NyJEyeKDgLIVp06dXbu3HnkyJFx48aZ6KWjlwoMDPTx8alUqZLoIAD0YPjw4UeOHElJSRGYIT09/YMPPnjvvfd69OghMAZgYPR6DKp169a+vr6ffvqpyT21NDs7e82aNdOmTbOzsxOdBZCtoUOHfvjhh+PHj7906ZLoLMWm0WhWrlw5evRoztCAUtWuXbudO3eGhIRMnDhRfnfi379///Dhw1xYAmSjV69e5cuXF3sda9q0aWq1eunSpQIzAIZHr8fQZs+e7ePjM2zYsIcPH4rOUgzr1q3LycmZPHmy6CCAzC1btqxFixYDBgzIzMwUnaV49u/ff+XKlalTp4oOAshfly5dtm/fHhAQIL/noAcHB9va2vbq1Ut0EAD6YWdn179/f4G3ce3du9ff3/+nn36qUKGCqAyAEDybWYD79++3aNGiffv2W7duFZ1FJwUFBY0aNerWrdtPP/0kOgsgf3/++WerVq3efvvt4OBg0VmKoXv37pIkHThwQHQQwFxs27Zt6NCh06dPX7ZsmegseuPp6Vm/fn0/Pz/RQQDozcGDB7t165aQkNCwYUMDHzojI6N58+ZvvfUWVQVmiHU9AlSpUiUwMHDHjh2//PKL6Cw62bFjx40bN6ZPny46CGAWatWqFRwcvHXr1h9//FF0Fl1dunTp4MGD8ltiABizAQMGrF+//vvvv1+0aJHoLPqRnJwcHR09fPhw0UEA6FPnzp1r1KghZGnPzJkzVSrV999/b/hDA8JZfvHFF6IzmCNXV1eVSrVgwQIfH58aNWqIjvMSEydObNWq1Ycffig6CGAu6tSpY2Fh8emnn3bq1MnFxUV0nJf77LPPMjIyvv/+ez6nDzAkDw8PZ2fnOXPmlClTxsvLS3ScV7Vy5cq4uLhVq1ZZWlqKzgJAbxQKxe3bt3/77TcDXzk+fPjw7NmzN23a1KpVK0MeFzAS3MMljFqt7tWr14ULF06fPm3M7Z7Tp0+3bdv2jz/+6Nixo+gsgBlRq9WDBg06fvz4yZMn69atKzrOizx69Oi111779ttvp0yZIjoLYI5+/PHHGTNmfP75559//rnoLK9Ee6uFCS1pBKCjU6dOvfHGG6dPn27durVhjpiZmenm5ubp6WkMn/gOCEGvR6RHjx61bdu2atWqR48etbGxER3n+QYPHpyUlHTmzBnRQQCzk5OT06lTp8zMzKioKCcnJ9Fx/tGSJUu++eab27dvlytXTnQWwExt3rx53LhxkydPXrFihYkurzt//nzLli0jIyM9PT1FZwGgf40aNerVq5fBni82adKkbdu2Xbx4sWrVqoY5ImBseF6PSBUqVNi1a1d8fPysWbNEZ3m+mzdv7tixY86cOaKDAObI3t5+x44dT548GTp0qEqlEh3n+VQq1U8//TRhwgQaPYBAo0eP9vf3//XXX999912jLRcvFhgY6OLi0r59e9FBAJSKYcOGBQUFFRQUGOBYR48eXbNmzU8//USjB+aMXo9gTZo02bRp008//bRmzRrRWZ5j+fLl1atXHzhwoOgggJlydnbetWtXZGTkzJkzRWd5vt9++y01NZW7twDhhg4dumPHjq1bt44aNUqpVIqOUzwajSYkJGTkyJEmuigJwEuNGjXqzp07x44dK+0DZWVlTZw4sXfv3oMHDy7tYwHGjF6PeP369fu///u/adOmRUdHi87yP9LT09evXz9z5kxra2vRWQDz1bJlS21HeNWqVaKzPMcPP/zQv3//OnXqiA4CQOrZs2dYWNj+/fv79euXk5MjOk4xhIeHJycn8wlcgIw1aNDg9ddfN8DTc+bOnZuenr569erSPhBg5Oj1GIVFixZ16dKlX79+SUlJorP87ddff1UoFOPHjxcdBDB3AwcOXLx48YwZM3bs2CE6y/84e/ZsVFQUH7UOGI+OHTsePHgwOjq6W7duDx48EB1HV0FBQR4eHs2bNxcdBEApGj58eGhoaG5ubukdIjIy8ueff16xYkW1atVK7yiASeDZzMbi8ePH3t7eOTk5kZGRFStWFB1HUiqV9erVGzJkyNKlS0VnASBJkvTRRx/9+uuvBw4cMJ4PxRs5cuSVK1fOnj0rOgiA/3Hx4sV33nnH1tZ279699evXFx3nJZRKpbOz87/+9a+5c+eKzgKgFKWmptauXTs0NLR///6lMX52draHh0fjxo13795dGuMDpoV1PcbCwcFh79692dnZ/fr1y8vLEx1HCg4OvnPnzvTp00UHAfCXf//733369Ondu3dMTIzoLJIkSampqVu3bv3oo49EBwHwtGbNmkVHRzs6Or7xxhvh4eGi47zE/v37Hz58OHToUNFBAJSuGjVqdOzYMTAwsJTGnz9//v3793/++edSGh8wLfR6jIizs/P+/fvj4uLeffdd4eutli9fPnjw4Nq1a4uNAaCQhYXF5s2b27Vr98477xjD/Z6rVq1ycnLiwYeAcapevXp4eHjXrl27detWemdWehEUFNShQwdXV1fRQQCUuhEjRuzZsycjI0PvI0dFRa1cuXLFihW1atXS++CAKaLXY1yaNm26ffv27du3L1iwQGCMI0eOxMTE8AwOwNjY2Nhs3brV2dm5a9eud+/eFZgkLy9v7dq1U6dOtbOzExgDwAvY2dkFBQXNmzdv1KhRX3zxheg4z5eVlbV7926eygyYiUGDBmk0mu3bt+t32Ly8vAkTJnTv3n3MmDH6HRkwXfR6jE6nTp1++eUXX19fgesPly1b1rFjxzfeeENUAAD/xMHBYd++fZIk9ezZMz09XVSMzZs3Z2RkTJo0SVQAALpQKBRffPHFihUrFi9ePG7cOGO4Sfwp27dvz8/PHzRokOggAAzBycnJx8dH74sNP/300z///POXX37R77CASePZzEbKxX6RpwAAIABJREFU19f3s88+W79+/dixYw186ISEBO3yoj59+hj40AB0dOPGDW9v71q1av3+++8ODg6GD+Dh4fH666+vX7/e8IcGUAJ79+4dOXJk48aNf/vtt5o1a4qO87eePXtaWlryIFXAfISGhg4bNuz27ds1atTQy4AnT5708vL69ddf+fhgoCjW9RipTz75ZM6cOe+///7evXsNfOilS5fWq1evV69eBj4uAN3VrVv3yJEjycnJPXr0ePLkiYGPfujQodjYWJ7dDpiQd95558yZM0+ePGnZsuXRo0dFx/nL/fv3Dx06NGLECNFBABhO7969HRwcQkND9TJaXl7e+PHjvb29x40bp5cBAdmg12O8vvnmm3fffXfw4MGG/ASNe/fuBQQEzJo1y8KC/zcAo9agQYOjR49ev369X79+OTk5hjz0Dz/80KlTpxYtWhjyoABeUf369aOjozt27NitW7dvvvlGdBxJkqSQkBAbG5vevXuLDgLAcOzs7Pr16xcUFKSX0b788subN2+uWbNGoVDoZUBANjifN14KheKXX37p1atX7969z507Z5iDrlq1yt7efvTo0YY5HIBX0ahRo99///38+fP9+vXLzc01zEGvXbu2b98+nt0OmKJy5cqFhoYuXrx4/vz5o0ePNnCb+FmBgYH9+vUrV66c2BgADGz48OEnT568evXqK45z7ty577777rvvvqtbt65eggFywvN6Ste1a9fc3d1fcZD8/HwrKyvDLLTRaDRqtdrS0tIAxyoUHR396u8SYLq+/fbbV/mIHLVarVQqbWxsDHZFS6VSWVlZGeZYWvXr14+NjTXkEQHTpcvco6CgQKVS2draGibSP1Gr1ZIkCVlKzNwD0GrXrp2Q37AFBQV6OeMwwJxk7ty5n3/+eakeAigNBp2smyG1Wp2Tk/Pll1/Wrl1bdBZjdPfu3Xnz5mmneoDZUiqV5cuXX7JkSYlH0Gg0Ml66vGfPngsXLohOAZgMHece8q4bL8DcAygqJyenc+fOAwcOFB3ESC1YsCA/P190CqAk6PUYQp8+fXiwxXNdvXp13rx5olMA4jk4OBj+Q/dMRUpKCr0eoLiYe/wT5h7AU9zd3ZmE/JPly5eLjgCUEM/rAQAAAAAAkA96PQAAAAAAAPJBrwcAAAAAAEA+6PUAAAAAAADI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lTKm8q/s1q1bheUiJiYmISHBwsKiadOmXl5eXl5enp6e9erVE50R0DN6PYaWm5sbHh4eFhZ26NChixcvqtXqhg0benp6aqtMkyZNZPB8U41Gk5CQcOLEiYiIiBMnThQW07ffftvHx8fb21tfqzcBubp7925YWFhYWFh4eLh2atW6dev27dtrT2Dkcf95bm7u2bNntdPHEydOaE/S2rZt261bNx8fHw8PDxkUQ8BIMPdg7gHoLjY2dv/+/b///vvJkyezsrIqVaqkbZ56eXm1bt1aHv+U7t+/r+1haRc25uXlVa9e3dvbu3v37j4+PtWrVxcdENADej0Gcu3atbCwsP379x87diw7O9vNza1bt24dOnRo3769PE7bXuD+/ftRUVHHjx8/ePDghQsX7O3tvb29fXx8fHx8GjRoIDodYCxUKlV0dPT+/fvDwsJiYmJsbW07dOjQuXNn7dRK+yEUMnblypWoqKhjx44dOHDg7t27zs7OPXr06NGjR9euXStUqCA6HWCSmHsw9wB0lJ6efujQIe11ppSUlKpVq3bv3t3b29vT07Nx48YyaAe/QF5e3pkzZyIjIw8fPhweHp6Xl9eiRQvtJMTT05OPmIDpotdTitRqdWRk5G+//bZv377ExERHR8cuXbpoC0etWrVEpxMjNTVVeyp76NCh9PT0evXq+fj4DBo0qEOHDhYWFqLTAQI8efJk165dO3bsOHjwYHp6et26dX18fHr06PH222+b58fNaDSamJgY7QlqdHS0RqNp165dr169hgwZwsN9gJdi7vEs5h7AP7l582ZISMiePXuioqI0Gs0bb7yhnYS0atXKPP91ZGdnHzt2TFsxrl27pi2h/fr169u3r4ODg+h0QPHQ69E/jUYTHR0dEhISGhqakpLSrFmz3r179+jRw8vLi8ZwIZVKFRUVFRYWtnv37ri4uBo1agwaNGjIkCGenp7yvnQAaGVnZ+/ZsyckJGTfvn0qleqtt97q2bOnj49Pw4YNRUczIunp6QcPHgwLC9u1a1daWlrr1q2HDh06ePBgPswLeApzD10w9wC0bt++HRoaumXLltOnT1esWFFbLrp27VqxYkXR0YxIYmJiWFjYvn37Dh8+bGlp6ePjM2TIkN69e5ctW1Z0NEAn9Hr06eLFi6GhoQEBAdeuXatTp07v3r0HDx785ptvis5l7JKSkkJC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\n",
"text/plain": [
"<IPython.core.display.Image object>"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#with dask.config.set({\"optimization.fuse.active\": False}):\n",
"graph = result_subset.visualize(optimize_graph=True)\n",
"graph"
]
},
{
"cell_type": "markdown",
"id": "897e901f-dc3f-4d4f-afd1-927a86772da6",
"metadata": {},
"source": [
"### Try whole computation"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "7e790571-0001-4397-a7b3-2fe434cf67c4",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <td>\n",
" <table>\n",
" <thead>\n",
" <tr>\n",
" <td> </td>\n",
" <th> Array </th>\n",
" <th> Chunk </th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" \n",
" <tr>\n",
" <th> Bytes </th>\n",
" <td> 8 B </td>\n",
" <td> 8.0 B </td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th> Shape </th>\n",
" <td> () </td>\n",
" <td> () </td>\n",
" </tr>\n",
" <tr>\n",
" <th> Count </th>\n",
" <td> 78002 Tasks </td>\n",
" <td> 1 Chunks </td>\n",
" </tr>\n",
" <tr>\n",
" <th> Type </th>\n",
" <td> float64 </td>\n",
" <td> numpy.ndarray </td>\n",
" </tr>\n",
" </tbody>\n",
" </table>\n",
" </td>\n",
" <td>\n",
" \n",
" </td>\n",
" </tr>\n",
"</table>"
],
"text/plain": [
"dask.array<mean_agg-aggregate, shape=(), dtype=float64, chunksize=(), chunktype=numpy.ndarray>"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"result = binary_reduction(pad_rechunk(u), pad_rechunk(v))\n",
"result"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "54cbae11-5421-4b3a-b86b-5ef8d2653e78",
"metadata": {},
"outputs": [],
"source": [
"from distributed.diagnostics import MemorySampler"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "efcf876e-b454-4a75-9d55-a00df54b616b",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"2022-06-13 16:16:07,957 - distributed.client - ERROR - Failed to reconnect to scheduler after 30.00 seconds, closing client\n"
]
},
{
"ename": "OSError",
"evalue": "Timed out trying to connect to tls://3.239.24.25:8786 after 30 s",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mCancelledError\u001b[0m Traceback (most recent call last)",
"File \u001b[0;32m~/miniconda3/envs/root-overproduction-test-random-dask-only/lib/python3.10/site-packages/distributed/comm/tcp.py:439\u001b[0m, in \u001b[0;36mBaseTCPConnector.connect\u001b[0;34m(self, address, deserialize, **connection_args)\u001b[0m\n\u001b[1;32m 438\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 439\u001b[0m stream \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mawait\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mclient\u001b[38;5;241m.\u001b[39mconnect(\n\u001b[1;32m 440\u001b[0m ip, port, max_buffer_size\u001b[38;5;241m=\u001b[39mMAX_BUFFER_SIZE, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs\n\u001b[1;32m 441\u001b[0m )\n\u001b[1;32m 442\u001b[0m \u001b[38;5;66;03m# Under certain circumstances tornado will have a closed connnection with an\u001b[39;00m\n\u001b[1;32m 443\u001b[0m \u001b[38;5;66;03m# error and not raise a StreamClosedError.\u001b[39;00m\n\u001b[1;32m 444\u001b[0m \u001b[38;5;66;03m#\u001b[39;00m\n\u001b[1;32m 445\u001b[0m \u001b[38;5;66;03m# This occurs with tornado 5.x and openssl 1.1+\u001b[39;00m\n",
"File \u001b[0;32m~/miniconda3/envs/root-overproduction-test-random-dask-only/lib/python3.10/site-packages/tornado/tcpclient.py:275\u001b[0m, in \u001b[0;36mTCPClient.connect\u001b[0;34m(self, host, port, af, ssl_options, max_buffer_size, source_ip, source_port, timeout)\u001b[0m\n\u001b[1;32m 266\u001b[0m connector \u001b[38;5;241m=\u001b[39m _Connector(\n\u001b[1;32m 267\u001b[0m addrinfo,\n\u001b[1;32m 268\u001b[0m functools\u001b[38;5;241m.\u001b[39mpartial(\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 273\u001b[0m ),\n\u001b[1;32m 274\u001b[0m )\n\u001b[0;32m--> 275\u001b[0m af, addr, stream \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mawait\u001b[39;00m connector\u001b[38;5;241m.\u001b[39mstart(connect_timeout\u001b[38;5;241m=\u001b[39mtimeout)\n\u001b[1;32m 276\u001b[0m \u001b[38;5;66;03m# TODO: For better performance we could cache the (af, addr)\u001b[39;00m\n\u001b[1;32m 277\u001b[0m \u001b[38;5;66;03m# information here and re-use it on subsequent connections to\u001b[39;00m\n\u001b[1;32m 278\u001b[0m \u001b[38;5;66;03m# the same host. (http://tools.ietf.org/html/rfc6555#section-4.2)\u001b[39;00m\n",
"\u001b[0;31mCancelledError\u001b[0m: ",
"\nDuring handling of the above exception, another exception occurred:\n",
"\u001b[0;31mCancelledError\u001b[0m Traceback (most recent call last)",
"File \u001b[0;32m~/miniconda3/envs/root-overproduction-test-random-dask-only/lib/python3.10/asyncio/tasks.py:456\u001b[0m, in \u001b[0;36mwait_for\u001b[0;34m(fut, timeout)\u001b[0m\n\u001b[1;32m 455\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 456\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfut\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mresult\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 457\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m exceptions\u001b[38;5;241m.\u001b[39mCancelledError \u001b[38;5;28;01mas\u001b[39;00m exc:\n",
"\u001b[0;31mCancelledError\u001b[0m: ",
"\nThe above exception was the direct cause of the following exception:\n",
"\u001b[0;31mTimeoutError\u001b[0m Traceback (most recent call last)",
"File \u001b[0;32m~/miniconda3/envs/root-overproduction-test-random-dask-only/lib/python3.10/site-packages/distributed/comm/core.py:289\u001b[0m, in \u001b[0;36mconnect\u001b[0;34m(addr, timeout, deserialize, handshake_overrides, **connection_args)\u001b[0m\n\u001b[1;32m 288\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 289\u001b[0m comm \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mawait\u001b[39;00m asyncio\u001b[38;5;241m.\u001b[39mwait_for(\n\u001b[1;32m 290\u001b[0m connector\u001b[38;5;241m.\u001b[39mconnect(loc, deserialize\u001b[38;5;241m=\u001b[39mdeserialize, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mconnection_args),\n\u001b[1;32m 291\u001b[0m timeout\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mmin\u001b[39m(intermediate_cap, time_left()),\n\u001b[1;32m 292\u001b[0m )\n\u001b[1;32m 293\u001b[0m \u001b[38;5;28;01mbreak\u001b[39;00m\n",
"File \u001b[0;32m~/miniconda3/envs/root-overproduction-test-random-dask-only/lib/python3.10/asyncio/tasks.py:458\u001b[0m, in \u001b[0;36mwait_for\u001b[0;34m(fut, timeout)\u001b[0m\n\u001b[1;32m 457\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m exceptions\u001b[38;5;241m.\u001b[39mCancelledError \u001b[38;5;28;01mas\u001b[39;00m exc:\n\u001b[0;32m--> 458\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m exceptions\u001b[38;5;241m.\u001b[39mTimeoutError() \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mexc\u001b[39;00m\n\u001b[1;32m 459\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n",
"\u001b[0;31mTimeoutError\u001b[0m: ",
"\nThe above exception was the direct cause of the following exception:\n",
"\u001b[0;31mOSError\u001b[0m Traceback (most recent call last)",
"Input \u001b[0;32mIn [20]\u001b[0m, in \u001b[0;36m<cell line: 3>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m ms \u001b[38;5;241m=\u001b[39m MemorySampler()\n\u001b[1;32m 3\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m dask\u001b[38;5;241m.\u001b[39mconfig\u001b[38;5;241m.\u001b[39mset({\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124moptimization.fuse.active\u001b[39m\u001b[38;5;124m\"\u001b[39m: \u001b[38;5;28;01mFalse\u001b[39;00m}):\n\u001b[0;32m----> 4\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m ms\u001b[38;5;241m.\u001b[39msample(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mstandard\u001b[39m\u001b[38;5;124m\"\u001b[39m, measure\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mmanaged\u001b[39m\u001b[38;5;124m\"\u001b[39m):\n\u001b[1;32m 5\u001b[0m result\u001b[38;5;241m.\u001b[39mcompute(scheduler\u001b[38;5;241m=\u001b[39mclient)\n",
"File \u001b[0;32m~/miniconda3/envs/root-overproduction-test-random-dask-only/lib/python3.10/contextlib.py:153\u001b[0m, in \u001b[0;36m_GeneratorContextManager.__exit__\u001b[0;34m(self, typ, value, traceback)\u001b[0m\n\u001b[1;32m 151\u001b[0m value \u001b[38;5;241m=\u001b[39m typ()\n\u001b[1;32m 152\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 153\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mgen\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mthrow\u001b[49m\u001b[43m(\u001b[49m\u001b[43mtyp\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mvalue\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtraceback\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 154\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mStopIteration\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m exc:\n\u001b[1;32m 155\u001b[0m \u001b[38;5;66;03m# Suppress StopIteration *unless* it's the same exception that\u001b[39;00m\n\u001b[1;32m 156\u001b[0m \u001b[38;5;66;03m# was passed to throw(). This prevents a StopIteration\u001b[39;00m\n\u001b[1;32m 157\u001b[0m \u001b[38;5;66;03m# raised inside the \"with\" statement from being suppressed.\u001b[39;00m\n\u001b[1;32m 158\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m exc \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m value\n",
"File \u001b[0;32m~/miniconda3/envs/root-overproduction-test-random-dask-only/lib/python3.10/site-packages/distributed/diagnostics/memory_sampler.py:105\u001b[0m, in \u001b[0;36mMemorySampler._sample_sync\u001b[0;34m(self, label, client, measure, interval)\u001b[0m\n\u001b[1;32m 103\u001b[0m \u001b[38;5;28;01myield\u001b[39;00m\n\u001b[1;32m 104\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n\u001b[0;32m--> 105\u001b[0m samples \u001b[38;5;241m=\u001b[39m \u001b[43mclient\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msync\u001b[49m\u001b[43m(\u001b[49m\u001b[43mclient\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mscheduler\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmemory_sampler_stop\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkey\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mkey\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 106\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39msamples[label \u001b[38;5;129;01mor\u001b[39;00m key] \u001b[38;5;241m=\u001b[39m samples\n",
"File \u001b[0;32m~/miniconda3/envs/root-overproduction-test-random-dask-only/lib/python3.10/site-packages/distributed/utils.py:320\u001b[0m, in \u001b[0;36mSyncMethodMixin.sync\u001b[0;34m(self, func, asynchronous, callback_timeout, *args, **kwargs)\u001b[0m\n\u001b[1;32m 318\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m future\n\u001b[1;32m 319\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 320\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43msync\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 321\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mloop\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mfunc\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcallback_timeout\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcallback_timeout\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\n\u001b[1;32m 322\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[0;32m~/miniconda3/envs/root-overproduction-test-random-dask-only/lib/python3.10/site-packages/distributed/utils.py:387\u001b[0m, in \u001b[0;36msync\u001b[0;34m(loop, func, callback_timeout, *args, **kwargs)\u001b[0m\n\u001b[1;32m 385\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m error:\n\u001b[1;32m 386\u001b[0m typ, exc, tb \u001b[38;5;241m=\u001b[39m error\n\u001b[0;32m--> 387\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m exc\u001b[38;5;241m.\u001b[39mwith_traceback(tb)\n\u001b[1;32m 388\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 389\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m result\n",
"File \u001b[0;32m~/miniconda3/envs/root-overproduction-test-random-dask-only/lib/python3.10/site-packages/distributed/utils.py:360\u001b[0m, in \u001b[0;36msync.<locals>.f\u001b[0;34m()\u001b[0m\n\u001b[1;32m 358\u001b[0m future \u001b[38;5;241m=\u001b[39m asyncio\u001b[38;5;241m.\u001b[39mwait_for(future, callback_timeout)\n\u001b[1;32m 359\u001b[0m future \u001b[38;5;241m=\u001b[39m asyncio\u001b[38;5;241m.\u001b[39mensure_future(future)\n\u001b[0;32m--> 360\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01myield\u001b[39;00m future\n\u001b[1;32m 361\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mException\u001b[39;00m:\n\u001b[1;32m 362\u001b[0m error \u001b[38;5;241m=\u001b[39m sys\u001b[38;5;241m.\u001b[39mexc_info()\n",
"File \u001b[0;32m~/miniconda3/envs/root-overproduction-test-random-dask-only/lib/python3.10/site-packages/tornado/gen.py:762\u001b[0m, in \u001b[0;36mRunner.run\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 759\u001b[0m exc_info \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 761\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 762\u001b[0m value \u001b[38;5;241m=\u001b[39m \u001b[43mfuture\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mresult\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 763\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mException\u001b[39;00m:\n\u001b[1;32m 764\u001b[0m exc_info \u001b[38;5;241m=\u001b[39m sys\u001b[38;5;241m.\u001b[39mexc_info()\n",
"File \u001b[0;32m~/miniconda3/envs/root-overproduction-test-random-dask-only/lib/python3.10/site-packages/distributed/core.py:981\u001b[0m, in \u001b[0;36mPooledRPCCall.__getattr__.<locals>.send_recv_from_rpc\u001b[0;34m(**kwargs)\u001b[0m\n\u001b[1;32m 979\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mdeserializers \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m kwargs\u001b[38;5;241m.\u001b[39mget(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mdeserializers\u001b[39m\u001b[38;5;124m\"\u001b[39m) \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 980\u001b[0m kwargs[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mdeserializers\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mdeserializers\n\u001b[0;32m--> 981\u001b[0m comm \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mawait\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mpool\u001b[38;5;241m.\u001b[39mconnect(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39maddr)\n\u001b[1;32m 982\u001b[0m prev_name, comm\u001b[38;5;241m.\u001b[39mname \u001b[38;5;241m=\u001b[39m comm\u001b[38;5;241m.\u001b[39mname, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mConnectionPool.\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;241m+\u001b[39m key\n\u001b[1;32m 983\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n",
"File \u001b[0;32m~/miniconda3/envs/root-overproduction-test-random-dask-only/lib/python3.10/site-packages/distributed/core.py:1202\u001b[0m, in \u001b[0;36mConnectionPool.connect\u001b[0;34m(self, addr, timeout)\u001b[0m\n\u001b[1;32m 1200\u001b[0m \u001b[38;5;28;01mpass\u001b[39;00m\n\u001b[1;32m 1201\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m\n\u001b[0;32m-> 1202\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;01mawait\u001b[39;00m connect_attempt\n",
"File \u001b[0;32m~/miniconda3/envs/root-overproduction-test-random-dask-only/lib/python3.10/site-packages/distributed/core.py:1138\u001b[0m, in \u001b[0;36mConnectionPool._connect\u001b[0;34m(self, addr, timeout)\u001b[0m\n\u001b[1;32m 1136\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m 1137\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_connecting_count \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[38;5;241m1\u001b[39m\n\u001b[0;32m-> 1138\u001b[0m comm \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mawait\u001b[39;00m connect(\n\u001b[1;32m 1139\u001b[0m addr,\n\u001b[1;32m 1140\u001b[0m timeout\u001b[38;5;241m=\u001b[39mtimeout \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mtimeout,\n\u001b[1;32m 1141\u001b[0m deserialize\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mdeserialize,\n\u001b[1;32m 1142\u001b[0m \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mconnection_args,\n\u001b[1;32m 1143\u001b[0m )\n\u001b[1;32m 1144\u001b[0m comm\u001b[38;5;241m.\u001b[39mname \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mConnectionPool\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 1145\u001b[0m comm\u001b[38;5;241m.\u001b[39m_pool \u001b[38;5;241m=\u001b[39m weakref\u001b[38;5;241m.\u001b[39mref(\u001b[38;5;28mself\u001b[39m)\n",
"File \u001b[0;32m~/miniconda3/envs/root-overproduction-test-random-dask-only/lib/python3.10/site-packages/distributed/comm/core.py:315\u001b[0m, in \u001b[0;36mconnect\u001b[0;34m(addr, timeout, deserialize, handshake_overrides, **connection_args)\u001b[0m\n\u001b[1;32m 313\u001b[0m \u001b[38;5;28;01mawait\u001b[39;00m asyncio\u001b[38;5;241m.\u001b[39msleep(backoff)\n\u001b[1;32m 314\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 315\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mOSError\u001b[39;00m(\n\u001b[1;32m 316\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mTimed out trying to connect to \u001b[39m\u001b[38;5;132;01m{\u001b[39;00maddr\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m after \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mtimeout\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m s\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 317\u001b[0m ) \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mactive_exception\u001b[39;00m\n\u001b[1;32m 319\u001b[0m local_info \u001b[38;5;241m=\u001b[39m {\n\u001b[1;32m 320\u001b[0m \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mcomm\u001b[38;5;241m.\u001b[39mhandshake_info(),\n\u001b[1;32m 321\u001b[0m \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39m(handshake_overrides \u001b[38;5;129;01mor\u001b[39;00m {}),\n\u001b[1;32m 322\u001b[0m }\n\u001b[1;32m 323\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m 324\u001b[0m \u001b[38;5;66;03m# This would be better, but connections leak if worker is closed quickly\u001b[39;00m\n\u001b[1;32m 325\u001b[0m \u001b[38;5;66;03m# write, handshake = await asyncio.gather(comm.write(local_info), comm.read())\u001b[39;00m\n",
"\u001b[0;31mOSError\u001b[0m: Timed out trying to connect to tls://3.239.24.25:8786 after 30 s"
]
}
],
"source": [
"ms = MemorySampler()\n",
"\n",
"with dask.config.set({\"optimization.fuse.active\": False}):\n",
" with ms.sample(\"standard\", measure=\"managed\"):\n",
" result.compute(scheduler=client)\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "6dcc6a12-5dd6-4701-8eef-c958a0f997ae",
"metadata": {},
"outputs": [],
"source": [
"ms.to_pandas(align=True).to_csv(\"memory-standard.csv\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "64d61053-7b89-4552-bc0b-776ece4f33c7",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python [conda env:root-overproduction-test-random-dask-only]",
"language": "python",
"name": "conda-env-root-overproduction-test-random-dask-only-py"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.4"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment