
Observing the A11's Heterogenous Cores - ingve
https://www.mikeash.com/pyblog/friday-qa-2017-11-10-observing-the-a11s-heterogenous-cores.html
======
dep_b
A significant part of the people that respond here seem to be offended by the
lack of acknowledgement for the fact that Samsung had this before Apple had
it. I find that a really interesting response from a psychological standpoint.
Not the fact that the article could mention it although for the topic at hand
it's not required, but just the fact that it actually is _offensive_ to some
people.

All I see is an Apple geek dissecting his new Apple toy and comparing it to
his previous Apple toys and having a good time exploring it's capabilities. I
wish I could read more stuff that goes a bit deeper like this.

~~~
GeekyBear
I've always found this experiment to be revealing:

>Specifically, after explaining briefly that I was the editor of a tech news
site, I would ask iPhone users “why do you use an iPhone?” and Android phone
users “why do you use an Android phone?” My phone was always in my pocket when
I asked, and I made sure to never mention a rival platform at all.

In about three months I ended up asking 219 different people this question,
including 112 iPhone users and 107 Android users. I wasn’t terribly concerned
with the features of each platform that people liked most. I just wanted to
see how many people, unprovoked, would mention a rival platform in a negative
way when offering their responses to a complete stranger.

[http://bgr.com/2016/10/25/iphone-vs-android-survey-
takeaways...](http://bgr.com/2016/10/25/iphone-vs-android-survey-takeaways/)

~~~
pohl
Thank you for sharing. Here's the tl;dr:

47% of Android users sampled (51 out of 107) « _said things like “iPhone users
are a cult,” “I hate Apple,” “only stupid people use iPhones,” or “I hate the
iPhone” when explaining to me why they chose an Android device. Seriously,
people actually used the word hate_ »

5% of iPhone users sampled (6 out of 112) « _said something negative about
Android or about a specific Android phone manufacturer. Not a single person
make a negative blanket statement about Android users in general._ »

~~~
jrs95
I can sort of understand that sentiment from Android users. They tend to value
control/customization. I've tried Android several times for this reason,
because it is compelling. I've always gone back to iOS though, and it's
basically just been for a combination of performance and polished UX. My
issues with Android were basically:

* Little visual stutters and other relatively minor things bother me more than they should

* High rate of passive battery drain. Android devices seem to typically have much larger batteries, but they chew through power a lot faster when they're not being used than iOS devices. Heavy users probably get better battery life on Android overall, though.

* App quality. This gap is getting smaller and smaller, but it's still noticeable.

* Build quality. iPhones tend to be a lot more durable these days, at least since the iPhone 6 was released. Android devices have been cheaper feeling and more fragile in my experience.

* Bloatware. Most Android devices come with a bunch of shit I don't want and can't easily uninstall.

But all of these things considered, if I was a part of this survey, I would
probably have just said something like "I use an iPhone because Android is for
poor people" just "for the lulz".

~~~
milcron
I use the Copperhead ROM with F-Droid apps, and it addresses nearly all your
bullet points. Excellent battery life, surprisingly high quality (and FOSS!)
apps, and zero bloatware whatsoever.

~~~
OneMoreGoogle
This is the first I've heard of Copperhead. From their install page [1]:

"You can obtain the adb and fastboot tools from the Android SDK. Either
install Android Studio or use the standalone SDK. Do not use distribution
packages for adb and fastboot. Distribution packages are out-of-date and not
compatible with the latest version of Android. An obsolete fastboot will
result in corrupted installations and potentially bricked devices. Do not make
the common mistake of assuming that everything will be fine and ignoring these
instructions. Double check that the first fastboot in your PATH is indeed from
an up-to-date SDK installation"

Great if it works for you, but this is clearly not a viable option for the
great majority, nor is it an example of "polished UX."

[1]
[https://copperhead.co/android/docs/install](https://copperhead.co/android/docs/install)

~~~
milcron
I bought a preflashed phone direct from them and didn't have to follow those
steps.

Even so, it's probably not for everyone but I think it deserves a shout-out.

------
StillBored
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..

~~~
mikeash
That'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
I 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
I 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.

------
bipson
Is the author seriously so deep in the "Apple-is-the-world" bubble that he has
not yet heard of BigLittle?

In what way is the A11 different?

~~~
ksk
>Is the author seriously so deep in the "Apple-is-the-world" bubble that he
has not yet heard of BigLittle?

Why the rude comment?

~~~
ajross
In this case it's probably genuine surprise. The ARM big.LITTLE trick (see
[https://en.wikipedia.org/wiki/ARM_big.LITTLE](https://en.wikipedia.org/wiki/ARM_big.LITTLE))
been workable and shipping on real devices for half a decade now[1]. This is
not particularly innovative ground, and to write a whole blog post without
even mentioning the fact or doing a comparison with any of the existing
devices implies that maybe the author didn't do enough research.

Whether that's worth being "rude" or not is an exercise for the reader.

[1] Edit to add: and producing fairly "meh" results as far as power
consumption goes vs. their more conventional quad-core competitors. Honestly
it's not impossible that Apple found some tricks to exploit here that the
other SoC vendors haven't, but this post didn't find them.

~~~
ksk
>This is not particularly innovative ground, and to write a whole blog post
without even mentioning the fact or doing a comparison with any of the
existing devices implies that maybe the author didn't do enough research.

The blog context is made clear in the second sentence "With the release of the
iPhone X, I set out to see if I could observe these heterogeneous cores in
action.". If the context was "Here is the current state of heterogeneous
computing on mobile devices", you might have a point.

As to whether its innovative or not, Surely, you agree that designing a chip
is more than just the bumper sticker definition of "it has cores with
different speeds". But maybe you're right and it isn't innovative at all. It
would be interesting to find out.

>This is not particularly innovative ground, and to write a whole blog post
without even mentioning the fact or doing a comparison with any of the
existing devices implies that maybe the author didn't do enough research.

I don't think it implies that at all. If a C++ dev is excited about a new C++
feature and writes an article, it doesn't mean they're automatically ignorant
about other languages that already have this feature.

------
my123
Big.little was popular on ARM land before too, the Apple difference is the
speed of the big cores, and plain higher clockspeeds...

