ARM chips effect on software development

ARM chips have been in the market for many years now. We find their chips in everything from PCs to mobile devices. The tech industry has primarily been using the now archaic and established x86-64 instruction set. This article will explore the performance boost of hosting on ARM chip-based servers and the effects on software development in the future. These technologies will allow us to use tech that is cost-effective for the performance they will provide. Faster performance means the software developer can provide more features that run well on our client's machine. We are less limited by hardware bottlenecks. It is on the software developer to maximise the potential performance of the hardware.

Graviton2

AWS released Graviton EC2 years ago. Last year they introduced the improved Graviton2. Graviton2 is Amazon's ARM-based optimized custom server processor for their EC2 instance offering. Back then, it made headlines due to AWS offering first-time EC2 instances with A64 instruction set. It suffered from performance issues [^1]. Graviton is more developed and battle-tested now. The benchmark numbers AWS provides for Graviton2 compared to the x86-64 equivalent promise 40% better performance [^2]. It is currently on trial for free to use, so do not wait out and try it out now.

A test server currently runs on a t3.micro, which is ideal because the Graviton2 trial instance is also a micro instance type. In this test, we use an OSS called software-orchestration [^3] that allows a developer to provision a remote machine. For this test, we're using a file that contains deployment instructions to set up an app. It installs and sets up multiple software such as Nginx, Node, PM2 and other system packages. We will compare the deployment time between the instances.

Deployment time taken chart in minutes

Graviton2 instance performed better, and this higher performance translates to less downtime when deploying software. Dependencies are less affected by slow performance and therefore improved feedback loop. Any logic that is CPU intensive would benefit from the performance boost.

Cost over a years time for running large burstable on demand ec2 instances

EC2 instances based on Graviton2 are cheaper and faster. It gives us leeway to spend less or increase performance. We can spend less by downgrading the instance type but still retain the current as-is performance. We can upgrade the t4g instances type and run software even faster.

Apple M1 laptops

Apple released 2020 MacBooks which uses CPU based on ARM architecture. The M1 MacBook is much faster than the Intel equivalent CPU. The following charts contain data from NotebookCheck [^4].

Deployment time taken chart in minutes

The x86-64 Intel CPU was faster than M1 in the emulation test. The M1 was running in emulation mode using Apple's Rosetta 2 solution to run software made for x86-64. It allows M1 to retain backwards compatibility and still provide superb performance for the end-users.

Deployment time taken chart in minutes

In the multicore processor match up and running native software, the M1 chips performed much better. All the while using less power and producing less noise. The processor is from different instruction sets, so it requires software built for their respective instruction set. Software developers will face the issue that their development tools are not running natively on M1 based laptops.

The advantages of software availability and compatibility go to x86-64. This advantage will not last long as Apple, a technology trendsetter, has moved its mainline laptop to ARM chips.
It is optimised to provide the most performance per watt efficient CPU. These laptops dominate the Laptop performance market.

Apple has before moved the tech industry from flash to HTML5, and it will sway the industry again. iOS has more than 1 billion active iPhones worldwide [^5], which has been running on their custom ARM chips for years. There are higher incentives to bring more software support for M1 Laptops.

Definitions

  • ARM: A British company that designs CPU, GPU, SoCs. Sells its IP to other vendors for them to customise and manufacture.
  • EC2: A commercial web service for hosting computer applications
  • SoC: A chip that integrates the most critical components of a computer.
  • x86-64: An instruction set mainly used by Intel and AMD CPUs that currently dominates the cloud computing segment.

[^1]: David Schor in Twitter - Link [^2]: AWS - Link [^3]: by me software orchestration - Link [^4]: Andreas Osthoff in Notebookcheck - Link [^5]: Stu Robarts in Screen Rant - Link