Comments (11)
Also, in favor of this proposal, currently I find myself having to shell out the launch and shutdown the cluster. It would be great not to have to do that. Plus, am a big fan of being able to run multiple instances of the cluster at once.
from ipyparallel.
Agreed. For a summary of the plans I have in my head:
- make ipcluster a service, rather than a script
- ipcluster would manage many instances of controllers and engine groups, not just one at a time
- talk to it via REST API
- add a Python wrapper for the service API, so you can start/stop clusters
This would alleviate a lot of the annoyances of ipcluster, I think.
In the meantime, there's ipython-cluster-helper, which provides much of what you describe, I think.
from ipyparallel.
Thanks. I think ipython-cluster-helper
really only works with cluster schedulers, rather than locally.
from ipyparallel.
@minrk just wondering if perhaps there's a WIP version I could try.
from ipyparallel.
Sorry, not yet.
from ipyparallel.
Hey @minrk, would it not work just to start a cluster from a multiprocess.process?
from ipyparallel.
So;
def worker():
call("ipcluster start -n 4")
def main():
initipy = multiprocessing.Process(target=worker)
initipy.start()
rc = ipp.Client()
if __name__ == "__main__":
main()
from ipyparallel.
Yes, that definitely works. It wouldn't be much more than that, though I would probably invoke Launches directly in process, rather than shelling out to ipcluster, which in turn shells out to ipengine, etc. I'm mainly thinking of a nice, clean API that allows automatic cleanup, etc., so you could do things like:
with ipp.cluster(n=4) as rc:
view = rc.load_balanced_view()
...
from ipyparallel.
Is there a way to query the engines etc in python, so that you can check when an engine has finished booting up, what its currently doing? The booting up signal is particularly important from python, because we don't want someone using a python based GUI to try and use an engine that isn't yet there.
from ipyparallel.
The client doesn't know that engines are booting up, so the only way to do it is to communicate (somehow) how many engines are coming and wait for them to register. The test suite has a utility that does this:
ipyparallel/ipyparallel/tests/__init__.py
Lines 78 to 108 in fbe5be5
(my first use of embedded code snippets, yay!)
from ipyparallel.
Great, thanks @minrk
from ipyparallel.
Related Issues (20)
- No module named 'jupyter_server' HOT 2
- How to make it work with torch DDP HOT 4
- Transition from `CompositeError` to builtin `ExceptionGroup` HOT 1
- ipcluster nbextension enable not working after notebook upgrade HOT 2
- Print in multiprocessing.Process crashing the engine HOT 7
- Windows ssh support by ipcluster HOT 39
- map_sync with pandas operation function does not finish. HOT 1
- Py3.10 code serialization does not work on PyPy3.10
- sync_imports not working as intended HOT 9
- ipyparallel and pymoo doesn't work HOT 2
- AsyncResult.join doesn't work
- AsyncResult.abort() call hangs if not all jobs can be stopped HOT 1
- Question: engines and databases HOT 1
- BroadcastView map Not Implemented HOT 3
- Cannot run ipythonparallel with openmpi HOT 7
- 60s timeout on get_connection_info() is not configurable HOT 1
- please release/tag/pypi the current version as it supports JupyterLab 4.x HOT 2
- SSHEngineLauncher does not work as expected HOT 2
- Outstanding task on client but hub says completed when using broadcast view
- Entrypoints should be phased out HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ipyparallel.