Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.programming.threads > #4921

I have just taken a look at the Memory ordering of ARM CPU architecture

From Horizon68 <horizon@horizon.com>
Newsgroups comp.programming.threads
Subject I have just taken a look at the Memory ordering of ARM CPU architecture
Date 2019-02-01 14:35 -0800
Organization A noiseless patient Spider
Message-ID <q32his$k8t$4@dont-email.me> (permalink)

Show all headers | View raw


Hello..


I have just taken a look at the Memory ordering of ARM CPU architecture 
here:

https://en.wikipedia.org/wiki/Memory_ordering

And i think that there is something happening with weak memory models 
like ARM and this is not good, take for example my scalable MLock
or my scalable AMLock that i have invented here:

https://sites.google.com/site/scalable68/scalable-mlock

and here:

https://sites.google.com/site/scalable68/scalable-amlock


They are working now with x86 memory model that is a
TSO memory model like Sparc TSO, but to be able to port them
to ARM i have to use more memory barrier that costs more
than on x86, also there is another problem is that
you can make more errors on the memory ordering process on the weaker 
memory model of ARM. So i think i will stay with x86 CPU architecture, 
and not port my scalable algorithms on ARM, because ARM must
provide us with a TSO memory model to be able to be more
efficient.


About memory models and sequential consistency:

As you have noticed i am working with x86 architecture..

Even though x86 gives up on sequential consistency, it’s among the most 
well-behaved architectures in terms of the crazy behaviors it allows. 
Most other architectures implement even weaker memory models.

ARM memory model is notoriously underspecified, but is essentially a 
form of weak ordering, which provides very few guarantees. Weak ordering 
allows almost any operation to be reordered, which enables a variety of 
hardware optimizations but is also a nightmare to program at the lowest 
levels.

Read more here:

https://homes.cs.washington.edu/~bornholt/post/memory-models.html


Memory Models: x86 is TSO, TSO is Good

Essentially, the conclusion is that x86 in practice implements the old 
SPARC TSO memory model.

The big take-away from the talk for me is that it confirms the 
observation made may times before that SPARC TSO seems to be the optimal 
memory model. It is sufficiently understandable that programmers can 
write correct code without having barriers everywhere. It is 
sufficiently weak that you can build fast hardware implementation that 
can scale to big machines.

Read more here:

https://jakob.engbloms.se/archives/1435


Thank you,
Amine Moulay Ramdane.

Back to comp.programming.threads | Previous | Next | Find similar | Unroll thread


Thread

I have just taken a look at the Memory ordering of ARM CPU architecture Horizon68 <horizon@horizon.com> - 2019-02-01 14:35 -0800

csiph-web