In this context, you could probably use "linear" and "orderable" to mean the same thing. The idea is that, for any linearizable execution, there exists an equivalent total order of the operations. Because there exists a total order, if a client C1 sees A2 before B2 then a client C2 cannot see B2 before A2.
The definition of linearizability is not in question.
The question is does this specific system we are discussing have global-linearizability or is there separate per-object (or some other bucketing method) linearizability.
As I said in my initial comment, the authors state that WPaxos provides per-object linearizability, which implies that it provides (to use your term, "global"-)linearizability.
The authors mention that transactions can be implemented in a way to support this by including a first step to steal all objects needed by the transaction. I believe this would give you strict serializability at a global level, but does have trade-offs in needing to know all objects at the start of a transaction, and other implications on latency, etc from this step.
The authors also note they haven't implemented transactions yet.
Also worth noting that some of the extensions/optimizations, such as the mentioned 'locality adaptive object stealing optimization' won't work as described with multi-object transactions. I could see additional work to identify groups of objects, but this would be very workload specific and not suitable as a generic solution.
My previous comments were referring to the basic algorithm presented as the main contribution of this paper in section 3. In this algorithm, "Every command accesses only one object o." With each operation applying to a single object and each object satisfying linearizability, the system as a whole will be linearizable.
The distinction between linearizability and strict serializability is somewhat subtle. I highly recommend this blog post [1] by Irene Zhang and this blog post [2] by Peter Bailis for some really great discussion on the subtleties involved.
[1] https://irenezhang.net/blog/2015/02/01/consistency.html
[2] http://www.bailis.org/blog/linearizability-versus-serializab...
The ensuing conversation explored how/why the system provides a global total ordering.
> Linearizability is a composeable correctness condition
So if all I know is that A1 precedes A2 and that B1 precedes B2, how do I make assertions about the ordering of A2 and B2? Is “linear” in the context that you are talking about more specific than “orderable”?
GP isn’t complaining that the algorithm is incorrect, just that it doesn’t have the property of being replayed or reversed in a deterministic way. Most applications don’t need this property, I am just trying to see if I’m missing a part of your argument.