The present disclosure describes a unique way for each of multiple
processes to operate in parallel and use the same shared data without
causing corruption to the shared data. For example, during a commit
phase, a corresponding transaction can attempt to increment a globally
accessible version information variable and store a current value of the
globally accessible version information variable for updating version
information associated with modified data regardless of whether an
associated attempt by the corresponding transaction to modify the
globally accessible version information variable was successful. As an
alternative mode, a corresponding transaction can merely read and store a
current value of the globally accessible version information variable
without attempting to update the globally accessible version information
variable before such use. In yet another application, a parallel
processing environment implements a combination of both aforementioned
modes depending on a self-abort rate of the transaction.