SoC Poll - What's most important for you?

Power or Battery - what's more important for you?

  • Power - I don't care about battery, as long as it's the FASTEST!

    Votes: 38 11.0%
  • Balanced - I don't mind a little shorter battery life if it has more power

    Votes: 199 57.5%
  • Battery - I'm pretty sure every current SoC is fast enough for my needs, but I want a long battery l

    Votes: 109 31.5%

  • Total voters
    346

 What's his actual name again? I guess he isn't actually a gta04 which has become sentient

(Dr.) Nikolaus Schaller

http://www.pyra-handheld.com/team.html
killers-03.jpg


Laser.jpg
 
Last edited by a moderator:
Quad cores capped to a low frequency should have a better perf/W than dual or single core capped to a high frequency. Of course the application has to be multi-threaded with little parallelization overhead, e.g. parallel compilation.

Many applications (e.g. web browsers, office stuff etc) need CPU power in bursts. They will be idle most of the time, and the reactiveness of their interface (loading/rendering time etc) depends mostly on the peak cpu performance, while their overall power consumption mostly depends on the idle cpu consumption.
Well, I know that each core needs power when enabled, even when being idle (even if it's just a tiny amount).

So four cores use more power than two cores when basically doing nothing.

Sure, under full load it might be that more cores are more power efficient (haven't tested that, but I believe you here), but when the system is idle most of the time with a few bursts (web browser), a single core should be best here.

We'd need to find out at what speed an additional core becomes more efficient and then modify the firmware to enable / disable the cores at that speed.
 Even for web browsing multiple cores can be useful, e.g. loading images and movies can be done in separate processes, keeping the interface reactive while rendering a page, etc.
No, not really.

Linux is able to move one task from one core to the other.

That's what I can see when running PCSXReARMed. Sometimes it's on CPU0, sometimes on CPU1.

However, I have not found a single webpage yet that needs more than 60 - 70% CPU Power of a single CPU when loading.

What heck of a website would that be, that would need more than two cores at once to load? :eek:  

In my (relatively uninformed) opinion, OMAP5 is the safe choice, A80 is the risky choice, x86 is the very risky choice, and Snapdragon is the best choice. They would all be acceptable choices to me, and significant upgrades compared to the Pandora.
Well, I got a first reply from Allwinner (they were fast).

It looks like they're still heavily working on it. I'm not sure what I'm allowed to post here based on the eMail, but to me it seems like there won't be a devboard or technical documentation available for quite a while.
 
In my (relatively uninformed) opinion, OMAP5 is the safe choice, A80 is the risky choice, x86 is the very risky choice, and Snapdragon is the best choice. They would all be acceptable choices to me, and significant upgrades compared to the Pandora.
From what I've seen about the Jolla Phone (they're using a Snapdragon), they are even using some hybrid-library to load Android drivers into their Linux system as no Linux drivers are available.

It also seems they're loading tons of binary blobs...

While that would work for our own distribution, it would make things harder for people who want to create and release their own Linux distribution (Slackware, ArchLinux, etc.) for the Pyra, as they couldn't simply use the kernel but would need to include these blobs and the hybrid library as well.

Other non-Linux based OS might not even be possible anymore...

Do we really want that, for a bit of more power?
 
However, I have not found a single webpage yet that needs more than 60 - 70% CPU Power of a single CPU when loading.
What heck of a website would that be, that would need more than two cores at once to load? :eek:  
Flash may lead to that.
 
However, I have not found a single webpage yet that needs more than 60 - 70% CPU Power of a single CPU when loading.

What heck of a website would that be, that would need more than two cores at once to load? :eek:
I always have 100% CPU usage on my Pandora when loading even simple sites like this Forum. ;) Same when I OC the Pandora, it just take ages to load anything (Firefox, I know it's not made for mobile Devices ). And while loading one page, you can't even scroll another page, single core limitations I guess.So I'm really looking forward for a better SoC that can browse through the web more fluidly. Should be no issue with the Pyra. Needs an better WiFi chip too of course. ^^
 
Last edited by a moderator:
Well, I know that each core needs power when enabled, even when being idle (even if it's just a tiny amount).

So four cores use more power than two cores when basically doing nothing.
Yea, but you don't need to keep the cores active.

I think A80 may be technically the best SoC, but I don't really trust the company. Snapdragon 80x is probably the second best SoC, and I think the company can be trusted but I'm not sure if they will give a small project like this decent support. OMAP5 is a decent SoC and you know what to expect from the company.
Why don't you trust them? The only detailed comment I've seen about them being unreliable had mistaken the SoC in the device for an Allwinner when it was actually an Amlogic.

So four cores use more power than two cores when basically doing nothing
I seem to recall reading that the AllWinner could disable individual cores, turn them off completely, but I can't remember where I read that. It may actually have been for a different CPU and I'm misremembering, but I definitely remember reading it somewhere. If whatever is chosen can also do this then there's no power efficiency downside: if you only need 2 cores and the other 2 (or 6) would just be waste while walking around, turn them completely off!
 That's possible in big.LITTLE specifically, not just the AllWinner chip, IIRC.

If you consider software support then atom and snapdragon will swap their places. Allwinner vs Quallcom is a very interesing story. Both have mer derived devices available (Improv and Jolla respectively), both companies don't actively prevent linux to be used on their SoCs but only support android and both have alternative free video drivers developed by a single man with various degrees of success (I didn't see a lot of progress information on mali driver recently).
 The verdict's still out on whether AllWinner will provide Linux drivers or not, isn't it? Also, Allwinner seems to have a policy for providing GPL code, so how sure are you that all of these drivers will be binary blobs? (Sure, the PowerVR one will most likely be one, but the kernel hook may not be, just like w/ the OMAP)

No, not really.

Linux is able to move one task from one core to the other.

That's what I can see when running PCSXReARMed. Sometimes it's on CPU0, sometimes on CPU1.

However, I have not found a single webpage yet that needs more than 60 - 70% CPU Power of a single CPU when loading.

What heck of a website would that be, that would need more than two cores at once to load? :eek:
It's not about how much CPU power the website requires, but about if you can load it faster by loading what you can in parallel.

Well, I got a first reply from Allwinner (they were fast).

It looks like they're still heavily working on it. I'm not sure what I'm allowed to post here based on the eMail, but to me it seems like there won't be a devboard or technical documentation available for quite a while.
Really? Everywhere I've seen has been talking about the OptimusBoard being available in March or April. Did they seem to suggest it was further out? The fact that they responded quickly is a positive sign. It shows that they are really interested in making a market for their SoC.

-God Ginrai
 
     The verdict's still out on whether AllWinner will provide Linux drivers or not, isn't it? Also, Allwinner seems to have a policy for providing GPL code, so how sure are you that all of these drivers will be binary blobs? (Sure, the PowerVR one will most likely be one, but the kernel hook may not be, just like w/ the OMAP)
They don't provide linux drivers now, improv is using libhybris for gles.

Of course anything may change, allwinner may provide full linux support, ARM may create and support opensource mali drivers or Qualcomm managers suddenly believe in opensource and order their programmers to release source code of their drivers.

Or maybe nvidia start selling their K1 SoCs to anyone.
 
Last edited by a moderator:
In my (relatively uninformed) opinion, OMAP5 is the safe choice, A80 is the risky choice, x86 is the very risky choice, and Snapdragon is the best choice. They would all be acceptable choices to me, and significant upgrades compared to the Pandora.
From what I've seen about the Jolla Phone (they're using a Snapdragon), they are even using some hybrid-library to load Android drivers into their Linux system as no Linux drivers are available.


It also seems they're loading tons of binary blobs...


While that would work for our own distribution, it would make things harder for people who want to create and release their own Linux distribution (Slackware, ArchLinux, etc.) for the Pyra, as they couldn't simply use the kernel but would need to include these blobs and the hybrid library as well.


Other non-Linux based OS might not even be possible anymore...


Do we really want that, for a bit of more power?
I want as few blobs as possible (none, ideally). I just don't see why Snapdragon would need more blobs than OMAP5. What drivers are missing?

As far as I understand (but feel free to correct me), the only really problematic hardware in terms of linux drivers on ARM are GPUs. None of them have manufacturer-supported FOSS drivers, so it's either reverse-engineered FOSS drivers or proprietary blobs. For PowerVR I don't think we should expect usable FOSS drivers anytime in the next couple of years. For Mali and Adreno the situation is much better.

Am I missing something?
 
The FOSS argument for GPU drivers is valid, but I don't think it should be a real concern for most end users. Purists for ideology I can dig it. End users if it impacts usability, but most people aren't kernel developers, most users aren't driver writers. If someone like notaz feels that omap's half open/half closed driver is good enough, then that should really be taken into consideration. After all, he will be the person most of us will turn to if something isn't working right to put hands on keyboard.

Having it to have it, then nobody capable of doing anything with it is ultimately the same as not having it.

But things like knowing that you won't need it, or having people to actually do something with it if you did, won't be known till way later down the line I think.

That's a risk for sure.
 
Last edited by a moderator:
That's possible in big.LITTLE specifically, not just the AllWinner chip, IIRC.
Almost all multicore SoCs can power gate individual cores. Power gated cores use virtually no power. It's not the same as idle cores which will just clock gated. If the OS's power governor is worth anything it'll shut off cores that haven't been used for a long time and don't have thread state resident.

That does require the kernel not constantly migrating threads to different cores (or "core parking")
 
Last edited by a moderator:
Well, I know that each core needs power when enabled, even when being idle (even if it's just a tiny amount).

So four cores use more power than two cores when basically doing nothing.
Yea, but you don't need to keep the cores active.
True, but I can't see where stuff like webbrowsing would even need four cores, when even complex sites I tried don't even need 100% on a single core.

DualCore should be enough power for that.

So four cores use more power than two cores when basically doing nothing
I seem to recall reading that the AllWinner could disable individual cores, turn them off completely, but I can't remember where I read that. It may actually have been for a different CPU and I'm misremembering, but I definitely remember reading it somewhere. If whatever is chosen can also do this then there's no power efficiency downside: if you only need 2 cores and the other 2 (or 6) would just be waste while walking around, turn them completely off!
 That's possible in big.LITTLE specifically, not just the AllWinner chip, IIRC.
AFAIK the OMAP5 can also switch off cores, so that's not a problem.

No, not really.

Linux is able to move one task from one core to the other.

That's what I can see when running PCSXReARMed. Sometimes it's on CPU0, sometimes on CPU1.

However, I have not found a single webpage yet that needs more than 60 - 70% CPU Power of a single CPU when loading.

What heck of a website would that be, that would need more than two cores at once to load? :eek:
It's not about how much CPU power the website requires, but about if you can load it faster by loading what you can in parallel.
I know. But if complex web browsing doesn't need 100% CPU power on a single core, then I don't really see why a DualCore would be slower than QuadCore.

It seems rendering complex websites aren't even using the full CPU power of a single core, so it wouldn't need full power on a dual core and it wouldn't need full power on a quad core.

What should be FASTER?

It would be faster if it was running out of CPU power, but it doesn't....

Well, I got a first reply from Allwinner (they were fast).

It looks like they're still heavily working on it. I'm not sure what I'm allowed to post here based on the eMail, but to me it seems like there won't be a devboard or technical documentation available for quite a while.
Really? Everywhere I've seen has been talking about the OptimusBoard being available in March or April. Did they seem to suggest it was further out? The fact that they responded quickly is a positive sign. It shows that they are really interested in making a market for their SoC.
I got that info directly from them via eMail.

I want as few blobs as possible (none, ideally). I just don't see why Snapdragon would need more blobs than OMAP5. What drivers are missing?
From what I know, OMAP5 only has the SGX binary blob.

According to what someone posted here somewhere at the boards, the rootfs was full of binary blobs for the Jolla.

I don't know what these all are, maybe even 3G/4G, etc.
 
Last edited by a moderator:
I don't see a huge difference between having to somehow bungle in access to Android drivers for a GPU binary blob than using a proper Linux GPU binary blob, as long as they both work the same and there aren't bugs or big performance overheads. It's not aesthetically ideal, but Android drivers are more likely to be updated anyway.

The thing that worries about OMAP5 is I don't know if there are really going to be other communities using it with some kind of Linux device, or even Android. Older OMAPs and related SoCs had BeagleBoard, BeagleBone, PandaBoard, etc and that drove a lot of development, is there any chance OMAP5 will ever get something like that? Allwinner may be relative newbs but at least they get hacker communities going around cheap products..
 
Well, I know that each core needs power when enabled, even when being idle (even if it's just a tiny amount).


So four cores use more power than two cores when basically doing nothing.
Yea, but you don't need to keep the cores active.
True, but I can't see where stuff like webbrowsing would even need four cores, when even complex sites I tried don't even need 100% on a single core.


DualCore should be enough power for that.
I think the intressting part about more cores is Desktop use. Let's say using 2 cores when running the Pandora from batteries and activate more cores when in the dockingstation. Would even like to have extra cores/CPUboards inside the dock to run really power consumpting tasks like CAD/Blender/povray stuff and alike...
 
Well, I know that each core needs power when enabled, even when being idle (even if it's just a tiny amount).

So four cores use more power than two cores when basically doing nothing.
Yea, but you don't need to keep the cores active.
True, but I can't see where stuff like webbrowsing would even need four cores, when even complex sites I tried don't even need 100% on a single core.

DualCore should be enough power for that.
That comment I made was in response to your comment on idling. The fact is that by disabling 2 cores, you will have basically the exact same power drain as if you had a 2 core device.

So four cores use more power than two cores when basically doing nothing
I seem to recall reading that the AllWinner could disable individual cores, turn them off completely, but I can't remember where I read that. It may actually have been for a different CPU and I'm misremembering, but I definitely remember reading it somewhere. If whatever is chosen can also do this then there's no power efficiency downside: if you only need 2 cores and the other 2 (or 6) would just be waste while walking around, turn them completely off!
 That's possible in big.LITTLE specifically, not just the AllWinner chip, IIRC.
AFAIK the OMAP5 can also switch off cores, so that's not a problem.
I wasn't saying it couldn't, was just pointing out that the feature WizardStan mentioned was not specifically an AllWinner thing.

I know. But if complex web browsing doesn't need 100% CPU power on a single core, then I don't really see why a DualCore would be slower than QuadCore.

It seems rendering complex websites aren't even using the full CPU power of a single core, so it wouldn't need full power on a dual core and it wouldn't need full power on a quad core.

What should be FASTER?

It would be faster if it was running out of CPU power, but it doesn't....
Actually, it doesn't matter if it is running out of CPU power or not. If you are doing everything on one core, then you have to wait for one thing to finish before you can start the next. One way to speed this up is to pipeline the tasks. However, even when you pipeline, you only have one (possibly a couple depending on the architecture, I guess) thing in each stage of the pipeline at a time. However, when you run something in parallel on multiple cores, it is possible for instructions to exist in the same stage at the same time, and be pipelined concurrently, thus speeding the process up. Now, my explanation is very basic, I would appreciate it if someone like Exophase could explain it in more detail.

Well, I got a first reply from Allwinner (they were fast).

It looks like they're still heavily working on it. I'm not sure what I'm allowed to post here based on the eMail, but to me it seems like there won't be a devboard or technical documentation available for quite a while.
Really? Everywhere I've seen has been talking about the OptimusBoard being available in March or April. Did they seem to suggest it was further out? The fact that they responded quickly is a positive sign. It shows that they are really interested in making a market for their SoC.
I got that info directly from them via eMail.
 I'm not saying you didn't. I'm simply wondering how far out they seemed to be suggesting. For this chip, depending on other factors, I would be willing to wait a little.

I want as few blobs as possible (none, ideally). I just don't see why Snapdragon would need more blobs than OMAP5. What drivers are missing?
From what I know, OMAP5 only has the SGX binary blob.

According to what someone posted here somewhere at the boards, the rootfs was full of binary blobs for the Jolla.

I don't know what these all are, maybe even 3G/4G, etc.
Honestly, I think that we'll at least have binary blobs for 3G no matter which chip we use...

-God Ginrai
 
Actually, it doesn't matter if it is running out of CPU power or not. If you are doing everything on one core, then you have to wait for one thing to finish before you can start the next. One way to speed this up is to pipeline the tasks. However, even when you pipeline, you only have one (possibly a couple depending on the architecture, I guess) thing in each stage of the pipeline at a time. However, when you run something in parallel on multiple cores, it is possible for instructions to exist in the same stage at the same time, and be pipelined concurrently, thus speeding the process up. Now, my explanation is very basic, I would appreciate it if someone like Exophase could explain it in more detail.
Sorry but I agree with ED here, if you're not getting anywhere close to 100% CPU utilization you probably won't see a measurable speed up by adding cores or increasing CPU clock speed. It means that the performance is limited by something else not related to the CPU, like waiting for the disk, network, user input, display, GPU, some arbitrary timer, anything outside the CPU.

It's possible that the software could be made faster by using more threads, if the CPU is waiting on external stuff but could have still been doing useful work. But you don't need more cores to run more threads. When one thread goes to sleep waiting for something another thread will run instead if one is available.

OSes can switch tasks with such a small time interval that it looks to the user like a single CPU is doing multiple things in parallel. There's some overhead performing the switching and additional cache pressure that you don't get if running on multiple cores, but it's relatively small. It does make a difference for some hard real time tasks but that's probably not you're talking about here.
 
Last edited by a moderator:
There is an OMAP5 PandaBoard available as well, not just OMAP4:

I think based on the reply I got from Allwinner, it would throw us at least 6 months back, which is way too much.

Aditionally, it's only an announcement right now - the SoC isn't even in mass production yet, it was only shown as pre-production model on the CES.

I've seen too many SoCs delayed by months when they should've been released already...
 
OSes can switch tasks with such a small time interval that it looks to the user like a single CPU is doing multiple things in parallel. There's some overhead performing the switching and additional cache pressure that you don't get if running on multiple cores, but it's relatively small. It does make a difference for some hard real time tasks but that's probably not you're talking about here.
Actually, I wasn't trying to say that the speed benefit was large. Only that it exists. In web browsing situations, it is likely to be negligible. I was only pointing out that _wb_'s point was not off the mark, and proving any kind of speed benefit will prove that.

I could care less about the web browsing use case in real terms, because the places where I would find 4 cores useful is for multitasking, emulation, or well-threaded games and applications.

-God Ginrai
 
Back
Top