[Gems-users] Transactional Manager and Protocols


Date: Mon, 08 Dec 2008 16:48:36 +0200
From: Konstantinos Nikas <knikas@xxxxxxxxxxxxxxxxx>
Subject: [Gems-users] Transactional Manager and Protocols
Hi all,

we are using LogTM to run some transactional versions of various graph algorithms.

More specifically we are simulating a 4-core machine using the MESI_CMP_filter_directory protocol and we create 2 threads which we bind on 2 of the processors. We don't config any of the chip/memory hierarchy options, we just use the default values. When the code is executed, the stats report 0 aborts and of course the products of the algorithms are wrong.


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?

Kind regards,

Kostis
[← Prev in Thread] Current Thread [Next in Thread→]