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
Starting processes by hand. #108
Comments
Closing for now. |
Updated instructions Start Redis
Start the global scheduler (and pass in the Redis address)
Start the plasma store
Start the plasma manager
Start the local scheduler
Start a worker (or run this multiple times to start multiple workers).
Connect a driver (run this in a Python interpreter). import ray
address_info = {
"node_ip_address": "127.0.0.1",
"redis_address": "127.0.0.1:6379",
"store_socket_name": "/tmp/s1",
"manager_socket_name": "/tmp/m1",
"local_scheduler_socket_name": "/tmp/sched1"}
ray.connect(address_info, mode=ray.SCRIPT_MODE) Some other useful things:
|
Updating this again, since the instructions have changed. Start Redis
Start the global scheduler (and pass in the Redis address)
Start the plasma store
Start the plasma manager
Start the local scheduler
Start a worker (or run this multiple times to start multiple workers).
Connect a driver (run this in a Python interpreter). import ray
address_info = {
"node_ip_address": "127.0.0.1",
"redis_address": "127.0.0.1:6379",
"store_socket_name": "/tmp/s1",
"manager_socket_name": "/tmp/m1",
"local_scheduler_socket_name": "/tmp/sched1"}
ray.connect(address_info, mode=ray.SCRIPT_MODE) Some other useful things:
|
Updated instructions. Start Redis
Start the global scheduler (and pass in the Redis address)
Start the plasma store
Start the plasma manager
Start the local scheduler
Start a worker (or run this multiple times to start multiple workers).
Connect a driver (run this in a Python interpreter). import ray
address_info = {
"node_ip_address": "127.0.0.1",
"redis_address": "127.0.0.1:6379",
"store_socket_name": "/tmp/s1",
"manager_socket_name": "/tmp/m1",
"local_scheduler_socket_name": "/tmp/sched1"}
ray.connect(address_info, mode=ray.SCRIPT_MODE) Some other useful things:
|
More recent instructions. Note: Throughout, you will need to replace The processes on the head node can be started as follows.
After that, it should be possible to start up Ray on other nodes as follows.*
|
If you wish to start the Redis serves by hand instead of calling
|
A cool variant of this I've just successfully used: Edit services.py to output the command that was supposed to be run instead of actually running it, and put a
after it. Then you can start Ray normally and when the interpreter hits the IPython.embed, start the program by hand (possibly in gdb). It works beautifully! Here is the diff:
-- Philipp. |
I've been using tmux panes to debug. Wrote a script here that may be helpful to others. Originally, I had this in It's a little finicky since this doesn't really respect dependencies, but a little less painful than starting all processes by hand. |
@danielsuo that looks like a step in the right direction! I think the most useful thing would be to be able to start any of the Ray processes within tmux (and also within gdb), e.g., integrating something like this within services.py. |
Yeah, that would be great. I’ll keep playing with the script to see what’s
useful for me and report back.
I hesitate to add into services.py since it might clutter and couple us
more with python. Of course, I’m not really familiar with those development
plans, so defer to your judgment!
…On Fri, Aug 10, 2018 at 8:18 PM Robert Nishihara ***@***.***> wrote:
@danielsuo <https://github.com/danielsuo> that looks like a step in the
right direction! I think the most useful thing would be to be able to start
any of the Ray processes within tmux (and also within gdb), e.g.,
integrating something like this within services.py.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#108 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ACkV1q8yDqSR78MlFwRqUqlGKQ3KtyLpks5uPiLGgaJpZM4LIsAt>
.
|
A tutorial on this would be great! |
To debug crashes, it is often useful to start each of the processes (the plasma store, the plasma manager, the local scheduler, the global scheduler, redis, etc) by hand. This way, some of the processes can be started in gdb, and logging messages from the different processes are easier to read.
Currently, this can be done as follows (run all of these commands in separate terminal windows).
start_ray_local
inlib/python/ray/services.py
to be something like this.Then try running some commands and see which processes crash! Processes can be started in gdb as well (or lldb on Mac).
The text was updated successfully, but these errors were encountered: