Openjdk-infrastructure: Get a more powerful ARM 32 box

Created on 21 Apr 2017  路  13Comments  路  Source: AdoptOpenJDK/openjdk-infrastructure

Machine Request enhancement

All 13 comments

@vielmetti is working on sorting out ARM32 on Packet

In particular, the ARM32 boxes we have report that they are ARM64 machines but they also run ARM32 binaries, so getting your build environment just exactly right might require some finesse. I am talking to folks who have been through this so that I can give you some guidance, look for something next week if all goes well.

# uname -p
aarch64

Any progress here? I see we are configuring up a new ARM32 machine at the moment, but I believe it is not any "more powerful" than the earlier machine.

Hopefully @vielmetti is going to be able to help us out with more powerful arm32 hardware but it is currently not ready for release in packet from what I understand

Sorry for the silly question but would it help to build OpenJDK for 32-bit machines? I see no OpenJDK binary build for 32-bit Intel and 32-bit ARM GNU Linux, Apple OS X and Microsoft Windows.

@gouessej I think the only viable 32-bit target is ARM these days. I doubt anyone is running a 32-bit intel...

@karianna Of course, as time goes by, less and less people are running 32-bit Intel but numerous libraries still provide 32-bit binaries and Oracle still provide 32-bit JREs:
http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html

I'd like to use AdoptOpenJDK instead of some old binary builds made by alexkasko whose project is discontinued. I see that ojdkbuild provides 32-bit builds too:
https://github.com/ojdkbuild/ojdkbuild

Is it really a big deal?

It depends on whether we can get 32 bit hosts. We rely on the generosity of IaaS providers :-)

Hmmm, I wonder if running armhf Docker containers on aarch64 would do it. Alternatively if the only needed thing is to build the JDK, then cross compilation could work. However it is a compromise as this doesn't allow for runnings tests natively (outside of QEMU).

ARMv7 Docker images are luckily available from Docker Hub: https://hub.docker.com/r/arm32v7/

A brief update in advance of the TSC meeting.

  1. There are currently two server-class architectures that support 32-bit code in addition to 64-bit code on Arm servers. The Hisilicon "Hi1616" chip and the Ampere "eMag 1" chip both do this today.
  2. Server-class chips from other vendors, including Marvell ("ThunderX" and "ThunderX2") and Qualcomm ("Centriq 2400"), do not have a 32-bit native execution environment.
  3. Packet has both Hisilicon and Ampere systems in inventory in very small quantities. When additional units free up, I plan to get Adopt OpenJDK at least one of them and hopefully one of each of them at least for comparison.
  4. The long-term availability of server-class devices that support both 32-bit and 64-bit work is uncertain. We expect more vendors to drop 32-bit support for their next generations of high end chips, but who knows, and there's always surprises.
  5. The long-term demand for single-board and small devices for 32-bit work is unlikely to diminish, especially as the Android ecosystem still has a whole lot of 32-bit code in it.

Happy to talk through any or all of these points in suitable detail.

Thanks for the update that's very useful detail

New 32-bit ready Arm gear is in, so this can start to move forward. I'll coordinate with @gdams @sxa555 to get a machine reserved to the right place so we can test and set up.

More powerful ARM32 machines have been ordered.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Willsparker picture Willsparker  路  9Comments

aahlenst picture aahlenst  路  6Comments

andrew-m-leonard picture andrew-m-leonard  路  8Comments

judovana picture judovana  路  5Comments

lumpfish picture lumpfish  路  4Comments