A looser definition might have advantages

Article: Haswell Transactional Memory Alternatives
By: Paul A. Clayton (paaronclayton.delete@this.gmail.com), September 1, 2012 7:29 am
Room: Moderated Discussions
David Kanter (dkanter.delete@this.realworldtech.com) on August 31, 2012 9:13 am wrote:
> Paul A. Clayton (paaronclayton.delete@this.gmail.com) on
> August 28, 2012 10:28 am wrote:
>> I wonder if defining the granularity for RTM to be cache
>> line size is appropriate.
> There's really no other way to make things work efficiently.
> You already have tags for each line, so why not just add a
> bit or two?

Since a cache line can be smaller than a cache sector (the indexed and tagged chunk), the use of cache line granularity is more flexible than I initially thought (I did discover this fact before my earlier posting however). Even so, it might be attractive to monitor some memory locations at finer granularity.

Architecturally speaking, it also seems a little risky to define one microarchitectural feature as equal to another (even if all reasonable implementations one can think of guarantee this equality). If the risk is small enough, the greater simplicity could justify the decision; but MONITOR/MWAIT already provides a size (range) which seems conceptually closer (than cache line size) to TM monitoring size.

By architecturally defining a range of granularity (similar to MONITOR/MWAIT), implementers would have greater freedom (and, for TM, there would not seem to be any significant software issues). It might be slightly easier to allow two transactions to be simultaneous than to technically order them (even if a "yoctosecond" apart) when they do not conflict within a finer granularity than a cache line (but do conflict at cache line granularity). (Admittedly, supporting ordering would be much more broadly useful, especially since finer-grained non-conflicts--with cache-line conflicts--would tend to be relatively rare.)

However, I do not see any disadvantages to using a range, and I assume Intel had a reason for supporting a range for MONITOR/MWAIT (which has similar coherence issues).
< Previous Post in ThreadNext Post in Thread >
TopicPosted ByDate
Article: Haswell TM AlternativesDavid Kanter08/21/12 10:17 PM
  Article: Haswell TM AlternativesHÃ¥kan Winbom08/22/12 12:52 AM
    Article: Haswell TM AlternativesDavid Kanter08/22/12 02:06 AM
  Article: Haswell TM Alternativesanon08/22/12 09:46 AM
    Article: Haswell TM AlternativesLinus Torvalds08/22/12 10:16 AM
      Article: Haswell TM AlternativesDoug S08/24/12 09:34 AM
    AMD's ASF even more limitedPaul A. Clayton08/22/12 10:20 AM
      AMD's ASF even more limitedLinus Torvalds08/22/12 10:41 AM
        Compiler use of ll/sc?Paul A. Clayton08/28/12 10:28 AM
          Compiler use of ll/sc?Linus Torvalds09/08/12 01:58 PM
            Lock recognition?Paul A. Clayton09/10/12 02:17 PM
              Sorry, I was confusedPaul A. Clayton09/13/12 11:56 AM
  Filter to detect store conflictsPaul A. Clayton08/22/12 10:19 AM
  Article: Haswell TM Alternativesbakaneko08/22/12 03:02 PM
    Article: Haswell TM AlternativesDavid Kanter08/22/12 03:45 PM
      Article: Haswell TM Alternativesbakaneko08/22/12 10:56 PM
  Cache line granularity?Paul A. Clayton08/28/12 10:28 AM
    Cache line granularity?David Kanter08/31/12 09:13 AM
      A looser definition might have advantagesPaul A. Clayton09/01/12 07:29 AM
    Cache line granularity?rwessel08/31/12 08:54 PM
      Alpha load locked granularityPaul A. Clayton09/01/12 07:29 AM
        Alpha load locked granularityanon09/02/12 06:23 PM
          Alpha pages groupsPaul A. Clayton09/03/12 05:16 AM
  An alternative implementationMaynard Handley11/20/12 10:52 PM
    An alternative implementationbakaneko11/21/12 06:52 AM
      Guarding unread values?Paul A. Clayton11/21/12 09:39 AM
        Guarding unread values?bakaneko11/21/12 12:25 PM
    TM granularity and versioningPaul A. Clayton11/21/12 09:27 AM
      TM granularity and versioningMaynard Handley11/21/12 11:52 AM
        Indeed, TM (and coherence) has devilish details (NT)Paul A. Clayton11/21/12 11:56 AM
Reply to this Topic
Body: No Text
How do you spell green?