arm is very primed to take a lot of market share of server market from intel. Amazon is already very committed on making their graviton arm cpu their main cpu, which they own a huge lion share of the server market on alone.
for consumers, arm adoption is fully reliant on the respective operating systems and compatibility to get ironed out.
Yeah, I manage the infrastructure for almost 150 WordPress sites, and I moved them all to ARM servers a while ago, because they're 10% or 20% cheaper on AWS.
Websites are rarely bottlenecked by the CPU, so that power efficiency is very significant.
I really think that most people who think that they want ARM machines are wrong, at least given the state of things in 2024. Like, maybe you use Linux...but do you want to run x86 Windows binary-only games? Even if you can get 'em running, you've lost the power efficiency. What's hardware support like? Do you want to be able to buy other components? If you like stuff like that Framework laptop, which seems popular on here, an SoC is heading in the opposite direction of that -- an all-in-one, non-expandable manufacturer-specified system.
But yours is a legit application. A non-CPU-constrained datacenter application running open-source software compiled against ARM, where someone else has validated that the hardware is all good for the OS.
I would not go ARM for a desktop or laptop as things stand, though.
If you didn't want to game on your laptop, would an ARM device not be better for office work? Considering they're quiet and their battery lasts forever.
ARM chips aren't better at power efficiency compared to x84 above 10 or 15W or so. Apple is getting a lot out of them because TSMC 3nm; even the upcoming AMD 9000 series will only be on TSMC 4nm.
ARM is great for having more than one competent company in the market, though.
ARM chips aren't better at power efficiency compared to x84 above 10 or 15W or so.
Do you have a source for that? It seems a bit hard to believe.
If you look at pfsense/OPNsense hardware recommendations, it's almost all using chips like the Intel N5105 (10W TDP, though admittedly "TDP" is itself a messy term) or J4125 (also 10W TDP). Using ARM hardware is asked a lot in the community forums, and it's one of those questions that will get you a flamed for not checking Google first. The power usage benefits for switching to ARM just aren't there.
There is the Netgate 1100, which runs ARM on a proprietary build of pfsense. The community has largely ignored it in favor of Intel chips. There isn't much of a price advantage, and the performance is lackluster.
That said, there's lots that you can do with a sub-10W chip, and x86 has nothing modern there.
Personally, I cobbled together an OPNsense firewall out of some old desktop parts I had on hand. Power usage is a bit higher, but not so much that I care. I would like a more viable high-end ARM option, though, just because I don't want x86 to be the only option.
Extrapolating the specific use case of pfsense routers to all other applications seems misleading, especially when arm laptops and servers exist that prove their utility and power savings for their use cases. It seems to be the case that there isn’t a particular arm device that is priced well and well suited for pfsense, which does have somewhat unusual requirements compared to other applications.
As long as the apps all work. So much stuff is browser based now, but something will always turns up that doesn't work. Something like mandatory timesheet software, a bespoke tool etc.
But isn't there x86 emulation for those edge cases?
Depends if you trust it to actually work.
Linux works great on ARM, I just want something similar to most mini-ITX boards (4x SATA, 2x mini-PCIe, and RAM slots), and I'll convert my DIY NAS to ARM. But there just isn't anything between RAM-limited SBCs and datacenter ARM boards.
arm is a mixed bag. iirc atm the gpu on the Snapdragon X Elite is disabled on Linux, and consumer support is reliant on how well the hardware manufacturer supports it if it closed source driver. In the case of qualcomm, the history doesnt look great for it
Eh, if they give me a PCIe slot, I'm happy to use that in the meantime. My current NAS uses an old NVIDIA GPU, so I'd just move that over.
Apparently (from another comment on a thread about arm from a few weeks ago) consumer GPU bioses contain some x86 instructions that get run on the CPU, so getting full support for ARM isn't as simple as swapping the cards over to a new motherboard. There are ways to hack around it (some people got AMD GPUs booting on a raspberry pi 5 using its PCIe lanes with a bunch of adapters) but it is pretty unreliable.
Yeah, there are some software issues that need to be resolved, but the bigger issue AFAIK is having the hardware to handle it. The few ARM devices with a PCIe slot often don't fully implement the spec, such as power delivery. Because of that, driver work just doesn't happen, because nobody can realistically use it.
If they provide a proper PCIe slot (8-16 lanes, on-spec power delivery, etc), getting the drivers updated should be relatively easy (months, not years).
Datacenter cpus are actually really good for NASes considering the explosion of NVMe storage.
Most consumer CPUs are limited to just 5 m.2 drives and a 10gbit NIC. But a server mobo will open up for 10+ drives.
Something cheap like a first gen Epyc motherboard gives you a ton of flexibility and speed if you're ok with the idle power consumption.
if you’re ok with the idle power consumption
I'm kind of not. I don't need a ton of drives, and I certainly don't need them to be NVMe. I just want 2-4 SATA drives for storage and 1-2 NVMe drives for boot, and enough RAM to run a bunch of services w/o having to worry about swapping. Right now my Ryzen 1700 is doing a fine job, but I'd be willing to sacrifice some performance for energy savings.
Arm servers are slow, and arm laptops are not compatible with Linux.
For servers, AWS Graviton seems to be pretty solid. I honestly don't need top performance and could probably get away with a Quartz64 SBC, I just don't want to worry about RAM and would really like 16GB. I just need to server a dozen or so docker containers with really low load, and I want to do that with as little power as I can get away with for minimum noise. It doesn't need to transcode or anything.
ARM laptops don't support ACPI, which makes them really hard for Linux to support. Having to go back two years to find a laptop with wifi and gpu support on Linux isn't practical. If Qualcomm and Apple officially supported Linux like Intel and AMD do, it would be a different story. As it is right now, even Android phones are forced to use closed-source blobs just to boot.
Those numbers from Amazon are misleading. Linus Torvalds actually builds on an Ampere machine, but they don't actually do that well in benchmarks.
AWS' benchmark is about lambda functions, not compile workloads, which are quite different beasts. Lambdas are about running a lot of small (so task switching), independent scripts, whereas compiling is about running heavy CPU workloads (so feeding caches). Server workloads tend to be more of the former than the latter.
That said, I'm far less interested in raw performance and way more interested in power efficiency and idle and low utilization. I'm very rarely going to be pushing any kind of meaningful load on it, and when I do, I don't mind if it takes a little longer, provided I'm saving a lot of electricity in the meantime.
Man so many SBCs come so close to what you're looking for but no one has that level of I/O. I was just looking at the ZimaBlade / ZimaBoard and they don't quite get there either: 2 x SATA and a PCIe 2.0 x4. ZimaBlade has Thunderbolt 4, maybe you can squeeze a few more drives in there with a separate power supply? Seems mildly annoying but on the other hand, their SBCs only draw like 10 watts.
Not sure what your application is but if you're open to clustering them that could be an option.
Here's my actual requirements:
2 boot drives in mirror - m.2 or SATA is fine
4 NAS HDD drives - will be SATA, but could use PCIe expansion; currently have 2 8TB 3.5" HDDs, want flexibility to add 2x more
minimum CPU performance - was fine on my Phenom II x4, so not a high bar, but the Phenom II x4 has better single core than ZimaBlade
Services:
I/O heavy - Jellyfin (no live transcoding), Collabora (and NextCloud/ownCloud), samba, etc
CPU heavy - CI/CD for Rust projects (relatively infrequent and not a hard req), gaming servers (Minecraft for now), speech processing (maybe? Looking to build Alexa alt)
others - actual budget, vault warden, Home Assistant
The ZimaBlade is probably good enough (would need to figure out SATA power), I'll have to look at some performance numbers. I'm a little worried since it seems to be worse than my old Phenom II x4, which was the old CPU for this machine. I'm currently using my old Ryzen 1700, but I'd be fine downgrading a bit if it meant significantly lower power usage. I'd really like to put this under my bed, and it needs to be very quiet to do that.
Those are tough requirements to meet, I'm not sure there is a low power CPU that can do it all. You would likely need to cluster some devices but that means you need a separate NAS anyway and that kind of defeats the purpose for your case.
Servers being slow is usually fine. They're already at way lower clocks than consumer chips because almost all that matters is power efficiency.
RISC-V isn't there yet, but it's moving in the right direction. A completely open architecture is something many of us have wanted for ages. It's worth keeping an eye on.
It's not quite there for desktop use yet, but it probably won't be too much longer.
I hope so, I accidentally advised a client to snatch up a snapdragon surface (because they had to have a dog shit surface) and I hadn't realized that a lot of shit doesn't quite work yet. Most of it does, which is awesome, but it needs to pick up the pace
Depends on the desktop. I have a NanoPC T4, originally as a set top box (that's what the RK3399 was designed for, has a beast of a VPU) now on light server and wlan AP duty, and it's plenty fast enough for a browser and office. Provided you give it an SSD, that is.
Speaking of Desktop though the graphics driver situation is atrocious. There's been movement since I last had a monitor hooked up to it but let's just say the linux blob that came with it could do gles2, while the android driver does vulkan. Presumably because ARM wants Rockchip to pay per fucking feature per OS for Mali drivers.
Oh the VPU that I mentioned? As said, a beast, decodes 4k h264 at 60Hz, very good driver support, well-documented instruction set, mpv supports it out of the box, but because the Mali drivers are shit you only get an overlay, no window system integration because it can't paint to gles2 textures. Throwback to the 90s.
Sidenote some madlads got a dedicated GPU running on the thing. M.2 to PCIe adapter, and presumably a lot of duct tape code.
GPU support is a real mess. Those ARM SOCs are intended for embeded systems, not PCs. None of the manufacturers want to release an open source driver and the blobs typically don't work with a recent kernel.
For ARM on the desktop, I would want an ATX motherboard with a socketed 3+ GHz CPU with 8-16 cores, socketed RAM and a PCIe slot for a desktop GPU.
Almost all Linux software will run natively on ARM if you have a working GPU. Getting windows games to run on ARM with decent performance would probably be difficult. It would probably need a CPU that's been optimized for emulating x86 like what Apple did with theirs.
If there were decent homelab ARM CPUs, I'd be all over that. But everything is either memory limited (e.g. max 8GB) or datacenter grade (so $$$$). I want something like a Snapdragon with 4x SATA, 2x m.2, 2+ USB-C, and support for 16GB+ RAM in a mini-ITX form factor. Give it to me for $200-400, and I'll buy it if it can beat my current NAS in power efficiency (not hard, it's a Ryzen 1700).
hmm. not really. I can't beat AMD. Only in power-consumption, sure, but not in real performance.
ARM is only more power efficient below 10 to 15 W or so. Above that, doesn't matter much between ARM and x86.
The real benefit is somewhat abstract. Only two companies can make x86, and only one of them knows how to do it well. ARM (and RISC V) opens up the market to more players.
technically 3, VIA still has a x86 license, they just don't do consumer parts.
For real?
Kinda? It really should be treated as a 1st generation product for Windows (because the previous versions were ignored by, well, everyone because they were utterly worthless), and should be avoided for quite a while if gaming is remotely your goal. It's probably the future, but the future is later... assuming, of course, that the next gen x86 CPUs don't both get faster and lower power (which they are) and thus eliminate the entire benefit of ARM.
And, if you DONT use Windows, you're looking at a couple of months to a year to get all the drivers in the Linux kernel, then the kernel with the drivers into mainstream distributions, assuming Qualcomm doesn't do their usual thing of just abandoning support six months in because they want you to buy the next release of their chips instead.
Windows is dead to me. Arm Linux would be a wet dream
I'm having the same dream, but I don't trust Qualcomm to not fuck everyone. I mean it'd be nice if they don't but they've certainly got the history of being the scorpion and I'm going to let someone else be the frog until they've proven they're not going to sting me mid-river.
No.
Why?
Because optimization isn’t secondary or even tertiary to the average modern design philosophy. The extra power is, unfortunately, mandatory for a decent user experience.
ARM looking pretty good too these days
arm is very primed to take a lot of market share of server market from intel. Amazon is already very committed on making their graviton arm cpu their main cpu, which they own a huge lion share of the server market on alone.
for consumers, arm adoption is fully reliant on the respective operating systems and compatibility to get ironed out.
Yeah, I manage the infrastructure for almost 150 WordPress sites, and I moved them all to ARM servers a while ago, because they're 10% or 20% cheaper on AWS.
Websites are rarely bottlenecked by the CPU, so that power efficiency is very significant.
I really think that most people who think that they want ARM machines are wrong, at least given the state of things in 2024. Like, maybe you use Linux...but do you want to run x86 Windows binary-only games? Even if you can get 'em running, you've lost the power efficiency. What's hardware support like? Do you want to be able to buy other components? If you like stuff like that Framework laptop, which seems popular on here, an SoC is heading in the opposite direction of that -- an all-in-one, non-expandable manufacturer-specified system.
But yours is a legit application. A non-CPU-constrained datacenter application running open-source software compiled against ARM, where someone else has validated that the hardware is all good for the OS.
I would not go ARM for a desktop or laptop as things stand, though.
If you didn't want to game on your laptop, would an ARM device not be better for office work? Considering they're quiet and their battery lasts forever.
ARM chips aren't better at power efficiency compared to x84 above 10 or 15W or so. Apple is getting a lot out of them because TSMC 3nm; even the upcoming AMD 9000 series will only be on TSMC 4nm.
ARM is great for having more than one competent company in the market, though.
Do you have a source for that? It seems a bit hard to believe.
If you look at pfsense/OPNsense hardware recommendations, it's almost all using chips like the Intel N5105 (10W TDP, though admittedly "TDP" is itself a messy term) or J4125 (also 10W TDP). Using ARM hardware is asked a lot in the community forums, and it's one of those questions that will get you a flamed for not checking Google first. The power usage benefits for switching to ARM just aren't there.
There is the Netgate 1100, which runs ARM on a proprietary build of pfsense. The community has largely ignored it in favor of Intel chips. There isn't much of a price advantage, and the performance is lackluster.
That said, there's lots that you can do with a sub-10W chip, and x86 has nothing modern there.
Personally, I cobbled together an OPNsense firewall out of some old desktop parts I had on hand. Power usage is a bit higher, but not so much that I care. I would like a more viable high-end ARM option, though, just because I don't want x86 to be the only option.
Extrapolating the specific use case of pfsense routers to all other applications seems misleading, especially when arm laptops and servers exist that prove their utility and power savings for their use cases. It seems to be the case that there isn’t a particular arm device that is priced well and well suited for pfsense, which does have somewhat unusual requirements compared to other applications.
As long as the apps all work. So much stuff is browser based now, but something will always turns up that doesn't work. Something like mandatory timesheet software, a bespoke tool etc.
But isn't there x86 emulation for those edge cases?
Depends if you trust it to actually work.
Linux works great on ARM, I just want something similar to most mini-ITX boards (4x SATA, 2x mini-PCIe, and RAM slots), and I'll convert my DIY NAS to ARM. But there just isn't anything between RAM-limited SBCs and datacenter ARM boards.
arm is a mixed bag. iirc atm the gpu on the Snapdragon X Elite is disabled on Linux, and consumer support is reliant on how well the hardware manufacturer supports it if it closed source driver. In the case of qualcomm, the history doesnt look great for it
Eh, if they give me a PCIe slot, I'm happy to use that in the meantime. My current NAS uses an old NVIDIA GPU, so I'd just move that over.
Apparently (from another comment on a thread about arm from a few weeks ago) consumer GPU bioses contain some x86 instructions that get run on the CPU, so getting full support for ARM isn't as simple as swapping the cards over to a new motherboard. There are ways to hack around it (some people got AMD GPUs booting on a raspberry pi 5 using its PCIe lanes with a bunch of adapters) but it is pretty unreliable.
Yeah, there are some software issues that need to be resolved, but the bigger issue AFAIK is having the hardware to handle it. The few ARM devices with a PCIe slot often don't fully implement the spec, such as power delivery. Because of that, driver work just doesn't happen, because nobody can realistically use it.
If they provide a proper PCIe slot (8-16 lanes, on-spec power delivery, etc), getting the drivers updated should be relatively easy (months, not years).
Datacenter cpus are actually really good for NASes considering the explosion of NVMe storage. Most consumer CPUs are limited to just 5 m.2 drives and a 10gbit NIC. But a server mobo will open up for 10+ drives. Something cheap like a first gen Epyc motherboard gives you a ton of flexibility and speed if you're ok with the idle power consumption.
I'm kind of not. I don't need a ton of drives, and I certainly don't need them to be NVMe. I just want 2-4 SATA drives for storage and 1-2 NVMe drives for boot, and enough RAM to run a bunch of services w/o having to worry about swapping. Right now my Ryzen 1700 is doing a fine job, but I'd be willing to sacrifice some performance for energy savings.
Arm servers are slow, and arm laptops are not compatible with Linux.
Eh, it looks like ARM laptops are coming along. I give it a year or so for the process to be smooth.
For servers, AWS Graviton seems to be pretty solid. I honestly don't need top performance and could probably get away with a Quartz64 SBC, I just don't want to worry about RAM and would really like 16GB. I just need to server a dozen or so docker containers with really low load, and I want to do that with as little power as I can get away with for minimum noise. It doesn't need to transcode or anything.
ARM laptops don't support ACPI, which makes them really hard for Linux to support. Having to go back two years to find a laptop with wifi and gpu support on Linux isn't practical. If Qualcomm and Apple officially supported Linux like Intel and AMD do, it would be a different story. As it is right now, even Android phones are forced to use closed-source blobs just to boot.
Those numbers from Amazon are misleading. Linus Torvalds actually builds on an Ampere machine, but they don't actually do that well in benchmarks.
https://www.phoronix.com/review/graviton4-96-core
AWS' benchmark is about lambda functions, not compile workloads, which are quite different beasts. Lambdas are about running a lot of small (so task switching), independent scripts, whereas compiling is about running heavy CPU workloads (so feeding caches). Server workloads tend to be more of the former than the latter.
That said, I'm far less interested in raw performance and way more interested in power efficiency and idle and low utilization. I'm very rarely going to be pushing any kind of meaningful load on it, and when I do, I don't mind if it takes a little longer, provided I'm saving a lot of electricity in the meantime.
Man so many SBCs come so close to what you're looking for but no one has that level of I/O. I was just looking at the ZimaBlade / ZimaBoard and they don't quite get there either: 2 x SATA and a PCIe 2.0 x4. ZimaBlade has Thunderbolt 4, maybe you can squeeze a few more drives in there with a separate power supply? Seems mildly annoying but on the other hand, their SBCs only draw like 10 watts.
Not sure what your application is but if you're open to clustering them that could be an option.
Here's my actual requirements:
Services:
The ZimaBlade is probably good enough (would need to figure out SATA power), I'll have to look at some performance numbers. I'm a little worried since it seems to be worse than my old Phenom II x4, which was the old CPU for this machine. I'm currently using my old Ryzen 1700, but I'd be fine downgrading a bit if it meant significantly lower power usage. I'd really like to put this under my bed, and it needs to be very quiet to do that.
Those are tough requirements to meet, I'm not sure there is a low power CPU that can do it all. You would likely need to cluster some devices but that means you need a separate NAS anyway and that kind of defeats the purpose for your case.
Servers being slow is usually fine. They're already at way lower clocks than consumer chips because almost all that matters is power efficiency.
RISC-V isn't there yet, but it's moving in the right direction. A completely open architecture is something many of us have wanted for ages. It's worth keeping an eye on.
It's not quite there for desktop use yet, but it probably won't be too much longer.
I hope so, I accidentally advised a client to snatch up a snapdragon surface (because they had to have a dog shit surface) and I hadn't realized that a lot of shit doesn't quite work yet. Most of it does, which is awesome, but it needs to pick up the pace
Depends on the desktop. I have a NanoPC T4, originally as a set top box (that's what the RK3399 was designed for, has a beast of a VPU) now on light server and wlan AP duty, and it's plenty fast enough for a browser and office. Provided you give it an SSD, that is.
Speaking of Desktop though the graphics driver situation is atrocious. There's been movement since I last had a monitor hooked up to it but let's just say the linux blob that came with it could do gles2, while the android driver does vulkan. Presumably because ARM wants Rockchip to pay per fucking feature per OS for Mali drivers.
Oh the VPU that I mentioned? As said, a beast, decodes 4k h264 at 60Hz, very good driver support, well-documented instruction set, mpv supports it out of the box, but because the Mali drivers are shit you only get an overlay, no window system integration because it can't paint to gles2 textures. Throwback to the 90s.
Sidenote some madlads got a dedicated GPU running on the thing. M.2 to PCIe adapter, and presumably a lot of duct tape code.
GPU support is a real mess. Those ARM SOCs are intended for embeded systems, not PCs. None of the manufacturers want to release an open source driver and the blobs typically don't work with a recent kernel.
For ARM on the desktop, I would want an ATX motherboard with a socketed 3+ GHz CPU with 8-16 cores, socketed RAM and a PCIe slot for a desktop GPU.
Almost all Linux software will run natively on ARM if you have a working GPU. Getting windows games to run on ARM with decent performance would probably be difficult. It would probably need a CPU that's been optimized for emulating x86 like what Apple did with theirs.
If there were decent homelab ARM CPUs, I'd be all over that. But everything is either memory limited (e.g. max 8GB) or datacenter grade (so $$$$). I want something like a Snapdragon with 4x SATA, 2x m.2, 2+ USB-C, and support for 16GB+ RAM in a mini-ITX form factor. Give it to me for $200-400, and I'll buy it if it can beat my current NAS in power efficiency (not hard, it's a Ryzen 1700).
hmm. not really. I can't beat AMD. Only in power-consumption, sure, but not in real performance.
ARM is only more power efficient below 10 to 15 W or so. Above that, doesn't matter much between ARM and x86.
The real benefit is somewhat abstract. Only two companies can make x86, and only one of them knows how to do it well. ARM (and RISC V) opens up the market to more players.
technically 3, VIA still has a x86 license, they just don't do consumer parts.
For real?
Kinda? It really should be treated as a 1st generation product for Windows (because the previous versions were ignored by, well, everyone because they were utterly worthless), and should be avoided for quite a while if gaming is remotely your goal. It's probably the future, but the future is later... assuming, of course, that the next gen x86 CPUs don't both get faster and lower power (which they are) and thus eliminate the entire benefit of ARM.
And, if you DONT use Windows, you're looking at a couple of months to a year to get all the drivers in the Linux kernel, then the kernel with the drivers into mainstream distributions, assuming Qualcomm doesn't do their usual thing of just abandoning support six months in because they want you to buy the next release of their chips instead.
Windows is dead to me. Arm Linux would be a wet dream
I'm having the same dream, but I don't trust Qualcomm to not fuck everyone. I mean it'd be nice if they don't but they've certainly got the history of being the scorpion and I'm going to let someone else be the frog until they've proven they're not going to sting me mid-river.
No.
Why?
Because optimization isn’t secondary or even tertiary to the average modern design philosophy. The extra power is, unfortunately, mandatory for a decent user experience.
Not really