Live data from Hacker News

Fire-Flyer File System (3FS)

github.com

41–50 of 106 posts

Re: Fire-Flyer File System (3FS)

#41

Earlier quoted context omitted.

enlighten us

my theory is that their own DeepSeek writes the code for them, so they are highly productive.

That would be terrifying in itself if true because for this type of work you really need the best of the best. But I doubt this is the case here. LLMs as we know them today are not quite yet there for this type of work.

Re: Fire-Flyer File System (3FS)

#42
post #24
post #5

Earlier quoted context omitted.

> The final aggregate read throughput reached approximately 6.6 TiB/s with background traffic from training jobs. The Ceph team has been working on Crimson for years to get past performance bottlenecks inherent to the HDD-based design. I’m having troubles finding any ceph benchmark results that show any close to 100 GB/s.

Seems easy to find: https://ceph.io/en/news/blog/2024/ceph-a-journey-to-1tibps/

3FS: 180 nodes, 2x200Gbps InfiniBand and 16x 14TiB NVMe SSDs per node, ~500 clients, 6.6 TiB/s of read throughput with training jobs workload

Ceph: 68 nodes, 2x100Gbps Mellanox and 10x 14TiB NVMe SSDs per node, 504 clients, 1TiB/s of FIO random read workload

Re: Fire-Flyer File System (3FS)

#43

Earlier quoted context omitted.

enlighten us

my theory is that their own DeepSeek writes the code for them, so they are highly productive.

I’d expect them to highlight that, rather than keep it secret. I wouldn’t be surprised if they used it a little bit, but probably not to an extent that is really unique or unusual.

Re: Fire-Flyer File System (3FS)

#44

For those who are interested, the design was originally published here: (Chinese) https://www.high-flyer.cn/blog/3fs/ This file system has been developed and utilized by them for several years . Compared to the traditional file systems, it is more focused on model training that contains a lot of random reads. Read cache and prefetching are useless in this case. Therefore, they designed the file system without those f…

I hope they chose a multiple of 4096 for the alignment to minimize flash read amplification. QLC drives even use 16kib pages.

Re: Fire-Flyer File System (3FS)

#45
post #39
post #12

Was curious how they get such performance with a FUSE based design. It seems that they sort of cheat, FUSE is used to manage metadata but to get high performance you have to link in the C++ client library and do all your reads and writes through that. So it isn't general purpose, you have to modify your application to take advantage of it. Still, that's a clever trick, and makes me wonder if there's a LD_PRELOAD stra…

Why is FUSE that much slower than providing your own read/write functions? I get that it has to go through the kernel, but the operations are on entire blocks and network should be the bottleneck by far (and disk/main memory should be a bottleneck if the data is local).

You have to bounce through the kernel back out to use space. The number of syscalls is quite high. In many cases this is mitigated somewhat by the page cache making reads cheaper, but that’s explicitly an anti design here.

I believe there’s work to minimize this using io_uring so that you can talk to the fuse driver without the kernel being in the middle, but that work isn’t ready last time I checked.

For what it’s worth at Palm we had a similar problem because our applications were stored compressed but exposed through fuse uncompressed, instead of O_DIRECT I just did an fadvise to dump the cache after a read. Not as high throughput but the least risky change to get the same effect.

Re: Fire-Flyer File System (3FS)

#47

Can someone convince me this isn't NIH syndrome? Why would you use this instead of SeaweedFS, Ceph, or MinIO?

Software tech in China is a different landscape. It's really common to reinvent the wheel in China. Almost every big name (Bytedance, Meituan, etc) have their own of everything with both office political and in house need reasons.

The thing is those stuff are so prevalent those in house tech have reach the point they are competitive. This doubles for quant firm like DeepSeek.

Re: Fire-Flyer File System (3FS)

#48
post #31
post #30

It’s not clear to me where and how the current popular systems fall short. Do they talk about I anywhere? Also, what specifically is the data access patterns for training and inference that are different from traditional use cases?

Well current popular systems are pretty much limited to Lustre and the new kid Weka, mostly Lustre though tbh. You can try to use "standard" options like MinIO/Ceph(RADOS)/SeaweedFS but you will very quickly learn those systems aren't remotely fast enough for these usecases. AI training is what this is used for, not inference (which has absolutely no need for any filesystem at all). What makes the workload somewhat s…

They’re using the FS for caching the KV caches of past requests. It’s why they’re able to charge so little on prompt cache hit.

Re: Fire-Flyer File System (3FS)

#49
post #20
post #16

Interesting that their GraySort result is CPU bound while they are using 3x more CPUs than the record holder from ten years ago.

How can you determine that it CPU bound from the attached charts?

Because it hits a read peak in the first wave and never hits it again.
Post reply on HN