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

What about mobile phones? #89

Open
dcale opened this issue Jun 12, 2024 · 6 comments
Open

What about mobile phones? #89

dcale opened this issue Jun 12, 2024 · 6 comments

Comments

@dcale
Copy link

dcale commented Jun 12, 2024

At Acurast we're creating a distributed network of mobile devices that get dedicated to the network as compute units. The network currently counts 5000 mobile devices and it would be great to use distributed lama on those devices and benchmark the limits. Has someone tried to run distributed lama on Android/iOS?

@b4rtaz
Copy link
Owner

b4rtaz commented Jun 12, 2024

@dcale Distributed Llama supports ARM CPUs so I belive it should work (maybe it would require some adjusments).

I'm not aware of anyone trying to run it on the phone.

@DifferentialityDevelopment
Copy link
Contributor

I think one of the issues of implementing this is just that you can't simply open a port on an (unrooted) android phone.
Though I could be wrong here.
The worker and root both need an open port so the worker can communicate with the root and vice versa, so probably you'd need the workers to initiate the connection to the root, right now it expects the workers to already be running on a particular port, then the root node connects to them.
So the main difficulty is in how the worker/root communication would be accomplished, you'd probably need the root to still be a PC that isn't running android, you also mentioned you have a pool of 5000 devices, right now there is a problem where the amount of nodes cannot scale beyond the number of kv heads (correct me if i'm wrong here @b4rtaz)

Totally do-able though.

@DifferentialityDevelopment
Copy link
Contributor

DifferentialityDevelopment commented Jun 12, 2024

There are lots of ways around the communication issue, but if a port cannot be opened from the android phone side i believe the workers will need to initiate a connection with the root (something like an constant time delayed ping every second until connection is achieved, then you start up the root, wait a few seconds for worker auto discovery (workers all initiating connections with the root) then bidirectional communication at least is sorted.

On that note @b4rtaz it would be great if you didn't need to restart the workers each time the root node exits.

@dcale
Copy link
Author

dcale commented Jun 14, 2024

There are lots of ways around the communication issue, but if a port cannot be opened from the android phone side i believe the workers will need to initiate a connection with the root (something like an constant time delayed ping every second until connection is achieved, then you start up the root, wait a few seconds for worker auto discovery (workers all initiating connections with the root) then bidirectional communication at least is sorted.

On that note @b4rtaz it would be great if you didn't need to restart the workers each time the root node exits.

You can open ports that should not be the issue, I'll play around with this and will let you know what I found.

@b4rtaz
Copy link
Owner

b4rtaz commented Jul 21, 2024

Hello @dcale, have you made any progress?

@dcale
Copy link
Author

dcale commented Jul 29, 2024

I had some time off, but looking into this more actively now. Initial tests show promising results.

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

3 participants