Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add additional architecture support for s390x and ppc64le? #5902

Open
jodh-intel opened this issue Nov 1, 2023 · 11 comments
Open

Add additional architecture support for s390x and ppc64le? #5902

jodh-intel opened this issue Nov 1, 2023 · 11 comments

Comments

@jodh-intel
Copy link
Contributor

Background

There's a bit of detail to explain before I get to the point. If you are impatient, just jump to the TL;DR 馃槃

Cloud Hypervisor and Kata Containers

Cloud Hypervisor is a Kata Containers hypervisor. In fact, Kata Containers releases include a Cloud Hypervisor binary and Kata configuration files for Cloud Hypervisor to make it very easy for the user to switch to using this hypervisor with Kata:

Kata Containers architectures

However, Kata Containers runs on four architectures, two of which Cloud Hypervisor does not currently support:

  • s390x
  • ppc64le

Note: See https://github.com/kata-containers/kata-containers/#platform-support.

New rust runtime in Kata Containers

Kata has rewritten the main component (the runtime shim) in rust and is in the process of planning a migration to this new runtime.

Part of that planning is going to involve choosing a default hypervisor for the new runtime. The chosen hypervisor will need to work on all four Kata architectures, to ensure as smooth a transition as possible for existing users across the four architectures. Currently, the only hypervisor that supports all four architectures is QEMU, hence that is the default Kata hypevisor for the existing runtime.

However, since the new Kata runtime stack and tooling is entirely rust-based, in many ways it would make sense to consider defaulting to a rust-based hypervisor, which leads, at last, to my question...

TL;DR - A question

Is the Cloud Hypervisor community interested in adding support for s390x and ppc64le architectures to Cloud Hypervisor?

@jodh-intel
Copy link
Contributor Author

For those that are not aware, Kata Containers is used as the foundation for the Confidential Containers project, so if this issue is actioned, it would benefit not only the Cloud Hypervisor and Kata Containers projects, but the Confidential Containers project too.

@likebreath
Copy link
Member

@jodh-intel Thank you for opening the issue. Supporting new architectures sounds good improvements to Cloud Hypervisor in general. Also, I'd always want to make Cloud Hypervisor support Kata better. I will support this work.

As a first step, we would need experts on these two architectures to identify technical gaps and estimate the overall scope. A good reference is what was done for supporting aarch64 #1125.

I don't recall we have such experts in the Cloud Hypervisor community. Do you have anyone in mind from the Kata community that might be interested in supporting this work?

@jodh-intel
Copy link
Contributor Author

/cc @BbolroC, @Amulyam24.

@liuw
Copy link
Member

liuw commented Nov 2, 2023

Is there a way to gain access to both hardware platforms?

@Amulyam24
Copy link

Hi @jodh-intel, Thank you for creating this issue. It sounds like a good idea to at least start exploring and see what needs to be done on ppc64le for supporting cloud-hypervisor.

As a start, I can build and run the hypervisor on Power and see how feasible or technically challenging it could be. However, I'm might need help and would be looking out for @likebreath and @liuw to help me in the process since they're the experts.

Is there a way to gain access to both hardware platforms?

I will check on this and get back to you on the providing a ppc64le machine. This would be helpful to collaborate and understand the issues better :)

@hbrueckner
Copy link

Hi @liuw, @jodh-intel ,

right now, we do not have any plans to enable cloud-hypervisor for the s390x architecture. For runtime-rs, we will focus on using qemu.

Is there a way to gain access to both hardware platforms?

If you like to get some hands-on and experiences on s390x, you can sign up for an s390x Linux instance in our LinuxONE community cloud: https://linuxone.cloud.marist.edu/#/register?flag=VM

Alternatively, you can also obtain s390x VSIs in the IBM Cloud (let me know and I can share some more details).

@jodh-intel
Copy link
Contributor Author

@hbrueckner - Thanks for the update and the s390x h/w details. Maybe that will inspire others in the CH community to get involved in this interesting task. 馃槃

@jodh-intel
Copy link
Contributor Author

Hi @Amulyam24 - out of interest, were you able to tal at this?

@liuw
Copy link
Member

liuw commented Nov 29, 2023

@hbrueckner

Alternatively, you can also obtain s390x VSIs in the IBM Cloud (let me know and I can share some more details).

Can you share more details about this?

The LinuxONE trial is only for a very short amount of time. I don't think that's suitable for development purposes.

@Amulyam24
Copy link

Hi @Amulyam24 - out of interest, were you able to tal at this?

Hi @jodh-intel, not yet. I plan to start looking at it from next week hopefully :)

@hbrueckner
Copy link

@hbrueckner

Alternatively, you can also obtain s390x VSIs in the IBM Cloud (let me know and I can share some more details).

Can you share more details about this?

Let me pull some information together for you.

The LinuxONE trial is only for a very short amount of time. I don't think that's suitable for development purposes.

I can work with the LinuxONE community to assign instances permanently to an open source project. I need a contact from the community to connect with the team to get it started. Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants