wiki:BOINConPhones

Version 1 (modified by jbk, 13 years ago) (diff)

--

BOINC on Phones

The point of this page is to gather some info about how well BOINC runs on smart-phones - primarily Android where nothing else is stated.

Battery and System Impact

The primary concerns of many when mentioning BOINC on smartphones is how running sciene apps through BOINC will impact the overall phone performance and battery longevity.

Short Term

In the short term day-to-day scenario the primary impact from running BOINC is the fact that it consumes system resources that are not easily freed up by the normal memory manager. On Android the system usually caches recently used applications (like the home screen, the phone app etc.) in memory to allow them to start up more quickly when they are needed. When the phone runs short on RAM these apps will be evicted to free up memory for running apps. BOINC will be eating this cache for the boinc-cli and sciene apps. The UI portion of BOINC (the manager) can be a standard Android app and will not have this issue. This is not an issue as such, but more of a thing to take note of. If the phone is memory constrained people will notice the fact that, for instance, their homescreen loads in rather than smoothly jumps out as they are used to.

Another note is that the CPU will be strained if the sciene app is using it 100%. Older and/or low-cost smartphones are single core and will need to perform context switching to allow BOINC to run the science app. The sharing happens as per usual linux CPU scheduling policies but when the CPU is performing DSP/GFX there can be some pipelining issues that cause it to block either the science app or the user app for short sub-second intervals. For instance when scrolling in the browser this may make the phone appear to be slightly more sluggish than usual. This is similar to how using the GPU for computations on a normal PC can make it feel slower than it actually is (when the GPU is waiting for a kernel to complete so that it can do context switches to update the UI). Generally if the BOINC feature to "Only use the CPU while processor usage is less than X%" is turned on the phone appears to the user as very responsive and this is a non-issue.

While running CPU intensive applications the battery will drain faster since the CPU cannot enter sleep states. Surprisingly this doesn't happen nearly as fast as one would expect. If the phone is running at 100% CPU with the screen turned off it can typically drain in less than 12 hours. That's longer than the typical recharge frequency which seems to be 10 hours for most people (charging it every day when they get home). This should be compared to other uses such as GPS, BlueTooth? and 3D graphics which all drain the phone much faster. An interesting note is that if it is very cold outside it seems that running BOINC can actually make a charge last LONGER than usual (may be related to the CPU keeping the battery warm).

Long Term

There is no long term impact on the phone itself from running BOINC. The on-chip cooling (at least when running CPU-only mode science apps) is more than capable of keeping the CPU cool so that there is no damage done to it. Also most smart-phones are deliberately under-clocked to further decrease heat.

The battery, however, may sustain long term damage from the overall heat increase (however small it is). There are different models for each battery type but the general idea is that the higher the temperature the faster the internal structure in the battery will deteriorate. When the internal structure of the battery degrades the battery slowly loses the ability to gain maximal charge. For Li-Ion batteries this process happens even when the battery is on the store shelf at 20 degrees Celsius. Quoted battery shelf deterioation is typically as high as 20% per year of permanent maximal charge loss(see note).

Performance

Limitations

memory

Tested Devices

Dump

6

Notes