After some tests, we found out that for our benchmarks to work
correctly, we need to set g_PROCS_PER_CHIP equal to the number of
processors. Which makes sense, since MESI_CMP_filter_directory is
described as a single-chip protocol. However, ti would be interesting to
know if the problem is caused by a limitation of the Transactional
Manager that it cannot check transactions across different chips? Or is
it something that has to do with this specific coherence protocol, in
which case if we used another protocol LogTM would work fine? And of
course can we use LogTM with the other protocols that are shipped with GEMS?
No the transactional manager code is independent of the number
of chips in the system. LogTM is supported only by the
MESI_CMP_filter_directory
protocol...
Jayaram
|