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
77 stars 12 forks source link

PyPy - Works On Arm Sponsored #303

Closed mattip closed 2 years ago

mattip commented 2 years ago

Name, email, company, job title

Matti Picus, matti.picus@gmail.com, Quansight Labs, Senior Developer. I am asking on behalf of the PyPy project.

Project Title and description

PyPy is a Python interpreter with a JIT, written in a dialect of Python. It makes pure python code fast. The project is run mainly by volunteers, including me.

Describe your use case for these machines

The CI/CD pipelines for PyPy run on native machines. AArch64 feature support in PyPy is important to us. We support aarch64 but in order to prevent bugs creeping in we must test continuously.

Which members of the community would benefit from your work?

The PyPy developers would be confident that their work is supported on aarch64 machines. Users of PyPy would be able to choose the aarch64 platform for their work.

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

Yes. The PyPY source code is managed via mercurial and is hosted on https://foss.heptapod.net/pypy/pypy. The buildbot source code is also 100% open at https://foss.heptapod.net/pypy/buildbot The core PyPy code is licensed under the MIT license https://foss.heptapod.net/pypy/pypy/-/blob/branch/default/LICENSE, with other open source licenses for the Python stdlib and incorporated libraries.

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

Yes. In order to verify that the JIT can generate machine code for the platform, we need to test the actual hardware.

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 myself and the PyPy team. The machines for the Python CI are listening for buildbot events from https://buildbot.pypy.org. They then build and test PyPy with various configs for each commit. Since the CI system requires always-on machines, long-term support is required here.

We need a machine with at least 4 cores, 16 GB memeory, and 40GB disk space.

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

The machine will run a docker image based off CentOS7 (manylinux2014). It will wait for commands using the buildbot CI system. I estimate a 25% load on the machine in bursts. The load will increase around releases which happen ~3 times a year.

Will these machines be exclusively used for CI purposes?

Primarily, with occasional debug sessions to work out architecture-specific bugs.

Please share a public URL of the CI dashboard (if applicable). https://buildbot.pypy.org

Does the project allows the use of your project logo on ARM's developer website freely?

Yes. Please do :) The ARM Foundation sponsored the initial work to support ARMv8 on PyPy.

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

The PyPy project has a long history in the Python community. It has been at the forefront of Pytohn performance for over 10 years, and is the standard for comparison when others discuss what is speedups are possible for the Python language. We have been a incubator for many of the innovative ideas in Python: cffi, hpy, and others.

Personally I have been involved in the project since 2013, and have been the release manager for over half that time. Along the way I became a core contributor and maintainer for NumPy. Via my current employer Quansight Labs I have been contributing to Pytorch and ray.

Important reminders and logistics

Approved projects will be expected to provide credit back to Works on Arm in the form of a logo display, blog post, Twitter post, news release, or some other suitable acknowledgement.

Approved projects are subject to a 90 day review process for termination.

When resources are not required anymore or when the project ends, please add comments on this issue so that we can reuse the hardware for someone else! In case a project goes through ownership change or key people leaving, please promptly inform the team by adding comments on this issue. Our team will maintain dialogue with new members.

For more project information, see the following social channels:

pgmwoa commented 2 years ago

Thanks for your interest in WoA. We will review the request. Please update the Project name in the title of the project.

mattip commented 2 years ago

Hi. Any news?

mattip commented 2 years ago

Ping: any decision on this request?

pgmwoa commented 2 years ago

Currently, we do not have any systems available in the WoA inventory for allocation. We are working through to see if there is any alternate way.

martin-g commented 2 years ago

@mattip You asked for bare-metal but would you consider a VM instead ? Oracle Cloud provides free VMs with the spec you need - 4 vCPU cores @ 2.8GHz, 6GB of RAM per vCPU, i.e. up to 24GB, 45GB of disk and 1Gbps network bandwidth. I've blogged how to use them for Github Actions self-hosted runner, but you can use it for Buildbot and any other CI system - https://martin-grigorov.medium.com/github-actions-arm64-runner-on-oracle-cloud-a77cdf7a325a

mattip commented 2 years ago

Sounds good. The part about "[R]egistration also requires Credit/Debit card details but it is not charged if you use the Free Tier service" is worrisome. Is there some way to declare "never bill me, cancel my service instead"?

mattip commented 2 years ago

Or is there some assurance that tomorrow Oracle will not change this free policy? Have they committed to some timeline?

martin-g commented 2 years ago

All cloud providers require credit card :-/ Even for their free plans... I guess they could always change the rules. I am not aware of any timeline. I just use few ARM64 VMs for some projects of mine.

pgmwoa commented 2 years ago

@mattip We may be able to help. Please refer to email send on 17 Feb, at the email id mentioned in the ticket. Looking forward to your response. Thanks.

mattip commented 2 years ago

With the help of @martin-g we were able to find a generous sponsor of an aarch64 VM. Closing.