[Q] Are both cores used all the time? - Atrix 4G Q&A, Help & Troubleshooting

Just as the question states. I know the second core will sleep when not needed but say you launch an app, does the second core help load the app? The reason I ask is because I'm curious about the raw speed difference between the atrix and inspire. Now compairing the inspire running at 1.8 and the atrix seemingly stuck at 1 per core (I'm not saying the atrix wont ever be OCed but I'm just talking about what's currently available). I'm just curious if the second core will help the first with tasks. If it doesn't would that make the inspire technically way faster (obviously battery life may be an issue but this isn't a battery compairo)?
Thanks for any insight

I think you should start by knowing that overclocking ARM prroccessors gives little yield.
XOOM at 1.5 ghz scores only 500 better than a non-overclocked xoom on quadrant.

I'm going to try and simplify the answer for you.
Will BOTH cores be used? Maybe. First off, is the app itself optimized for dual core, or does it even need dual core / multithreaded capability.
Secondly, and I think more importantly, what is the rest of the phone doing. So, let's say you fire up your favorite app, the phone is still doing stuff in the background. Maybe it's checking email. Maybe Google Latitude is checking your location and updating. The point is - the other core will still be around to offload this work.
Now, WILL it go to the other core. Maybe. Maybe not. I do work on some big Sun machines, and have seen them use one or two out of 64 cores, even with massive loads and each core being used 100%, it refused to balance the load amongst CPU's.
Hope this helps.

mister_al said:
I'm going to try and simplify the answer for you.
Will BOTH cores be used? Maybe. First off, is the app itself optimized for dual core, or does it even need dual core / multithreaded capability.
Secondly, and I think more importantly, what is the rest of the phone doing. So, let's say you fire up your favorite app, the phone is still doing stuff in the background. Maybe it's checking email. Maybe Google Latitude is checking your location and updating. The point is - the other core will still be around to offload this work.
Now, WILL it go to the other core. Maybe. Maybe not. I do work on some big Sun machines, and have seen them use one or two out of 64 cores, even with massive loads and each core being used 100%, it refused to balance the load amongst CPU's.
Hope this helps.
Click to expand...
Click to collapse
Yea that's exactly like I figured, I was kinda going off Windows/Intel multi core setup. Even after dual+cores have been out for quite some time 95% of programs made still don't use more than one core (Most of those remaining 5% being very CPU intense programs PS, Autocad ect.). But I get what you mean, the one core will be dedicated to what your doing and not sharing cycles with anything else because core 2 is working on whatever pops up. So basically the Atrix might be a little slower at doing things BUT it will always stay the same speed with less/no bog.
Techcruncher said:
I think you should start by knowing that overclocking ARM prroccessors gives little yield.
XOOM at 1.5 ghz scores only 500 better than a non-overclocked xoom on quadrant.
Click to expand...
Click to collapse
So you're saying Quadrant suck as it does with most phones or OCing the Xoom (and Atrix) wont really do much?

I already built an apk for testing CPU usage on both processors... When I get some free time, I'm going to turn it into a widget... Here's what I noticed:
Because of the current OS and less dual core support for apps, the phone kind of kicks certain tasks into using the 2nd processor. The APK i built reads the '/proc/stat' file and i've noticed that when the 2nd processor is being used it actually shows up in the file as 'cpu1'. However, when it's not being used the 'cpu1' line does not exist and you can default the 2nd processor usage to 0%. It seems like performing core OS tasks (like installing apps) kick the 2nd processor into use, which is what you can expect since froyo supports dual cores.
Like everyone says, I'd expect to see more dual core usage on 2.3/2.4 (whichever motorola gives) and when more apps are designed to kick certain threads onto the 2nd processor.

Related

What's faster?

Just trying to figure out what's the pros and cons between a 1.5ghz single core and a 1.0ghz dual core. Like which one would be faster? Where would I notice these differences?
I'm trying to details decide between the flyer and the transformer.
Sent from my HTC Sensation 4G using XDA App
While I see where you are coming from on processor speed, The processor wouldn't be what I would be most concerned about when choosing between the two. I'd be looking at the mobility issue. Flyer fits in my shorts pocket. It's hands free when not in use but available whenever needed. Transformer have to carry around in hand all the time or in a bag. It is added bulk, & I found when only using a 10" device I didn't carry it around everywhere with me. It was a couch surfer.
Back to the original question. In my experience with the Notion Ink Adam Dual Core Tegra, The Flyer blew it away speed wise when running single apps and in general operation. The Tegra chip starts catching up when running multiple processes, like switching between open internet pages and other apps all running at the same time. Majority of apps aren't built to utilize dual core for speeding up their processes.
Picking the Flyer or the view isn't about processors or operating systems it's about functionality and portability. The flyer will be there when you need it, the 10" will be on the couch when you need it.
Previous post answers it quite well. In general, a higher clocked single core CPU will be faster within a single app than a lower clocked dual core CPU (although design differences between chip manufacturers means that straight comparison between MHz is not always a reliable point of comparison). Just like with PCs several years ago, there just aren't enough dual-core phones around yet for app developers to support multiple cores in their apps. Where you will see the dual core excel, is switching between apps, running lots of background processes, etc. But eventually, as multi-core phones become more commonplace, app developers will likely add support into their apps.
Thank you gentlemen, nice to see those responses. Those replys helps me make the decision.
Thanks again,
Eyeandroid
Sent from my HTC Sensation 4G using XDA App
Be sure to click the "Thanks" button on the posts that were helpful!
Maybe this will make a little sense....
Another important factor in speed is the memory, not just memory as in ram but memory as in cached memory that is built into the processor. I'm going to try to make a little diagram.
p1-->L1--L2
L3- shared ---->Ram
p2-->L1--L2
So in this diagram p1 is processor one, p2 is processor 2, and all the L1's...etc are cache.
L1 is the fastest, smallest memory cache, memory size increases as you move to L2, L3, Ram, but memory speed slows down.
Basically everytime the processor has a new task it puts that task on a stack(in one of the caches). So the faster it can unload and reload that stack then the faster the speed. Thats where processor speed comes in. So a bigger L1 cache means it can store more tasks in its stack in the fast memory cache making the machine run faster(processor can access the tasks quicker)
Now this is why the Flyer out performs so many dual cores. As someone already mentioned, most applications aren't optimized for dual cores. That means that it can only take advantage of half of the combined L1. Then on top of that, it is only 1gz so it can't unload and reload the stack as fast as a 1.5 ghz can. Does that make a little sense? Ha.
I'm not exactly sure what the hardware structure is of the tegra2s, I doubt they have an L3 cache, I'm pretty sure (99.9%) thats a quad core thing, so they probably share the L2 cache.

Proper Dual Core Usage?

Just an epiphany..
The Evo3D has an asynchronous dual core, meaning as of right now, it unloads tasks to the other core when the 1st is being over burdened with things to do (am I essentially right on that one?)
So, basically, the second core only pops in to say hello once in a while right?
with they way that cpu's work, the harder you push it the higher amount of energy it needs and the higher amount of heat it throws off and that begins to multiply. So, overclocking the cpu even .2ghz increases heat and power usage by 1.3x rather than just 1.0x (not actual values, just stating it is MORE than a slight bump the higher it clocks.)
So, wouldn't running both cores more often than not, keeping them from reaching their peak speeds be way more beneficial to battery life than letting one core hit it's peak and than have the slacker core go "oh, dude... yeah, I'll take bag of breads while you carry the remaining rack of pop, bag of canned veggies, frozen pizzas and laundry detergent."
I dunno, just a thought.. now that we have s-OFF, is there any way we can drop the threshold so the second core will kick on sooner, rather than later?
Before the phone came out I read somewhere that one core operates the android system and radios while the other does user initiated tasks.
Im not really sure but that makes sense to me. It would be nice to have a definite answer on this though.
It has asynchronous cores lol. Not asymmetrical.
doctor ladd said:
Before the phone came out I read somewhere that one core operates the android system and radios while the other does user initiated tasks.
Im not really sure but that makes sense to me. It would be nice to have a definite answer on this though.
Click to expand...
Click to collapse
Nah..but in a synchonous cores both run at the same time. Asychronous cores one handles all the tasks and stuff, and only calls on the second one as needed. I don't know if this can be changed though. This is how the 3vo is.
Asynchronous just means each core can run at a different speed. It's much more efficient.
Product F(RED) said:
It has asynchronous cores lol. Not asymmetrical.
Click to expand...
Click to collapse
*facepalm* god... Yeah, I should have proof read it. Duh.
Anyways. from what I have read the Evo3D only really uses the second core when the first is over taxed. That's what I was getting at. Wouldn't it still be more effective to call on the other core sooner?
Are We Not Phones?
We Are D3VO!
Are we not phones?!
3.DeE.V.O.!!
Here, this is from my answer to another persons question.
View Full Version : asynchronous dual core vs others
18th June 2011, 08:46 AM
I have a question about the 3D's dual core that I'd like more clarification on the vague answers I'm getting by searching this site and google. So I've read that the core is asynchronous so basically meaning the second core doesn't do much work unless needed as others like the tegra 2 and exynos have both cores running or something similar to that, and that this is affecting the benchmark scores. I also read that one would basically double the score of the 3D to get a more accurate reading. Can anyone confirm or further explain this?
18th June 2011, 09:18 AM
Yes, asynchronous is when something operates on another thread whereas the main thread is still available for operating. This allows for better performance in terms of managing tasks. Now just because it doesn't score high on a benchmark, it doesn't mean it is going to perform. Also this allows for better performance for the battery.
I haven't slept for the past 12 hours so if this doesn't help you, just let me know and I will fully elaborate on how the processor will operate on the phone. Now time for bed :'(
In short, asynchronous operation means that a process operates independently of other processes.
Think of transferring a file. A separate thread will utilized for doing so. You will then be able to do background things such as playing with the UI, such as Sense since you will be using the main thread. If anything were to happen to the transferring file (such as it failing), you will be able to cancel it because it is independent on another thread.
I hope this makes sense man, kind of tired. Now I'm really going to bed.
Like my help? Thank me

[Q] Dual Core does not equal smaller temps?

Hi guys,
Given that our superphone uses two cores, I was just wondering how can it be that the temperatures are soaring when playing, say.. Asphalt 6, when with one core (i.e. Galaxy S1) the temperature when playing the same game was burning my hands a bit less. (imo, at least)
If you have two cores, instead of one, doesn't that mean that the work load gets divided in half, and so the processors work half as less?
Of course, this is also related to battery life. Dual cores were supposed to be more energy efficient than single cores.
Just sayin'..
Talbred said:
Hi guys,
If you have two cores, instead of one, doesn't that mean that the work load gets divided in half, and so the processors work half as less?
Click to expand...
Click to collapse
No this is not correct in practice, only in theoretical examples in powerpoint-slides from those who makes the dual-core processors... Well to be honest there are probably several cases in reality as well, but not as many as the want us to believe.
Games are a typical task that is difficult to load-balance, the usually consist of a few threads, and mostly one thread has the highest load. And when it comes to Tegra 2 and Exynos, both cores have the same clock frequency, so both cores will usually be at full clock frequency during an intensive game.
the true cause, right now the 2.3.x is not Dual Core / Quad Core compatible
so it's wasted processing, basically right now BOTH, yes both CPU are processing the same app at 100%
wait for Ice cream Sandwich 4.0 to be released then it should truely split the load between the 2 CPU instead of 1 CPU doing everything or both CPU doing the same thing in mirror
AllGamer said:
the true cause, right now the 2.3.x is not Dual Core / Quad Core compatible
so it's wasted processing, basically right now BOTH, yes both CPU are processing the same app at 100%
wait for Ice cream Sandwich 4.0 to be released then it should truely split the load between the 2 CPU instead of 1 CPU doing everything or both CPU doing the same thing in mirror
Click to expand...
Click to collapse
This is not really correct, this is what I've learned (but please correct me if I'm mistaken):
The java part (the part in Dalvik virtual machine) of an app cannot use more than one core (this is where all this "not dual core compatible" comes from), but different apps can be on different cores, and even more important:
native code outside of Dalvik VM are handles as usually in Linux, i e no problem to have many threads/processes automatically allocated on different cores. And advanced 3d games most likely have a lot of native code.

Dual cores jumped the gun?

This is actually the second time I'm opting for a single core device (first being when I got my samsung captivate instead of the moto atrix which would have required a 1 month wait)
My logic has been that it took a long time for dual cores to really be worked into laptops/desktops well therefore I probably wouldn't miss too much with a single core tablet if I wasn't multitasking a lot.
So after reading http://www.anandtech.com/show/4463/the-htc-flyer-review/8
I've really began to wonder.. while I don't doubt the programming skills of the android creators or anything..
How much multi core optimizing is really going on? I have no doubt that the Tegra 2 processor can mop the floor with a single core in a lot of areas.. But, on the flipside.. the higher clockspeed seems to have quite a few advantages.. And outside of multitasking or apps that are seriously threaded well.. Seems like the benefits of dual core are a bit over rated..
You might not have threaded apps, but you would presumably multitask a bit on your phone, so one core can run a browser and the other core something else, etc.
Still, I don't think single cores are yet outdated, simply because none of the non-gaming apps really load one core that much anyway. If you wanted to crunch numbers, you'd use a PC. And if you're gaming on your phone, you wouldn't be multi-tasking.
Its just the way things work. Hardware always leads software that can actually take advantage of it by 6 to 18 months. That's why if you keep buying the next big things , you never actually get to use the new features. It's a marketing ploy a lot of times.
porcupineadvocate said:
You might not have threaded apps, but you would presumably multitask a bit on your phone, so one core can run a browser and the other core something else, etc.
Click to expand...
Click to collapse
That's the thing, there isn't much "something else" going on most of the time. Background synching of email and a few other apps; downloading a big file. What else? Most apps just get suspended in memory, and don't need to be actively "running". Multi core may make switching a bit faster, but that's really it, until we see apps optimized for multi cores.
Back to the OP's question, in a similar discussion on multi cores, one person on these forums mentioned that hardware always precedes software. I have to agree with that point. Hardware manufacturers will always sell what is on the bleeding edge, because specs and marketing buzzwords (which dual or quad core have definitely become) will always sell hardware. But software developers just want there apps to be compatible with the majority of the hardware being used. If most people have single core Android devices (huge majority do, right now), there is little motivation to spend the resources making the apps optimized for multi cores.
Makes a lot of sense to me.
I think a lot of people forget that if all you want to do is browse the web/email.. Even a computer that is old will still work well enough for basic task.. Example I'm typing this from a single core emachines that is a 2 ghz athlon processor.. My parents haven't upgraded, because it still works and still moves relatively fast for basic task.
Plus, there is a misconception that two 1 ghz processors = 2 ghz total clockspeed.. but, doesn't quite work like that..

running full speed interesting observation

OK I've got mine on normal mode, and this kind of confirms my original thought that the 500mhz 5th core is clocked to low. I find the pad actually speeds up when I have multiple items in my recently run tab! If my understanding of the way it works these programs are still running in the background right? Then it starts kicking in the other 4 and not just running on the 5th at 500mhz! I really think we'd see a speed boost if we can get that 5th core over 500. Yes its supposed to save battery life but I really don't think 500 is fast enough to run on its own. You're thoughts and observations?
markimar said:
OK I've got mine on normal mode, and this kind of confirms my original thought that the 500mhz 5th core is clocked to low. I find the pad actually speeds up when I have multiple items in my recently run tab! If my understanding of the way it works these programs are still running in the background right? Then it starts kicking in the other 4 and not just running on the 5th at 500mhz! I really think we'd see a speed boost if we can get that 5th core over 500. Yes its supposed to save battery life but I really don't think 500 is fast enough to run on its own. You're thoughts and observations?
Click to expand...
Click to collapse
ill check on this when i get home. this issue im assuming is with honeycomb itself. we would assume that ICS would properly use those cores
Sent from my Samsung Galaxy S II t989
i don't have it yet (mine gets delivered on wed), but what you observed makes perfect sense. Can they change it to run on say an 800 MHZ constant "down" to 500MHZ when doing the most simple tasks? obviously i to do not believe that 500MHZ will be sufficient at all times to do screen scrolling and such on it's own.
I'm really hoping that the few performance issues people are seeing is resolved in firmware updates and a tegra 3 optimized version of ICS. Maybe asus/nvidia needs to do more tweaking to HC before the ICS build is pushed if it will take a while for ICS to arrive to the prime (past january).
The cores are optimized just fine. They kick in when rendering a web page or a game, but go idle and use the 5th core when done. Games always render.
ryan562 said:
ill check on this when i get home. this issue im assuming is with honeycomb itself. we would assume that ICS would properly use those cores
Sent from my Samsung Galaxy S II t989
Click to expand...
Click to collapse
Nothing's changed over HC in the way ICS uses h/w acceleration. And I'd assume apps using h/w acceleration do so via calls to the OS, not to the chip directly. So it appears what you've got is what you're going to get.
---------- Post added at 06:59 PM ---------- Previous post was at 06:55 PM ----------
markimar said:
OK I've got mine on normal mode, and this kind of confirms my original thought that the 500mhz 5th core is clocked to low. I find the pad actually speeds up when I have multiple items in my recently run tab! If my understanding of the way it works these programs are still running in the background right? Then it starts kicking in the other 4 and not just running on the 5th at 500mhz! I really think we'd see a speed boost if we can get that 5th core over 500. Yes its supposed to save battery life but I really don't think 500 is fast enough to run on its own. You're thoughts and observations?
Click to expand...
Click to collapse
Do you have Pulse installed? A bunch of people using it were reporting stuttering where their lower powered devices aren't. If you run it at full speed, does it stutter? One of the hypothesis is that it's the core's stepping up and down that's causing the stuttering.
BarryH_GEG said:
Nothing's changed over HC in the way ICS uses h/w acceleration. And I'd assume apps using h/w acceleration do so via calls to the OS, not to the chip directly. So it appears what you've got is what you're going to get.
Click to expand...
Click to collapse
Also, correct me if I'm wrong, but I don't think that the OS knows about the fifth core? I believe the chip's own scheduler manages the transition between the quad-core and the companion core, not the Android scheduler.
Mithent said:
Also, correct me if I'm wrong, but I don't think that the OS knows about the fifth core? I believe the chip's own scheduler manages the transition between the quad-core and the companion core, not the Android scheduler.
Click to expand...
Click to collapse
That's the way I'd guess it would work. I don't think Android addresses different chips differently. I'd assume it's up to the SoC to manage the incoming instructions and react accordingly. If Android was modified for dual-core, I don't think it diffentiates between the different implementations of dual-core chips. Someone with more h/w experience correct me if I'm wrong. Also, does anyone know if the chip manufacturer can add additional API's that developers can write to directly either instead of or in parallel with the OS? I ask because how can a game be optimized for Tegra if to the OS all chips are treated the same?
I tried out the power savings mode for a while.it seemed to perform just fine. Immediate difference is that it lowers the contrast ratio on display. This happens as soon as you press the power savings tab. Screen will look like brightness dropped a bit but if you look closely, you'll see it lowered the contrast ratio. Screen still looks good but not as sharp as in other 2 modes. UI still seems to preform just fine. Plus I think the modes doesn't affect gaming or video playback performance. I read that somewhere, either anandtech or Engadget. When watching vids or playing games, it goes into normal mode. So those things won't be affected no matter what power mode you in, I think..lol
I was thinking of starting a performance mode thread. To see different peoples results and thoughts on different power modes. I read some people post that they just use it in power/battery savings mode. Some keep it in normal all the time. Others in balanced mode. Would be good to see how these different modes perform in real life usage. From user perspective. I've noticed, so far, that In balanced mode, battery drains about 10% an hour. This is with nonstop use including gaming, watching vids, web surfing, etc. now in battery savings mode, it drains even less per hour. I haven't ran normal mode long enough to see how it drains compared to others. One thing though, web surfing drains battery just as fast as gaming.
BarryH_GEG said:
I ask because how can a game be optimized for Tegra if to the OS all chips are treated the same?
Click to expand...
Click to collapse
I hate quoting myself but I found the answer on Nvidia's website. Any otimizations are handled through OpenGL. So games written to handle additional calls that Teg2 can support are making those calls through OpenGL with the OS (I'm guessing) used as a pass-through. It would also explain why Tegra optimized games fail on non-Teg devices because they wouldn't be able process the additional requests. So it would appear that Teg optimization isn't being done through the OS. Again, correct me if I'm wrong.
BarryH_GEG said:
That's the way I'd guess it would work. I don't think Android addresses different chips differently. I'd assume it's up to the SoC to manage the incoming instructions and react accordingly. If Android was modified for dual-core, I don't think it diffentiates between the different implementations of dual-core chips.
Click to expand...
Click to collapse
I did some research on it; here's what Nvidia say:
The Android 3.x (Honeycomb) operating system has built-in support for multi-processing and is
capable of leveraging the performance of multiple CPU cores. However, the operating system
assumes that all available CPU cores are of equal performance capability and schedules tasks
to available cores based on this assumption. Therefore, in order to make the management of
the Companion core and main cores totally transparent to the operating system, Kal-El
implements both hardware-based and low level software-based management of the Companion
core and the main quad CPU cores.
Patented hardware and software CPU management logic continuously monitors CPU workload
to automatically and dynamically enable and disable the Companion core and the main CPU
cores. The decision to turn on and off the Companion and main cores is purely based on current
CPU workload levels and the resulting CPU operating frequency recommendations made by the
CPU frequency control subsystem embedded in the operating system kernel. The technology
does not require any application or OS modifications.
Click to expand...
Click to collapse
http://www.nvidia.com/content/PDF/t...e-for-Low-Power-and-High-Performance-v1.1.pdf
So it uses the existing architecture for CPU power states, but intercepts that at a low level and uses it to control the companion core/quad-core switch?
Edit: I wonder if that means that tinkering with the scheduler/frequency control would allow the point at which the companion core/quad-core switch happens to be altered? If the OP is correct, this might allow the companion core to be utilised less if an increase in "smoothness" was desired, at the cost of some battery life?
Mithent said:
I wonder if that means that tinkering with the scheduler/frequency control would allow the point at which the companion core/quad-core switch happens to be altered? If the OP is correct, this might allow the companion core to be utilised less if an increase in "smoothness" was desired, at the cost of some battery life?
Click to expand...
Click to collapse
So what we guessed was right. The OS treats all multi-cores the same and it's up to the chip maker to optimize requests and return them. To your point, what happens between the three processors (1+1x2+1x2) is black-box and controlled by Nvidia. To any SetCPU type program it's just going to show up as a single chip. People have tried in vain to figure how to make the Qualcomm dual-core's act independently so I'd guess Teg3 will end up the same way. And Nvidia won't even publish their drivers so I highly doubt they'll provide any outside hooks to control something as sensitive as the performance of each individual core in what they're marketing as a single chip.
[/COLOR]
Do you have Pulse installed? A bunch of people using it were reporting stuttering where their lower powered devices aren't. If you run it at full speed, does it stutter? One of the hypothesis is that it's the core's stepping up and down that's causing the stuttering.[/QUOTE]
I have been running mine in balanced mode, have had pulse installed since day one, no lag or stuttering in anything. games, other apps work fine.
Well my phones when clocked at 500 so I wouldn't be surprised
Sent from my VS910 4G using xda premium

Categories

Resources