Changes between Version 2 and Version 3 of BOINConPhones


Ignore:
Timestamp:
Jan 31, 2012, 1:58:03 PM (13 years ago)
Author:
jbk
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • BOINConPhones

    v2 v3  
    66== Battery and System Impact ==
    77
    8 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.
     8The primary concerns of many when mentioning BOINC on smartphones is how running science apps through BOINC will impact the overall phone performance and battery longevity.
    99
    1010=== Short Term ===
    1111
    12 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.
     12In 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.\\
    1313This 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.
    1414
    15 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).
     15Another 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).\\
    1616Generally 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.
    1717
    18 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.
     18While 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.\\
    1919An 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).
    2020
     
    2424There 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.
    2525
    26 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 and the higher the average charge state 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 deterioration for a fully charged battery is typically as high as 20% per year of permanent maximal charge loss^(see [#notes note]).
     26The 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 and the higher the average charge state 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 deterioration for a fully charged battery is typically as high as 20% per year of permanent maximal charge loss^(see [#notes note])^.\\
    2727Due to the fact that battery longevity is also coupled to the maximal discharge depth in each charge-discharge cycle - and that BOINC will potentially make this discharge deeper - it is difficult to assess exactly what the impact will be without getting some real-world feedback.
    2828
     
    3030== Performance ==
    3131
    32 As a small and embedded system the smart phone CPU and memory systems will typically trail behind desktop and laptop machines by an order of magnitude. It is easily possible for a single modern GPU to out-perform a smartphone (CPU-only mode) by a factor 100 or more.
    33 In a test with a HTC Desire Android phone the phone used more than 2 days to complete what the GPU completed in less than 1 hour. On the other hand, smartphones are almost always left powered on 24/7 whereas GPUs are only turned on when the computer is running. It is likely that smartphones could provide a considerable computational contribution from their sheer volume and the fact that they are kept always on.
     32As a small and embedded system the smart phone CPU and memory systems will typically trail behind desktop and laptop machines by an order of magnitude. It is easily possible for a single modern GPU to out-perform a smartphone (CPU-only mode) by a factor 100 or more.\\
     33In a test with a HTC Desire Android phone the phone used more than 2 days to complete what the GPU completed in less than 1 hour. On the other hand, smartphones are almost always left powered on 24/7 whereas GPUs are only turned on when the computer is running. It is likely that smartphones could provide a considerable computational contribution from their sheer volume and the fact that they are kept always on.\\
    3434This section talks a bit about limitations on phones as seen from BOINC or a science application.
    3535
     
    5151
    5252
    53 === Libraries with NEON support ===
     53=== Hardware DSP and Acceleration ===
     54
     55Many embedded system chips contain special parts for accelerating matrix-heavy calculations. This is typically done to allow semi-hardware decode of movies and sound files but most chips provide instruction-level access to these features as an extension of the normal CPU instruction set. For ARM these are the vfp and (more recently) neon extensions. Those extensions are comparable to SSE on regular CPUs.
    5456
    5557The FFTW3.3.1 beta introduces neon support for FFT. Configure with --enable-neon and a neon-compatible architecture set to activate it during compilation. If you do a wisdom file it will now show the neon codelets as being the fastest ones.
     
    7274== Notes ==
    7375* Battery longevity: http://batteryuniversity.com/learn/article/how_to_prolong_lithium_based_batteries
     76
     77== Other Resources ==
     78
     79Here's a list of other pages talking about specific things relating to running BOINC on phones:
     80* [wiki:WorkShop11/HackFest#BOINConAndroid BOINC on Android (From the 2nd day of the BOINC workshop 2011)]