WorksOnArm / equinix-metal-arm64-cluster

Arm and Equinix Metal have partnered to make powerful Neoverse based Armv8 bare metal infrastructure including latest generation Ampere systems — available for open source software developers to build, test and optimize for Arm64 architecture.
http://www.worksonarm.com
75 stars 12 forks source link

Request to upgrade previously provided AArch64 bare-metal instance for the Python Programming Language #283

Closed stratakis closed 2 years ago

stratakis commented 2 years ago

If you are interested in filing a request for access to the Works on Arm test and

Name, email, company, job title

Project Title and description

Describe your use case for these machines

The CI/CD pipelines for the Python Language. Arm AArch64 features support in the Python language. Python language scalability on AArch64 Linux systems.

Which members of the community would benefit from your work?

Any consumer of the Python Programming Language targeting Linux on AArch64 and associated architectures.

While for the time being Python works and compiles mostly fine on Arm, there have been cases in the past where issues were discovered downstream and would have to be worked in-house and tested before submitting them upstream. And even then, there wasn't an easy way to test a fix.

The current status quo is that Arm is not an officially supported architecture by Python and I intend to work on changing that.

Having dedicated hardware will provide early testing for the Arm architecture while fostering a better relationship with the Python language and the Arm ecosystem.

The plan is to have VMs running on top of bare metal, each on a different flavor of Fedora and Red Hat Enterprise Linux/CentOS. The Fedora machines will provide feedback for the latest changes to the compiler toolchains and other packages coming from upstream, while the RHEL/CentOS machines will ensure that new features will not break Python on Arm on stable, slower moving distributions.

Is the code that you’re going to run 100% open source?

Yes.

Does this project require ARMv8.2 (Yes/No/Not Sure)? If Yes, please provide details

Yes. The Python Programming Language needs to introduce and extend support for all Arm architecture versions.

What infrastructure (computing resources and network access) do you need?

The request is to provide a bare-metal AArch64 instance which will be maintained by Arm, myself and the Python language team. The machines for the Python CI are listening for github events and compiling Python with various configs for each commit. Since the CI system requires always-on machines, long-term support is required here.

Describe / Name the continuous integration (CI) system for this project.

The Python Programming Language utilizes the buildbot CI system.

You can see an overview of Python's infrastructure here: https://buildbot.python.org/all/#/

The machines will be only used for CI and the occasional debugging of issues and the development/testing of features for the Python Programming Language.

Please state your contributions to the open source community and any other relevant initiatives.

I am one of the maintainers for the Python Programming Language for Fedora and Red Hat Enterprise Linux. My work consists mainly on maintaining Python downstream for various architectures, including aarch64. I've worked on a variety of distribution wide initiatives, such as Python rebases, performance speedups, decoupling python2 from RHEL8/CentOS8 and others.

I've also contributed to various parts of CPython and other libraries and I work closely with Python's core developers, from which two of them are part of my team.

Additionally I already maintain four Intel buildbots, four ppc64le ones and already four Aarch64 ones for the Python CI system, running builds on Fedora development and stable versions, RHEL7 and RHEL8.

Feel free to ask for any more information.

pgmwoa commented 2 years ago

We are in the process of getting the servers ready for you. You will get an email as soon as the hardware is reserved and ready for use.

pgmwoa commented 2 years ago

Necessary infrastructure is reserved. Please refer to the welcome email for instructions on how to use the reserved server and the supporting resources. We will be looking forward for your feedback / experience on new servers.