Arnstein Ressem
Arnstein Ressem
Senior Principal Software Systems Engineer

Preview of Vespa on ARM64

Photo by Jeremy Bezanger on Unsplash

Vespa artifacts like RPMs and container images are currently only released for the x86_64 CPU architecture. This is what we use internally at Yahoo and our dedication to delivering battle proven versions to the public causes this to be the architecture of choice. With the emerging interest in the ARM64 CPU architecture that powers both the AWS Graviton EC2 instances and the Apple M1 MacBooks, we have decided to make a preview for Vespa on this architecture.

Availability

When a version of Vespa has achieved a high confidence within Yahoo we release this version to the public. High confidence means that it has passed all system tests, performance tests and been running in production for 150 different applications. We publish Java artifacts to Maven Central, RPMs to Fedora Copr and container images to Docker Hub. Vespa is released up to 4 times per week depending on the mentioned confidence measure. The ARM64 preview will be released at the same cadence.

RPMs

The RPMs are available from Fedora Copr. This is the same location that the x86_64 architecture RPMs are available, but there is a difference. We have changed the OS we build for to CentOS Stream 8. To install the ARM64 preview of Vespa on an CentOS Stream 8 OS, execute the following:

$ dnf config-manager --add-repo https://copr.fedorainfracloud.org/coprs/g/vespa/vespa/repo/centos-stream-8/group_vespa-vespa-centos-stream-8.repo
$ dnf install vespa

Container image

We also publish container images of the ARM64 preview. As with the RPMs these are also based on CentOS Stream 8. The images are published to the GitHub Container Registry, and the latest image can be obtained by pulling ghcr.io/vespa-engine/vespa-arm64-preview.

Vespa Quick Start on ARM64

If you would like to test the ARM64 preview, the easiest way is to use Docker or Podman on a ARM64 based machine. The Vespa Quick Start Guide can be followed as described except for the container startup in step 4. There you will have to swap the regular vespaengine/vespa image with the ARM64 preview so this step becomes:

$ docker run --detach --name vespa --hostname vespa-container \
  --publish 8080:8080 --publish 19071:19071 \
  ghcr.io/vespa-engine/vespa-arm64-preview

Support

Vespa on ARM64 is published as a preview for the community to be able to test on this architecture. Help and support will be provided as a best effort through the GitHub Issues and on the Vespa Slack. The timeline for a production ready release on the ARM64 architecture is not set yet.