Right now it is not even clear how to interface with SSDs even on a single host, there has been all sorts of attempts to move away from the traditional plain block device model. NVMe has extensions for KV, ZNS, and FDP, all which offer different characteristics. And then there are of course open channel SSDs and some others too. I kinda expect the future foundational IO interface to be more S3-like than block-device or unixy filesystem-like.
Why would it be S3-like? S3 is a very general abstraction on storage. If there's room below the current abstractions, it's below, not above - Linux has drivers for raw flash devices (mtd devices) which gives Linux full control of the program/erase cycle and responsibility for wear-leveling.
I would assume “S3-like” in the sense that objects are immutable, large writes, separate metadata storage, etc. Patterns that fit modern SSDs better than the abstractions of block devices.
Yea, exactly, I was thinking the direction of for example how Ceph Seastore and WDs ZenFS bypass the traditional block device and vfs layers and do their own thing, combined with what nvme has been doing with these new extensions (kv, zns, fdp). Not really sure if "more s3-like" is completely accurate description of that direction, but to me it seems somewhat reasonable reference.
zokier · · focus · HN ↗
someonebaggy · · focus · HN ↗
thadt · · focus · HN ↗
zokier · · focus · HN ↗