Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pangeo kernel for EOX College #45

Open
annefou opened this issue Aug 22, 2024 · 15 comments
Open

Pangeo kernel for EOX College #45

annefou opened this issue Aug 22, 2024 · 15 comments

Comments

@annefou
Copy link
Contributor

annefou commented Aug 22, 2024

Working on providing EOX with a Pangeo image for the Pangeo exercises. We are now testing the new image on EOSC (Pangeo@EOSC). see PR: pangeo-data/pangeo-eosc#79

@annefou
Copy link
Contributor Author

annefou commented Sep 3, 2024

Some more details on the Pangeo kernel. We are using pangeo-notebook environment:
https://github.com/pangeo-data/pangeo-docker-images/tree/master/pangeo-notebook

The Docker image used and tested is:

  name: pangeo/pangeo-notebook
       tag: 2024.06.02

So to get the corresponding pangeo environment (conda lock, etc.), you need to fetch the corresponding tag:

https://github.com/pangeo-data/pangeo-docker-images/releases/tag/2024.06.02

@clausmichele
Copy link
Member

@UndeadFairy could you start checking how to use the provided image in the EOxHub?

@UndeadFairy
Copy link
Collaborator

@clausmichele we discussed over the emails and solve it. We will discuss more on a meeting on Thursday.

@clausmichele
Copy link
Member

clausmichele commented Sep 12, 2024

New kernel name "pangeo" in EOxHUB. Dask Wdiget also included, it's necessary to test it.

@tinaok
Copy link
Collaborator

tinaok commented Sep 13, 2024

The Dask local cluster gets default IP address which is 127.0.0.1. That will not work when rendering it from dask lab extension.
We need whether to put configuration file in the $HOME/.config/dask
or set default enviroment variables.

Please refer the name of enviroment variable or configuration detail to
dask/distributed#7736
or
https://github.com/umr-lops/dask-hpcconfig/blob/9a8772f6fa9e905df056a4eb891590bfbc2b1230/dask_hpcconfig/processors.py#L10

@UndeadFairy
Copy link
Collaborator

We can set environmental variables for all users, that sounds like easiest option

@tinaok
Copy link
Collaborator

tinaok commented Sep 19, 2024

please add a file at ~/.config/dask/

08:40 $ cat distributed.yaml 
distributed:
  dashboard:
     link: "/user/{JUPYTERHUB_USER}/proxy/{port}/status"

@tinaok
Copy link
Collaborator

tinaok commented Sep 19, 2024

How many threads do we have? is it possible to have >2 so that here we can show the parallelisation?
スクリーンショット 2024-09-19 10 49 37

@tinaok
Copy link
Collaborator

tinaok commented Sep 19, 2024

Kernel is good, but it would be nice to have more CPU and Memory resources. Is it possible to have 4 threads with 4 times the Memory while testing?

@Schpidi
Copy link
Collaborator

Schpidi commented Sep 20, 2024

@tinaok we're currently using our free trial plan for the MOOC which provides only shared 4 GB memory and 1 CPU. Up to now this was sufficient but I agree for the dask exercise it would be good to have some more resources available. We'd be happy to configure more resources and are available to discuss the required configuration details like duration. We're happy to cover the incurred costs up to a limit like the free trials but depending on the requirements we should also start discussing funding options. Maybe ESA's NoR could be a mechanism?

@aapopescu
Copy link
Collaborator

@Schpidi, NoR could be an option. We should then consider a shared-resources cost model for course participants. Could you try to make an estimate of necessary resources per 100 participants?

@tinaok
Copy link
Collaborator

tinaok commented Sep 24, 2024

@Schpidi I think some testing with 4 threads with 4 times the Memory would be good to evaluate if this is not too much/ little, and wall_time required for learner to spend.
When can we make the test?

@Schpidi
Copy link
Collaborator

Schpidi commented Oct 17, 2024

@tinaok apologies for the delay, maybe you've seen it already but there should now be a new profile available for your user for testing with more resources:

image

@annefou
Copy link
Contributor Author

annefou commented Oct 28, 2024

I tested the new profile with the pangeo kernel and it works. We can show the dask dashboard and users can learn how dask parallelisation "works". Now we need to work on the lesson itself to see if the resources are sufficient for a learner to get a good understanding of dask.

One thing that is still missing is the config file for dask. As mentioned earlier by @tinaok it makes it much easier for users. Each user needs to have a config file ~/.config/dask/distributed.yaml with:

distributed:
  dashboard:
     link: "/user/{JUPYTERHUB_USER}/proxy/{port}/status"

(see message from Tine above).

@Schpidi
Copy link
Collaborator

Schpidi commented Nov 7, 2024

Added the environment variable DASK_DISTRIBUTED__DASHBOARD__LINK with value https://hub.eox.at/user/{USERNAME}/proxy/{port}/status directly in the workspace.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants