Monday, February 29, 2016

Mobile processing

Today, we still tend to move data to processing, though in the datacenter the trend is in the other direction: We move processing to the data.

I see it as highly likely that as smartphones become ever more powerful, the nodes of smartphones and their mostly idle capacity will eventually become available for crowdprocessing of problems, like SETI for PCs long ago. The main counter-argument is that it will cost battery life, and that the energy-per-computation cost will remain prohibitively high compared to transporting data to a data center and computing there instead. Depending on battery tech evolution, this may well be a killer counter-argument.

The other trend is that it will be expensive to send lots of data to clouds, so data processing will be done closer to the source in order to reduce transmission footprint. The best, most wide-spread sensors in the world are the one in your smartphone. The smartphones will get packed with more and more sensors over time. It would make perfect sense to create docking interfaces in the smartphones to allow additional sensors to be attached, as long as the sensors are small and don't cause discomfort.

The key question is then, how should the request/allow/deny protocol for on-smartphone processing work? It wouldn't make sense to bother the user every single time, there has to be a policy with opt-ins. This already exists today in the App installation permissions. What about security concerns? Eating battery life doesn't hurt your integrity, so as long as permissions are kept low, this can be overcome.

It is likely the best incentive would be crowdsourcing (already happening on a massive scale, e.g. for traffic applications like Waze) or crowdcharity. What else might convince users to give up their battery life? There would need to be a way to identify a simple and direct connection between compute cycles for a distributed problem, and value (to somebody). Bitcoin or other cryptocurrency farming might be an option, though it raises hairy security issues and it's also not near economically viable (see e.g. http://securitywatch.pcmag.com/mobile-security/325365-it-takes-14-million-android-phones-to-earn-one-bitcoin). Something along the lines of, "Every hour a child in the Amazonas receives a smartphone thanks to your use of app X thanks to the contributed computation of N users".

Worth thinking about. Hard to make a prediction. It all boils down to using unused capacity, same underlying mechanics as replacing owned (non-moving 95% of the time) cars with fleets of autonomous cars constantly in motion. The difference being that there is no natural recharge point for the mobile phone. Inductive charging surfaces might be a long-term solution to that problem, but feels far-fetched.

Oh well. Prediction: By 2020, there is at least one well-known mobile processing app used by more than 5M people, whose purpose is to only do this (unlike the already-existing multitude of apps that among other things also compute and collect sensor data).

No comments:

Post a Comment