On the semantics of fair parallelism