-
Notifications
You must be signed in to change notification settings - Fork 82
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
How to make data in a certain range permanently resident in cache? #411
Comments
Hi @hertz1987, If your data is properly "marked" as metadata, then IO class 'metadata' should be the best classifier for this purpose. If you want to add a restriction, that only metadata from the beginning of the core is cached, then you can combine it with LBA classifier 'metadata&lba:le:'. |
Thank you for your last reply, I tried using "lba" classifier but it didn't seem to have worked, and it seemed the statistics for each IO classification didn't reflect the actual data: my IO classification configuration file is as follows:
In rule #2 I specified a rule which will never be satisfied(lba<0) So in my expectation, if I write some data of 512 bytes to the core device at offset=0 ( dd if=/dev/zero of=/dev/intelcas3-3 bs=512 count=1 ), there should be write full misses in "casadm -P -i 3 -j 3 -d 3" output, Instead:
╔══════════════════╤═══════╤═════╤═════════════╗ ╔══════════════════════╤═══════╤═════╤══════════╗ ╔══════════════════╤═══════╤═════╤═════════════╗
╔══════════════════╤════════╤═══════╤═════════════╗ ╔══════════════════════╤═══════╤═══════╤══════════╗ ╔══════════════════╤═══════╤═══════╤═════════════╗ At this point I am confused about why the 512 bytes write was classified as "unclassified" by rule #0 instead of by rule #2(lba<=20971520), was it because "lba" classifier is only supported on Open CAS but not on Intel CAS? or maybe there are syntax errors in my configuration file? Any clarification or help would be greatly appreciated, thank you! |
After running some tests on OpenCAS I found out that this problem can only be reproduced on IntelCAS and not on OpenCAS, so transitioning from IntelCAS to OpenCAS should solve my problem. @Deixx Thank you so much for your help! |
Suppose I had a core device /dev/core that contains some metadata at 0-1GB, and I wanted this 1GB metadata to be always resident in the cache, how should I make it happen?
I've thought about using IO classification, but it seemed that the only available IO class name for this scenario was “lba”, so I don't know if it is the answer to my problem, and if it is, how should I write the classification configuration file?
The text was updated successfully, but these errors were encountered: