By: Andrey (andrey.semashev.delete@this.gmail.com), August 21, 2022 6:39 pm
Room: Moderated Discussions
--- (---.delete@this.redheron.com) on August 21, 2022 1:26 pm wrote:
>
> I've no idea what the M1 claim is about!
> But the generic issue may be that HTM is to simultaneously too strong and too weak a contract.
> The alternative is that the HW give you effectively the performance of HTM, but
> through speculation as to the behavior of the atomic operations involved, eg
> (2020) https://patents.google.com/patent/US20220091846A1 Atomic Operation Predictor.
>
> In a sense this is like providing HTM (you need the same sort of machinery to store and
> unwind state) but without the hassle that you are locked into particular claims (transactions
> can be up to X instructions long, must not include more than Y types of this operation,
> etc etc), you can change the details as best fits each new design. What you lose is the
> SW ease of HTM, but if you are confident that your language provides that anyway...
The key advantage of transactional memory is atomicity of *multiple* memory accesses, at potentially distant memory locations. No predictor will give you that.
>
> I've no idea what the M1 claim is about!
> But the generic issue may be that HTM is to simultaneously too strong and too weak a contract.
> The alternative is that the HW give you effectively the performance of HTM, but
> through speculation as to the behavior of the atomic operations involved, eg
> (2020) https://patents.google.com/patent/US20220091846A1 Atomic Operation Predictor.
>
> In a sense this is like providing HTM (you need the same sort of machinery to store and
> unwind state) but without the hassle that you are locked into particular claims (transactions
> can be up to X instructions long, must not include more than Y types of this operation,
> etc etc), you can change the details as best fits each new design. What you lose is the
> SW ease of HTM, but if you are confident that your language provides that anyway...
The key advantage of transactional memory is atomicity of *multiple* memory accesses, at potentially distant memory locations. No predictor will give you that.