Design and Implementation of the Concurrency Control Manager in the Main-Memory DBMS Tachyon

  • Authors:
  • Sang-Wook Kim;Wan Choi;Byoung-Ho Kim

  • Affiliations:
  • -;-;-

  • Venue:
  • COMPSAC '02 Proceedings of the 26th International Computer Software and Applications Conference on Prolonging Software Life: Development and Redevelopment
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this paper, we discuss the design and implementation of a concurrency control manager for the Tachyon, a main-memory DBMS. Since a main-memory DBMS, unlike a disk-resident DBMS, performs all of the data updates or data retrievals by accessing main-memory only, the portion of the cost for the concurrency control manager in the total cost for a data update or a data retrieval is fairly high. Thus, the development of an efficient concurrency control manager highly accelerates the performance of the entire main-memory DBMS. Our concurrency control manager employs the two-phase locking protocol, and has the following characteristics. First, it adapts the partition as a locking granule, and thus effectively adjusts the trade-off between the system concurrency and locking cost. Second, it enjoys low locking costs by maintaining the lock information directly in the partition itself. Third, it provides the latch as a mechanism for physical consistency of system data. Our latch supports both of the shared and exclusive modes, and maximizes the CPU utilization by combining the Bakery algorithm and the Unix semaphore facility. Fourth, for solving the deadlock problem, it periodically examines whether a system is in a deadlock state based on lock waiting information. In addition, we discuss various issues arising in development such as mutual exclusion of a transaction table, mutual exclusion of indexes and system catalogs, and phantom problem handling.