[Q] Tegra2 dual core? - G Tablet Q&A, Help & Troubleshooting

How can I tell if my gtab is using both cores of the tegra2? When I run Quadrant, it only reports 1 core.
TIA

lpsisrl said:
How can I tell if my gtab is using both cores of the tegra2? When I run Quadrant, it only reports 1 core.
TIA
Click to expand...
Click to collapse
Currently the Roms only are utilizing one core. The devs would have to spend hours trying to create and Open source OS to support dual core. It is in the process as i understand and will see something soon.

Does the stock ROM support both cores? If it doesn't, why in the world would they release the gtab with only half a brain? I mean, what's the point of using the Tegra2 if only one core is enabled?

I don't think that's accurate. I'm running the latest Ginger Vegan which uses Pershoot's kernel. The uname -a tell me the kernel is SMP (symetric multi processing).
Doing cat /proc/cpuinfo from a shell shows me two cores, processor 0 and processor 1. So the Linux underneath is using both cores. Now I don't know how you define "use both cores" -- I would expect Dalvik to use threads that gets scheduled by the OS but I don't know that for sure.
But I think it is using the dual cores, at least to some degree.

lpsisrl said:
Does the stock ROM support both cores? If it doesn't, why in the world would they release the gtab with only half a brain? I mean, what's the point of using the Tegra2 if only one core is enabled?
Click to expand...
Click to collapse
Because Android 2.2 was not written with more than one core in mind.
If you were to use one of the several gingerbread themed roms/kernels you would see more than one core is active.. however.. very few software titles utilize more than one core so it's use is limited.

Read this:
http://www.nvidia.com/content/PDF/t...-Multi-core-CPUs-in-Mobile-Devices_Ver1.2.pdf
It does mention Android 2.2.
Like I said, the real issue is twofold. First the underlying OS (Linux) needs to support it. If you've upgraded a kernel here I am sure it does. Not sure about total stock.
Then it depends if the Android not-Java (Dalvik) handles multiple processes and threads. That may or may not vary (certainly from Eclair to Froyo was a major JIT change in Dalvik; not sure about Froyo to Gingerbread). So let's do a thought experiment. Assume the OS handles multiple processors. Even if nothing else is "right" you will get some help because the OS runs processes and threads to do various things.
But the real boost would come in running the Java code. Historically, Java is run by a JVM. So there are a few possible models:
1) JVM is one process and executes all apps and their threads in a single OS thread. Very little benefit for multiple processors in this case.
2) JVMs are spawned for each app and runs all threads for one app in a single thread. Multiple processors would help you run multiple things at once, but not much benefit to running a single program.
3) Single JVM executes each app's threads in separate OS threads. Great potential boost to have multiprocessors. Each app can be in its own process or not. Doesn't really matter. The OS schedules threads in either case.
4) Multiple JVMs execute each app and each app thread is an OS thread. Still good. Some memory waste although since most of the JVM is sharable not too bad. Multiple processors are good here too.
Reading this it appears that #4 is the case: http://davidehringer.com/software/android/The_Dalvik_Virtual_Machine.pdf
I've read elsewhere there may be a limit of 6 Davlik JVMs running at once but I couldn't find that just now.

It's not your tab or the ROM that doesn't support dual-core. It's Quadrant that only supports a single core. Programs must be written to take advantage of the dual cores, that's why you have things like the "Tegra Zone" for apps that maximize the capabilities of the chip.

OK, so what I'm getting is that we really don't know running this gtablet Froyo with TNT Lite 4.4 is actually using both cores?

OK, try this benchmark app:
https://market.android.com/details?id=com.balbadac.mandrobench&feature=search_result
It runs some single-threaded tests, then repeats them dual-threaded and compares the results. Mine showed a 86% improvement between single-core and dual-core tests.

lpsisrl said:
OK, so what I'm getting is that we really don't know running this gtablet Froyo with TNT Lite 4.4 is actually using both cores?
Click to expand...
Click to collapse
Huh? I think I said it was, depending on your definition of using.

Related

[Q] Are both cores used all the time?

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.

Bogged Down Tablet

My G Tablet which I have had since December 2010 and which has been running Froyo 2.2.1 since then respoinds incredibly sluggishly to touch input (or virtual keyboard input) when certain applications are running and using the WiFi connection.. These applications are: K-9 Mail, NewsRob and particularly Astrid.
My G Tablet runs Android 2.2.1 and Quadrant Standard tells me the ARM v7 processor has 1 Core (it should have 2, or??). and gives me a score of 1812.
First, I am confused by Quadrant finding only 1 core since I thought the Tegra 2 processor had 2 cores.
Second, how can the three applications above hog the processor core(s) to the extent they do? Don't the developers use the applications themselves and find this unacceptable? When multithreaded applications were first properly designed on the PC the rule of thumb was that the UI thread should always return in less than 1/10 second. Granted, many applications developed for Windows and by developers who lacked development skills broke that rule and the solution pushed by Microsoft and the hardware manufacturers were to sell faster PC whereas this could have been avoided by proper application design in the first place.
Bringing this back to the Android platform on the G Tablet, is this a system failing or are the three applications above so poorly designed?
Inquiring minds want to know.
When I was on froyo I put a weather widget on and it bogged everything down just as you explained. I removed the widget and pow back to normal.
hga89 said:
First, I am confused by Quadrant finding only 1 core since I thought the Tegra 2 processor had 2 cores.
Click to expand...
Click to collapse
It has, but, depending on load and usage, only one of them may be active to save on power. See this thread.
Second, how can the three applications above hog the processor core(s) to the extent they do?
...
Bringing this back to the Android platform on the G Tablet, is this a system failing or are the three applications above so poorly designed?
Click to expand...
Click to collapse
Do you know that the system is slow because those 3 apps are hogging the CPU? It is best to find out for sure. Again, see my posts in the thread linked above. The top command should tell you how much CPU is being used by which programs.

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

Developing

Here's my question. I want to start with an app or two, but ultimately want to make it to roms, themes, etc. My computer however is a bit on the low end. 1ghz dual core, 1gb ram. Decent storage though 250gb. Is this not enough, sufficient, or great. Thanks in advance
Posted from my 1.34ghz, Infected, Themed Out, Lightningbolt.
when your phone has a faster clockspeed than your desktop, it is time for an upgrade.
Bigandrewgold said:
when your phone has a faster clockspeed than your desktop, it is time for an upgrade.
Click to expand...
Click to collapse
Except clockspeed is not the almighty determinant of cpu power that years of marketing would lead you to believe. That CPU could still run circles around the phone CPU for various architectural reason I won't get into because it's too much to explain and no one will likely be interested. However, 1ghz is slow, especially if you're going to be using a Java based (that is, built on Java) IDE like Eclispe or Intellij IDEA. I've used Intellij IDEA on my 2 core Atom netbook when I'm not around my desktop and it's just painful (and Intellij is faster than Eclipse). Java anything eats RAM like a fat kid eats skittles and drags your CPU like you're running a race with him on your shoulders. Intellij IDEA eats up around 600mb of RAM being open and Eclipse is around the same.
That amount of RAM is also low as well. Your system is already using at least 50% of that + whatever more for your GPU if you do not have a separate GPU.
Can you use that computer to do some basic application tutorials, theme and do small mods? Yeah sure. Will it be annoying to do so? A little, as things lag and you probably don't realize it as you're used to that system.
If you're going to compile Android from the source, then that computer will never work out. Android source needs around 8-16gb of RAM for 2.3.x and 16-24gb for ICS. A 4 core CPU such as an i5 or i7 is also recommended.
You could build a decent computer from parts made for compiling for probably 700-900 excluding a monitor. One for just apps and anything else for probably 500-600.
Yeah definitely time for an upgrade.
I dev on my laptop. It's a Toshiba Satellite L675D-7104:
AMD Turion II Dual Core 2.5GHz cpu, 4GB RAM, 500GB HD, ATI Mobility Radeon HD 4200, dual booting Windows 7 Home Premium and Fedora 16.
It's a decent mid-range computer, nothing too special. It does the job as far as building ROMs. It can build from source, but takes a pretty long time.
Thanks folks. I will be dispatching my computer promptly, office space style
Posted from my 1.34ghz, Infected, Themed Out, Lightningbolt.
haliwa04 said:
Thanks folks. I will be dispatching my computer promptly, office space style
Posted from my 1.34ghz, Infected, Themed Out, Lightningbolt.
Click to expand...
Click to collapse
No need for that, I use old computers for linux test boxes quite a bit as you don't need that much to run it with just the command line. I'm sure someone will take it off your hands if you put it on Craigslist or give it to the thrift store.

Quad-core & Ice Cream Sandwich

Hi hi hi,
I remember back when ICS wasn't out, it was said that dual-core phones weren't able to fulfill their full potential, because the OS (e.g. 2.3.6) only supported single core.
My question is about the new quad-core phones that are coming out. Does ICS support quad-core? If not, will they function as dual-core, or will they be faster? How much faster?
This is an important issue to take into concideration when thinking about buying a new phone..
Thanks!
Sent from my Galaxy Nexus using XDA
I am not deep enough in android code to say whether android itself is capable of exploiting multicores cpus, but I can say two things that I saw myself.
#1 there are already apps for video playing that allow you to set how many cores they must use to reproduce full HD videos.
#2 if you run a chrooted Ubuntu with a single core, a dual core and a quad you'll notice a huge improvement in performance.
IMHO multicores are useful for videodecoding and heavy multitasking. On the other side, the performance gap between single and multicores cpus is not very significant when running a single application. It may depend a lot on how apps themselves are written and if they actually use the cores, more than on gingerbread or ics.

Categories

Resources