Discussion in 'Android Devices' started by TheSystem, Jul 24, 2011.
Here is an article by Qualcomm, which i'd like to share.
"If your apps aren
Translation is that Qualcomm is trying to get devs to focus on specific optimizations that provide more bang for the buck than symmetric multiprocessing, which is what we get now by default for all properly threaded apps.
That can be a good thing - I've said repeatedly that SMP is an effective, yet not ideal, approach to dual cores.
I'll bet the takeaway here is that to get to the optimizations Qualcomm is suggesting, the final apps won't be effective on other platforms.
But to say we're not getting multi-core performance is pure hype - the title doesn't agree with the specifics of the article.
Ha! I agree, though there is one thing that is a mystery to me. I wonder how or if Ice Cream Sandwich will take advantage of these optimizations/SMP processing.
Very interesting question.
The article is stating some intriguing things concerning app developers using specific APIs to take advantage of things like optimized OpenGL libraries.
So - without really full information - it's unclear how much of this might need to be provided by HTC on the Linux side of Android, how much of this might need to be provided solely the end-user app developer, and how much might need to be provided as part of the Android infrastructure via the SDK or by direct manipulation of the Dalvik Virtual Machine (the part that makes it Android instead of just Linux).
Further - we don't even know if the methods they suggest would in any way conflict with Android, as the OS tends to like to give service resources evenly to all comers.
By the way - I noticed by accident that at some point SystemPanel updated to become dual-core aware. There are two pie charts to show activity for each CPU core. Initially, the second one was dead and I was like - WTH - and then within seconds, it started blinking up various load levels.
Pretty neat. Start some services - try music, Maps, Angry Birds maybe a few other things - and switch back and forth between spawning background processes and SystemPanel via QuickDesk - see the second core come in on demand.
Regarding your comment on Dalvik VM
Android 3.2(Honeycomb) supposedly implements support for Qualcomm SoCs, everyone knows NVIDIA Tegra II happens to be the only SoC utilized for Honeycomb tablets, but in which aspect does support for Qualcomm's SoC fall in. I have my assumptions.
SystemPanel, I've also noticed how the second core will become active on demand, very cool indeed. I just hope that Qualcomm will release an app to monitor the activity of our CPUs
Like the app shown in this YouTube video.
‪Qualcomm's Dual-core is asynchronous, demonstrated at Computex 2011‬‏ - YouTube
Here's a picture of my two cores sitting around doing nothing - except normal startup of the phone. Yep - this is how it adds up right after startup.
I did play around launching various apps and loading memory to try to show various scenarios of use - but whenever I'd get to a high load on cpu cores and memory that pesky Android kicked in and put apps to sleep or just terminated them - as advertised!
Boo yeah, I'm shaking in my boots over all the dual core performance I'm lacking for normal tasks.
Way cool points in that post there by the way, compadre.
Alert the media - while aSMP on our phones isn't ideal, it is effective at putting the full processor capabilities to use.
Right now today.
Will it only get better in the future as development in this area continues?
The signs all point to yes.
PS - How about a nice picture of Angry Birds getting put in the background while Google+ launches?
Why, soitunlee! Nyuk nyuk nyuk!
Got mine to show dual core usage while running a scan with Lookout
Maybe Qualcomm was trying to appeal to future Windows or iOS implementations with their products.
You just never know.
which app is that? thank you
The last two photos are shots of a program called "System Panel". There is a free version on the market. (If that is that app you are asking about )
Anyone using the free System Panel? I just downloaded it to give it a try/preview whether I want to drop the couple of bucks on the full version, and either it hasn't received the update for dual cores, or I just can't get mine to kick in. Tried a Lookout scan, and also loaded up Asphalt 6, and I still just have a gray pie chart showing no second core use.
Just curious if anyone else used the free one and had the second core kick on.
I have the free version and I show activity on CPU 2. Interesting how CPU1 handles most of the system stuff and CPU 2 handles more user data. I wonder if that's intentional.
Also, have something running in the background, like a streaming music service. My CPU2 clicks off every so often if it has nothing to do.
So, I just ran a Lookout scan again, and it's odd, but Core 2 clicked on and off more or less every refresh. I guess it's possible that it's not as processor intensive as I thought it would be, but it did click on anyway....here and there.
I'll likely end up buying it now just because I'm obsessed with being able to see this kind of thing (although I'd love if I could put a little bar or something in the notification area to show me in real time how it's working).
I think the likely problem, as EarlyMon has pointed out, is that with SystemPanel App running in the foreground, it's hard to stress the device enough in order to activate the second core -- Android by design will kill unnecessary background tasks and because SystemPanel App itself doesn't consume that many cycles, 1 core is sufficient to handle things, and the second core gets idled. If you try putting on a couple of music streaming apps, that might do the trick.
I thought that I had read somewhere that the second core does not get used until needed. This was to save battery life. I also thought that I had read that the Samsung Exynos CPU cores both get used equally which is why they show better performance on benchmarks like GLBenchmark. I guess that would be at the expense of battery life, but it seems alright in practice. I wish that I could find where I read that, so right now it just looks like hearsay. I will keep looking around for it, but I read it a few weeks ago.
EDIT: Ah, I see that was the point of this thread in the first place. The second CPU core only awakens if the first CPU core is stressed enough to a point to activate it. Haha.
As stated in my original post mentioning SystemPanel, I'm not switching traditionally, I'm using QuickDesk.
True in practice but not true by design.
Processes will distribute across the cores based on the way the app developer conceived simultaneous processes. This is not a new discipline and those apps that are well thought out will distribute to the second core.
Many, many apps, however, do not need simultaneous anything, and march along with instructions in specific order. Many apps fit this categorty (SystemPanel itself seems to be one) and therefore uses only one core.
However - if several of those apps themselves would like to run at the same time, the OS is ok with that and then distributes those two apps across the the two cores. That example is shown in my start-up picture.
That was snake oil.
The Exynos processor features asynchronous clocking of the two cores, just like the Qualcomm 8660 and both run an aSMP Linux kernel to make it all come true.
The Exynos and 8660 are in this regard very, very, very, very, very, very much alike and both are different from the Tegra 2, whose dual cores always execute at the same frequency, thereby strongly influencing load balancing.
The Exynos and 8660 are not identical because I cannot assume that the exact same kernel coding was used in each case. But if that coding is identical, then the two processors will be identical in this regard, hence, snake oil.
The Exynos benchmarks better because the Exynos performs some functions more efficiently.
How do you get to this screen, to see the cpu usage?
Hit Menu > Monitor
Or alternatively, tap the little pie charts at the upper left.
Do you have 35 minutes to spare, great info.
Qualcomm Analyst Relations: Snapdragon CPU Webinar