Re: [Gems-users] logTM conflict resolution


Date: Tue, 18 Mar 2008 13:40:26 -0500
From: Jayaram Bobba <bobba@xxxxxxxxxxx>
Subject: Re: [Gems-users] logTM conflict resolution
Pretty close...
For HYBRID, the older transaction is stalled if the younger transaction has either read-modified or modified
the conflicting address. Else younger is aborted.

Jayaram

Jim Leek wrote:

I've been trying to figure out exactly what EE_HYBRID does. I've looked at the wiki and I've looked in TransactionConflictManager.C, but I don't get it. (Actually, I can't find anything described in TransactionConflictManager.C, there's only one reference to HYBRID in the whole file, and it does the same thing as TIMESTAMP.) Anyway here's my guess, let me know if it's right.

TIMESTAMP will kill the younger transaction in any conflict.
HYBRID will allow the younger transaction to live iff the value in conflict is ONLY in the younger transaction's write set. In other words, if the younger transaction read or read and modified the conflicting value, it is kill, but if the younger transaction only wrote the value, the younger transaction is stalled until the older transaction commits.

Maybe?

Thanks,
Jim

On Sun, Mar 9, 2008 at 2:27 PM, Jayaram Bobba <bobba@xxxxxxxxxxx <mailto:bobba@xxxxxxxxxxx>> wrote:

    $GEMS/ruby/log_tm/TransactionConflictManager.C gives a more precise
    description of the conflict resolution policies
    than the wiki.

    The conflict resolution policies used in the pathologies paper:
    EE - BASE and HYBRID
    EL - BASE and TIMESTAMP
    LL - BASE

    The XACT_NO_BACKOFF parameter determines if software backoff is used
    along with any particular policy. Look at
    gen-scripts.py to see which policies use this parameter.

    Jayaram


    Jim Leek wrote:
    > 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
    >
    ------------------------------------------------------------------------
    >
    > _______________________________________________
    > Gems-users mailing list
    > Gems-users@xxxxxxxxxxx <mailto: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.
    >
    >
    _______________________________________________
    Gems-users mailing list
    Gems-users@xxxxxxxxxxx <mailto: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.


------------------------------------------------------------------------

_______________________________________________
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→]