Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

do crucible datasets want primarycache property set? #692

Closed
wesolows opened this issue Apr 5, 2023 · 2 comments
Closed

do crucible datasets want primarycache property set? #692

wesolows opened this issue Apr 5, 2023 · 2 comments
Assignees
Milestone

Comments

@wesolows
Copy link

wesolows commented Apr 5, 2023

The contents of crucible datasets are almost entirely data owned by guests. That data is going to be cached locally by those guest OSs whether we want them to or not, and those caches will be local to whatever sled is running the instance. Maintaining a sort of second-level cache in the form of the ARC on the sleds storing that data is of little to no value and will only consume memory that could otherwise be allocated to guests or used by system/control plane software, including crucible itself. Therefore we should set primarycache to either metadata or none for all crucible-managed datasets; which is preferable will need some investigation, but all (the default) is definitely wrong.

I'm tentatively setting this to MVP+1 because it's maybe marginally possible that we'll survive without this, but not having it makes us much much more likely to experience memory pressure. Yes, the ARC is supposed to yield memory gracefully, but we've all seen things not quite work the way they're supposed to. This could potentially be considered part of MVP depending on how the storage reliability product assurance work shakes out.

@wesolows wesolows added this to the MVP+1 milestone Apr 5, 2023
@leftwo leftwo modified the milestones: MVP+1, 3 Oct 17, 2023
@faithanalog faithanalog self-assigned this Oct 18, 2023
@askfongjojo askfongjojo modified the milestones: 3, 4 Oct 27, 2023
@morlandi7 morlandi7 modified the milestones: 4, 5 Nov 14, 2023
@morlandi7 morlandi7 modified the milestones: 5, 6 Dec 5, 2023
@mkeeter
Copy link
Contributor

mkeeter commented Jan 26, 2024

Marking this as R3, based on discussion on the 2024-01-22 storage huddle.

For reads, it makes sense that data is cached in the guest OS, but for writes, there's definitely performance implications to disabling the ARC. In the huddle, we discussed the need for careful benchmarking, which isn't going to happen before release 6.

@leftwo leftwo modified the milestones: 6, 7 Jan 26, 2024
@morlandi7 morlandi7 modified the milestones: 7, 8 Mar 12, 2024
@mkeeter mkeeter changed the title crucible datasets want primarycache property set do crucible datasets want primarycache property set? Apr 15, 2024
@leftwo leftwo modified the milestones: 8, 9 Apr 23, 2024
@morlandi7 morlandi7 modified the milestones: 9, 10 Jun 24, 2024
@morlandi7
Copy link

8/12 Storage huddle - decided to not do this, has been superseded by other work

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants