Hi All:
I modified a MOESI_SMP_Directory protocol to
simulate a transactional memory cache coherent
protocol. It works fine most of the time but sometimes
it will just hand for no obvious reason.
One interesting phenomenon that we observe is that
sometimes when P0 write to a highly contended
variable, the directory would be constantly retrying
for a particular kind of event.(GETS,MMO>MMO for every
3 ruby cycles) After a long time, it will eventually
get out of it but sometimes it doesn't. But this
situation never applies to other processors. Is there
any reason that the directory would do that?
Thanks in advance for any suggestion!
Regards
James
|