[Gems-users] logTM conflict resolution


Date: Sat, 8 Mar 2008 12:59:20 -0800
From: "Jim Leek" <jrleek@xxxxxxxxx>
Subject: [Gems-users] logTM conflict resolution
In the Pathologies paper it gives a set of the different kinds of Transactional memory styles, and they have different conflict resolution methods.  LL is committer wins, EL is Requester wins, and EE is requester stalls.  However, I don't really see these options in rubyconfig.defaults.  This is what the wiki says:

XACT_EAGER_CD: (true or false) Setting to true enables eager conflict detection. Otherwise uses lazy conflict detection.

XACT_LAZY_VM: (true or false) Setting to true enables lazy version management via an infinite write buffer. Otherwise uses eager version management. Must also set XACT_MEMORY to true during protocol compilation, or else appropriate Simics callbacks will not get registered.

XACT_CONFLICT_RES: (BASE, TIMESTAMP, HYBRID, or CYCLE) Different policies of conflict resolution. BASE aborts the requestor whenever there's a conflict. TIMESTAMP aborts a requestor only if the requestor is younger than the conflicting processor. HYBRID aborts a younger transaction in favor of an older requesting transaction if the younger has the conflicting block in its read set only. CYCLE always indicates a conflict with other transactions, and is used to immediately trap to a software contention manager.

so, if I use EE-base, does requester stall? EL's policy of requester always wins doesn't even seem to be an option?  (I'm guessing that EL-base actually does this.)

Thanks,
Jim
[← Prev in Thread] Current Thread [Next in Thread→]