Concurrency Control in Transactional Drago

  • Authors:
  • Marta Patiño-Martínez;Ricardo Jiménez-Peris;Jörg Kienzle;Sergio Arévalo

  • Affiliations:
  • -;-;-;-

  • Venue:
  • Ada-Europe '02 Proceedings of the 7th Ada-Europe International Conference on Reliable Software Technologies
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

The granularity of concurrency control has a big impact on the performance of transactional systems. Concurrency control granularity and data granularity (data size) are usually the same. The effect of this coupling is that if a coarse granularity is used, the overhead of data access (number of disk accesses) is reduced, but also the degree of concurrency. On the other hand, if a fine granularity is chosen to achieve a higher degree of concurrency (there are less conflicts), the cost of data access is increased (each data item is accessed independently, which increases the number of disk accesses). There have been some proposals where data can be dynamically clustered/unclustered to increase either concurrency or data access depending on the application usage of data. However, concurrency control and data granularity remain tightly coupled. In Transactional Drago, a programming language for building distributed transactional applications, concurrency control has been uncoupled from data granularity, thus allowing to increase the degree of concurrency without degrading data access. This paper describes this approach and its implementation in Ada 95.