Question: Ex 8: Consider a set object that can be accessed by a set of processes. Processes may invoke the following operations on the object: -

 Ex 8: Consider a set object that can be accessed by

Ex 8: Consider a set object that can be accessed by a set of processes. Processes may invoke the following operations on the object: - add(v): it adds the value v in to the set - remove(v) it removes the value v from the set - get 0 : it returns the content of the set. Informally, every get () operation returns all the values that have been added before its invocation and that have not been removed by any remove () . For the sake of simplicity, assume that a value can be added/removed just once in the execution. Consider the distributed execution depicted in the Figure Answer to the following questions: 1. Is the proposed execution linearizable? Motivate your answer with examples. 2. Consider now the following property: "every get 0 operation returns all the values that have been added before its invocation and that have not been removed by any remove 0 . If an add(v)/remove(v) operation is concurrent with the get, the value v may or may be not returned by the get (). Provide an execution that satisfy get validity and that is not linerizable

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!