Re: [Gems-users] Rationale: Aborting with Lazy Version Management doesn't take effect immediately


Date: Mon, 20 Oct 2008 18:49:32 -0500
From: Jayaram Bobba <bobba@xxxxxxxxxxx>
Subject: Re: [Gems-users] Rationale: Aborting with Lazy Version Management doesn't take effect immediately
You could discard the transaction store buffer immediately. But you shouldn't try to restore the checkpoint immediately. Simics doesn't like it when you change PC at arbitrary points. So we register a callback with Simics to let us know when it is safe to restore checkpoint
(restartTransactionCallback).
We wait till the *current* reference is ready to retire before doing abort processing in order to avoid doing the abort work (discard buffer + register callback) multiple times.

Jayaram

Fuad Tabba wrote:
Hi,

A question on ruby/transactional memory when using Lazy Version Management. I've noticed that when a transaction aborts, it doesn't abort immediately, but sets an abort flag (setAbortFlag) which gets processed at the next load, store or commit (readyToRetireMemRef and commitTransaction).

My question is why doesn't the transaction abort immediately? Is is a modeling issue or a workaround to something gems/simics related?

Thanks.

Cheers,
/fuad
------------------------------------------------------------------------

_______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/gems-users
Use Google to search the GEMS Users mailing list by adding "site:https://lists.cs.wisc.edu/archive/gems-users/"; to your search.


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