A Changing of the Guard

A couple of major movements happened this month. Some minuscule and some were big enough to cause massive waves. It started off with NVIDIA’s stock creeping up in value slowly as normal and upon hitting USD 404, its market cap crossed USD 248 billion. The market cap is the total value of all the company’s shares. At USD 248 billion, NVIDIA had officially eclipsed Intel to become the most valuable U.S. chip-maker. Market cap is just one factor, NVIDIA’s revenues of USD 14.6 billion are a fraction of Intel’s USD 73.8 billion and Intel is much more diverse than NVIDIA and has a lot more revenue streams.

Intel 7nm and NVIDIA badges on laptop
One’s more valuable than the other.

However, NVIDIA hasn’t been exactly sitting idle with their GPUs. The company has been the market leader in client graphics and enterprise graphics for quite some time. They even have multiple AI accelerator solutions and even have an autonomous driving platform which used to power the Tesla vehicles and soon will power self-driving cars from Mercedes-Benz. And if rumours are to be believed, NVIDIA has also approached ARM along with some venture partners with an acquisition offer. 

ARM is present everywhere. Their IP powers majority of the SoCs that power smartphones, smart home IoT devices, low-power notebooks, servers, supercomputers and assembly line IoT hardware. With ARM under its wing, NVIDIA could end up being as diverse as Intel. NVIDIA’s achievement, of course, happened before Intel’s Q2 Financial call which sent their stock price plummeting after the announcement of Intel’s 7nm delay. So NVIDIA still gets kudos for becoming the most valuable U.S. chip-maker but another company benefited from Intel’s misfortune. AMD, Intel’s rival in the client and server CPU space, saw their shares become more valuable than Intel’s for the very first time in history. And lastly, in order to make amends for the delay in Intel’s 7nm process, Intel also mentioned that they would look towards outsourcing some of their manufacturing to third-party fabs. Again, never in the history of Intel was this ever deemed viable as the company always believed in using their own fabs to maintain their leadership in the silicon manufacturing space. A lot of these announcements have to do with the same company, but that’s just the hardware side of technology.

ARM v8-A Platform Cortex-A57
ARM – Dominating the Mobile space

Closer to home, we’re seeing another shift. This time, it’s got to do with software. TikTok and several apps suspected to be of Chinese origin have been banned by the Indian Government and more are expected to follow as the Government agencies continue carefully examining other suspected apps. TikTok’s troubles aren’t limited to India but even the U.S. and several other countries have been mulling taking similar measures against the company. TikTok has even been advised to spin off their U.S. business or sell off stock in order to make the ownership of the company seem better in the eyes of the U.S. Government. This has, of course, opened up avenues for Indian apps in the same space to finally enjoy some of the limelight. The folks who had built their profiles are obviously a little miffed with the ban, some of them even made a living off of these apps. But the new apps taking their place present another opportunity for people to grow their profiles without any concern of their private data being allegedly sent off to foreign shores. One thing that you need to do is give these new Indian apps some time to mature and offer features that we took for granted on the older platforms. The older platforms didn’t miraculously offer great UI and UX right out of the box and expecting the same from the Indian apps would be unfair. I’m not saying that absolute garbage design should be forgiven, basic UI and UX standards should always be present and the absence of the same should be treated as sin. Take Instagram for example, their desktop experience to this day remains atrocious. 

All of these events just stand to reinforce the simple truth of our fast-moving technology-driven world. Failure to innovate is akin to helping the competition slingshot ahead of you. And no matter how much you innovate, Murphy’s Law is always applicable.

This opinion piece was published in the August 2020 issue of Digit magazine.


Within ARM’s reach

ARM has been having quite the field day of late. The most powerful supercomputer on the surface of the earth, Fugaku, is based on a 52-core custom ARM processor by Fujitsu. It beat the closest rival by a factor of 2.8x. Then came the massive announcement from Cupertino that Apple is transitioning from using Intel processors to their own custom silicon based on ARM. The reasons for which we might never know but Intel has been stuck on the same microarchitecture for more than five years and AMD has been steadily gaining performance, and subsequently grabbing market share from the blue giant. 

Fugaku Supercomputer powered by ARM
Fugaku Supercomputer – RIKEN Center for Computational Science

Of late more and more ODMs and OEMs have started experimenting with ARM on traditional notebooks. Microsoft came out with the Surface Pro X and we’ve seen several generations of Chromebooks based on MediaTek SoCs which are all using ARM cores. Even Qualcomm demoed their 8cx Compute platform roughly a year ago boasting of immense battery life. And don’t even get me started on all the smartphones in existence today, all of which, barring a few, are based on ARM platforms.

While it may seem that the computing ecosystem is about to get drowned in a deluge of ARM based solutions, there’s still the server space where ARM is yet to gain a proper foothold. A lot of folks believe that this final x86 bastion would get toppled soon but truth be told, that’s just wishful thinking. A lot depends on the capabilities of the two processor ISAs. While x86 is a CISC (Complex Instruction Set Computer), ARM is RISC (Reduced Instruction Set Computer). Writing efficient code for the two computer types is quite different. Not that you can’t have a dynamic binary translator such as Apple’s Rosetta to make x86 code work with ARM, the overhead is silly. Moreover, Rosetta might work since Apple maintains a strict control over the macOS ecosystem and therefore, the fragmentation is kept to a minimum. The rest of the x86 dev environments aren’t cut from the same cloth so the binary translator would have to account for thousands and thousands of more possibilities.  

Fundamentally, RISC is a stripped down version of CISC so it’s easy to emulate software written for ARM on x86 hardware but going the other way around is a bit pricey, especially when it comes to RAM. And server environments aren’t exactly cheap for folks to waste petabytes of RAM just for the sake of translating ARM code to x86. The short-term solution would be to continue working on binary translators that are more efficient at the translation work and capable of working with lesser overheads but the long-term goal would be to tackle the problem at the source.

SiFive - RISC-V non-ARM CPU
SiFive – An open-source RISC-V CPU

We write x86 code because that’s the system that we’re all used to and have learnt to code on. And it’s this very same code written for x86 that needs to run on servers. So if we were to start writing code for RISC, then it makes sense to have RISC servers because the development environment and the production environment would be the same. You’ll experience fewer issues and also end up saving a lot of money by reducing overheads. So RISC personal computers have to become as popular as existing x86 personal computers for this to ever happen. Having spoken to a few OEMs and ODMs in recent times about the viability of ARM for personal computers, I haven’t found many takers. RISC is good for devices that don’t need to do much, which is why we find them in Chromebooks and smartphones. 

An x86 PC is way more capable than any RISC ever will be. So unless these OEMs finally consider the ARM platform to be mature enough to enter mainstream notebooks, we aren’t going to see RISC computers dominate the computing space. Once we see a fair amount of OEMs producing ARM notebooks and perhaps, even desktops, we’ll start seeing more developers pick it up as the platform of choice to work on. Then you’d see all the folks building compilers take notice and come out with better tools to compile the code for RISC platforms. Then there’s a little back and forth between hardware manufacturers and developers as they start figuring out more optimum ways of doing things. The hardware folks will come out with new ISAs which the software folks will have to incorporate into their compilers and then provide feedback, which in turn will help hardware folks to tune the new ISAs. This will go on for a long time before we can finally deem the RISC platform to be mature enough. It would be a couple of years after the platform matures that we see ARM finally take over the world. Till then, x86 is here to stay.

This opinion piece was published in the July 2020 issue of Digit magazine.