Showing posts with label Android. Show all posts
Showing posts with label Android. Show all posts

Saturday, December 28, 2013

Experiences with BOINC for Android

Let me preface this with, for the most part I am happy with BOINC for android devices, having used on my nexus 7 ( old not the new one released in 2013) for half a year or so now.  Doing this really makes me happy I abandoned my BOINC on raspberry pi quest, as on the nexus with just as powerful if not more so processor as the raspberry pi.  So to explain that last comment a brief discussion on a noticeable technological difference between ARM and the ubiquitous personal computing x86 CPUs.

ARM processors are loved because they use far less energy than x86, not to mention are more cost effective to make.  This though comes at a terrible cost.  From a mathematical perspective, if the integers were the only numbers we have, ARM processors would be the leading processor technology in every device.  This is because ARM processors are just about as good as x86 processors when dealing with integers. The trouble comes from decimals/ floating point numbers. ARM processors are horribly bad in comparison to x86 processors when dealing with those numbers in calculations.

Now I do not claim to be any expert on the calculations done on any BOINC project, but I can not recall the last time I have done any science problem and not had to use decimals.  As such these calculations take longer on ARM processors than x86 even with somewhat comparable speeds quoted.

That being said as someone who loves being able to use his tablet exactly when it is needed, I often have it charging when it is not and use, and fairly often when it is in use as well. So it can work freely doing tasks most of the day/ week / month /year....

For those getting started with BOINC this can greatly propel them forward in points, and make them feel like they are making great progress. But a downside to being a serious cruncher is that my main machine could bring in more cobblestones in a single day than the nexus 7 could do in an entire year of nonstop running.   Not to mention this still touches upon my last post, I am not convinced that there are the projects, and especially the willpower to code, to bring in all these additional devices, with limited individual ability, but massive collective ability.

Monday, July 22, 2013

BOINC on Android!

I will admit after the Raspberry Pi frustrations I was skeptical about feasibly running any projects on any non x86 processor.  Though through all the endless searching for how to get things working properly on the Raspberry Pi I did come across a few groups working hard and getting decent results getting certain BOINC Projects to run on Android Devices.  I did not give it much thought at the time, because I had no Android Devices.

Fast Forward to today, having somewhat recently come into possession of a Nexus 7 through a promotional offer with my TV and Internet Provider, I have been enjoying the wonderfulness of Android devices as my first tablet backed by a good sized and fairly well rounded App store.  (Sorry nook, did you ever think that is why you can't really survive?)  While a few times the thought has crossed my mind that I should look into setting up BOINC on the Nexus 7 mostly I wrote it off as a bit too busy for that distraction right now.

Then I got a wonderful email from World Community Grid. With a Subject line of "World Community Grid: Now on Android!"  You can bet I did a little dance on the inside.  Now it took some time for me to realize WCG does not have their own Android App but rather there is a BOINC app available with a handful of compatible projects available for you to select.  I have not had much time to play with it yet, but some initial positive opinions.

There are two great power conscious options available.  One is the one that I would have been shocked and almost considered removing the app right away if it was not there, and FYI it seems to be preset to not be selected.  That is: "Run while on Battery."   Like I said this one is automatically not checked, meaning it won't run while you do not have it plugged into the wall.  This is a great thing because my Nexus already has enough little things running in the background where if I don't power it off, but simply let it sleep, 4 days later the battery is nearly dead, or completely dead, if it is not plugged in.

The second nice option, and I am sure it has a reason beyond just nice to have it is:  "Do not run when battery is below: XX%."  While this may mostly be aimed at being tied with the above option, this one is automatically set to 90%, which seemed a bit high, but call it suggestion bias, I figured I likely shouldn't bump it lower than 70% in case it actually flirts with that line by drawing so much power.

Either the nexus has a far more powerful processor than I thought, or they have special tasks in either size or crunching needs tailored to ARM processors, as in the time it took me to write this post ( about 20 minutes so far), I downloaded 4 tasks, and 1 is 7.5% complete and another is 5.5% complete.

World Community Grid Signature