Nikita Ivanov talks about creating self-organizing swarm grids for the purposes of using the cycles in all of those Android phones that will probably be out there in the next couple of years. It's certainly doable - we already know how to do it - they're just more Linux devices, after all.

Sounds pretty cool at first blush, but what does it buy you?
A source of raw cycles? Not too sure about that - while bandwidth will be faster, having a 3G interconnect will still make it very expensive (in terms of time spent) to move the data around, at least relative to what each computing node will be capable of. Besides, you have all the security, reliability, and operational uncertainty intrinsic in devices that come and go, get used for other stuff get lost, not to mention even worse problems ...
Besides, the processor inside those phones is cheap. Powerful, but very cheap. So why go through all this trouble to make use of the cheapest resource in this future computing ecosystem? Especially when you're limited to a handful of compute-intensive problems that may be partitioned into very small pieces? Double especially when you incur all sorts of security, reliability, and operational concerns?
Food for Thought
One part of Nikita's post that I like is creating ad-hoc clouds out of mobile devices. Of course I like it - we love self-organization and all that it brings! It's just that those clouds probably won't be a very good source of raw compute cycles. But take that idea farther ...
Application fabrics are self-organizing by definition (yes we use lots of swarm behavior to make this so). One of the best results of this is that for most purposes the fabric presents an extremely simple abstraction to the developer - no matter how many processors you have, they look and act like one thing.
To that mix we add architecturally-ensured reliability, a deep sense of time, and self-operations. So perhaps that ad-hoc Android cloud could be used for creating transactional, event-driven apps where a bunch of those devices happen to be ... that could be a lot of fun (in your seats!) at a ball game, and could be very essential in the battlefield (a post for another day).
Bottom Line
Creating compute clouds out of Android (or other mobile) devices will definitely be doable, cool to do, and actually not all that hard (especially if you already know how to do self-organization). The key will be making the resulting cloud clean and easy to use for the developer, particularly for a bunch of different apps (like event-driven, time sensitive stuff).








Post new comment