Works on Arm News is back with news about the Arm server ecosystem and related software information.
In this issue
- Raspberry Pi 4 released with quad-core A72 and up to 4GB memory
- Debian 10 (Buster) on arm64
- Initial release of pypy (Python JIT) for arm64
- VictoriaMetrics time series database with arm64 support
Raspberry Pi 4 released with quad-core A72 and up to 4GB memory
The Raspberry Pi Foundation announced the availability of the new Raspberry Pi 4, offering a substantial upgrade over the previous Pi 3. The new system has upgraded the SoC to now support a quad-core A72 configuration with new support for up to 4 gigabytes of main memory. Also new on the board is an improved ethernet and USB complex, which now lets the Pi 4 support a full line rate on its gigabit Ethernet port.
The Pi 4 appeared much earlier than had been predicted, and as a consequence not all of the system software that normally accompanies a launch is available yet. The new version of Raspbian is a 32-bit system still, now based on the new Debian 10. Other OS vendors that have supported earlier Pi versions in the past, including SUSE, Ubuntu, and Fedora, have ports for a 64-bit operating system in progress.
The new Pi has a new power supply option, using a USB-C port at up to 5V and 3A. Early users discovered that the power configuration is sensitive to the cable being used as a consequence of a slightly out of spec implementation of USB-C power handling. The new board also takes more power and generates more heat than previous, and anyone looking to continuous use or overclocking of their Pi 4 should be also contemplating a good sized heat sink or an active cooler.
- Raspberry Pi 4 review: “Gold Standard” for single board computing, Tom’s Hardware
- Raspberry Pi 4 USB-C power problem teardown, Tyler Ward (aka scorpia)
- Ubuntu Server 18.04.2 on the Pi 4 unofficial install instructions, James Chambers
- Fedora on the Pi 4 discussion, Fedora on Arm mailing list
Debian 10 (Buster) on arm64
The Debian project has released its newest version, Debian 10 also known as Buster, for arm64 systems. Detailed release notes are available.
The new release has more than 57,000 packages in the distribution, many of which have been updated since Debian 9. Notably this new release adds support for a number of Rust based utilities.
New hardware that’s supported directly by this distribution includes the Allwinner A64 SoC. There is also new support for UEFI Secure Boot.
Python 2.7 on Buster will be the last version of Python 2 available. The plan for Debian 11 (Bullseye) is to remove Python 2, as a consequence of Python 2 end of upstream support on January 1, 2020.
The 32-bit version of Buster is the basis for the newest version of Raspbian, and it includes for the first time an open source OpenGL video driver.
- Debian 10 “Buster” release notes for arm64 systems, PDF version
- Raspberry Pi Raspbian and Buster, Simon Long on the Raspberry Pi Foundation weblog
Languages and libraries
Initial release of pypy (Python JIT) for arm64
An initial release of pypy, a Python just-in-time compiler, has been made for arm64. The work has been done by Maciej Fijalkowski, Armin Rigo and the PyPy team, and is funded by Arm Holdings and crossbar.io.
pypy has a good track record of speeding up Python code, with some benchmarks showing more than 40x performance compared to CPython. That said, this release is relatively new, and there’s more performance related work to be done especially to take into account the wide variety of arm64 hardware implementations. What might be faster on one system might be slower on another.
The Works on Arm project is planning to provide additional hardware support for this effort to continue benchmarking and performance assessment (stay tuned).
- Pypy JIT for aarch64, PyPy Status Blog
VictoriaMetrics time-series database with arm64 support
VictoriaMetrics is a time-series database designed to provide long-term, remote storage for Prometheus data. It advertises good speed as a consequence of efficient compression routines, and compatibility with Prometheus API interfaces. The direct comparison is with InfluxDB.
The database is written in Go, and there is support and build targets for 32-bit and 64-bit Arm systems.