What is the concurrent control?
In data management programming, the control of the mechanism is designed to ensure that accurate results are generated by parallel operations. These results must also be obtained in time. Concurrent check is very often seen in databases where there is a cache of searched information for users.
programmers try to design a database so that shared data will be a mass equivalent effect of important transactions. This means that data that create contact with transactions sets would be in a certain state where the results are achievable if all transactions perform in a mass and in certain order. Sometimes this data is invalid as it has been modified by two transactions, in parallel. However, this is an excessive program to benefit from a control of the programmer in the distributed system. Concurrent control allows simultaneous implementation of multiple transactions and at the same time maintains these transactions apart, ensuring linearizability. One way to implementConcurrent control is the use of an exclusive lock on a specific source for performing serial transactions that share resources. The transaction locks an object intended for use, and if any other transaction submits an application for a locked object, this transaction must wait to unlock the object.
Implementation of this method in distributed systems includes lock administrators - servers that issue sources locks. It is very similar to servers for centralized mutual exclusion, where clients can request locks and send messages to release locks to a specific source. However, maintaining serial executure is still necessary to control concurrentness. If two separate transactions approach a similar set of objects, the results must be similar and as if these transactions were made in a specific order. Two -phase locking is introduced to ensure the order of access to the source, which means that transactions are not allowed newlocks after release of a separate castle.
In the two -phase locking to check the concurrance, its initial phase is considered to be a growing phase where the transaction acquires the necessary lock. The next phase is considered to be a shrinking phase in which the transaction releases locks. There are problems with this type of locking. If they interrupt the transactions, other transactions can use data from objects modified and unlocked by interrupted transactions. This would result in interruption of other transactions.