You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm a PhD student from the University of Illinois Urbana-Champaign. I really enjoyed reading your paper.
I have a specific question regarding the prime access pattern used in your covert-channel experiments on Intel Skylake-SP and Cascade Lake-SP, which use non-inclusive LLC. If I have interpreted the paper correctly, my understanding is that you first construct two eviction sets for one LLC set. Then, during each iteration, you sequentially access lines from just one of the two eviction sets. In the next iteration, you switch to the other eviction set, thereby creating an "alternating pointer-chase" pattern. Have I grasped this correctly? To give a clearer picture of my interpretation, the pattern appears akin to:
EVSetsEVa, EVb; // two eviction sets mapped to the same LLC setinti=0; // iteration count
...
// in a loopwhile (...) {
if (i % 2) {
// prime the first line in EVa to an eviction candidatesequential_access(EVa);
} else {
// prime the first line in EVb to an eviction candidatesequential_access(EVb);
}
i++;
}
One challenge I encountered is that the prime pattern sometimes loses its efficacy after several hundred iterations. For instance, it sometimes struggles to prime the first line as the eviction candidate after a few hundreds of iterations. Could this be attributed to background noise or some other variable?
After going through this repo, I found that there doesn't seem to be an implementation for the covert channel on processors with non-inclusive caches. Would it be possible for you to share the specific implementation or perhaps provide some guidance on maintaining a consistent eviction candidate over extended periods?
I genuinely appreciate your time and insights. Thank you in advance.
Warm regards,
Neil
The text was updated successfully, but these errors were encountered:
Thanks for your interest in our work. Quickly having a look, I would recommend the following:
Use the non-inclusive Prime pattern as included here in the repo.
Ensure that, prior to starting the alternating pattern, all remnants of EVa/EVb are removed from the cache after they are constructed (e.g., by using a Fill-Flush-Fill approach with yet another eviction set).
Dear Antoon and Furkan,
I'm a PhD student from the University of Illinois Urbana-Champaign. I really enjoyed reading your paper.
I have a specific question regarding the prime access pattern used in your covert-channel experiments on Intel Skylake-SP and Cascade Lake-SP, which use non-inclusive LLC. If I have interpreted the paper correctly, my understanding is that you first construct two eviction sets for one LLC set. Then, during each iteration, you sequentially access lines from just one of the two eviction sets. In the next iteration, you switch to the other eviction set, thereby creating an "alternating pointer-chase" pattern. Have I grasped this correctly? To give a clearer picture of my interpretation, the pattern appears akin to:
One challenge I encountered is that the prime pattern sometimes loses its efficacy after several hundred iterations. For instance, it sometimes struggles to prime the first line as the eviction candidate after a few hundreds of iterations. Could this be attributed to background noise or some other variable?
After going through this repo, I found that there doesn't seem to be an implementation for the covert channel on processors with non-inclusive caches. Would it be possible for you to share the specific implementation or perhaps provide some guidance on maintaining a consistent eviction candidate over extended periods?
I genuinely appreciate your time and insights. Thank you in advance.
Warm regards,
Neil
The text was updated successfully, but these errors were encountered: