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

CPU client job links format needs to be specified and enforced #9

Open
rvencu opened this issue Jul 12, 2021 · 4 comments
Open

CPU client job links format needs to be specified and enforced #9

rvencu opened this issue Jul 12, 2021 · 4 comments

Comments

@rvencu
Copy link
Contributor

rvencu commented Jul 12, 2021

As for the string format sent by CPU workers, we need to specify how to use it. Otherwise, GPU nodes cannot understand all formats people invent to create those links.

Weblinks are fine and universal, however, it means we need to add some webserver to the workers and create a REST API to be able to send commands to the worker (like delete the job I just downloaded from you)

Going rsync or other ssh derivative is too risky in this scenario

So I would say we need to impose this and make the CAH client refuse malformed strings

@TheoCoombes
Copy link
Owner

I believe the webserver is our best bet in this case. We can use the same URL for all requests, just changing the method:

Download = GET
Upload = POST / PUT
Delete = DELETE

What do you think? :)

@TheoCoombes
Copy link
Owner

Also I forgot to mention, there is another method for GPU jobs, which flags a URL as invalid: client.invalidURL(). This deletes the job from the server, moving it back into open jobs.

@rvencu
Copy link
Contributor Author

rvencu commented Jul 13, 2021

ref invalidURL() please allow sending the actual string that is invalid. it might be useful for clients requesting multiple jobs at once

@rvencu
Copy link
Contributor Author

rvencu commented Jul 13, 2021

After setting up the rsync targets my opinion is that we should use that for partial work transfer from CPU to GPU because it appears to be the fastest method by far

in such case I am generating an uuid in hex format like this 1b9437eb5f5144b9aeeae13d85909bb2 and I can pass this string to jobComplete function.

sending and receiving files via rsync it trivial we just need to append the above string as folder identification to the dedicated rsync target

also rsync can take care of deleting source files for successful transfers

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

2 participants