Can someone explain to me what a machine word granularity and object granularity mean? This is what i have so far:
Cache line granularity: If two threads are accessing the same cache line and if there is write-write/read-write conflict then abort one of them. otherwise move on.
Machine word Granularity: If two threads are accessing the same mem address(?) and if there is write-write/read-write conflict then abort; otherwise continue.
object granularity: ??
afa4
@aznshodan I think if two threads are accessing (read-write / write-write) a huge array (object) but different elements of it, an object granularity based conflict detection will result in aborting one of the transaction (false-sharing)
I have the same understanding of cache-line and machine-word granularities as yours.
Can someone explain to me what a machine word granularity and object granularity mean? This is what i have so far:
Cache line granularity: If two threads are accessing the same cache line and if there is write-write/read-write conflict then abort one of them. otherwise move on.
Machine word Granularity: If two threads are accessing the same mem address(?) and if there is write-write/read-write conflict then abort; otherwise continue.
object granularity: ??
@aznshodan I think if two threads are accessing (read-write / write-write) a huge array (object) but different elements of it, an object granularity based conflict detection will result in aborting one of the transaction (false-sharing)
I have the same understanding of cache-line and machine-word granularities as yours.