Distributed Computing

Devices are found in abundance around us. Most of the times, the resources available at each devices are not fully utilized. Moreover, with increase in computational capabilities of mobile and handheld devices, it is worth to explore distributed computing on these hand held devices.

First of all this Idea is not new. There is a lot of work already done in this area. Examples can be Googles Map reduce, BOINIC, etc. One can examine the literature for basic theory. For complete list please visit http://en.wikipedia.org/wiki/List_of_distributed_computing_projects

But this idea is not explored on handheld devices. These devices are inherently different than distributed computing nodes studied so far. Other reason is that handheld devices are power constrained and limited in bandwidth. But still there abundance is apealling.

Distributed computing over mobile devices can be fruitful for applications which can be parallelized and have very less communication because the communication has a vast overhead. More or less, I think there exists one. We can think of one such application and then create a frame work for distributed computing.   For the time being, a computer  scientist can take the assumption that battery power is not an issue.

One can come up with a framework in which a host dispatches jobs to the remote nodes and then the nodes send the result back to the host. Host in turn combines the results. Obviously this approach should be better than executing the same algorithm over a single machine.

The selection of such parralel algorithm with low communication is left over to decide in the course of the project. Of course if one is able to show the efficiency even for a specific algortihm then it would be declared as a success for this project.

Proposed Application:

Any parralel application which has low bandwidth requirements can be used to benchmark the framework. For example, QR factorization, LR decomposition, Parralel matrix multiplication etc. However still some further analysis and architectural design is required to come up with interesting results.

Platform:

In this project, Android based handheld devices can be used with Java on host machines. One reason of proposing this platform is provides independance from the underlying hardware and has very good tools, support and help available over internet.

Links to relevant theory:

Map reduce: http://labs.google.com/papers/mapreduce.html

BOINIC: http://boinc.berkeley.edu/

Distributed computing : http://www.dmoz.org/Computers/Computer_Science/Distributed_Computing/Publications/ 

P.S. Please feel free to discuss, tailor this initial idea. I will be happy to reply to your comments

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: