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

Performance drops dramatically when flush dirty data to core device #1439

Open
mslovy opened this issue Jan 9, 2023 · 0 comments
Open

Performance drops dramatically when flush dirty data to core device #1439

mslovy opened this issue Jan 9, 2023 · 0 comments
Labels
question Further information is requested

Comments

@mslovy
Copy link

mslovy commented Jan 9, 2023

Question

I find that, when trigger dirty data flushing, the performance of the cas device drops dramatically. I think the each cache line itself has fine-grain lock to manage rwlock for io request, when I flush very small parts of dirty cache lines, it will not be affected other cache-lines read/write ops? Furthermore, flush may need to block write requests, but there is no need to block read requests, right?

Motivation

In our use-case, the cas device would be very busy so that we need to set activity-threshold to 0, in order to trigger the flushing operations. Otherwise, cache device would not be flush any dirty data until the cache fill up with dirty data.

the configuration looks like this:
casadm -X -n cleaning-alru -t 0 -b 128 -s 120 -w 1 -i 1

and when flushing the IOPS on client drops to approximately 5000 from previous 20000. If I flush more data once, like:
casadm -X -n cleaning-alru -t 0 -b 128 -s 1000 -w 1 -i 1

the performance drops lowest to 500, and damping from 500 ~ 5000.

So I would like to know how to minimize the performance impact in this use-case. Any also if there is possible to optimize the lock granularity in codes, can anyone show the critical code blocks related to this?

@mslovy mslovy added the question Further information is requested label Jan 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

1 participant