• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

3dEvo: Pre-release miscellany

Ok Early, I'm going to pick your brain for a sec here, since you have vast expertise in processors and stuff.

Explain to me how a dual core processor can actually be more energy efficient than a single core "equivalent." Is it because it can complete a given computation faster and therefore produce less heat? Is it because of a smaller manufacturing process? If a dual core 1ghz processor is running at 100%, will it burn more or less energy than a 1ghz single core processor running at 100%?

Me being a hardware noob, I had a friend of mine ask me a while back (before all these dual core phones were released) why I would be excited about dual core phones when my existing single core Evo had such poor battery life when in use. I didn't really have an answer. The assumption we're both making is that the dual core should be burning 2x more energy because it's 2x as powerful.

But is that assumption correct? I suspect not. Is it really 2x more powerful, and does it burn 2x more energy?

I think this would be relevant to Evo 3D given it's a dual core 1.2ghz (speculated by our favorite BSOD to be released clocked at 1.5ghz). Which I would assume (probably incorrectly again) that it is more than 2x as powerful than OG Evo, and therefore, the piddly 230mAh difference in battery capacity isn't going to do squat.

What say ye to that?


-edit-
maybe this is better as its own thread
 
I think it's ok here, but will go along with other user opinion or mod decisions.

After all, interest in specs is all about interest in performance, and this discussion is key to that.

Not a lot of deep hardware tech is required here - just the common sense rule that there ain't no such thing as a free lunch (TANSTAAFL).

A grain of sand may be tiny, but the Sahara is big.

Each device - transistor, diode, what have you - in the SoC is like my mythical grain of sand. Each one is already tiny, and so each one consumes an unimaginably small amount of power.

But - let's make them 65 whatsitz in diameter and fill a large jar with them. Now - they've added up their power consumption - and waste heat, because we'll always have waste heat - and that the Evo's SoC.

Now - let's take that same jar and have our robots count out the grains of mythical sand and replace them with the same number, but this time, they're 45 whatsitz in diameter. Each grain being smaller consumes even less power than earlier - and the total consumes even less power than a linear scaling of 45/65 - less power went into less waste heat.

That's the importance of the smaller manufacturing process.

OK - we've covered the material side.

But - all things aren't equal. Do they use more or fewer devices in the newer 8660 dual-core? They use more - so our power consumption is going up, all things being equal.

But will all things be equal?

No.

These processors don't run at any one clock speed - all of them, our Evos included - run at a variable speed, depending upon software load. They want to run as slow as possible, and then speed up as you add more tasks/services to perform, so they give the illusion that more tasks don't slow down the processor.

In the case of the 8660 each core is variable frequency, of course, and each core is clocked independently.

So - with the right kernel design and system optimizations, the 8660 could have less software to run to get the same job as is done with a single-core.

Less to run = lower frequencies = less power draw and less heat.

So - let's take some pretend set of tasks that requires the Evo to run at 900 MHz.

Instead of running at 450 MHz in each the 8660's cores, it might end up and run 250 MHz in one core and 350 MHz in the other - and perform at the same speed or faster from your point of view - and that will cause a power savings even though there's more stuff to power in the 8660 innards.

If both cores run processes that require a full 1.2 GHz from them, then it will eat the battery - TANSTAAFL.

But that doesn't have to happen at all - Design. ;)

So, in a nutshell, until the Evo 3D is out and we can test it as a system and see, there's no way for us to armchair if it will be same, much worse, or much better on power consumption.

Too many variables, too many guesses required.

Feedback if this makes actual sense or not, thanks.
 
i think there are some economies of scale.. for power and process and heat... it is not 1 to 1... it is exponentially better.

1 man with a good chainsaw can chop a big tree in 1 full day of work. he will be very tired.

with 2 men and 2 chainsaws ...same tree can be done in 1/3 day .. and they dont work as hard while they work.
 
And PS - just like cameras have the megapixel myth, processors have the megahertz myth.

Think of our mythical grains of sand in the processor. Signal propagation time will go faster thru the smaller devices if we had two totally identical processors, just one made at 45 nm, the other made at 65 nm.

And - think in terms of design. The old PowerPC processor that Apple used to use in the old G4 would actually run some intensive applications faster on the Mac at 800 MHz than on a PC with a Pentium whatsitz at 1+ GHz. (Not as many or as much as Apple over-claimed in their ads, let's not have another Apple/PC tangent, I'm just making a valid processor comparison from ancient history.) Or - if that's offensive, trust me, I can pick two other processors to make the point.

One thing you can count on in the SoCs today - they contain software to do their jobs. We call it microcode to be fancy, but it's software.

The microcode in the 8660 is much more efficient and more optimized than previously - that's the expectation, anyway. ;)

More efficient circuitry, with more efficient microcode, is what makes dual-cores possible. Properly done, expect minor miracles.

Darn my memory. At some point, I swapped out my laptop for the new Intel Duo Core (that was then) - and even though my clock speed went down from my previous single core - everything was faster for me. And my laptop lasted longer on its battery.

If you have had similar experiences, extrapolate that to this case, to help get arms around it.

It takes a lot of words (especially from me, I tend to blabber) but it's just a combination of TANSTAAFL and design factors - and common sense is perfectly fine if all factors are looked at, and the list of factors isn't big at all.
 
i think there are some economies of scale.. for power and process and heat... it is not 1 to 1... it is exponentially better.

1 man with a good chainsaw can chop a big tree in 1 full day of work. he will be very tired.

with 2 men and 2 chainsaws ...same tree can be done in 1/3 day .. and they dont work as hard while they work.

There you go! Perfect analogy!
 
So if you have some processing task on the Evo... say it's trying to brute-force decrypt something, like the old RSA challenges. You know that the CPU is near pegged so power usage is at its max...

Then you have the Evo 3D doing the same task. Both cores are pegged. Clearly the Evo 3D is going to be doing way more work than the Evo by nature of it's better processor. Assuming we're talking 1ghz all around for both single and dual core. Does the Evo 3D's processor do ~2x more work and use ~2x the battery life?

Basically I'm trying to make "all things equal" by pegging both CPUs at their max potential. Assuming the manufacturing process is equal as well. Is the assumption correct that the dual core burns 2x the battery?

The reason I want to consider the "pegged" cpu scenario is because I definitely foresee some things on the Evo 3D pegging the CPU. So in these situations, it would be a scary prospect if battery drain would be 2x faster than the Evo's max battery drain rate.

I definitely get the energy saving in the smaller manufacturing process, and I also now get that a processor with more potential has more room to be efficient. I'm just curious about the 100% scenario above.
 
If I understand correctly, BECAUSE of the smaller manufacturing process, all other things being equal and both CPUs being pegged, the 45nm will drain less power than the 65nm chip all while providing more processing power.
 
in your scenario...due to saving with economies of scale

evo will get done in 10 hrs...use 1 unit of power per hr = 10 units of power

e3d will get done in 3 hrs... use 2 units of pwer per hr = uses 6 units of power
 
Another thing to consider in all of these scenarios, is that we are probably going to be throwing more labor intensive processes at these phones. Our phones will actually be doing more, and doing it more efficiently, but battery might still seem "bad" because we are throwing that much more at the phone. Off the top of my head, one thing I expect to see more of is 3d rendered games and people saying "my evo 3d only lasts me 5 hours while gaming".
 
So if you have some processing task on the Evo... say it's trying to brute-force decrypt something, like the old RSA challenges. You know that the CPU is near pegged so power usage is at its max...

Then you have the Evo 3D doing the same task. Both cores are pegged. Clearly the Evo 3D is going to be doing way more work than the Evo by nature of it's better processor. Assuming we're talking 1ghz all around for both single and dual core. Does the Evo 3D's processor do ~2x more work and use ~2x the battery life?

Let A = work required to solve old RSA decryption.

Let B = time required to solve on single core processor.

Let C = amount of power for the single core per unit time.

Total power to solve on single core, A = C * B

If all things are exactly equal and linear, the dual-core (both cores identical to the single core) will solve it in B/2 time.

Total power to solve on brute-force dual-core, (C * 2) * (B / 2) = C * B = A

TANSTAAFL.

That's why design and the actual internal updates to each one of the many cores in the 8660 is so very important.

The more power-efficient 45 nm manufacturing process buys a lot - but we need more with two cpu cores than run even faster - we need better design inside the SoC and we need the system firmware and software to use it right.

Like Dan says - two guys ought not work in the same way on a job the same way one guy would.
 
Early: got it makes sense.

Dan330: with all things equal, in my theoretical scenario designed so I can understand better what influences what, I'm still confused about how there would be an economy of scale. Why would the dual core be more than twice as efficient than a single core if all variables like clock, manufacturing process were constant? If we weren't talking about Evo and Evo 3D, just a 1ghz single core and an 'equivalent' processor but with dual cores... would the dual core really perform more than 2x better than the single?

I can understand how two people work more efficiently. But how does that apply to a processor? I think I need the technical explanation to prove to myself that such an economy of scale exists.

@lord: that's pretty much my point. I'm sure I will be pegging my dual core CPU in the Evo 3D doing something or other. And my concern is that the battery drain is going to be high. Maybe not 2x the rate, due to many variables that Early explained won't be equal, efficiency improvements, etc. But it would still be a very fast drain, faster than we've ever seen with the Evo.
 
Dan330: with all things equal, in my theoretical scenario designed so I can understand better what influences what, I'm still confused about how there would be an economy of scale. Why would the dual core be more than twice as efficient than a single core if all variables like clock, manufacturing process were constant? If we weren't talking about Evo and Evo 3D, just a 1ghz single core and an 'equivalent' processor but with dual cores... would the dual core really perform more than 2x better than the single?

I can understand how two people work more efficiently. But how does that apply to a processor? I think I need the technical explanation to prove to myself that such an economy of scale exists.

Same way it does with people, that's why I liked Dan's example: job control, for one thing.

Linux is not a real-time operating system. Like most any *nix successful at real-time work, it's just getting by with the trick of running faster than the user requirement for the jobs.(*)

The task scheduler in Linux polls stochastically for processes of equal priority. Despite multiple threads with whatever signaling things really boil down to squeezing everything through one pipeline and managing everything via high-speed polling.

With more than one cpu path, threads can split between the two, and one that needs to sleep until the other signals can really be put to sleep.

Or - you could have the task manager in one core, more efficiently handling thread signaling going on via actual hardware event waits.

Or - Dalvik control in one core, apps in the other.

I don't know - but that's the idea. (I have written about half of a real-time SMP operating system, fwiw.)

There's a whole long discipline on this very topic in CS.

Android may be new to dual-cores - but Linux is not. Linux has a ways to go in this area, but what it does, it can do well with the right optimizations.

We ought see benefit early on from the Linux heritage, more optimizations to follow as Android matures for dual-core.

~~~personal footnote~~

(*) This is my objection to games - I'm certain I'm always hitting the point where the scheduler bias - for input from me, screen updates, move calculations, scenario setups, etc, etc - is just a cheat compared to real-world experience. This has finally improved a lot - but I just feel it's still there. I'll probably always that bias. Don't you ever get caught clicking something not fast enough, feeling sure you must have, but you lost? I always feel like I end up playing the game OS, not the game, and then get bored.
 
Why would the dual core be more than twice as efficient than a single core if all variables like clock, manufacturing process were constant? If we weren't talking about Evo and Evo 3D, just a 1ghz single core and an 'equivalent' processor but with dual cores... would the dual core really perform more than 2x better than the single?

It depends on the task, but I can give examples. Obviously, for a task which is not parallelizable, having a 2nd core won't help, so we can ignore that.

So if you have a task which can be parallelized, Amdahl's Law places some limits on the speedup. I won't explain in detail, as wikipedia has a pretty good explanation, but an example would be this: suppose 90% of a program can be parallelized to run on multiple cores; the fact that 10% cannot be parallelized means that no matter how many cores you run on, you can't get better than a 10x speedup. I suspect that's part of the intuition you're working from.

In reality, you can get super-linear speedups, though. (I think exponential might be a bit strong; that would imply the super-linearity could continue indefinitely.) But particularly at small numbers of cores, the addition of more cores can make a huge difference.

Often this is because of resource contention. Suppose a CPU core has only small amount of fast memory, or cache. If an algorithm requires more working memory than one CPU has, then it will have to spill over into slower memory -- which is often many, many times slower than the cache. So your memory bottleneck has slowed your single-core CPU down to a tiny fraction of it's peak speed. When you add a second core, your task now uses less memory; if it can now fit that algorithm into cache, you've removed the bottleneck, and both cores can operate far more than twice as fast as your single core could.

A poor but possible illustrative analogy is like trying to load two files on a mechanical hard disk. If you try to load them both at the same time, you disk spends 90% of its time thrashing between the two tasks instead of loading the actual data. If you separate the tasks by loading them one after another, it stops wasting its time with thrashing.

Edit: beat by EarlyMon. Should've expected that! :D I considered mentioning the interactivity angle as well, but I think his response covers it better than I could have. I was probably aiming more for a pure efficiency angle.
 
^But so long as we have multiple tasks on a multi-tasking OS, some overall parallelism ought occur in any case.

If the system optimizations are correct.
 
novox...

i see what you are having issue with.. it is hard for me to put it in a way to express how it might cause better performance.

there are many steps that a computer must do to get 1 data processed.. reading .. moving... writing.. process data.. moving it back...storing outcome for other process...
the cpu must be involved in all these...

with 2.. they can bunch or batch or group some process to one.. for keep the data moving faster.. to be processed to the end result.

.... 2 half full pools... to process of 1 man to move all the water to 1 pool with buckets..
fill bucket
craw out of pool
walk to other pool
empty bucket
walk back to first pool
climb back in
repeat.......

or with 2 men..
one guy in the first pool fills buckets
puts it on the wall
second guy walks filled buckets to other pool
empty bucket
walk back drop empty bucket
repeat......

the second scenario.. saves time and energy of not having to climb in and out of the pool.
 
great info. thanks! this is the kind of info that's hard to find consolidated. because there's so much general info out there. Thanks for sharing everyone.
 
I think i really got it. a dual/quad core means you have more workers standing by. But it's still up to a foreman to be smart on how to utilize these workers. A foreman that's only got 1 worker can be super smart, but the poor single worker is a bottleneck; however a foreman that has 4 workers could either be boneheaded or he could be smart. Does the foreman know how to best use his 4 workers? And that's kinda the unknown with how the Evo 3D will perform, but the assumption is that we're not going to get a dumb foreman and therefore, the dual core in general is much more efficient than a single core equivalent.
 
Obviously not the expert Early is, but even though he touched on it, one thing not talked alot about is the heat factor. Heat increases conductor resistance which, in turn, decreases efficiency/performance. All else being equal, if you take a 45nm single core chip, it will be more efficient (aka 'run faster') than a 65nm single core chip running at the same clock, because the 65nm chips runs hotter. That's a big reason why the Shift is running "faster."

But now you guys have gone and done it and thrown the Shift back into my equation of which phone to get. My Pre is quickly acting like it wants to be a Frisbee and I don't know if I can wait for the 3D (especially if higher than 199.99). I WAS down to three (3D, 4G or NS 4G), but no-ooo :) , now I gotta read about how good the shift is... Oh well, I suppose there are worse things to complain about it!
 
Obviously not the expert Early is, but even though he touched on it, one thing not talked alot about is the heat factor. Heat increases conductor resistance which, in turn, decreases efficiency/performance. All else being equal, if you take a 45nm single core chip, it will be more efficient (aka 'run faster') than a 65nm single core chip running at the same clock, because the 65nm chips runs hotter. That's a big reason why the Shift is running "faster."

But now you guys have gone and done it and thrown the Shift back into my equation of which phone to get. My Pre is quickly acting like it wants to be a Frisbee and I don't know if I can wait for the 3D (especially if higher than 199.99). I WAS down to three (3D, 4G or NS 4G), but no-ooo :) , now I gotta read about how good the shift is... Oh well, I suppose there are worse things to complain about it!


that is very true about heat... great point.


and...
i wonder how that pebble pre would skip across a pond... :p
 
that is very true about heat... great point.


and...
i wonder how that pebble pre would skip across a pond... :p


Damn kinda wish I didnt sell my PRE last year and tried skipping it across a pond lol.

That thing would overheat to no end, so many times I'd pick it up and it be damn near on fire.....mostly because of signal.

So we on coutdown yet for a release date? I say late May and Sprint pushes up the upgrade dates....or 6/06 it is.
 
So we on coutdown yet for a release date? I say late May and Sprint pushes up the upgrade dates....or 6/06 it is.
I also believe its gonna be release towards late may to early june 5/20 - 6/10 I also think sprint is going to have they're event on may 15th, just have this feeling, hopefully I'm right.
 
Obviously not the expert Early is, but even though he touched on it, one thing not talked alot about is the heat factor. Heat increases conductor resistance which, in turn, decreases efficiency/performance. All else being equal, if you take a 45nm single core chip, it will be more efficient (aka 'run faster') than a 65nm single core chip running at the same clock, because the 65nm chips runs hotter. That's a big reason why the Shift is running "faster."

As long as the phone doesn't get above slightly warm, then it's in its intended use range, but if allowed to run hot, power draw increases, compounding the problem, and lifetime is reduced.

The vicious cycle is ohmic heating (or Joule heating or resistive heating) where current flow releases heat - and we then call the resulting power hit a resistive loss. Resistance increases are small, but do happen, under normal conditions.

I'm not saying you're wrong - I'm saying it more a like a Rubic's cube, where you can't pinpoint just one side of 45 nm vs. 65 nm outcomes, so I'm glad you mentioned it.

For what it's worth - the (stock) Evo Shift, compared to my stock rom Evo with a higher-performance kernel are roughly equivalent. The Evo is a bit faster on cpu-intensive tasks, whereas the Shift is a bit better at graphics. From a practical standpoint, Flash elements (like an embedded YouTube) on a webpage will lag behind the page move more on the Shift than my Evo as-configured. Not enough that I actually care, but it is noticeable.


Mobile Processors | Snapdragon | Qualcomm


Model...... SoC.... GPU core.. Clock.. Mfg. process
=========== ======= ========== ======= ======
Evo 4G .... QSD8650 Adreno 200 1.0 GHz 65 nm
Evo Shift.. MSM7630 Adreno 205 0.8 GHz 45 nm
Thunderbolt MSM8655 Adreno 205 1.0 GHz 45 nm
Evo 3D .... MSM8660 Adreno 220 1.2 GHz 45 nm

All are using variants of the Snapdragon core, that many make a number of claims - usually con - about, but whose actually details are hidden in industrial secrecy.

Here's an old article that started it all - what's inside the Snapdragon cpu - the Scorpion?

Qualcomm Reveals Details on Scorpion Core | www.bdti.com

BTW - Snapdragon DSP cores have always been floating-point units, so far as I know.

SoC - system on (a) chip - cpu core(s), gpu core(s), dsp core(s), image processing core, and a host of others. It's not uncommon to see 4 or more cores in the existing SoCs, and at least one new model has something like 9 cores.

Just tossing out there for those new to the discussion that when we say dual-core, we're referring to the cpu configuration in the processor, not the total core count.

In the above list, only the Evo 3D is a dual-core model.

FWIW.

PS - Changed table to show Shift as .8 GHz - same thing as 800 MHz, but not everyone knows that, so I hoped this way would be clearer.
 
Back
Top Bottom