-
Notifications
You must be signed in to change notification settings - Fork 2
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
Usage Instructions #1
Comments
First of all, thanks for trying the project. One of main suggestions is: The code does not run out of the box. Sorry to say that the parameters, which probably need tuning for different computers, are not exposed to the run-time command line but a C++ file ( smart-cache-evict/common/definitions.cpp Line 28 in 89f7413
Regarding the result of There is no need to run any command in sudo. To enable huge page, you need to change the default value of vm.nr_hugepages (0 by default) using sysctl. You do need sudo for this one. Once this OS parameter is changed (meaning OS allow a certain number of huge pages to be allocated), the test will allocate huge pages. As for
One trial fails after a total of 501 iterations without any progress. During the process, the candidate set has been prune to 2843 elements, which is quite far away from the LLC.way (which normally 11 to 16 depending on your computer).
Seems rollback is enabled in this case and the test fails with the maximal number of rollback reached. The final size of the pruned candidate set is 12102, still quite large. By showing the final size of the prune candidate set, it give you a sense whether the parameter is better or worse. Normally when the test begin to converge to candidate sets < 100 elements, the algorithm begins to work. One hint for you, do check this one: smart-cache-evict/common/definitions.cpp Line 46 in 89f7413
Currently the elem_size is set to SZ_CL , which mean every element in the candidate set a totally random cache line. This is not necessary on current computers, because the VA[11:6] == PA[11:6]. To use this and significantly reduce the initial size of candidate sets, set it to SZ_PG (page size).
FInal remark, we have tested the algorithm on i7-3770, i7-8700 and Xeon-4110 (in RAID-2019 paper). Using totally random cache lines ( We do not reverse-eng the page mapping to verify the collected eviction set but rely on extra tests at the end of the test. |
Thank you very much for the comprehensive response, it saved me a lot of time! It works nicely now. |
Hi,
thank you for the interesting paper and uploading your code. I have some troubles understanding the output of the programs unfortunately. test-evict does not appear to output anything and the test-evict-combine and -ratio do not seem to terminate but at least print some numbers. What do these numbers mean and (how) can I use your code to benchmark eviction set creation on my CPU? I tired an i7-7600U and an i5-8265U.
The output for
test-evict-ratio
looks like this:... and
test-evict-combine
like this:Thank you for helping out!
The text was updated successfully, but these errors were encountered: