Date: | Fri, 25 Apr 2008 19:58:13 +0200 |
---|---|
From: | "Rubén Titos" <rtitos@xxxxxxxxxxx> |
Subject: | [Gems-users] How to abort a transaction at commit time |
Dear list, I'm simulating a LogTM-like (EagerCD EagerVM) transactional memory machine, using GEMS 2.0 and simics 2.2.19. I've customized the filter_directory protocol and TransactionInterfaceManager.C so that a commit_transaction "instruction" has to notify each L2 bank, and must receive a commit_ack msg before the commit actions actually take place. I managed to do that without much problem, just disabling the simics processor when executing TransactionInterfaceManager::commitTransaction, and enabling it again when all the commit_acks have arrived (calling xact_mgr from the protocol). However, now I want to go one step further and want to add "commit_nack" messages that, instead of "granting commit", force the transaction to abort. Here is where I'm having trouble: I can't prevent the transaction from continuing its execution PAST the commit magic call before the abort happens. After all the commits acks/nacks have arrived, my "notifyCommitNackReceived" call does find shouldTrap set to true (setAbortFlag is called earlier, by some other code of mine) but the question is, how can I abort that transaction at that time? If I just enable the simics proc (as I did before, when I had only acks) , it eventually traps after executing the next instruction, but that is not only semantically incorrect but sometimes also leads to new calls to beginTransaction by the (to-be) aborting processor, before the abort trap actually jumps in. So, can anybody help me on how to abort a transaction after simics has reached the commit PC? Thanks in advance, Ruben -- Rubén Titos Parallel Computing and Architecture Group Computer Engineering Dept. University of Murcia http://skywalker.inf.um.es/~rtitos/ |
[← Prev in Thread] | Current Thread | [Next in Thread→] |
---|---|---|
|
Previous by Date: | Re: [Gems-users] Questions, Lois Orosa Nogueira |
---|---|
Next by Date: | Re: [Gems-users] question about XACT_LOG_BUFFER_SIZE parameter, Jayaram Bobba |
Previous by Thread: | Re: [Gems-users] how get the message's source NodeID or source InterfaceID, Niket |
Next by Thread: | Re: [Gems-users] How to abort a transaction at commit time, Jayaram Bobba |
Indexes: | [Date] [Thread] |