Design and Implementation of a Concuuuency Control Manager for Main Memory Databases

주기억장치 데이터베이스를 위한 동시성 제어 관리자의 설계 및 구현

  • 김상욱 (강원대학교 컴퓨터정보통신공학부) ;
  • 장연정 (강원대학교 컴퓨터정보통신공학부) ;
  • 김윤호 (강원대학교 컴퓨터정보통신공학부) ;
  • 김진호 (강원대학교 전자계산학과) ;
  • 이승선 (한국전자통신연구원 실시간 DBMS 팀) ;
  • 최완 (한국전자통신연구원 실시간 DBMS팀)
  • Published : 2000.04.01

Abstract

In this paper, we discuss the design and implementation of a concurrency control manager for a main memory DBMS(MMDBMS). Since an MMDBMS, unlike a disk-based DBMS, performs all of data update or retrieval operations by accessing main memory only, the portion of the cost for concurrency control in the total cost for a data update or retrieval is fairly high. Thus, the development of an efficient concurrency control manager highly accelerates the performance of the entire system. Our concurrency control manager employs the 2-phase locking protocol, and has the following characteristics. First, it adapts the partition, an allocation unit of main memory, as a locking granule, and thus, effectively adjusts the trade-off between the system concurrency and locking cost through the analysis of applications. 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 Unix semaphore facility. Fourth, for solving the deadlock problem, it periodically examines whether a system is in a deadlock state using 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 realtime application supports.

본 논문에서는 주기억장치 DBMS(main memory DBMS: MMDBMS)를 위한 동시성 제어 관리자의 설계 및 구현에 관하여 논의한다. MMDBMS는 디스크 기반 DBMS와는 달리 주기억장치 액세스만으로 데이터 검색 및 갱신을 수행하므로 전체 수행 비용 중 동시성 제어 관리자의 수행 비용이 차지하는 비중은 매우 크다. 따라서 효율적인 동시성 제어 관리자의 개발은 MMDBMS의 성능에 큰 영향을 미치게 된다. 본 연구에서 개발된 동시성 제어 관리자는 이단계 라킹 규약을 기반으로 하며, 다음과 같은 특징을 갖는다. 첫째, 락의 단위를 주기억장치의 물리적인 할당 단위인 파티션으로 설정함으로써 응용 분야의 특성 분석을 통하여 동시성과 락 관리 비용을 유연하게 조정할 수 있다. 둘째, 락에 관한 정보를 파티션 내부에서 직접 관리함으로써 락 관리 비용을 크게 줄일 수 있다. 셋째, 시스템 데이터의 물리적 일관성 유지를 위한 수단으로서 래치를 제공한다. 개발된 래치는 공유 모드와 배제 모드를 모두 지원하며, CPU 이용률의 극대화를 위하여 Bakery 알고리즘과 Unix의 세마포어 기능을 결합하는 방법을 사용한다. 넷째, 락에 의한 교착 상태의 해결을 위하여 락 대기 정보를 기반으로 시스템의 교착 상태 여부를 주기적으로 검출하는 기능을 제공한다. 본 논문에서는 트랜잭션 테이블의 상호배제, 인덱스 혹은 시스템 카탈로그의 상호 배제, 실시간 응용의 지원 등 실제 구현에서 발생하는 중요한 이슈들에 관해서도 이울러 논의한다.

Keywords

References

  1. Comm. of the ACM v.8 no.9 Solution of a Problem in concurrent Programming Control E. W. Dijkstra
  2. Comm. of the ACM v.17 no.8 A New Solution of Dijkstra's Concurrent Programming Problem L. Lamport
  3. The Design of the Unix Operating System M. J. Bach
  4. In Proc. Intl. Conf. on Very Large Data Bases Timestamp Based Algorithm for Concurrency Control in Distributed Systems P. Bernstein;N. Goodman
  5. ACM Trans. on Database Systems v.6 no.2 On Optimistic Methods for Concurrency Control H. Kung;J. Robinson
  6. ACM SIGMOD Record v.13 no.2 Deadlock Detection is Cheap R. Agrawal;M. Carey;D. Dewitt
  7. In Proc. Int'l Conf. on Very Large Data Bases The Performance of Concurrency control Algorithms for Database Management Systems M. Carey;M. Stonebraker
  8. In Proc. Int'l Conf. on Management of Data Implementation Techniques for Main Memory Database Systems D. DeWitt(et al.)
  9. ACM Trans. on Database Systems v.9 no.1 On Concurrency Control by Multiple Versions C. Papadimitriou;P. Kanellakis
  10. In Proc. Intl. Conf. on COMPCON Design of a Memory Resident DBMS A. Ammann;M. Hanrahan;R. Krishnamurthy
  11. In Proc. Intl. Conf. on Very Large Data Bases A Study of Index Structures for Main Memory Database Management Systems T. Lehman;M. Carey
  12. In Proc. Intl. Workshop on High Performance Transaction Systems High Performance Transaction Processing with Memory Resident Data H. Garchia-Molina;K. Salem
  13. ACM SIGMOD Record v.14 no.2 Deadlock Detection is Really Cheap B. Jiang
  14. ACM SIGMOD Record v.17 no.1 Special Issue on Real-Time Database Systems S. H. Son(ed)
  15. IBM Research Report RJ 6846 ARIES/IM: An Efficient and High Concurrency Index Management Method Using Write-Ahead Logging C. Mohan;F. Levine
  16. IEEE Trans. on Computers v.39 no.9 Priority Inheritance Protocols: An Approach to Real-Time Synchronization L. Sha;R. Rajkumar;J. P. Lehoczky
  17. ACM Trans. on Database Systems v.17 no.3 Scheduling Real-Time Transactions: A Performance Evaluation R. Abbott;H. Garcia-Molina
  18. IEEE Trans. on Knowledge and Data Engineering v.4 no.6 Main Memory Database Systems: An Overview H. Garcia-Molina;K. Salem
  19. IEEE Trans. on Knowledge and Data Engineering v.4 no.6 An Evaluation of Starburst's Memory Resident Storage Component T. J. Lehman(et al.)
  20. ACM Trans. on Database Systems v.17 no.1 ARIES: A Transaction Recovery Method Supporting Fine-Granularity Locking and Partial Rollbacks Using Write Ahead logging C. Mohan(et al.)
  21. Transaction Processing: Concepts and Techniques J. Gray;A. Reuter
  22. Database Review v.11 no.2 The Design and Implementation of Exclusive Latches and Shared Latches in BADA-II DBMS Y. C. Park;K. H. Kim
  23. 한국정보과학회 논문지(B) v.26 no.2 Unix 환경에서 실시간 스케쥴링을 지원하기 위한 새로운 접근 방안 김상욱;김대용;김진호;이승선;최완