In an article by Maurice Herlich, "Lifeless Synchronization," he defines without expectation:
"A lifeless implementation of a parallel data object is one that ensures that any process can complete any operation in a finite number of steps, regardless of the speed of execution on other processes." www.cs.brown.edu/~mph/Herlihy91/p124-herlihy.pdf
Take one op operation from the universe.
(1) Does this definition mean: "Each process completes a specific op operation in the same finite number of steps n."?
(2) Or does this mean: “Each process completes a certain op operation in any finite number of steps. Thus, a process can complete op in k steps, another process in j steps, where k! = J.”?
Just by reading the definition, I would understand the meaning (2). However, this does not make any sense to me, since the process executing op in k steps and another time in steps k + m matches the definition, but m steps can be a wait loop. If the meaning of (2) is right, can someone explain to me why this describes without waiting?
Unlike (2), a value of (1) would guarantee that op is executed in the same number of steps k. Thus, there can be no additional steps m that are necessary, for example. in a wait loop.
What is the right meaning and why?
Many thanks,
sema
sema source share