Labs 7 - Third assignment discussion. ===================================== (1) When implementing locking, multiple threads may try to access the lock information of a specific data item concurrently. For example, although it should not be possible, two threads may see that a data item is free and lock it. Discuss the possible solutions to that problem. (2) [Optional] Explain the locking mechanism that you've implemented. In particular, answer briefly (in few sentences or bullet points) the following questions: (a) What data structures do you use to store the relations? (b) Which types of locks have you implemented (shared/exclusive) and on which granularity (database/table/tuple)? (c) How do you store the lock information for data items? (d) What is the procedure of verifying and granting locks in serial and concurrent scenario (explain in steps)? (e) What is the setup of the experiments you performed? What kind of experiments have you performed (one sentence for description and one for results). The descriptions should be on a high level, brief, and to the point. Compare your solution to other teams.