The big three in the cloud urge ARM to rethink software


British chip design firm ARM has had a tough time in recent years: A merger with Nvidia failed and IPO plans were put on hold as semiconductor companies found themselves caught in the middle of countries vying for chip supremacy.

Despite the setback, ARM remains afloat, buoyed by unprecedented success in smartphones, and is making slow progress in the server market. ARM was once considered dead on arrival in servers, but the narrative has changed with the big three cloud providers bringing ARM processor designs to cloud-native environments.

ARM is now trying to consolidate its software stack, a weakness that has held back its adoption in server environments for more than a decade. At the recent ARM DevSummit conference, the company showcased its software development efforts for cloud-native, server, and embedded computing environments over the next two years.

Design methodologies, development experiences

During keynote addresses from ARM executives, the focus was on application design methodologies and developer experiences in the changing computing landscape.

ARM licenses its processor designs to customers, who then put them into physical chips. Some notable licensees include Apple, Amazon, Samsung, Qualcomm, and Google.

ARM dominates software in mobile and peripheral devices. The Android operating system is built around ARM, and the built-in apps are designed to run on cutting-edge power-efficient devices with ARM processors. But that’s a different story in servers with the codebase heavily tilted towards the x86 architecture.

ARM is now embarking on a journey that company executives say was a fundamental shift in the way it approaches software development. The company gives software control over the selection of hardware on which an application should be run.

“As software developers, we’re used to starting with a problem and solving the rest from there. But we are reversing the way things have traditionally worked. Software chooses features, not hardware,” said Mark Hambleton, vice president of open source software at ARM, in a keynote.

The software-defined approach is already being adopted by chip companies such as Intel and Nvidia, which provide a generous helping of software on top of their chips. Intel’s OneAPI and Nvidia’s CUDA are tuned to take advantage of local chips. But ARM cannot be biased in its software development tools because its processors are licensed by many companies.

“We’re moving away from defining the hardware and then integrating the software and fixing the trade-offs that need to be made. This reflects the ongoing sea change in the ARM ecosystem,” Hambleton said.

Open Source, out of the box

ARM’s software approach is largely based on open source standards, with off-the-shelf operating systems offering rich middleware and APIs, which are enabled by standard base firmware with good support. upstream of the peripherals integrated into the platforms.

But the open standards approach has its complexities – most application development effort lands in the hands of its customers. ARM now offers more tools to its partners to make it easier for developers to write cloud-native code.

“Our Works on ARM program is expanding to include all major cloud providers. For software developers, this means easy and open access to exceptional ARM-based cloud services that they can trust to run their applications,” Hambleton said.

Amazon’s AWS offers virtual machines on its ARM-based chip called Graviton. Google, Microsoft, and Oracle offer virtual machines based on Ampere Computing’s ARM-based Altra and Altra Max processors, which have up to 128 cores for cloud-native applications. HPE also uses Ampere’s chip in its flagship ProLiant RL300 Gen11 server for hybrid cloud environments.

Ampere is one of the few successful ARM server chipsets and maintains a running list of over 100 supported applications on virtual machines from Google, Microsoft and Oracle and bare metal vendors like Equinix. The software support list includes NGINX web server, Memcached, Apache Cassandra, MySQL, and Hadoop.

The Linux Foundation’s Cloud Native Computing Foundation (CNCF) is also working with ARM to bring Kubernetes systems to the edge.

The Works on Arm program supports more than 100 open source projects, including AlmaLinux and Alpine, virtualization tools such as KVM and Xen Project, databases such as MariaDB, and programming languages ​​Ruby and Python. Developers can use these tools to write and test applications before deploying to the cloud.

The program uses DevOps, an iterative development pipeline that relies on rapid improvements and code deployment. Cloud-based development tools are for ARM’s Neoverse platform, which is designed for high-performance, cloud-native applications.

The program could kick-start high-end application development for ARM servers, which has always been difficult. ARM servers emerged more than a decade ago as a possible option for x86 chips from Intel and AMD, but the processors were not considered powerful enough for conventional databases, ERPs, or desktops. other large iron applications.

Early ARM servers from companies like Calxeda and AppliedMicro were designed for the LAMP stack (Linux, Apache, MySQL, PHP/Perl/Python) running on internal servers. But ARM has now found a sweet spot in cloud applications with its low-power processors providing an agile way to scale web applications without the overhead of power-hungry x86 processors.

Microsoft Azure launched its first Ampere ARM-based virtual machines in April, saying they offered “50% better value for money than comparable x86 virtual machines.” Google Cloud also launched ARM virtual machines for the first time this year with the Tau T2A offer.

code that works

But like Intel and AMD, ARM wants to make coding easier so developers can write code that works regardless of hardware.

“The team is identifying ways to further abstract complexity to ensure a seamless development experience. These include a common toolchain across all of our IPs and frameworks for programming, debugging and analysis at across the CPU, GPU, and NPU,” said Gary Campbell, executive vice president of core engineering at ARM, during a keynote.

Developers can write portable code on multiple hardware environments, which will reduce the cost and labor involved in rewriting code for different environments.

“It’s a big challenge for software developers. We spend too much time doing the same things over and over again, which leads to too much cost. Most of the software running on this device was custom designed for this device. That meant no opportunity to scale,” Hambleton said.

The chip designer is working with partners on “extensions” to meet various workloads. Some of the partnerships are in areas such as 5G systems, machine learning and edge applications. Much of the software development will be targeted at the company’s ARMv9 architecture, which will define next-generation server chips.

“Specialized processing is the new standard bearer that will take us beyond the faster, better and cheaper path of general purpose computing. That’s why it’s a central design principle for the ongoing program of…substantial extensions to the ARMv9 architecture that we’ll be rolling out over the next few years,” said ARM’s Campbell.

Cloud native, HPC

High-performance, cloud-native computing environments typically have GPUs to accelerate AI. Nvidia pairs its in-house ARM processor called Grace with its latest H100 GPU based on the Hopper architecture. ARM is also putting extensions into its chip designs to speed up artificial intelligence and math applications.

One such extension for cloud-native processors is called the Scalable Vector Extension, which “will result in a significant increase in cloud performance efficiency at the edge,” Campbell said.

SVE2 extensions will be a key extension in future Neoverse chips. The Neoverse roadmap includes V-series processors in 2023 and 2024 for high-performance systems, followed by a processor design called Poseidon in 2025. N-series chips through 2025 will focus on efficiency energy, and E-series chips will have fast data throughput, which is important for 5G networks and artificial intelligence applications.

ARM also announced the availability of Windows Dev Kit 2023, also known as Project Volterra, which is native ARM development hardware for Windows 11. Developers mainly manually port x86 code to Windows 11 for applications to run on ARM editions of the operating system.

Microsoft has launched previews of its native ARM toolchains, including Visual Studio 2022 and .Net 7, which will be released in the coming weeks. Developers can write AI apps for laptops with Qualcomm’s ARM-based CX chips, which also include neural processors.

Band Created with Sketch.

Comments are closed.