quartzlock
Distinguished
From Intel's doc
I couldn't assure that the data one core writes out to the cache wont fall on the place there is data the other core is using, Im affraid I'n not well documented there but the "trashing" term is somehow useful here. Imagine the dataset of core 1 is 3Meg and dataset of core 2 is 2 meg and the whole code is cached in L1 of each core. Although core 1 is not hurting itself it could be hurting the other core's dataset because they together dont fit the 4M cache (c2d 6600 for example). What I understood of smartcache has not much to do with preventing trashing. I can imagine that smart cache could see that the data belongs to one specific core and in an attempt to avoid flushing the other cache's data it will flush one line of its own space, but such a decision is more based on prediction. Again worst case of such a prediction is that you cause trashing to the other core. Trashing however can be avoided when you use the right programming techniques and the same multithreaded app could run flawlesly in a Q6600 or clog compleetly the fsb if its bad written.
I couldn't assure that the data one core writes out to the cache wont fall on the place there is data the other core is using, Im affraid I'n not well documented there but the "trashing" term is somehow useful here. Imagine the dataset of core 1 is 3Meg and dataset of core 2 is 2 meg and the whole code is cached in L1 of each core. Although core 1 is not hurting itself it could be hurting the other core's dataset because they together dont fit the 4M cache (c2d 6600 for example). What I understood of smartcache has not much to do with preventing trashing. I can imagine that smart cache could see that the data belongs to one specific core and in an attempt to avoid flushing the other cache's data it will flush one line of its own space, but such a decision is more based on prediction. Again worst case of such a prediction is that you cause trashing to the other core. Trashing however can be avoided when you use the right programming techniques and the same multithreaded app could run flawlesly in a Q6600 or clog compleetly the fsb if its bad written.