News for hackers. Stuff that matters.
Re:Is Arm ready for server dominance? by derefr on Thursday December 05, 2019 @01:46PM (#21715008)
> I can't pull out my visa card and go buy a (atx, microatx, mini-itx) format motherboard for an ARM CPU, the CPU itself, RAM, etc, and build a system to run debian, centos, RHEL, ubuntu whatever on.

The difference between ARM and x86 is that there's no standardized ARM interface between the motherboard and the CPU—no ARM equivalent to ACPI. Every integration of an ARM CPU into a board is bespoke. So you have to buy "a board with an ARM CPU on it", not just an ARM CPU and board separately.

But, if you relax that restriction, it's not like it's hard to acquire "a board with an ARM CPU on it." 80% of single-board computers (e.g. the Raspberry Pi) are "a board with an ARM CPU on it." You can wipe pretty much any Android device (not just phones, but also HDMI "streaming boxes", which are a convenient form-factor for basing a workstation on) and install Linux on them. There are also some higher-end development/SDK boards for ARM embedded systems, like the Nvidia Jetson. What more do you need?

Re:Is Arm ready for server dominance? by als0 on Thursday December 05, 2019 @03:05PM (#21715925)
> The difference between ARM and x86 is that there's no standardized ARM interface between the motherboard and the CPU—no ARM equivalent to ACPI. Every integration of an ARM CPU into a board is bespoke. So you have to buy "a board with an ARM CPU on it", not just an ARM CPU and board separately.

Not exactly true. ARM server chips do have ACPI. The trick is buying a CPU that is SBSA[1] and SBBR[2] compliant. Then most things work as expected.

[1] https://static.docs.arm.com/den0029/a/Server_Base_System_Arc...

[2] http://infocenter.arm.com/help/topic/com.arm.doc.den0044d/Se...

Re:Is Arm ready for server dominance? by fulafel on Friday December 06, 2019 @02:56AM (#21719980)
You still can't have a choice of cpus bought seprately for those boards though.
Re:Is Arm ready for server dominance? by walrus01 on Thursday December 05, 2019 @01:48PM (#21715039)
My first question would be, why has no industry trade group attempted to define a standard socket, or use an existing physical socket pin-out.

It's not hard to acquire something with an ARM CPU on it, but at prices an ordinary person can afford, they're all in the category of toy computers. Try to find an affordable ARM system with a M.2 2280 NVME SSD slot on it like you can find on a $100 desktop x86-64 motherboard. Or multiple PCI-Express 3.0 x8/x16 slots.

I've previously spent many years working for a hardware manufacturer. Personal theory is that this is a real example of a chicken or egg problem related to economies of scale. Nobody wants to spend dozens of millions of dollars tooling up to produce ARM socketed CPUs and motherboards and stuff, which may or may not be price/performance competitive with current-gen Intel and AMD stuff by the time it's ready for release. And there's a huge risk in manufacturing something like that and then discovering that the sales volumes are really low.

Look at the sheer massive quantities that the top-ten Taiwanese motherboard manufacturers churn out every year.

> You can wipe pretty much any Android device (not just phones, but also HDMI "streaming boxes", which are a convenient form-factor for basing a workstation on) and install Linux on them

No you really can't, and phones aren't servers. Take any modern $600 smartphone and try installing something very close to a stock debian or centos on it. Being able to maybe boot a Linux kernel on something doesn't mean that there's anything like the market demand for that particular hardware platform target for a whole distribution.

Re:Is Arm ready for server dominance? by derefr on Thursday December 05, 2019 @01:52PM (#21715090)
> My first question would be, why has no industry trade group attempted to define a standard socket, or use an existing physical socket pin-out.

Because ARM is a design licensed to companies that want to make their own chips for their own purposes. Those purposes involve optimizing cost by choosing, per product, whether to integrate various cores onto the SoC, or to leave them as external devices on the board, or to maybe put them into a secondary chipset microcontroller and route some IO pins to connect the two.

In ARM designs, the licensee determines the required pin-out, because the licensee determines what the CPU does vs. what the board does. You can't really have a generic "ARM board", because no two "ARM CPUs" would have the same expectations for what are on that board.

A particular ARM licensee could standardize the socket between their own designs—but in doing so, they'd lose a lot of the advantage of licensing vs. buying an off-the-shelf chip in the first place.

Re:Is Arm ready for server dominance? by crtlaltdel on Thursday December 05, 2019 @03:50PM (#21716340)
a whole lot of arm chips are too small to reasonably be socketed
Re:Is Arm ready for server dominance? by mattl on Thursday December 05, 2019 @02:26PM (#21715524)
These have an M.2 slot. https://www.seeedstudio.com/ROCK-Pi-4-Model-B-4GB-p-4137.htm...

https://www.youtube.com/explainingcomputers is a good YouTube channel for reviewing these types of single board computers.

Re:Is Arm ready for server dominance? by a012 on Friday December 06, 2019 @01:26AM (#21719686)
Has a M.2 slot doesn't mean you can put any M.2 ssd in it, especially M.2 2280 is the most common size and easily can buy on store/online, smaller than that is mostly for OEM devices and you don't have many choices available.
Re:Is Arm ready for server dominance? by newqer on Friday December 06, 2019 @02:31AM (#21719897)
Not about the M.2 slot, but a shout-out to Explainingcomputers. I graduated as an embedded systems programmer, but changed careers along the way. This channel reignited my passion for embedded systems and now i'm an enthusiastic hobbyist again.
Re:Is Arm ready for server dominance? by kikoreis on Friday December 06, 2019 @01:29AM (#21719691)
An economic viewpoint on your first question is that there is not enough margin (or energy, leverage, etc) left in the system level ecosystem to press for the need for a standard. In the old days Compaq etc very strongly pushed for standards to help them PCs move away from IBM. This began to come undone around the time of EISA, which was ratified but failed, and PCI, which was Intel sponsored. It only got worse after AMD (and other x86 semis) lost ground to Intel.
Re:Is Arm ready for server dominance? by sundae on Sunday December 08, 2019 @02:25AM (#21734750)
> My first question would be, why has no industry trade group attempted to define a standard socket, or use an existing physical socket pin-out.

There's Qseven [1] and SMARC [2].

1 https://en.m.wikipedia.org/wiki/Qseven

2 https://en.m.wikipedia.org/wiki/Smart_Mobility_Architecture

Re:Is Arm ready for server dominance? by ksec on Friday December 06, 2019 @06:06PM (#21726931)
Isn't the answer quite simple? There is no demand.

We have reached the point where shipping 1.2B Smartphone per year is called massive, comparing to 200M PC market where 150M of those are laptop ( Soldered and non Socketed ).

You cant buy a self made ARM PC. But there will be Qualcomm ARM Laptop. And the AWS ARM CPU are based on ARM N1 Design, it is only a matter of time somebody make the same CPU, or System integrator selling CPU made from other ARM CPU vendor such as Fujisu, Ampere, Huawei, Marvell, or possibly Nvidia and others.

I dont see much of a problem in getting ARM access as consumers.

Re:Is Arm ready for server dominance? by AtlasBarfed on Thursday December 05, 2019 @02:50PM (#21715777)
You're basically waiting for Apple to go ARM on its desktops/notebooks.
Re:Is Arm ready for server dominance? by PeterCorless on Friday December 06, 2019 @06:38PM (#21727204)
Folks already anticipating this in 2020.

https://www.macrumors.com/guide/arm-macs/

Re:Is Arm ready for server dominance? by petecox on Thursday December 05, 2019 @08:08PM (#21718434)
Microsoft, which is collaborating with Qualcomm on netbooks.

Google, which has previously collaborated (OP1) with Rockchip on Chrome OS.

Re:Is Arm ready for server dominance? by mycall on Thursday December 05, 2019 @09:26PM (#21718765)
Microsoft also as the Azure Sphere ARM SBC.
Re:Is Arm ready for server dominance? by pjmlp on Friday December 06, 2019 @03:29AM (#21720086)
Sphere is a special purpose device, not for every day general computing, and I am yet to see when it will be finally made secure as adverstised (given the use of C without any kind of special security tooling).
Re:Is Arm ready for server dominance? by floatboth on Thursday December 05, 2019 @02:18PM (#21715432)
> no ARM equivalent to ACPI

The ARM equivalent to ACPI is ACPI.

ACPI is not "between the board and CPU", it's "between the OS and the computer". Which is actually much more important. Writing drivers for bespoke PCIe, USB and SATA controllers is not fun. ACPI standardizes configuration of these things.

Re:Is Arm ready for server dominance? by derefr on Thursday December 05, 2019 @03:11PM (#21715984)
> ACPI is not "between the board and CPU", it's "between the OS and the computer".

Eh, kinda-sorta. ACPI (through the availability of a DSDT in BIOS flash) provides whatever's running on application processors (like CPUs, but also independent coprocessors like mobile baseband processors and server baseboard management controllers) the ability to 1. query "the board" for what's effectively a listing of the available busses, and the devices on those busses; and 2. to initialize those devices with wired address-space regions on those busses, such that nothing conflicts.

Now, certainly, ARM boards that have standardized "network-like" peripheral busses like PCIe, USB, or (maybe) SATA, have an ACPI controller on the SoC, to schedule those devices' address-space regions onto those busses.

But not all ARM devices have those busses. Some are entirely embedded, with the ARM core serving more of the function of a microcontroller than a true application processor. (There are ARM cores in keyboards and mice!) And some—especially cheap—consumer ARM "platforms" only have busses like SPI and I²C. (You know, like an Arduino!) Even older fully-featured ARM "computers", like smartphones and portable game consoles, didn't support ACPI until very recently, either (which is much of why devices like the 3DS and PSVita didn't support Bluetooth or USB OTG HNP.)

In either case, these devices more-often-than-not don't have ACPI controllers, instead "hard-wiring" each peripheral device on the board to a certain address-space range on a certain bus available to the CPU, just like PCs used to do before there were even IRQ jumpers. (One clear example: every Nintendo portable since the GBA was an ARM SoC, but none of them until the Switch have had ACPI. They just had a static IO memory map, that you could program against.)

And even those ARM devices that do have an ACPI controller on-board, almost universally don't use it the way that x86 does, where even chipset-specific devices like Platform Controller Hubs get probed and configured by ACPI rather than just sitting statically on a special bus.

Re:Is Arm ready for server dominance? by floatboth on Thursday December 05, 2019 @03:54PM (#21716372)
We're not talking about embedded devices in a server thread :)

I'm not sure what you're calling "an ACPI controller". (You seem to be thinking of MMUs and PICs??)

ACPI is a software interface. The tables are the ACPI. It's possible to implement ACPI on a system that originally shipped with U-Boot and Flattened Device Trees. Say, for the Raspberry Pi: https://github.com/tianocore/edk2-platforms/tree/8b72f720d53...

Re:Is Arm ready for server dominance? by zozbot234 on Thursday December 05, 2019 @02:42PM (#21715705)
> The ARM equivalent to ACPI is ACPI.

But most ARM devices aren't using it - their closest equivalent is the device tree.

Re:Is Arm ready for server dominance? by morning_gelato on Thursday December 05, 2019 @03:39PM (#21716219)
That's certainly true for ARM devices taken as a whole, but I believe most ARM servers are SBBR and SBSA compliant, which means they do support ACPI.
Re:Is Arm ready for server dominance? by glommer on Thursday December 05, 2019 @03:08PM (#21715955)
That is one of the things that Nuvia is promising to change.
Re:Is Arm ready for server dominance? by zozbot234 on Thursday December 05, 2019 @02:41PM (#21715692)
> You can wipe pretty much any Android device (not just phones, but also HDMI "streaming boxes", which are a convenient form-factor for basing a workstation on) and install Linux on them.

Nope, the PostmarketOS project is actively trying to make this feasible. It's quite non-trivial and heavily device-specific.

Re:Is Arm ready for server dominance? by markvdb on Thursday December 05, 2019 @05:30PM (#21717386)
Enlighten me as to which HDMI "streaming box" I can install (mainline) Linux on. Bonus points for a model where the h264 encoding hardware block is supported.
Re:Is Arm ready for server dominance? by ac29 on Thursday December 05, 2019 @08:35PM (#21718550)
Amlogic and Allwinner SoCs have varying degrees up media decode support in mainline kernels (h264 is supported, other codecs vary). Armbian supports a bunch of such boards with Linux 5.3. What exactly are you trying to do?
Re:Is Arm ready for server dominance? by markvdb on Friday December 06, 2019 @02:58AM (#21719984)
We're building libre streaming hardware for https://fosdem.org .

Our current approach is using the Allwinner A20 processor. Investing quite a bit of work in a free driver for the h264 encoding block on there (cedrus vpu).

It was an honest question if we had overlooked something obvious...

Re:Is Arm ready for server dominance? by ac29 on Friday December 06, 2019 @06:07PM (#21726936)
Yeah, the Cedrus VPU is already supported upstream: https://linux-sunxi.org/Sunxi-Cedrus

That page is a bit out of date, I think the support has improved since then.

Re:Is Arm ready for server dominance? by PeterCorless on Thursday December 05, 2019 @05:52PM (#21717584)
Re:Is Arm ready for server dominance? by PeterCorless on Thursday December 05, 2019 @05:51PM (#21717576)
Re:Is Arm ready for server dominance? by PeterCorless on Thursday December 05, 2019 @06:18PM (#21717735)
I've not used them. YMMV. But they seem to match your description.
Re:Is Arm ready for server dominance? by Aloha on Thursday December 05, 2019 @03:54PM (#21716376)
How closely coupled is ACPI to x86?
Re:Is Arm ready for server dominance? by bonzini on Friday December 06, 2019 @03:56AM (#21720182)
It used to be quite coupled to x86 hardware, but nowadays they have a profile that replaces a bunch of fixed hardware (such as the ACPI embedded controller) with an ACPI description of GPIO pins, I2C buses etc.
Re:Is Arm ready for server dominance? by the_why_of_y on Thursday December 05, 2019 @05:23PM (#21717318)
ACPI was a required feature of Itanium systems, claims slide 5 of this Intel presentation from 2000:

https://uefi.org/sites/default/files/resources/ACPI_2.0_Supp...

Re:Is Arm ready for server dominance? by qubex on Thursday December 05, 2019 @04:28PM (#21716765)
It isn’t.