Fundamentals 15 min read

From x86 to ARM: The Next Computing Pivot and Migration Practices on Huawei Kunpeng Platform

The article examines the historical shift from mainframes to x86, highlights the emerging need for ARM-based solutions like Huawei's Kunpeng processors, and provides detailed migration strategies, tools, and best‑practice steps for moving C/C++ and other workloads from x86 to ARM architectures.

Architects' Tech Alliance
Architects' Tech Alliance
Architects' Tech Alliance
From x86 to ARM: The Next Computing Pivot and Migration Practices on Huawei Kunpeng Platform

Today almost all software runs on x86 architecture; after decades of optimization at the upper layers, developers wonder what the next breakthrough will be if the underlying hardware does not change dramatically.

1. From Mainframes to x86 – Where is the next turning point?

In the 1960s IBM introduced System/360, which powered satellite weather forecasting, moon missions, and still runs core banking systems, but its high cost limited usage to wealthy institutions. The 1970s saw DEC’s PDP‑11 mini‑computer dramatically lower costs, enabling many enterprises to adopt computing.

Later Intel’s x86 chips brought PCs to individuals, shifting computing from enterprises to personal desktops. Over the past two decades, Chinese internet companies have heavily invested in upper‑layer architecture design and optimization, squeezing out most performance gains on x86.

Now a new pivot appears: computing has become handheld, with smartphones, 5G‑driven cloud gaming, increasing HTTPS traffic, and distributed big‑data processing exposing x86’s limitations.

Mobile app execution on x86 relies on instruction translation, causing performance loss and compatibility issues, while testing on real devices is resource‑intensive. Although Intel remains open‑source‑friendly, developers need more choices.

ARM chips, with smaller die area and many cores, better suit distributed workloads. In 2019 Huawei released the Kunpeng 920 ARM‑based processor (32/48/64 cores, 2.6 GHz, 8‑channel DDR4, PCIe 4.0, 100 Gb RoCE).

Compared with x86, Kunpeng offers:

Multi‑core design delivering ~20 % performance boost and greater cloud‑app flexibility.

Eight DDR channels (vs. six on typical CPUs) increasing throughput by ~25 %.

SoC integration (CPU, southbridge, NIC, SAS controller) improving efficiency by ~30 %.

Hardware acceleration for compression, encryption, deduplication, freeing CPU cycles.

The Kunpeng ecosystem already supports mainstream technologies: Nginx, Apache, Tomcat; middleware such as Memcached, Redis, Kafka; databases MySQL, MariaDB, PostgreSQL; big‑data frameworks Hadoop, Hive, HBase; languages Go, C/C++, Java, Ruby, Perl, Python, JavaScript; OSes openEuler, Ubuntu, CentOS, etc.

2. Cross‑Platform Software Migration Practices

Software migration means moving a runnable program to a different environment (CPU architecture, OS, runtime). It often requires source‑code changes, recompilation, and testing.

Huawei’s Kunpeng Developer Suite and community provide tools and pre‑built packages to ease migration, with online support from experts.

Migration types:

Interpreted languages (Java, Python): usually no recompilation needed; x86 JARs run on ARM64 if no native C/C++ dependencies.

Compiled languages (C, C++, Go): recompile with ARM64 GCC; if source is unavailable, Huawei offers migration solutions.

Assembly code: rare; requires rewriting or future instruction‑set translation tools.

For C/C++ applications, migration steps include:

Adjust build flags (e.g., replace incompatible -march / -mtune with -march=ARMv8.1-a -mtune=tsv110 ).

Refer to GCC ARM options documentation.

Install compatible Kunpeng libraries for missing functions.

Replace or modify unsupported open‑source components.

Modify platform‑specific macros.

Rewrite inline assembly to match ARM instruction set.

Huawei provides a suite of tools:

Dependency Advisor : scans binaries and source to assess portability and generate migration reports.

Porting Advisor : offers modification suggestions for C/C++ code and x86 assembly, supports one‑click porting and package reconstruction.

Tuning Kit : collects performance metrics (CPU, memory, I/O, network) and gives optimization recommendations, also supports Java profiling.

Accelerated Libraries : optimized glibc (16 hot functions) and HMPP interfaces (501 APIs) comparable to Intel IPP.

A typical migration workflow (illustrated by a big‑data search system case) includes:

Inventory and compatibility analysis of the software stack.

Component dependency analysis using Huawei’s migration tools.

Suggested code modifications for C/C++.

Performance analysis and optimization.

After migration, Huawei continues to support developers with training, certifications, and ecosystem programs (e.g., university collaborations, 24 Kunpeng‑related certifications, and the "Wotu Plan 2.0" offering financial incentives for startups, developers, and partners).

Speaker profile: Zhang Ruitao, Huawei Computing Product Line Chief Engineer and architect of the Kunpeng Developer Suite, with 20 years of experience in embedded and enterprise software, formerly leading ARM open‑source initiatives.

cloud computingC++x86ARMCPU architectureHuawei Kunpengsoftware migration
Architects' Tech Alliance
Written by

Architects' Tech Alliance

Sharing project experiences, insights into cutting-edge architectures, focusing on cloud computing, microservices, big data, hyper-convergence, storage, data protection, artificial intelligence, industry practices and solutions.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.