8

You have some data and some code that operates on it. The order in which you process each data element doesn't matter, and hence the task is parallelizable.

The order of computation on each element doesn't matter, or the computation is ____ (not parallelizable!)

8
  • 1
    Do you mean that elements are computed like A+B+C+..., or that you compute A, then B, then C, separately? (Regardless of the order, just asking if they are all part of a single operation, of each one of them is an operation.)
    – Alenanno
    Commented Sep 9, 2011 at 17:12
  • 2
    Don't you mean parallelizable? Commented Sep 9, 2011 at 17:17
  • If you must have a single word, you could use "sequence-independent". Or change the hyphen to a space and have done with it. I'm aware that this term is starting to have a different meaning in the world of genetic engineering - but I don't see there would be much chance of confusion, given OP's context. Commented Sep 9, 2011 at 17:21
  • btw - in OP's example, the missing word would be "sequence-dependent", not "sequence-independent"! Commented Sep 9, 2011 at 17:23
  • 1
    "Doesn't matter order."
    – avpaderno
    Commented Sep 9, 2011 at 18:18

8 Answers 8

5

We've got a lot of pseudo-synonyms here. For the heck of it, I'll try to relate them.

The term that describes the notion of unimportance of order is (unequivocally, in my mind) sequence-independence. A set of operations that are all orthogonal are (in other words) independent and therefore sequence-independent. A function over a sequence for which the order of the sequence is immaterial is commutative. If the function consists of a fold of another function of lower arity, then the latter must be associative. Sequence-independent operations are parallelizable and can therefore be run asynchronously. You can also say that the function has unspecified evaluation order, which implies unreliable evaluation order, which is something you really ought to document.

0
7

You could say that the computations are independent of each other.

3

I am throwing my weight against "Orthogonal". Wikipedia defines "orthogonality", in the Computer Science context, as:

Orthogonality guarantees that modifying the technical effect produced by a component of a system neither creates nor propagates side effects to other components of the system. The emergent behavior of a system consisting of components should be controlled strictly by formal definitions of its logic and not by side effects resulting from poor integration, i.e. non-orthogonal design of modules and interfaces. Orthogonality reduces testing and development time because it is easier to verify designs that neither cause side effects nor depend on them.

For example, a car has orthogonal components and controls (e.g. accelerating the vehicle does not influence anything else but the components involved exclusively with the acceleration function). On the other hand, a non-orthogonal design might have its steering influence its braking (e.g. electronic stability control), or its speed tweak its suspension.[2] Consequently, this usage is seen to be derived from the use of orthogonal in mathematics: One may project a vector onto a subspace by projecting it onto each member of a set of basis vectors separately and adding the projections if and only if the basis vectors are mutually orthogonal.

2

What about asynchronous?

In programming, asynchronous events are those occurring independently of the main program flow. Asynchronous actions are actions executed in a non-blocking scheme, allowing the main program flow to continue processing.

2

Are you looking for Associative?

From wikipedia:

In mathematics, associativity is a property of some binary operations. It means that, within an expression containing two or more occurrences in a row of the same associative operator, the order in which the operations are performed does not matter as long as the sequence of the operands is not changed.

This usually only relates to mathematics. However I don't know of a word that is more general besides Set.

0

I'll go with Commutative.

2
  • I thought this one two, but this means something different than what he's asking.
    – Alenanno
    Commented Sep 9, 2011 at 21:02
  • @Aleanno Yeah, I also had second thoughts. Honestly, I voted up asynchronous and independent. ;)
    – ghoppe
    Commented Sep 9, 2011 at 21:08
0

If the order of the computations doesn't matter, you could simply say that they are order‑insensitive.

0

"Can be reodered freely," or a shortening thereof.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .