Why I love ARM and PowerPC

How one student's search for a powerful, energy-efficient workstation grew into a passion for open systems.
284 readers like this
284 readers like this
The Opensource.com preview: April

Opensource.com

Recently I've been asked why I mention ARM and PowerPC so often on my blogs and in my tweets. I have two answers: one is personal, the other technical.

The personal

Once upon a time, I studied environmental protection. While working on my PhD, I was looking for a new computer. As an environmentally aware person, I wanted a high-performing computer that was also efficient. That is how I first became interested in the PowerPC and discovered Pegasos, a PowerPC workstation created by Genesi.

I had already used RS/6000 (PowerPC), SGI (MIPS), HP-UX (PA-RISC), and VMS (Alpha) both as a server and a workstation, and on my PC I used Linux, not Windows, so using a different CPU architecture was not a barrier. Pegasos, which was small and efficient enough for home use, was my first workstation.

Soon I was working for Genesi, enabling openSUSE, Ubuntu, and various other Linux distributions on Pegasos and providing quality assurance and community support. Pegasos was followed by EFIKA, another PowerPC board. It felt strange at first to use an embedded system after using workstations. But as one of the first affordable developer boards, it was the start of a revolution.

I was working on some large-scale server projects when I received another interesting piece of hardware from Genesi: a Smarttop and a Smartbook based on ARM. My then-favorite Linux distribution, openSUSE, also received a dozen of these machines. This gave a big boost to ARM-related openSUSE developments at a time when very few ARM machines were available.

Although I have less time available these days, I try to stay up-to-date on ARM and PowerPC news. This helps me support syslog-ng users on non-x86 platforms. And when I have half an hour free, I hack one of my ARM machines. I did some benchmarks on the Raspberry Pi 2 with syslog-ng, and the results were quite surprising. Recently, I built a music player using a Raspberry Pi, a USB sound card, and the Music Player Daemon, and I use it regularly.

The technical

Diversity is good: It creates competition, and competition creates better products. While x86 is a solid generic workhorse, chips like ARM and PowerPC (and many others) are better suited in various situations.

If you have an Android mobile device or an Apple iPhone or iPad, there's a good chance it is running on an ARM SoC (system on chip). Same with a network-attached storage server. The reason is quite simple: power efficiency. You don't want to constantly recharge batteries or pay more for electricity than you did for your router.

ARM is also conquering the enterprise server world with its 64-bit ARMv8 chips. Many tasks require minimal computing capacity; on the other hand, power efficiency and fast I/O are key— think storage, static web content, email, and other storage- and network-intensive functions. A prime example is Ceph, a distributed object storage and file system. SoftIron, which uses CentOS as reference software on its ARMv8 developer hardware, is working on Ceph-based turnkey storage appliances.

Most people know PowerPC as the former CPU of Apple Mac machines. While it is no longer used as a generic desktop CPU, it still functions in routers, telecommunications equipment. And IBM continued to produce chips for high-performance servers. A few years ago, with the introduction of POWER8, IBM opened up the architecture under the aegis of the OpenPOWER Foundation. POWER8 is an ideal platform for HPC, big data, and analytics, where memory bandwidth is key. POWER9 is right around the corner.

These are all server applications, but there are plans for end-user devices. Raptor Engineering is working on a POWER9 workstation, and there is also an initiative to create a notebook based on a Freescale/NXP QorIQ e6500 chip. Of course, these machines are not for everybody—you can't install your favorite Windows game or commercial application on them. But they are great for PowerPC developers and enthusiasts, or anyone wanting a fully open system, from hardware to firmware to applications.

The dream

My dream is a completely x86-free environment—not because I don't like x86, but because I like diversity and always use the most suitable tool for the job. If you look at the graph on Raptor Engineering's page, you will see that, depending on your use case, ARM and POWER can replace most of x86. Right now I compile, package, and test syslog-ng in x86 virtual machines running on my laptop. Using a strong enough ARMv8 or PowerPC machine, either as a workstation or a server, I could avoid x86 for this kind of tasks.

Right now I am waiting for the next generation of Pinebook to arrive, as I was told at FOSDEM in February that the next version is expected to offer much higher performance. Unlike Chromebooks, this ARM-powered laptop runs Linux by design, not as a hack. For a desktop, I am looking for ARMv8 workstation-class hardware. Some are already available—like the ThunderX Desktop from Avantek—but they do not yet feature the latest, fastest, and more importantly, most energy-efficient ARMv8 CPU generations. Until these arrive, I'll use my Pixel C laptop running Android. It's not as easy and flexible as Linux, but it has a powerful ARM SoC and a Linux kernel at its heart.

Peter Czanik
Peter is an engineer working as open source evangelist at Balabit (a One Identity business), the company that developed syslog-ng. He assists distributions to maintain the syslog-ng package, follows bug trackers, helps users and talks regularly about sudo and syslog-ng at conferences (SCALE, All Things Open, FOSDEM, LOADays, and others).

7 Comments

I do love the idea of having a non-x86 based desktop again just to throw a little their way. At the same time I'm not looking to spend a fortune on it. The Pinebook looks interesting as a lightweight laptop replacement. I just wish they'd put the RAM at 4 GB instead of 2. The Raptor machines are too rich for my blood but I don't need a POWER9 processor either. It's good to see some diversity in this market place.

ARM and POWERPC architectures are still proprietary.
For a truly free, viable, sizable and open CPU architecture, look at RISC-V.
https://en.wikipedia.org/wiki/RISC-V
https://riscv.org/
RISC-V (pronounced "risk-five") is an open instruction set architecture (ISA) based on established reduced instruction set computing (RISC) principles.

In contrast to most ISAs, the RISC-V ISA can be freely used for any purpose, permitting anyone to design, manufacture and sell RISC-V chips and software. While not the first open ISA, it is significant because it is designed to be useful in modern computerized devices such as warehouse-scale cloud computers, high-end mobile phones and the smallest embedded systems. Such uses demand that the designers consider both performance and power efficiency. The instruction set also has a substantial body of supporting software, which fixes a usual weakness of new instruction sets.

I Agree, but what I think I got from the article is that Linux and OpenSource are a feature for this user, and that's okay for now. Hopefully, as I have they'll gradually (or swiftly) realize that without OpenSource or dare I push Libre, the freedoms they take for granted can be circumvented, or squashed.

In reply to by sfsdf (not verified)

The next Pinebook will likely be a rk3399, which you can already buy in 2+ chromebooks. Check out the odroid n1 forums; there is a video display issue but it's usable, even gl4es works.

Curious. I've got an old G4 Mac mini with a Debian 6 (I think) install on it. Any suggestions re a more up to date Linux distro that will run on a G4?

Thanks in advance for your time and consideration.

Good article. ARM is a revolutionary architecture used these days from small embedded to complex real time embedded system.

Power PC is also used in embedded networking servers and routers. It is also used in telecommunication.

Both of them have their own style of Instruction sets. Both are use in the embedded system.

To know more about embedded system go through this link.

https://www.codrey.com/embedded-system/embedded-systems-introduction/

Maybe you are right, but i think that no all x86 maybe is a little bit extreme. I mean, you want all consumer cannot run all x86 program? Also this is bad for the ecosystem.

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.