Ask HN: Looking for bare metal hosting company without virtualized NICs
I've been using spot Amazon c5n metal instances to do DPDK NIC I/O development work. About $1.20/hr/machine. Spot instances are awesome for development work, and on the whole, using Amazon
is painless.
See https://github.com/rodgarrison/reinvent
However, AWS ENA NICs are virtualized. They are not bonafide plugged-into-the-PCI-bus cards. Therefore the data pathway to/from the NIC is not direct like it would be at home with the NIC right on the motherboard or in the PCI bus. For a cloud company probably virtualized is the only way to go.
Non-virtualized is what I have in mind for the application I have in mind. To that end, anybody know of a decent HW hosting company provides:
- Some kind of Xeon based processors - regular run of the mill COTS NICs (not virtualized) - Bonus: provides or could provide SolarFlare NICs
18 comments
[ 3.5 ms ] story [ 84.7 ms ] threadThe "good" news is that most bare metal hosts like Equinix and SoftLayer haven't caught up to Nitro so they use traditional NICs.
And if you can use the OFED API, have you tried the Elastic Fabric Adapter?
>The "good" news is that most bare metal hosts ...
Thank you. Will checkout references.
The system I'm working on, for the I/O part, will be a rewrite of: https://www.usenix.org/system/files/nsdi19-kalia.pdf
The idea there is that not so many UDP packets are lost so, with a little help in congestion and packet loss, you can get UDP speed reliably. DPDK, even on a virtualized NIC like AWS, can enqueue UDP packets in ~500ns if the NIC's TXQ isn't full. So compared to, for example, https://blog.cloudflare.com/how-to-receive-a-million-packets... you can get a lot more done in a lot less resources than kernel based work.
But as I say AWS are virtualized NICs. Which is why I was asking for options for bare metal with regular-old-NICs on the PCI bus. So although developing on AWS spot instances is pretty seamless it seems like it defeats the point of using DPDK which I guess would shine even brighter if the virtualized layer was not in the way.
And, no, I have not tried EFA although I've definitely seen it on AWS.
Thank you for time and response.
Amazon's c5n.metals are actually too big for me but it gets most of the virtualization out of the way. And it's about $1.17/hr/box spot. Now there's a ton to like about Amazon: EBS, deployment, snapshots, and a whole bunch of other stuff is 100%. The AMZ linux image + DPDK works and built with no nonsense. Passing around public Amazon AMIs to help people eliminate code builds by just jumping into a ready-to-go-setup is another great upside.
Meanwhile on Equinix I've got a higher CPU frequency on a more gentle size (c3.small.x86) for $.17/hr. It's got two Mellanox NICs and two Intel NICs and although I haven't run any code yet, whatever I can use there is probably fine. I will be darn interested in comparing the two setups.
Thanks.
Learned a bit about data center-specific network protocols remotely.
At the time, AMD was chosen over Intel due to not wanting CPU L2 cache being shared by two CPUs.
Shops like nforce or FDCservers might fit your needs better than the super overpriced options most people are listing here, and there are hundreds of other options.
That said, SR-IOV may obviate some or all of your concerns. The hypervisor is bypassed for most purposes, kinda like the way DPDK etc bypass the kernel. Microsoft has a nice diagram at https://docs.microsoft.com/en-us/windows-hardware/drivers/ne...
You might check out some smaller providers, look more for dedicated servers vs bare metal and that'll get what you need.
I'm not aware of anyone who sells SolarFlare nics directly but maybe check with knownhost.com as they might be able to do something custom for you.
Thanks for the metnion!