Would be nice if the regulator sets the competition rules such that IBM's open POWER architecture is available in the market at this price point and packaging for comparison to Raspberry Pi 4, and re-packaging with car battery size casing for industrial use. Traffic light control boxes have multiplied over the years on the streets going against the trend of miniaturization of parts for control and storage density. Opportunity for innovation or reinvention.
Presumably also the Arduino-style GPIO, pin-out docs [1], and just overall detailed docs like the power supplies page [2]. Good docs and schematics were not unusual forty+ years ago but are probably fair to describe as a “hackable” feature today.
I mean, it isn’t impossible, just expensive and not worth much outside niche enthusiast markets. Even System76 has a mix of coreboot-with-schematics and more traditional closed hardware [1].
In theory, I would love to pay for a device which is well-documented and provides a repair and modification friendly interface at all levels of hardware and software abstraction but in practice I’ll probably buy a macbook air because they mostly just work and the air is cost competitive vs the “open” niche.
And I don’t know about System76 in particular but my overall impression of binary blob driver acceptance is that the open folks lost that battle which narrows the gap with Apple tech.
Once correct, that is no longer a valid assessment in 2023 because of:
+ Deep and growing concern, in government and at the C-suite level, about software supply chain security which necessarily must include firmware/BSP/UEFI/BIOS and the silicon for devices equipped with on-die ROM produced by relatively unknown manufacturers. The watershed event driving this concern was the devastating SolarWinds attack, Log4J exploits, discovery that most public container repository images have known CVEs and new mainstream awareness that popular code libraries have become infected with malware because of mismanagement during redistribution by novice volunteers (sometimes several years after the original library developers have exited).
+ The rise of China's cyber forces (including APT41's MoonBounce [1]), whose hackers reportedly now outnumber the US government's cyber forces by 50:1 [2]. Notably, some computers arrive pre-loaded with MoonBounce. Vendors like Apple, DELL and System76 could easily detect such infection in their mainland China factories, but it's far less certain that companies like ASUS would and, obviously, much smaller companies that design AND distribute from within mainland China like Latte Whatever cannot be trusted at all because they may (literally) have a gun put to their head at any time (by the operatives of the CCP) to pre-infect their goods. Most end-customers are not going to have the resources to analyze binaries to look for MoonBounce or any of its variants (and will have even less if they're ransomware'd by APT41 or downstream script kiddies), so the onus to identify or avoid such threats is on the tech people sourcing these components. But most tech people are not even aware that wiping the hard drives and operating system will not eliminate such infections and worse, many tend to have progressive views that because war is bad for everyone, it won't come [so we don't need to let these issues drive our decision making]. If there is not change, China's cyber forces will clearly win.
+ Therefore big regulation IS coming to the software industry, regulation like hasn't been seen in the entire 60 year history of code [3]. In the meantime, industry is responding with so-called "Zero Trust" initiatives within their institutional networks (to try and contain infections), but unfortunately, the broadband provider networks (that should truly be viewed as giant institutional networks of small business and residential users) are not (yet) stepping up with even basic (eg, BeyondCorp [4]) Zero Trust context-awareness to regulate packet flows (eg, "why is subscriber X suddenly posting short strings to IRC and uploading huge files to AlibabaCloud at 330am local time"), so we're all still in jeopardy as people continue to buy and deploy cheap infect-ed/able devices from mainland China.
Thanks for all the details. I agree with your view of the risks but I have yet to see any urgency on this in big-corp land (never mind consumer land). The notable exception being Google who were reacting to the 2009 hack and have presumably been pushing the envelope ever since. Even your regulation example is proposed, rather than ratified, so I think you’re right but the mainstream has not caught up.
James Hamilton of AWS fame touched on this in 2022 (https://www.youtube.com/watch?v=zfjFHa5wY0E). He has a thesis that servers will move towards single board PCBs similar to how mobile devices. This feels like the first step in that direction so look forward to seeing what's next.
A long time ago when I was at Basho we had a project with a major storage vendor to basically turn hard disks into individual Riak database nodes, so that all the scaling, redundancy, rebalancing, etc. would be pushed up to the network and database layer.
I just bought a couple of the predecessor (Delta 3) boards last week. One interesting thing about LattePanda boards is that they are among the cheapest, most direct ways to run Windows 10 LTSC Enterprise IoT with a legitimate license.
Booting up a LattePanda board is a real breath of fresh air, compared to the thermonuclear tire fire that retail Windows has become. As far as I can tell you lose absolutely no functionality with LTSC IoT.
You have to sign up as an official Microsoft-sanctioned hardware OEM. Usually you have to pay a dominatrix to put you through a process like that, so it could be considered a relative bargain.
Technically it's not kosher to use the license for general work around the home/office, natch. The IoT licenses are supposed to be used only for developing, testing and selling hardware (and selling it directly to end users only, at that.) But at least the license exists.
I still like the Odroid stuff - Even the most expensive version(1) is still a lot cheaper then most other stuff ($165)
That gets you:
1. Quad-Core Processor Jasper Lake N6005 2Ghz/3.3Ghz boost
2. Up to 64GB Dual-channel DDR4 PC4-23400 with 2 SO-Dimm Slots
3. 2 x 2.5Ghz Ethernet
4. SATA-3/HDMI 2.0/DP 1.2
5. Intel onboard GPU
I have multiple of the predecessors (H2) and LOVE them. Kitting out a node with 16G and a cheap Sata SSD puts you around $250. They're fast enough to run multiple USB cameras for OctoPrint.
I believe if you check the forums, they can run windows as well, but I've never tried. And they are totally silent!!
I have an old Odroid-XU3. Last week I installed Ubuntu 22.04 on it. The OS image for Ubuntu 22.04 that I am using is the one officially provided by the makers of Odroid.
I wrote a document with a few notes about the Odroid-XU3.
Their x86 boards can run whatever, they have mainline Linux support.
They've also been maintaining Linux support for their 8+ year old ARM boards, as well. I generally avoid ARM boards because you're dependent on manufacturers for continued kernel development, but Odroid/HardKernel/whatever holds up their end of that deal very well in comparison to other manufacturers.
If the additional bulkiness is not a problem you could get a PoE splitter. A PoE splitter splits the Ethernet and power into separate cables, allowing you to run PoE through a cable but connecting the end to a device that does not itself support PoE.
So far I resort to aftermarket Supernicro ITX boards with fanless Intel CPUs of yore; they support ECC and can be had for $150-200. Intel stubbornly keeps ECC support for server CPUs only.
I wish newer AMD-based compact boards were available, offering unofficial ECC support, because Zen-series CPUs have ECC support even in desktop and laptop models. Likely they are, I just did not look hard enough.
It matters to the degree you care about the data on that server. Watching ZFS checksum correction or ECC logs is always very enlightening. I have a TrueNAS box with critical stuff (offsite backup of it too, of course) and there are not a lot of errors but enough that I’m glad I went with ECC.
I feel like most SBC servers should have ARM or RISC-V CPUs these days. x86' primary advantage right now is proprietary graphics hardware, of which a server ought to have none. I'm not implying this isn't an issue on SBCs also, just that x86 probably isn't particularly advantageous for SBC servers.
This would be cool if it had new Intel ARC graphics that could encode av1 (av1 live server for everyone coooool! wow could be super next-gen!), but unfortunately it doesn't have that, just old intel integrated graphics. Bummer. Probably sticking with Odroid stuff like mech422 said.
servers use gpus for all kinds of things with no actual display. I've been looking for a decent gpu to enable hardware encoding in a freebsd jail this week myself.
Intels built-in is great for that and that makes all the sense in the world on an sbc.
ARM, and I expect RV, win for minimal power consumption, but AIUI current x86 is actually good for raw performance and perf/Watt. I mean, I like more diversity in the market, but x86 is holding its own for real reasons (not just legacy/inertia).
I am working on a project which needs lots of RAM. It is just a search engine which needs lots of RAM to provide quick responses.
I was planning to stack such boards and have a cluster so I can horizontally scale the search engine. Are there any recommendations for such boards which support lots of RAM.
The only things that the board needs to support are a low-med end CPU such as i3, RAM (more the better), one SSD and an ethernet (100Mbit should be enough). Ideally I am planning to have a lots of such cheap boards and cluster them.
You might be better served by getting an older server motherboard. You can build a high RAM system (100+ GB) for under $200. The downsides are higher power consumption, and unpredictable BIOS behavior. But once you get it to boot the stability should be great
Are you sure you 'just' need alot of ram or also a lot memorybandwidth (memorychannels x speed)? With modern SSD's random Access performance as bulk alternative i doubt you are are just looking for RAM capacity.
One Intel NUC supports 2x32GB SoDIMM. So 64GB per host. Each host also needs storage networking space and power.
If part of your motivation is the act of physical clustering then you can't beat those as nodes.
If you want cores with your RAM with more performance and less hassle, a modern Mobo with 8 dimm slots for 256GB RAM running vms across is faster cheaper and way more versatile.
How much RAM do you need? More than 256GB a host is basically the max for consumer hardware
I am looking at more than 2TB of RAM which will grow as more data is ingested. More cores is not a requirement for me. Right now I manage this using cheap dedicated servers and cluster them. But I spend close to 1.5k USD per month on this, so figured building this would be a lot cheaper in the long run.
I could be totally off, but would it be possible to use fast storage such as multiple m.2 SSDs on an addin card like the Apex Storage X21/HighPoint SSD7540/ASRock Blazing Quad M.2 Card?
If latency is of high priority these options might still be lacking compared to RAM.
Intel's ARK lies about how much RAM their CPUs can handle. For example, I have some SFF computers based on their Pentium Silver lines, that they claim can only support 8GB and I've successfully used it with 16GB. Same goes with 32GB of memory.
I would not be surprised if the i3 CPUs can handle much more than what Intel says they can.
I'd love a NUC-performance single board computer with proper GPIO+SPI+I2C to use for prototyping projects in place of slower ARM64 SBCs, and at first glance, this looks like that. But reading the description, the GPIO isn't memory-mapped on the real CPU, but is exiled on the wrong side of a horrible microcontroller bottleneck. :(
From time to time, I search around for something like a PCI-express card to expose a bunch of 3.3V GPIO, SPI and I2C lines, but all I've been able to turn up expose old-fashioned 5V logic levels, no SPI/I2C, and at distinctly 'industrial' price points.
For better or worse, memory-mapped I/O isn't coming back -- how would that work on a modern flat-model OS with memory protection, anyway? It would require dedicated support from the memory controller itself, not something a system OEM could even think about implementing themselves.
It also wouldn't be useful for real-time applications, since these machines don't generally run true real-time operating systems.
Delegating I/O to a dedicated controller usually makes much more sense than trying to do it by bit-banging ports (or addresses) on a general-purpose CPU running a general-purpose OS. Not advocating the Arduino model necessarily, but if you want memory-mapped I/O, my guess is you really want an FPGA connected via PCIe, or at least USB HS. And if you don't need an FPGA to handle your I/O tasks, then there's a darned good chance that the Arduino is actually good enough.
What might be interesting is integrating something like a Teensy 4, so that you could offload not only I/O but a non-trivial amount of processing on the data to be acquired or transmitted.
I'm probably describing what I want incorrectly with 'memory mapped IO'. All I'm after is GPIO, SPI and I2C directly attached to the real processor, as you get with a completely standard Raspberry Pi or Rockchip board, but apparently never on x86.
All I want is a card or motherboard with some GPIOs and other pins. I've seen some products that almost get there, but they're something awkward like an ARM SBC stuck on Linux 2.6.x with an embedded Arduino. Memory mapping doesn't matter to me, although it would be cool.
54 comments
[ 0.16 ms ] story [ 119 ms ] thread[1] https://docs.lattepanda.com/content/sigma_edition/IO_Playabi...
[2] https://docs.lattepanda.com/content/sigma_edition/Powering_O...
In the first place, it was possible to document them succinctly enough.
In theory, I would love to pay for a device which is well-documented and provides a repair and modification friendly interface at all levels of hardware and software abstraction but in practice I’ll probably buy a macbook air because they mostly just work and the air is cost competitive vs the “open” niche.
And I don’t know about System76 in particular but my overall impression of binary blob driver acceptance is that the open folks lost that battle which narrows the gap with Apple tech.
[1] https://github.com/system76/firmware-open
Once correct, that is no longer a valid assessment in 2023 because of:
+ Deep and growing concern, in government and at the C-suite level, about software supply chain security which necessarily must include firmware/BSP/UEFI/BIOS and the silicon for devices equipped with on-die ROM produced by relatively unknown manufacturers. The watershed event driving this concern was the devastating SolarWinds attack, Log4J exploits, discovery that most public container repository images have known CVEs and new mainstream awareness that popular code libraries have become infected with malware because of mismanagement during redistribution by novice volunteers (sometimes several years after the original library developers have exited).
+ The rise of China's cyber forces (including APT41's MoonBounce [1]), whose hackers reportedly now outnumber the US government's cyber forces by 50:1 [2]. Notably, some computers arrive pre-loaded with MoonBounce. Vendors like Apple, DELL and System76 could easily detect such infection in their mainland China factories, but it's far less certain that companies like ASUS would and, obviously, much smaller companies that design AND distribute from within mainland China like Latte Whatever cannot be trusted at all because they may (literally) have a gun put to their head at any time (by the operatives of the CCP) to pre-infect their goods. Most end-customers are not going to have the resources to analyze binaries to look for MoonBounce or any of its variants (and will have even less if they're ransomware'd by APT41 or downstream script kiddies), so the onus to identify or avoid such threats is on the tech people sourcing these components. But most tech people are not even aware that wiping the hard drives and operating system will not eliminate such infections and worse, many tend to have progressive views that because war is bad for everyone, it won't come [so we don't need to let these issues drive our decision making]. If there is not change, China's cyber forces will clearly win.
+ Therefore big regulation IS coming to the software industry, regulation like hasn't been seen in the entire 60 year history of code [3]. In the meantime, industry is responding with so-called "Zero Trust" initiatives within their institutional networks (to try and contain infections), but unfortunately, the broadband provider networks (that should truly be viewed as giant institutional networks of small business and residential users) are not (yet) stepping up with even basic (eg, BeyondCorp [4]) Zero Trust context-awareness to regulate packet flows (eg, "why is subscriber X suddenly posting short strings to IRC and uploading huge files to AlibabaCloud at 330am local time"), so we're all still in jeopardy as people continue to buy and deploy cheap infect-ed/able devices from mainland China.
[1] https://usa.kaspersky.com/about/press-releases/2022_kaspersk...
[2] https://www.cnbc.com/2023/04/28/chinese-hackers-outnumber-fb...
[3] https://digital-strategy.ec.europa.eu/en/news/new-eu-cyberse...
[4] https://www.beyondcorp.com
I don’t think it was ever commercialized though.
Booting up a LattePanda board is a real breath of fresh air, compared to the thermonuclear tire fire that retail Windows has become. As far as I can tell you lose absolutely no functionality with LTSC IoT.
Technically it's not kosher to use the license for general work around the home/office, natch. The IoT licenses are supposed to be used only for developing, testing and selling hardware (and selling it directly to end users only, at that.) But at least the license exists.
1. Quad-Core Processor Jasper Lake N6005 2Ghz/3.3Ghz boost
2. Up to 64GB Dual-channel DDR4 PC4-23400 with 2 SO-Dimm Slots
3. 2 x 2.5Ghz Ethernet
4. SATA-3/HDMI 2.0/DP 1.2
5. Intel onboard GPU
I have multiple of the predecessors (H2) and LOVE them. Kitting out a node with 16G and a cheap Sata SSD puts you around $250. They're fast enough to run multiple USB cameras for OctoPrint. I believe if you check the forums, they can run windows as well, but I've never tried. And they are totally silent!!
1) https://www.hardkernel.com/shop/odroid-h3-plus/
edit: formatting
I wrote a document with a few notes about the Odroid-XU3.
https://doc.nstr.no/odroid-xu3.htm
They've also been maintaining Linux support for their 8+ year old ARM boards, as well. I generally avoid ARM boards because you're dependent on manufacturers for continued kernel development, but Odroid/HardKernel/whatever holds up their end of that deal very well in comparison to other manufacturers.
https://www.armbian.com/download/?device_support=Supported&t...
https://dietpi.com/#download (click Odroid).
For example the TL-POE10R PoE splitter. https://www.tp-link.com/en/business-networking/accessory/tl-...
So far I resort to aftermarket Supernicro ITX boards with fanless Intel CPUs of yore; they support ECC and can be had for $150-200. Intel stubbornly keeps ECC support for server CPUs only.
I wish newer AMD-based compact boards were available, offering unofficial ECC support, because Zen-series CPUs have ECC support even in desktop and laptop models. Likely they are, I just did not look hard enough.
Its not that importánt.
How about a framework board since both share the board form factor?
This would be cool if it had new Intel ARC graphics that could encode av1 (av1 live server for everyone coooool! wow could be super next-gen!), but unfortunately it doesn't have that, just old intel integrated graphics. Bummer. Probably sticking with Odroid stuff like mech422 said.
Intels built-in is great for that and that makes all the sense in the world on an sbc.
True. But watch out for Veyron Ventana, due H2 this year, and Tenstorrent Ascalon, due next year.
The latter expects similar performance as projected Zen5, but using less power.
Not sure what you mean. E.g. recent AMD cards work on RISC-V just fine.
If part of your motivation is the act of physical clustering then you can't beat those as nodes.
If you want cores with your RAM with more performance and less hassle, a modern Mobo with 8 dimm slots for 256GB RAM running vms across is faster cheaper and way more versatile.
How much RAM do you need? More than 256GB a host is basically the max for consumer hardware
I would not be surprised if the i3 CPUs can handle much more than what Intel says they can.
From time to time, I search around for something like a PCI-express card to expose a bunch of 3.3V GPIO, SPI and I2C lines, but all I've been able to turn up expose old-fashioned 5V logic levels, no SPI/I2C, and at distinctly 'industrial' price points.
It also wouldn't be useful for real-time applications, since these machines don't generally run true real-time operating systems.
Delegating I/O to a dedicated controller usually makes much more sense than trying to do it by bit-banging ports (or addresses) on a general-purpose CPU running a general-purpose OS. Not advocating the Arduino model necessarily, but if you want memory-mapped I/O, my guess is you really want an FPGA connected via PCIe, or at least USB HS. And if you don't need an FPGA to handle your I/O tasks, then there's a darned good chance that the Arduino is actually good enough.
What might be interesting is integrating something like a Teensy 4, so that you could offload not only I/O but a non-trivial amount of processing on the data to be acquired or transmitted.