3 ms·
I'm not sure all this big.little stuff is the future. The heterogenous cores make scheduling/caching/etc a nightmare particularly when someone decides that the
by StillBored 9y ago
I'm not sure all this big.little stuff is the future. The heterogenous cores make scheduling/caching/etc a nightmare particularly when someone decides that the cores have different features.
Particularly, since I think its all a crutch for lack of finer grained power control within the CPU core. Want to save more power, turn off a few of the duplicate functional units, shutdown 3/4 of the ROB buffer, or fuse a few pipeline stages together as the frequency is reduced. Whatever. The point being its possible to have a finer grained performance profile on a bunch of higher performance cores rather than wasting 1/2 the die on caches and cores that are basically useless for any real work outside of handling idle loop wakeup events to tell the GPU it needs to scroll or run a idle TCP stack's keepalives..
- lathiat 9y agoAs someone relatively naive on these things, iOS seems like the kind of platform where it's easier to integrate than the more generic case. Much easier for them to optimise for it, since (1) Apps are often using Apple-provided frameworks and you can optimise around those specifically (2) iPhones are generally performing a single task in the foreground and frequently background tasks. Even with an iPad that moves up to only 2 simultaneous tasks. Seems much easier to optimise the scheduling based on that. (3) There is a very limited set of hardware developers have to optimise for, literally basically 1 CPU per year. On that basis, any quirks will likely be found in development and can be fixed then rather than having different quirks accross a wider range of CPUs that you might have seen in Android [since 1 and 2 would apply reasonably equally to Android devices]
- gok 9y agoEven SMP chips today don't make scheduling particularly easy. Some cores share caches and some don't, some are on different sockets, some don't share the same memory banks, some are clock boosted or down clocked...
- gumby 9y agoI disagree: we've been playing these games for a long time and I don't see anything on the horizon. You know how you start a phone call in Japan with Moshi moshi‡? In the 1990s the software in some of the PHS phones would wait until there was enough energy coming through the microphone before powering up the compression hardware in order to save just a little more power. So the "Moshi moshi" would get cut off. Basically anything to save power -- people hate recharging. ‡ It's like the linguistic equivalent of the old TTY STX (which still survives in ASCII!)
- mikeash 9y agoThat's an interesting thought. You make a lot of sense to me, although I don't know that much about hardware design. I would like to note, though, that the A11's high-efficiency cores are still pretty fast. In this (highly artificial) benchmark, they were able to accomplish more work in the same time than the high-performance cores. Since there's twice as many of them, that means they're at least 50% as fast on this code. So I don't know if this really will be the future, but the "slow" ones aren't useless by any means.
- leggomylibro 9y agoI have no idea how CPUs work, but MCUs do sorta work like how they describe; want to save power? You can easily tell the chip to cut power/clock to certain peripherals, change stuff like core clock speed and memory access latencies, make some peripherals run at lower or higher clock speeds than the core, etc etc. You get really fine-grained control that allows a powerful and beefy chip to achieve really good power efficiency if the application is well-written, and a sleek ultralight 1.8V chip to devour power if it isn't.
- mikeash 9y agoI believe CPUs are similar to some extent. Modern ones can clock up and down, and computing units which aren't in use can be shut down. (An example of this that's getting a lot of attention right now is Intel's AVX-512 unit, which puts out so much heat they have to clock the entire CPU down when it's in use.) Apparently current designs can't quite do this enough, though. I'd definitely like to know the reason for that.
- 95014_refugee 9y agoIOW you think that the folks working on these things are idiots, or lazy, or perhaps that your insights are so rich and rare that they can’t possibly have occurred to any of them? Has it occurred to you that perhaps all of those things you’re mentioning have already been done, along with all the other easy ones, and the reason that something like this that’s harder to exploit is only just surfacing is because it got put off because it’s so hard to exploit? Gerard &co. are a lot better at this than you give them credit for.