cxl-micron-reskit / famfs

This is the user space repo for famfs, the fabric-attached memory file system
Apache License 2.0
31 stars 9 forks source link

Using the famfs creat command to create a file takes too long, affecting the application performance. #60

Open lordiscat opened 3 months ago

lordiscat commented 3 months ago

Using the famfs creat command to create a file takes too long, affecting the application performance.

lordiscat commented 3 months ago

almost 90ms~120ms

jagalactic commented 3 months ago

This is a known issue; In order to fix it we will probably need to have a conversation about what the use case is and what its priorities are. Performance of famfs creat has not been a priority because 1) most of the use cases I'm currently aware of use famfs cp instead, and 2) all of the reasonable use cases I 'm aware of use large files - meaning famfs creat doesn't get called all that much.

Let's discuss your use case and how famfs should evolve to better serve it...

The locked_log related functions are used to speed up file creation by famfs cp, by keeping the log locked while creating every file in a wildcard copy. We could do a batched famfs creat, but it's not immediately obvious to me what that interface should be.

One workaround would be to create the files in a different file system and then copy them into famfs with fams cp using wildcards or -r.

I currently don't have enough information to consider starting work on this issue, but I'm happy to start a dialog about it. I'm also happy to help if you want to work on a solution.