Multicore smartphones - how to use their full potential

Message boards : Number crunching : Multicore smartphones - how to use their full potential
Message board moderation

To post messages, you must log in.

1 · 2 · 3 · Next

AuthorMessage
Profile Raistmer
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 16 Jun 01
Posts: 5981
Credit: 82,315,854
RAC: 21,557
Russia
Message 1890462 - Posted: 17 Sep 2017, 21:38:16 UTC
Last modified: 17 Sep 2017, 21:40:10 UTC

Comparing my HTC Evo elapsed vs CPU times it seems that though BOINC correctly detects it as dual CPU both tasks running on single core.
So I installed OS monitor. This app is able to show CPU state along with other low-level hardware info.
And indeed, second CPU is in sleep state. When I start to scroll screen it becomes active (to handle GUI load) but soon after that returns into sleepy/disabled state.

Perhaps it's because SETI CPU tasks run on idle level priority and CPU governor rejects to fire both CPUs for such tasks.

What your observations about real multicore usage on smartphones under Android? Any ideas how to use all cores? Phone doesn't rooted so I'm quite restricted in ways to handle this issue.
SETI apps news
We're not gonna fight them. We're gonna transcend them.
ID: 1890462 · Report as offensive
Profile HAL9000
Volunteer tester
Avatar

Send message
Joined: 11 Sep 99
Posts: 6530
Credit: 186,765,835
RAC: 32,612
United States
Message 1890557 - Posted: 18 Sep 2017, 14:16:26 UTC

The main problem I have is keeping the CPU clock up no matter how many tasks I run at once.

SETI@home classic workunits: 93,865 CPU time: 863,447 hours
Join the BP6/VP6 User Group today!
ID: 1890557 · Report as offensive
Profile Raistmer
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 16 Jun 01
Posts: 5981
Credit: 82,315,854
RAC: 21,557
Russia
Message 1890622 - Posted: 18 Sep 2017, 19:03:13 UTC - in response to Message 1890557.  

Perhaps it resembles my issue. "switchedoff" CPU is on lowest possible frequency and keeps that freq no matter that phone has 2 active background tasks.

Interesting, if SETI would run on normal priority there - will it chenge?

BTW, what app did you use on screenshot?
SETI apps news
We're not gonna fight them. We're gonna transcend them.
ID: 1890622 · Report as offensive
disco_nnected Project Donor
Volunteer tester

Send message
Joined: 19 Dec 06
Posts: 16
Credit: 9,899,959
RAC: 3
Croatia
Message 1890963 - Posted: 20 Sep 2017, 16:34:41 UTC - in response to Message 1890462.  

Hello,
just to chime in and ask a somewhat related question...

Im running BOINC on a samsung J3, three tasks at a time, not sure hot to upload photos so upping it to imgur, link below, if you look for that info in another place in the app tell me and ill check it out.

Anyway when the phone is idle (second picture) i see only one core seems active, while when running BOINC (first picture) it seems all are active.
Mind you this is just what it seems to me, to be honest i dont even know what those numbers mean, it might help you tho :D

http://imgur.com/a/4Nuzb

On a somewhat related note if anyone has info, im trying to run some tasks on my galaxy s7 (Mali T-880), but there are zero tasks for quite some time now, im guessing there just arent any or maybe something on my end?
Im not getting log message that states any reason for not downloading tasks, just: request completed, got 0 new tasks.
I do remember doing a few tasks normally way back when i just got the phone.

Thanks and i hope this info helps at least a bit, if you need something else looked at on my and, let me know.

Cheers
ID: 1890963 · Report as offensive
Profile HAL9000
Volunteer tester
Avatar

Send message
Joined: 11 Sep 99
Posts: 6530
Credit: 186,765,835
RAC: 32,612
United States
Message 1891000 - Posted: 20 Sep 2017, 18:54:33 UTC - in response to Message 1890622.  

Perhaps it resembles my issue. "switchedoff" CPU is on lowest possible frequency and keeps that freq no matter that phone has 2 active background tasks.

Interesting, if SETI would run on normal priority there - will it chenge?

BTW, what app did you use on screenshot?

It could be. Probably different phone manufactures implement power saving differently.
The app is System Info for Android.
SETI@home classic workunits: 93,865 CPU time: 863,447 hours
Join the BP6/VP6 User Group today!
ID: 1891000 · Report as offensive
Profile Raistmer
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 16 Jun 01
Posts: 5981
Credit: 82,315,854
RAC: 21,557
Russia
Message 1906210 - Posted: 10 Dec 2017, 16:08:47 UTC - in response to Message 1890963.  
Last modified: 10 Dec 2017, 16:09:14 UTC


Anyway when the phone is idle (second picture) i see only one core seems active, while when running BOINC (first picture) it seems all are active.
Cheers

That's how should be in case each task crunched on own core andphone uses all his computation nodes for crunching.
in my case 2 tasks launched by BOINC but only 1 CPU of 2 remains active.
So, each task takes ~2 times more elapsed time than CPU time to process and phone itself operates as single core devices.
SETI apps news
We're not gonna fight them. We're gonna transcend them.
ID: 1906210 · Report as offensive
JLDun
Volunteer tester
Avatar

Send message
Joined: 21 Apr 06
Posts: 548
Credit: 180,998
RAC: 21
United States
Message 1906583 - Posted: 12 Dec 2017, 2:10:24 UTC
Last modified: 12 Dec 2017, 2:29:20 UTC

Another point of comparison:

Host 8398355, currently running S@H and pogs.
[EDIT: Android 5.1.1, LG LTE model K330, in case the host info eventually gets deleted.]

Per CPU-z all 4 cores are running 97-100% at 998 MHz on wall socket, 95-99% at 1094 MHz on battery; listed range being 200MHz to 1.09 GHz

From an example WU: Wall Clock=85,532.95, CPU time=83,848.01 [seconds]

And I vaguely remember that it doesn't do Hyperthreading, but I'm forgetting how I found out.
ID: 1906583 · Report as offensive
Profile HAL9000
Volunteer tester
Avatar

Send message
Joined: 11 Sep 99
Posts: 6530
Credit: 186,765,835
RAC: 32,612
United States
Message 1906602 - Posted: 12 Dec 2017, 3:13:48 UTC - in response to Message 1906583.  

Another point of comparison:

Host 8398355, currently running S@H and pogs.
[EDIT: Android 5.1.1, LG LTE model K330, in case the host info eventually gets deleted.]

Per CPU-z all 4 cores are running 97-100% at 998 MHz on wall socket, 95-99% at 1094 MHz on battery; listed range being 200MHz to 1.09 GHz

From an example WU: Wall Clock=85,532.95, CPU time=83,848.01 [seconds]

And I vaguely remember that it doesn't do Hyperthreading, but I'm forgetting how I found out.

There is a really quick way to find out if your ARM Snapdragon 210 (8909) processor does SMT.
1. Remember it is an ARM processor and ARM has not implemented SMT.

I would guess that they haven't implemented SMT due to licensing or they don't see a use for it. Given most ARM processors are used in embedded systems where SMT mat not be advantageous.
SETI@home classic workunits: 93,865 CPU time: 863,447 hours
Join the BP6/VP6 User Group today!
ID: 1906602 · Report as offensive
Profile HAL9000
Volunteer tester
Avatar

Send message
Joined: 11 Sep 99
Posts: 6530
Credit: 186,765,835
RAC: 32,612
United States
Message 1906604 - Posted: 12 Dec 2017, 3:19:52 UTC - in response to Message 1906210.  


Anyway when the phone is idle (second picture) i see only one core seems active, while when running BOINC (first picture) it seems all are active.
Cheers

That's how should be in case each task crunched on own core andphone uses all his computation nodes for crunching.
in my case 2 tasks launched by BOINC but only 1 CPU of 2 remains active.
So, each task takes ~2 times more elapsed time than CPU time to process and phone itself operates as single core devices.

Maybe the manufacture has limited each process that starts to only use one processor with some kind of processor affinity command.
Based on the behavior you have described that seems like something that may be occurring.
SETI@home classic workunits: 93,865 CPU time: 863,447 hours
Join the BP6/VP6 User Group today!
ID: 1906604 · Report as offensive
Profile Ageless
Volunteer tester
Avatar

Send message
Joined: 9 Jun 99
Posts: 14490
Credit: 3,659,964
RAC: 646
Netherlands
Message 1906755 - Posted: 13 Dec 2017, 16:06:47 UTC

I've been running work on my old Huawei G700-U10 for the past couple of months and have been reporting the oddities of running tasks on one, two, three and four cores to Eric. The oddities being that the lower the amount of CPU cores used, the slower the work progresses.

Just the other week I found out that when the screen turns off, the CPU runs in low power mode.
Using CPU-Z and setting the display to turn on as soon as the power button is pressed, I can see that all cores show as 'stopped', running at 50% load max while the screen is off. CPU temp is then 20C (it's a cold bedroom).
Turn the screen on and the cores power up to 1407MHz, CPU load goes to 70%, CPU temp goes up to 43C.

So no wonder the tasks can take up to 350K seconds to finish.
Jord

Ancient Astronaut Theorists can tell you that I do not help with tech questions via private message. Please use the forums for that.
ID: 1906755 · Report as offensive
Profile Raistmer
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 16 Jun 01
Posts: 5981
Credit: 82,315,854
RAC: 21,557
Russia
Message 1906782 - Posted: 13 Dec 2017, 18:06:31 UTC - in response to Message 1906604.  


Anyway when the phone is idle (second picture) i see only one core seems active, while when running BOINC (first picture) it seems all are active.
Cheers

That's how should be in case each task crunched on own core andphone uses all his computation nodes for crunching.
in my case 2 tasks launched by BOINC but only 1 CPU of 2 remains active.
So, each task takes ~2 times more elapsed time than CPU time to process and phone itself operates as single core devices.

Maybe the manufacture has limited each process that starts to only use one processor with some kind of processor affinity command.
Based on the behavior you have described that seems like something that may be occurring.

But cause BOINC launches 2 tasks there are 2 independent processes actually. Still they both use CPU 0 and CPU1 get switched off soon I stop touching the screen.
SETI apps news
We're not gonna fight them. We're gonna transcend them.
ID: 1906782 · Report as offensive
Profile HAL9000
Volunteer tester
Avatar

Send message
Joined: 11 Sep 99
Posts: 6530
Credit: 186,765,835
RAC: 32,612
United States
Message 1906786 - Posted: 13 Dec 2017, 18:16:28 UTC - in response to Message 1906782.  


Anyway when the phone is idle (second picture) i see only one core seems active, while when running BOINC (first picture) it seems all are active.
Cheers

That's how should be in case each task crunched on own core andphone uses all his computation nodes for crunching.
in my case 2 tasks launched by BOINC but only 1 CPU of 2 remains active.
So, each task takes ~2 times more elapsed time than CPU time to process and phone itself operates as single core devices.

Maybe the manufacture has limited each process that starts to only use one processor with some kind of processor affinity command.
Based on the behavior you have described that seems like something that may be occurring.

But cause BOINC launches 2 tasks there are 2 independent processes actually. Still they both use CPU 0 and CPU1 get switched off soon I stop touching the screen.

I was thinking of how in works, at least in Windows, when you launch BOINC with CPU affinity. It launches all child processes with the same affinity.
It sounds like some kind of aggressive power saving function.
I'm not sure if the default Android developer options, once enabled, would be of any help.
SETI@home classic workunits: 93,865 CPU time: 863,447 hours
Join the BP6/VP6 User Group today!
ID: 1906786 · Report as offensive
Profile Raistmer
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 16 Jun 01
Posts: 5981
Credit: 82,315,854
RAC: 21,557
Russia
Message 1906789 - Posted: 13 Dec 2017, 18:21:38 UTC - in response to Message 1906755.  


Just the other week I found out that when the screen turns off, the CPU runs in low power mode.

Smth similar I observed with Asus Transformer. When screen OFF it seems it stops any processing at all.

So, the biggest question is what tools we have to adjust such power-saving features of Android devices?
Maybe device firmware can be fooled somehow to force in high-power state...
SETI apps news
We're not gonna fight them. We're gonna transcend them.
ID: 1906789 · Report as offensive
Profile Raistmer
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 16 Jun 01
Posts: 5981
Credit: 82,315,854
RAC: 21,557
Russia
Message 1906792 - Posted: 13 Dec 2017, 18:23:51 UTC - in response to Message 1906786.  


I was thinking of how in works, at least in Windows, when you launch BOINC with CPU affinity. It launches all child processes with the same affinity.

Ah, I see. Is it any tool in Android to see process/thread affinity like in Windows?
SETI apps news
We're not gonna fight them. We're gonna transcend them.
ID: 1906792 · Report as offensive
Profile HAL9000
Volunteer tester
Avatar

Send message
Joined: 11 Sep 99
Posts: 6530
Credit: 186,765,835
RAC: 32,612
United States
Message 1906844 - Posted: 13 Dec 2017, 21:21:05 UTC - in response to Message 1906792.  


I was thinking of how in works, at least in Windows, when you launch BOINC with CPU affinity. It launches all child processes with the same affinity.

Ah, I see. Is it any tool in Android to see process/thread affinity like in Windows?

I don't know of any apps that show that info, but if there are apps they might require root access. :/
SETI@home classic workunits: 93,865 CPU time: 863,447 hours
Join the BP6/VP6 User Group today!
ID: 1906844 · Report as offensive
Profile Ageless
Volunteer tester
Avatar

Send message
Joined: 9 Jun 99
Posts: 14490
Credit: 3,659,964
RAC: 646
Netherlands
Message 1906849 - Posted: 13 Dec 2017, 21:30:11 UTC - in response to Message 1906789.  

So, the biggest question is what tools we have to adjust such power-saving features of Android devices?
Maybe device firmware can be fooled somehow to force in high-power state...
Over Christmas I'm planning to test with No Screen Off and if that doesn't work, with XPosed Framework so that the screen doesn't turn off - and hopefully the CPU doesn't either. I'll have to find something to put the phone in so the screen is covered.
Jord

Ancient Astronaut Theorists can tell you that I do not help with tech questions via private message. Please use the forums for that.
ID: 1906849 · Report as offensive
Profile Keith Myers Special Project $250 donor
Volunteer tester
Avatar

Send message
Joined: 29 Apr 01
Posts: 4618
Credit: 297,692,735
RAC: 619,553
United States
Message 1906858 - Posted: 13 Dec 2017, 21:51:42 UTC

I'm assuming all the controls available in the Manager Preferences have been turned down to minimum? Is is some particular hardware that stops processing when the screen is off?

I have all the power sources used for computing turned on, even battery. Minimum battery level 10%. CPU limit 100%. Pause at usage above 90%. Ram limit 80%.

I have all ARM devices and all of them continue to to process tasks while they are sitting with the screens off.
Seti@Home classic workunits:20,676 CPU time:74,226 hours
ID: 1906858 · Report as offensive
Profile Ageless
Volunteer tester
Avatar

Send message
Joined: 9 Jun 99
Posts: 14490
Credit: 3,659,964
RAC: 646
Netherlands
Message 1906874 - Posted: 13 Dec 2017, 22:55:39 UTC - in response to Message 1906858.  

Don't get me wrong, my phone continues to go through tasks as well with the screen off, but slowly.
For example, run time 249,402.11, CPU time113,360.20
Or run time 83,353.62, CPU time 38,064.48

That's with two cores being used, but means that for ~2/3rds of the time the CPU isn't used. It was these discrepancies that made me do all the testing for Eric. Now, I get it, the device/OS may be constructed in such a way that they try to keep the temperature down. Both of the CPU and battery, but seeing how similar CPUs in RaspPi2s and 3s running under Linux run similar tasks in a fifth to a third of the time is then painful.
Jord

Ancient Astronaut Theorists can tell you that I do not help with tech questions via private message. Please use the forums for that.
ID: 1906874 · Report as offensive
Profile Keith Myers Special Project $250 donor
Volunteer tester
Avatar

Send message
Joined: 29 Apr 01
Posts: 4618
Credit: 297,692,735
RAC: 619,553
United States
Message 1906887 - Posted: 14 Dec 2017, 0:20:54 UTC

There is that parameter option in Preferences for Battery Temp restriction. Is that turned off or blank? Or do you have a temp in there?
Seti@Home classic workunits:20,676 CPU time:74,226 hours
ID: 1906887 · Report as offensive
Profile Keith Myers Special Project $250 donor
Volunteer tester
Avatar

Send message
Joined: 29 Apr 01
Posts: 4618
Credit: 297,692,735
RAC: 619,553
United States
Message 1906891 - Posted: 14 Dec 2017, 0:24:49 UTC - in response to Message 1906874.  

My cpu_time versus run_time are pretty close on all my tasks on all my devices. So I am not overloading the cpu's.

Kindle Fire HDX
Seti@Home classic workunits:20,676 CPU time:74,226 hours
ID: 1906891 · Report as offensive
1 · 2 · 3 · Next

Message boards : Number crunching : Multicore smartphones - how to use their full potential


 
©2018 University of California
 
SETI@home and Astropulse are funded by grants from the National Science Foundation, NASA, and donations from SETI@home volunteers. AstroPulse is funded in part by the NSF through grant AST-0307956.