Uptime Lab's CM4 Blade Adds NVMe, TPM 2.0 to Raspberry Pi
jeffgeerling.com
jeffgeerling.com
Also something interesting to noodle on: technically the Pi 4/CM4/Pi 400 have ECC RAM [1] — but some ECC functionality may require CPU-level integration... which I'm guessing isn't present on the Pi's SoC (but who knows? I posted this forum topic asking for clarification: [2]).
[1] Product brief mentions LPDDR4 with on-die ECC: https://datasheets.raspberrypi.org/rpi4/raspberry-pi-4-produ...
[2] https://www.raspberrypi.org/forums/viewtopic.php?t=315415
[0] https://www.zymbit.com/2020/11/10/blog-security-module-raspb...
But yeah, I think the idea is TPM is a bit more standardized across hardware, so some software that uses it would not need any tweaks to run on the Pi with a TPM built-in.
But there are USB HSMs, along with smart cards (which are also HSMs). Aren't those pretty standard?
The TPM specification has its own crypto interface that is standard across all hardware, so you can do things like generate a key and perform crypto operations without requiring the hardware implement a particular interface beyond whatever TPM version you require.
There are advantages and disadvantages to both approaches. On Linux, TPMs are implemented in the kernel, and CCID is handled by userspace drivers.
But I wonder why it's included here. Maybe for secure storage of private keys? I'm guessing that's the desired purpose for TPM in a server setting.
Obviously I'm not super familiar with TPM. I wonder if it can be used for things like better random number generation or hardware-accelerated hashing. I'm guessing if it supported hashing from userspace, the cryptocurrency crowd would have been all over it already.
Hardware accelerated hashing would be severely limited by the SPI bus speed.
Too slow to be useful, and the BCM283x SoC already has an internal RNG:
https://github.com/torvalds/linux/blob/master/drivers/char/h...
> ... or hardware-accelerated hashing
The TPM is on a really slow bus (33 MHz, 4 bits, tons of wait states). Even without any hardware acceleration, hashing on the CPU is much faster.
This is particularly useful at boot when entropy is very low.
This would also increase the costs for the chassis (because you’d have to add a network switch), but you could probably also pack in more blades… But even if you kept the ethernet PHY ports, you’d probably be more power efficient with even just power on a backplane.
Networking gear is often powered by PoE, but most servers have higher power requirements so a custom backplane or separate power method would be required.
Boards like the Turing Pi v2 (so far just prototypes and a marketing page on a website) would have a built-in network switch and power backplane (direct to each CM4), and I'm guessing another board or two like it will appear someday. I hope.
But if you're already going through the process to build custom boards for a cluster, then a backplane makes much more sense. We're not talking about a small 4-5 RPi cluster where everything can work off of a single PoE gigabit switch with a rat's nest of cat6. This project is talking about 16 of these blades in a 1U chassis. If you're going to go that far, a backplane isn't a big leap and would save power, space, and make cabling much easier.
Some people would be fine with a dumb N + 1 port gigE switch, which would be inexpensive, others will need 10G uplink, some 2x 10G with LACP so there's no bottleneck, some are going to want vlans or other managed switch style offerings, etc.
If the PoE power conversion really eats 6W per board though as mentioned in the article, that seems like a lot of power and an alternate power arangement would be a no-brainer.
1) network passthru cables with power 2) 1G network switch with 1G or 10G uplink
I just don't see there being much of a market for these where you'd have to have many more options. But, I think the power option is really a no-brainer... if you have to put passthru RJ45 jacks on the back of it, then that would be fine. At least they'd be in the back and could be pre-wired.
I'm tempted to get a CM4 and try to put together something just to see if it would work. I really don't have a problem with much else on the blades as-is (aside from the TPM, I'm not sure what that gets you). I do like the ide of putting an SSD on the blade for storage.
At the end of the day this a low-cost system for low-cost devices. IMO the little benefit from having a backplane is not worth the R&D cost and the downsides of fully backplaned blade systems.
And this is not just about this project: from what I see, the industry seems to have rejected fully integrated blade systems. Dell's M1000e is dying, and I don't think I've seen HPE bladecenters in years. Instead, semi-integrated systems like Supermicro's high-density offering is king. No proprietary chassis management system, no proprietary network switches, no locking yourself into whatever the backplane can carry.
In my probably too simplistic mental model, the blade systems approach got overrun by the advent of multicore processors combined with virtualization and containers. While not 100% equivalent, it’s close enough and the price difference ends up making the decision in most scenarios.
No offense but this is just wrong. HPe is all in with their synergy platform (the replacement to bladecenter that has been out for several years now). Cisco just released their next gen UCS blade platform as well. Dell has never been a dominant player in blades.
https://www.marketwatch.com/press-release/at-a-47-cagr-data-...
It'd be great if the next version of the compute module would provide thunderbolt 4 instead. I think we'd be able to provide both power + 40GB nic support over one connection.
Jeff Geerling made an extensive video series on the comparable $189 Turing Pi v1. In the final analysis of it, he breaks down how the networking part of the Turing Pi on it's own is $100 worth of chips. With the Turing Pi v1 holding 7 CM3 modules and the current Uptime Labs half-rack chassis holding 8 CM4 pseudo-blades, you might expect a fullsize chassis backplane supporting 16 blades requiring $200 worth of networking chips. Mind you, that $200 is for an unmanaged network with no VLANS or anything nice like that. Who knows how much more that would cost? $250? $300? More?
I've got two Turing Pi v1 boards. One is a dud because the network switch chip didn't work. It's a common problem if you read through the Turing Pi tech support Discord channel. These things are hard to get right. Leave it to a vertically-integrated network gear company to come up with something reliable.
I imagine two target consumer groups for these:
Group A will chose this over some Ampere Altra server, so the cost of a fancy new enterprise PoE switch is likely well within their budget.
Group B are Raspberry Pi hobbyists / "homelab" enthusiasts, and this is a group that's probably not averse to purchasing either a low-cost PoE switch on Amazon or a used enterprise PoE switch on eBay. There are many used gigabit PoE switches for sale at approximately the same price as a "managed" backplane (backplane parts only, ignoring R&D and QA overhead). Difference is, Group B gets both power and network for that price.
For both customer groups, the PoE switch is also reusable if they decide not to keep their Uptime Labs chassis, whereas a backplane wouldn't be. If only a fraction of the chassis capacity were used, then with a backplane, you've wasted money on idle backplane space. With the PoE approach, you have switch ports that can be connected to other things.
For the other group -- I'm in that group. I have half a dozen RPis hooked together with various bits of PoE and duct tape. Most of them are doing something, but aren't very mission critical (unless you count streaming music around my house as mission critical!).
As much as I like the RPi for various projects, I don't think I could rationalize using something like this for work.
I'd like to have the networking built in, but realistically, I suspect it would be an easier sell to have a passthru backplane where you still don't have the physical RJ45 ports on the blade, but on the backplane. But, you don't provide any switching on the backplane... it would be a 1:1 blade:port setup on the chassis. You could always add a switching backplane if you needed. For me, the backplane idea is primarily about power. The PoE numbers suggested in the power don't scream efficiency.
Really, the chassis is still going to need it's own power supply anyway (for fans), so why not just expand that out to supply the RPis from one power supply?
It appears that the rack posts are just chopped/hacked from some other rack ... but where are people sourcing these little 10" wide rack shelves ?
Also, the bottom component - is that a patch panel or a switch ?
Plenty of 10” kit about e.g. https://datacabinetsdirect.co.uk/soho-10-inch-data-network-r...
10” soho rack appears to be magic search phrase
I've see a rack similar to the in the article before and can't find it now, but one way to recreate would be to buy soemthing like this a use a 10” blanking plate instead of the 19” one https://www.amazon.com/Procraft-Desktop-System-Washers-DTR-1...
Lots of music gear shops sell desktop racks BTW
7 W of losses? That's either wrong or insane for DC/DC regulation. Rough figures, pi4CM (5W) + NVMe (2W) = 7W. So regulation of 50% efficiency?
[1] https://www.jeffgeerling.com/blog/2021/review-raspberry-pis-...
I've been doing that for a decade now (for cheapness mostly) and people said it was stupid and worse than a single computer with the same number of cores and RAM.
Also would those chips need heatsinks and cooling?
Of course, the total computing power here would fit in a single x86 computer, but it can be fun to play with clustering and this might be a lot less expensive than an x86 cluster.
It brings joy to Pi owners. There's more to the Pi than just the hardware.
I don't think this is possible though, I think I read somewhere that the Pi4 PCIE Root doesn't support host<->host comms.
If anyone knows different, speak up!
This will almost certainly not make sense economically, but it seems a lot around RPi clustering doesn't make sense from a performance/$ perspective.
Are there any good PoE hats for Pi that won't melt everything around it, and have spare power for USB?
For each product I've been able to actually touch, there are ten more I've heard about and wanted to see happen, but they just couldn't be made because certain specialty ICs are just not available to small-time hobbyists/makers.
I don't tend to review these boards because I want people to go out and buy them. I review them because I am inspired to try out new ideas and try my hand at new things (circuit designs, PCB design, etc.), and I figure maybe some other people can get inspired to try too.
I try to feature as much open source hardware as possible, because it actually is possible for people to get custom PCBs and put together their own versions of them.
I love seeing the Jeff Geerling posts and his blog is great!
Personally I love the posts of Jeff as I think they are very well written and well researched.