Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It's not Einsteinian, though. Simple Gallilean relativity is enough to model what's going on.


I disagree. Concurrency (including parallelism) only defines a partial order on events, not a total/global order. This leads to one of the following:

- We assume there's a total order anyway. This lets us use Gallilean relativity, but is an incorrect model, which manifests as race conditions.

- We impose a total order, by introducing causality between every event (e.g. synchronisation, or data dependencies like counters, etc.). This lets us use Gallilean relativity and maintain correctness, but it is no longer concurrent/parallel.

- We only assume a partial order. This avoids race conditions, but allows races between independent results (which can therefore be calculated in parallel). This is inherently relativistic, since independent events can occur in a different order for different observers (in the case of this article, the observers are CPU cores).

See also https://en.wikipedia.org/wiki/Relativity_of_simultaneity




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: