55 comments

[ 2.1 ms ] story [ 38.1 ms ] thread
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?

Indeed, other big.LITTLE like designs are out there besides the A11. But the article isn't strictly focused on "Apple is a superior innovator."

> My theory was that this should show a strongly bimodal distribution of running times on the A11.

...and then he proceeds to devise a test. This is ultimately how you might verify the functionality of the hardware and the Darwin scheduler. If it were naive, the test might not have behaved this way.

BTW if anyone wants to do similar experimentation with a MUCH cheaper target, you can use the ODROID Xu4 (Exynos 5422, < 100 USD).

I'm not familiar with the current state of bigLITTLE, but at least initially, bigLITTLE clusters weren't capable of heterogeneous compute; you could shift between cache-coherent clusters (use either all four big cores or all four LITTLE cores) or have virtual cores, each made up of one big and one LITTLE core, with the kernel managing which physical core was actually executing threads assigned to the logical core.

My understanding of the A11 is that it's fully heterogeneous with the capability to run and assign code across any permutation of its physical cores.

heterogeneous big.LITTLE implementations are in consumer android devices since late 2013s.
>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?

In this case it's probably genuine surprise. The ARM big.LITTLE trick (see 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.

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

The article clearly begins that this is the first arrival for iOS and this is an exploration of the feature in iOS.
It's an Apple-focused blog. If you want someone to write up a comparison with existing non-Apple CPUs then maybe you should write it.
It's Apple. Gotta put those iSheep in their place, know what I mean?
Would you please stop posting unsubstantive and/or inflammatory comments to HN? You've done this quite a lot, and we eventually ban such accounts.

https://news.ycombinator.com/newsguidelines.html

Oh please, the other comments weren't inflammatory? My comment certainly was substantive in pointing out a long-term trend I've noticed in blind Apple-bashing on HN without substance. Sorry I care about the quality of HN commentary, which has really taken a nosedive in recent years. You're definitely doing such a great job keeping it high /s.

You're actually part of the problem by being more concerned about me stepping on toes than the actual issue at hand. Funny how I never see mods like you step in when other inflammatory bait is posted though such as the threads on women in tech. Turns out its okay to barf out any garbage you like as long as you mask your tone well enough and it doesn't offend the reactionaries.

Don't blame me, I'm only reacting to low-effort commentary in turn. Quality discourse begets quality discourse, not the opposite. If you ban me, it'll only vindicate my belief that HN is more concerned about being an echo chamber for techbros and is diametrically opposed to any dissent.

If mods like you did their jobs, low-effort crap would be hidden and the users chided, but instead you shoot the messengers who try to preserve some semblance of quality. I'm usually a civil contributor which is obvious from my post history, but I won't just sit by while the culture of HN deteriorates and others tolerate it because somehow low-effort commentary is equivalent to every other type. Sorry I didn't coddle those users when I pointed out the circlejerk :(.

If the HN you want to create is one where people just mindlessly regurgitate the latest tech meme and make low-effort pop culture references, more power to you.

Please mind that the rudeness is your interpretation. I was just astonished how it doesn't mention BigLittle at all. Not a single word.

On the other hand, he had enough time to go on a history lesson about multicore for PowerPC first introduced for Macs, which I found considerably less relevant, technically.

It's not just interpretation, because your comment broke the HN guidelines. If you call someone "seriously so deep in the [some-idiotic-opinion] bubble", you're doing two things we ask people not to: (1) snarking, and (2) calling names.

Would you mind reading https://news.ycombinator.com/newsguidelines.html and following those rules when commenting here, even when someone hasn't mentioned a relevant technology in their article?

Wikipedia says [1] that ARM big.LITTLE "Heterogeneous Multi-Processing (HMP), which enables the use of all physical cores at the same time" has been "implemented in the Samsung Exynos starting with the Exynos 5 Octa series (5420, 5422, 5430)", available in Q3 2013.

1 - https://en.wikipedia.org/wiki/ARM_big.LITTLE#Heterogeneous_m...

I couldn't find any quote in the article that supports the suggestion that the author isn't/wasn't unaware of big.LITTLE.

Could you cite one that supports your snark?

It's an Apple-focused blog. The A11 may not be doing anything new when considering the wider world, but it's the first Apple CPU to have it.

Do not confuse "I did not mention this other thing that is not entirely off topic" with "I was not aware of this other thing."

Well, it's benchmarks are different. It's crushing all the other mobile processors.
(comment deleted)
I didn't see the author present any technology as being novel industry-wide.

He did present big.LITTLE architecture as novel to the Apple and iOS ecosystems, which is correct.

In no way the author — a vey respected engineer in the Apple community BTW — pretended to provide an exhaustive overview of the multi-core heterogeneous computing world (or assert that Apple invented all this tech on its own).

I honestly think that he just wanted to provide a very brief comparison between A10 and the latest A11, and then go on with his article core subject ;)

Unless he edited the post after you commented, I don’t quite agree with the comparison. He states “in the Apple world” as a qualifier to his history lesson. He doesn’t say “Apple invented multi core CPUs” or “Apple had multi core CPUs first”.
The only edit I've made so far was to correct a massive brain fart in my summary of the cluster means at the end. People just can't handle a focused post, apparently.
> But he described the Apple ecosystem as if nothing outside it even exists.

I did no such thing. I focused on Apple because my blog focuses on Apple, but at no point did I state or imply that nothing outside of Apple exists. I even went out of my way to say that multicore systems have "become the norm in many parts of the computing world."

Very little more predictable in technology than kneejerk reactions to anything involving Apple.
This is a bad HN comment, not because you don't have anything solid to contribute (I'm sure you do), but because by choosing an uncharitable reading of the OP just in order to smack it down, you make the discussion less specific and substantive.

That's why we have this guideline: "Please respond to the strongest plausible interpretation of what someone says, not a weaker one that's easier to criticize."

https://news.ycombinator.com/newsguidelines.html

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.

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

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

Yet anyone that is commenting something on this thread which could be interpreted as anti-Apple is downvoted quite harshly.
Would you please stop posting unsubstantive comments? You're now taking this thread far off-topic and to a less interesting place.
They're downvoted because they don't offer anything interesting to the discussion, not because people think they're anti-Apple. They're thinly-disguised attacks on the article's author.
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".

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

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.

> I would probably have just said something like "I use an iPhone because Android is for poor people" just "for the lulz"

this is why we can't have nice things. when people's response to someone doing research about their opinion is to lie to the researcher 'for the lulz' there is something wrong...

I use Android because iPhones are too expensive for absolutely no additional functionality. How does that figure?

My next phone isn't likely to be Android or iPhone, but Linux, assuming Purism pans out.

So it sounds like Android users resent Apple's tactics/platform, while Apple users don't resent Android's tactics/platform?

That is definitely interesting.

You're making the case that Android users choose out of resentment while iOS users choose what they like.
Or that one platform has a lot to resent and the other is fairly innocuous.

Funny how easy it is to pick your own narrative.

I guess you consider me one of those offended, and let me assure you, I am not.

It is just weird if a technical presentation doesn't even mention the environment (lack of a better word) at all, but considers PowerPC multicore history for Mac relevant, which technically I consider not.

There are people out there, that don't consider technology or innovation to be Apple or other-vendor specific, heck, go ahead and stone me, I don't differentiate between Macs and PCs since Apple uses Intel CPUs.

Even further, I totally don't care who invented it.

You think PowerPC Mac multicore history is not relevant, on an Apple-focused blog that talks a lot about the Mac? How?
Big.little was popular on ARM land before too, the Apple difference is the speed of the big cores, and plain higher clockspeeds...
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..

As 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]

Even 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...
I 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!)

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.

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.

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.

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