KR100568145B1 - A Deadlock Prevention Method Using a Page Latch in the Buffer Manager of a Multi-User Storage System - Google Patents

A Deadlock Prevention Method Using a Page Latch in the Buffer Manager of a Multi-User Storage System Download PDF

Info

Publication number
KR100568145B1
KR100568145B1 KR1020040040687A KR20040040687A KR100568145B1 KR 100568145 B1 KR100568145 B1 KR 100568145B1 KR 1020040040687 A KR1020040040687 A KR 1020040040687A KR 20040040687 A KR20040040687 A KR 20040040687A KR 100568145 B1 KR100568145 B1 KR 100568145B1
Authority
KR
South Korea
Prior art keywords
latch
page
buffer
hash
storage system
Prior art date
Application number
KR1020040040687A
Other languages
Korean (ko)
Other versions
KR20050115584A (en
Inventor
황규영
김원영
이재길
이민재
Original Assignee
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술원 filed Critical 한국과학기술원
Priority to KR1020040040687A priority Critical patent/KR100568145B1/en
Publication of KR20050115584A publication Critical patent/KR20050115584A/en
Application granted granted Critical
Publication of KR100568145B1 publication Critical patent/KR100568145B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/524Deadlock detection or avoidance

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 다사용자 저장 시스템의 버퍼 관리자에서 페이지 래치를 이용하여 교착 상태를 방지하기 위한 방법에 관한 것으로서, 특히 다사용자 저장 시스템의 버퍼 관리자에서 버퍼 해시 테이블의 해시 엔트리에 지속적으로 래치를 유지하지 않는 대신 올리려는 페이지에만 래치를 잡음으로써 교착 상태를 방지하기 위한 기술에 관한 것이다.The present invention relates to a method for preventing deadlocks by using page latches in a buffer manager of a multiuser storage system. In particular, the present invention does not continuously maintain a latch in a hash entry of a buffer hash table in a buffer manager of a multiuser storage system. Instead, it relates to a technique for preventing deadlocks by latching only on the page you want to load.

본 발명에 의하면, 다사용자 저장 시스템의 버퍼 관리자에서 페이지 래치를 이용하여 교착 상태를 방지하는 방법에 있어서, 새로운 페이지 P1에 매뉴얼 듀레이션 로크를 설정하는 제 1단계와; 상기 새로운 페이지 P1에 대한 해시 엔트리(버퍼 해시 테이블 상)의 래치를 설정한 상태에서 해당 해시 체인에 P1이 존재하는 지를 확인하는 제 2단계와; 상기 확인 결과, 새로운 페이지 P1이 해시 체인에 존재하지 않으면, 설정된 래치를 해지한 후 희생자를 선정하는 제 3단계와; 상기 희생자로 선정된 페이지를 P2라 할 때, P2에 매뉴얼 듀레이션 로크를 설정하는 제 4단계; 및 상기 희생자가 연결되어 있던 해시 체인으로부터 P2를 분리하기 위하여 해당 래치를 요청하는 제 5단계를 포함하는 교착 상태 방지방법을 제시한다.According to the present invention, there is provided a method of preventing deadlocks using a page latch in a buffer manager of a multi-user storage system, comprising: a first step of setting a manual duration lock on a new page P 1 ; A second step of checking whether P 1 exists in the hash chain while the latch of the hash entry (on the buffer hash table) for the new page P 1 is set; A third step of selecting a victim after the set latch is released if a new page P 1 does not exist in the hash chain as a result of the checking; When the selected page to the victim P 2 d, a fourth step of setting the duration of the manual lock on P 2; And a fifth step of requesting a corresponding latch to separate P 2 from the hash chain to which the victim was connected.

다사용자, 저장시스템, 버퍼 관리자, 교착 방지, 버퍼 테이블, 해시 엔트리Multi-User, Storage System, Buffer Manager, Deadlock Prevention, Buffer Table, Hash Entry

Description

다사용자 저장 시스템의 버퍼 관리자에서 페이지 래치를 이용한 교착 상태 방지방법{A Deadlock Prevention Method Using a Page Latch in the Buffer Manager of a Multi-User Storage System}A deadlock prevention method using a page latch in the buffer manager of a multi-user storage system

도 1은 종래의 버퍼 관리자에서 버퍼 고정(FIX) 연산 수행 과정을 나타낸 예시도 이다.1 is an exemplary diagram illustrating a process of performing a buffer fix (FIX) operation in a conventional buffer manager.

도 2는 종래의 버퍼 관리자에서 교착 상태가 발생하는 과정을 나타낸 예시도 이다.2 is an exemplary view illustrating a process in which a deadlock occurs in a conventional buffer manager.

도 3은 본 발명에 따른 버퍼 관리자에서 버퍼 고정(FIX)의 연산 수행 과정을 나타낸 예시도 이다.3 is an exemplary view illustrating a process of performing a buffer fix (FIX) in the buffer manager according to the present invention.

본 발명은 다사용자 저장 시스템의 버퍼 관리자에서 페이지 래치를 이용하여 교착 상태를 방지하기 위한 방법에 관한 것이다. 보다 상세하게는 다사용자 저장 시스템의 버퍼 관리자에서 버퍼 해시 테이블의 해시 엔트리에 지속적으로 래치를 유지하지 않는 대신 올리려는 페이지에만 래치를 잡음으로써 교착 상태를 방지하기 위한 기술에 관한 것이다. The present invention relates to a method for preventing deadlocks using page latches in a buffer manager of a multiuser storage system. More specifically, it relates to a technique for preventing deadlocks by latching only on a page to be loaded instead of continuously latching a hash entry of a buffer hash table in a buffer manager of a multiuser storage system.

근래 컴퓨터 기술 발전과 더불어 디지털 형태로 저장, 관리되는 데이터의 양이 기하급수적으로 증가하고 있다. 따라서 대용량의 데이터를 효율적으로 저장하고 관리할 수 있는 데이터베이스 시스템들이 여러 분야에서 필요하게 되었고 그에 따라 널리 사용되게 되었다.Recently, with the development of computer technology, the amount of data stored and managed in digital form is increasing exponentially. As a result, database systems that can efficiently store and manage large amounts of data are required in various fields, and thus are widely used.

저장 시스템이란 데이터베이스 시스템의 하부 구조에 해당하는 소프트웨어의 일종으로, 데이터를 디스크에 저장하고 관리하는 기능, 버퍼 관리 기능, 트랜잭션(Transaction) 관리 기능, 동시성 제어 기능 및 파손 회복 기능 등을 담당한다. 이러한 저장 시스템은 데이터베이스 기술의 핵심 기술로서 데이터베이스 응용 프로그램의 성능에 직접적인 영향을 주는 주요한 역할을 한다.The storage system is a kind of software corresponding to the infrastructure of the database system, and is responsible for storing and managing data on disk, buffer management, transaction management, concurrency control, and crash recovery. These storage systems are the core technologies of database technology and play a major role in directly affecting the performance of database applications.

또한, 저장 시스템은 한번 액세스된 디스크 페이지는 메모리 상의 버퍼에 저장한다. 따라서, 이후에 동일한 페이지를 액세스하면 바로 버퍼를 액세스하여 디스크 입출력(I/O)을 유발하지 않으므로 시스템의 성능이 크게 향상된다.The storage system also stores the once accessed disk page in a buffer on memory. Therefore, subsequent access to the same page does not immediately access the buffer and cause disk I / O, which greatly improves the performance of the system.

그러나, 일반적으로 버퍼의 크기는 디스크에 저장된 데이터베이스의 크기보다 매우 작으므로 디스크 상의 모든 페이지가 버퍼에 올라올 수 없다. 이로 인해, 원하는 페이지가 버퍼에 올라와 있지 않을 경우에는 현재 버퍼에 올라와 있는 페이지들 중에서 희생자를 선정하여 다시 디스크로 스왑-아웃(swap-out) 한다. 이와 같이, 원하는 페이지가 버퍼에 올라와 있는지 확인하는 연산, 희생자를 선정하여 디스크로 스왑-아웃하는 연산, 새로운 페이지를 버퍼로 올리는 연산 등 버퍼 관리에 필요한 일련의 과정들은 저장 시스템의 버퍼 관리자(buffer manager)에 의해 수행된다.However, in general, the size of the buffer is much smaller than the size of the database stored on disk, so that not all pages on disk can be loaded into the buffer. Therefore, if the desired page is not in the buffer, the victim is selected from the pages currently in the buffer and swapped out to disk again. As such, a series of processes required for buffer management, such as checking whether a desired page is in the buffer, selecting a victim, swapping out to disk, and loading a new page into the buffer, are performed by the buffer manager of the storage system. Is performed by

상기 버퍼 관리자의 기본 데이터 구조는 두 개의 중요한 테이블인 버퍼 테이 블과 버퍼 해시 테이블로 구성되어 있다. 먼저 버퍼 테이블은 버퍼에 존재하는 페이지들에 대한 정보를 유지하고 있다. 이러한 정보들은 버퍼로 정점된 횟수(fix counter)와 희생자(victim) 선정 알고리즘을 위한 정보들, 그리고 오손(dirty) 페이지인지 나타내는 플래그(dirty Flag) 등으로 이루어진다. 원하는 버퍼 페이지가 버퍼에 존재하는지를 쉽게 찾아갈 수 있도록 해시(hash) 함수를 이용하고 있는데, 버퍼 해시 테이블은 이 해시 함수를 통하여 액세스 되고 충돌(conflict)들은 해시 체인(hash chain)을 통하여 처리된다. 그리고 두 테이블 모두 각 엔트리로서 래치(latch)를 가지고 있는데 버퍼 테이블의 래치는 유지하고 있는 정보를 갱신하거나 버퍼 페이지의 내용을 갱신하기 전에 요청되어야 하고, 버퍼 해시 테이블의 래치는 해시 체인을 갱신하기 전에 요청되어야 한다.The basic data structure of the buffer manager consists of two important tables: the buffer table and the buffer hash table. First, the buffer table maintains information about the pages in the buffer. This information consists of the number of peaks fixed in the buffer, information for the victim selection algorithm, and a dirty flag indicating whether it is a dirty page. To make it easier to find out if the desired buffer page exists in the buffer, we use a hash function. The buffer hash table is accessed through this hash function and conflicts are handled through a hash chain. Both tables have a latch as each entry, which is a latch of the buffer table that must be requested before updating the information it holds or the contents of the buffer page, and a latch in the buffer hash table before updating the hash chain. Should be requested.

한편, 버퍼 관리자에서 교착 상태가 발생하는 시나리오는 다음과 같다. 트랜잭션 T1이 새로운 페이지 P1을 버퍼에 올리는 과정(getAndFixBuffer 과정)은 첨부한 도 1에 도시 되어 있다.Meanwhile, a scenario in which a deadlock occurs in the buffer manager is as follows. The transaction T 1 loads the new page P 1 into the buffer (getAndFixBuffer procedure) is shown in FIG.

도 1의 내용을 살펴보면, 스텝 S101과 스텝 S102에서 P1에 대한 해시 엔트리(버퍼 해시 테이블 상)의 래치를 잡은 상태에서 해당 해시 체인에 P1이 존재하는 지를 확인한다. 편의상 이 래치를 첫번째 래치라고 부른다. 스텝 S103에서 P1이 해시 체인에 존재하지 않으면 이 래치를 잡은 상태에서 희생자를 선택한다. 스텝 S104에서 그 희생자가 연결되어 있는 해시 체인으로부터 희생자를 분리하기 위하여 해당 래치를 요청하게 된다. 편의상 이 래치를 두번째 래치라고 부른다. 이후 과정은 본 발명과 관계가 없으므로 생략한다.Look at the information of Figure 1, it is checked whether the hash chain in the P 1 present in holding the latch (the buffer hash table) hash entry for P 1 in step S101 and step S102 state. For convenience, this latch is called the first latch. If P 1 is not present in the hash chain in step S103, the victim is selected while the latch is held. In step S104, the corresponding latch is requested to separate the victim from the hash chain to which the victim is connected. For convenience, this latch is called the second latch. Since the process is not related to the present invention it is omitted.

도 2는 도 1의 알고리즘을 따르는 경우 발생하는 교착 상태 상황을 보여주고 있다. 두 개의 트랜잭션 T1, T2가 서로 다른 두 페이지 P1, P2를 버퍼에 올리려고 하는 경우, 각각 해당되는 첫번째 래치 K와 래치 M을 잡은 상태에서 두번째 래치로서 래치 M과 래치 K를 요구한다면 교착 상태에 빠지게 된다.FIG. 2 illustrates a deadlock situation that occurs when the algorithm of FIG. 1 is followed. If two transactions, T 1 and T 2 , attempt to put two different pages P 1 and P 2 into the buffer, and require latch M and latch K as the second latch while holding the corresponding first latch K and latch M, respectively. You will run into a deadlock.

이에, 본 발명은 상기한 문제점을 해결하기 위한 것으로서 본 발명은 새로운 페이지를 버퍼에 올릴 때 버퍼 해시 테이블에 잡는 첫번째 래치를 바로 풀어서 버퍼 관리자에서 교착 상태가 발생하지 않도록 하는데 그 목적이 있다.Accordingly, the present invention has been made to solve the above problems, and an object of the present invention is to immediately release the first latch that is held in the buffer hash table when a new page is put in the buffer so that a deadlock does not occur in the buffer manager.

상기한 본 발명의 목적을 달성하기 위한 기술적 사상으로서 본 발명은As the technical idea for achieving the above object of the present invention

다사용자 저장 시스템의 버퍼 관리자에서 페이지 래치를 이용하여 교착 상태를 방지하는 방법에 있어서,A method of preventing deadlocks using page latches in a buffer manager of a multiuser storage system,

새로운 페이지 P1에 매뉴얼 듀레이션 로크를 설정하는 제 1단계와;Setting a manual duration lock on a new page P 1 ;

상기 새로운 페이지 P1에 대한 해시 엔트리(버퍼 해시 테이블 상)의 래치를 설정한 상태에서 해당 해시 체인에 P1이 존재하는 지를 확인하는 제 2단계와;A second step of checking whether P 1 exists in the hash chain while the latch of the hash entry (on the buffer hash table) for the new page P 1 is set;

상기 확인 결과, 새로운 페이지 P1이 해시 체인에 존재하지 않으면, 설정된 래치를 해지한 후 희생자를 선정하는 제 3단계와;A third step of selecting a victim after the set latch is released if a new page P 1 does not exist in the hash chain as a result of the checking;

상기 희생자로 선정된 페이지를 P2라 할 때, P2에 매뉴얼 듀레이션 로크를 설 정하는 제 4단계; 및When the selected page to the victim la P 2, the fourth step that sets the duration of the manual lock on P 2; And

상기 희생자가 연결되어 있던 해시 체인으로부터 P2를 분리하기 위하여 해당 래치를 요청하는 제 5단계를 포함하는 페이지 래치를 이용한 교착 상태 방지방법을 제공한다.A deadlock prevention method using a page latch includes a fifth step of requesting a corresponding latch to separate P 2 from a hash chain to which the victim is connected.

상기 달성하기 위한 본 발명의 특징은 새로운 페이지를 버퍼에 올릴 때 버퍼 해시 테이블의 해시 엔트리에 잡은 래치를 지속적으로 유지하지 않고 새로 올리려고 하는 페이지에만 래치를 잡아서 교착 상태가 발생하지 않도록 하는데 있다.A feature of the present invention for achieving the above is that when a new page is put into the buffer, the latch is caught only in the page to be newly loaded without continuing to hold the latch held in the hash entry of the buffer hash table so that no deadlock occurs.

즉, 교착 상태가 발생하는 근본적인 원인을 살펴보면 첫번째 래치를 잡은 상태에서 두번째 래치를 요청해야 하고 이 두 래치 간에는 아무런 순서(sequence)도 부여할 수가 없기 때문이다. 이 때, 두번째 래치는 해시 체인의 갱신을 위해 그 요청이 필연적이지만 첫번째 래치를 지속적으로 잡고 있는 것은 혹시 또 다른 트랜잭션이 지금 올리려고 하는 페이지를 동시에 시도하지 못하게 하기 위함이므로 첫번째 래치를 잡는 대신에 지금 올리려고 하는 페이지에 대한 래치를 잡을 수 있다면 첫번째 래치는 풀어도 된다. 만약 첫번째 래치를 계속 잡고 있지 않다면 해시 엔트리에 의한 교착 상태는 발생하지 않는다.In other words, when looking at the root cause of the deadlock, the second latch needs to be requested while the first latch is held, and no sequence can be given between the two latches. At this time, the second latch is inevitably required to update the hash chain, but holding the first latch continuously prevents another transaction from attempting to simultaneously attempt the page you are trying to load at the same time. If you can catch the latch for the page you want to load, you can release the first latch. If you do not hold the first latch, no deadlock by the hash entry occurs.

또한, 페이지에 대한 래치는 저장 시스템이 제공하는 매뉴얼 듀레이션 로크(manual duration lock)로 쉽게 구현할 수 있다. 매뉴얼 듀레이션 로크는 로크의 듀레이션을 사용자가 마음대로 조절할 수 있는 로크를 의미한다.In addition, the latch for the page can be easily implemented with a manual duration lock provided by the storage system. Manual duration lock means a lock that allows the user to adjust the duration of the lock.

이하, 첨부한 도면을 참조하여 본 발명에 따른 바람직한 실시 예를 상세히 살펴보기로 한다. 상술한 방법으로 트랜잭션 T1이 새로운 페이지 P1을 버퍼에 올리는 과정(getAndFixBuffer 과정)은 첨부한 도 3에 도시되어 있다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. The process of transaction T 1 loading a new page P 1 into the buffer (getAndFixBuffer process) by the above-described method is shown in FIG.

도 3의 내용을 살펴보면, 스텝 S201에서 P1에 매뉴얼 듀레이션 로크를 잡는다. 스텝 S202와 스텝 S203에서 P1에 대한 해시 엔트리(버퍼 해시 테이블 상)의 래치를 잡은 상태에서 해당 해시 체인에 P1이 존재하는 지를 확인한다. 스텝 S204에서 P1이 해시 체인에 존재하지 않으면, 이 래치를 풀어준 후 희생자를 선정한다. 스텝 S205에서 희생자로 선정된 페이지가 P2라 할 때, P2에 매뉴얼 듀레이션 로크를 잡는다. 스텝 S206에서 그 희생자가 연결되어 있던 해시 체인으로부터 P2를 분리하기 위하여 해당 래치를 요청한다. 이후 과정은 본 발명과 관계가 없으므로 생략한다.Referring to the contents of FIG. 3, in step S201 a manual duration lock is held at P 1 . In step S202 and holding the latch in the hash entry (the buffer hash table) for P 1 in step S203 to determine whether a condition P 1 present in the hash chain. If P 1 does not exist in the hash chain in step S204, the victim is selected after the latch is released. When the page selected as the victim in step S205 is P 2 , a manual duration lock is held at P 2 . In step S206, the corresponding latch is requested to detach P 2 from the hash chain to which the victim was connected. Since the process is not related to the present invention it is omitted.

이상에서와 같이 본 발명에 따른 다사용자 저장 시스템의 버퍼 관리자에서의 교착 상태 방지방법을 사용하면 다음과 같은 장점을 얻을 수 있다.As described above, using the deadlock prevention method in the buffer manager of the multi-user storage system according to the present invention can obtain the following advantages.

기존 방법에서 해시 엔트리에 대한 래치는 그 해시 체인 전체에 대해서 상호 배제(mutual exclusion)가 되는 반면, 본 발명에서는 액세스하고자 하는 페이지에 대해서만 상호 배제가 되므로 교착 상태의 가능성을 대폭 줄일 수 있다.In the conventional method, the latch for the hash entry is mutual exclusion for the entire hash chain, whereas in the present invention, the mutual exclusion is only performed for the page to be accessed, thereby greatly reducing the possibility of deadlock.

게다가 도 3의 스텝 S201에서 페이지 P1에 매뉴얼 듀레이션 로크를 잡고, 스텝 S205에서 희생자 페이지 P2에 매뉴얼 듀레이션 로크를 요청하게 되는데, P2에 매뉴얼 듀레이션 로크를 잡은 상태에서 P1을 희생자로 선택하지 못한다. 왜냐하면, P1은 아직 버퍼에 올라와 있지 않기 때문이다. 따라서, 교착 상태는 더 이상 발생하지 않게 된다.Besides holding the manual duration locks the pages P 1 in step S201 of FIG. 3, not selected, the P 1 from there is the request for manual duration locks the victim page P 2 in step S205, holding the manual duration locks on P 2 state to the victim can not do it. Because P 1 is not yet in the buffer. Thus, deadlocks no longer occur.

Claims (2)

다사용자 저장 시스템의 버퍼 관리자에서 페이지 래치를 이용하여 교착 상태를 방지하는 방법에 있어서,A method of preventing deadlocks using page latches in a buffer manager of a multiuser storage system, 새로운 페이지 P1에 매뉴얼 듀레이션 로크를 설정하는 제 1단계와;Setting a manual duration lock on a new page P 1 ; 상기 새로운 페이지 P1에 대한 해시 엔트리(버퍼 해시 테이블 상)의 래치를 설정한 상태에서 해당 해시 체인에 P1이 존재하는 지를 확인하는 제 2단계와;A second step of checking whether P 1 exists in the hash chain while the latch of the hash entry (on the buffer hash table) for the new page P 1 is set; 상기 확인 결과, 새로운 페이지 P1이 해시 체인에 존재하지 않으면, 설정된 래치를 해지한 후 희생자를 선정하는 제 3단계와;A third step of selecting a victim after the set latch is released if a new page P 1 does not exist in the hash chain as a result of the checking; 상기 희생자로 선정된 페이지를 P2라 할 때, P2에 매뉴얼 듀레이션 로크를 설정하는 제 4단계; 및When the selected page to the victim P 2 d, a fourth step of setting the duration of the manual lock on P 2; And 상기 희생자가 연결되어 있던 해시 체인으로부터 P2를 분리하기 위하여 해당 래치를 요청하는 제 5단계를 포함하는 페이지 래치를 이용한 교착 상태 방지방법. And a fifth step of requesting a corresponding latch to separate P 2 from the hash chain to which the victim was connected. 청구항 1에 있어서, 상기 제 1단계에서 새로운 페이지 P1에 매뉴얼 듀레이션 로크를 설정함으로써 버퍼 해시 테이블의 해시 엔트리에 설정된 래치를 지속적으로 유지하지 않고, 새로 올리려고 하는 페이지 P1에만 래치를 설정하여 교착 상태를 방지하는 것을 특징으로 하는 페이지 래치를 이용한 교착 상태 방지방법.The method of claim 1, wherein by setting a manual duration lock on the new page P 1 in the first step, the latch is set only on the page P 1 to be newly loaded without continuously maintaining the latch set on the hash entry of the buffer hash table. Deadlock prevention method using a page latch, characterized in that to prevent the state.
KR1020040040687A 2004-06-04 2004-06-04 A Deadlock Prevention Method Using a Page Latch in the Buffer Manager of a Multi-User Storage System KR100568145B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040040687A KR100568145B1 (en) 2004-06-04 2004-06-04 A Deadlock Prevention Method Using a Page Latch in the Buffer Manager of a Multi-User Storage System

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040040687A KR100568145B1 (en) 2004-06-04 2004-06-04 A Deadlock Prevention Method Using a Page Latch in the Buffer Manager of a Multi-User Storage System

Publications (2)

Publication Number Publication Date
KR20050115584A KR20050115584A (en) 2005-12-08
KR100568145B1 true KR100568145B1 (en) 2006-04-05

Family

ID=37289482

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040040687A KR100568145B1 (en) 2004-06-04 2004-06-04 A Deadlock Prevention Method Using a Page Latch in the Buffer Manager of a Multi-User Storage System

Country Status (1)

Country Link
KR (1) KR100568145B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5784623A (en) 1996-05-29 1998-07-21 Oracle Corporation Using a parent latch that covers a plurality of child latches to track the progress of a process attempting to acquire resources
US5797138A (en) 1995-12-06 1998-08-18 Electronics And Telecommunications Research Institute Buffer management method using buffer locking mechanism in storage system for supporting multi-user environment
KR100253627B1 (en) 1996-10-09 2000-04-15 이계철 Transaction control method not to be selected as deadlock sacrificer in transaction abortion in a data storage system
KR20010085568A (en) * 2000-02-24 2001-09-07 포만 제프리 엘 Method to increase performance of acquiring free memory pages

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5797138A (en) 1995-12-06 1998-08-18 Electronics And Telecommunications Research Institute Buffer management method using buffer locking mechanism in storage system for supporting multi-user environment
US5784623A (en) 1996-05-29 1998-07-21 Oracle Corporation Using a parent latch that covers a plurality of child latches to track the progress of a process attempting to acquire resources
KR100253627B1 (en) 1996-10-09 2000-04-15 이계철 Transaction control method not to be selected as deadlock sacrificer in transaction abortion in a data storage system
KR20010085568A (en) * 2000-02-24 2001-09-07 포만 제프리 엘 Method to increase performance of acquiring free memory pages

Also Published As

Publication number Publication date
KR20050115584A (en) 2005-12-08

Similar Documents

Publication Publication Date Title
US11086560B2 (en) Data storage access method, device and apparatus for persistent memory
US8473950B2 (en) Parallel nested transactions
US8250047B2 (en) Hybrid multi-threaded access to data structures using hazard pointers for reads and locks for updates
US6772155B1 (en) Looking data in a database system
US20050102255A1 (en) Computer-implemented system and method for handling stored data
KR20080031039A (en) Direct-update software transactional memory
CN112867999B (en) Version-based table locking
US11263197B2 (en) Concurrency control method of database transaction combining optimistic lock and pessimistic lock
US20080228793A1 (en) System and program for append mode insertion of rows into tables in database management systems
CN114282074B (en) Database operation method, device, equipment and storage medium
US8095731B2 (en) Mutable object caching
US20110107338A1 (en) Selecting isolation level for an operation based on manipulated objects
US9766950B2 (en) Methods for single-owner multi-consumer work queues for repeatable tasks
KR101268437B1 (en) Method and system for maintaining consistency of a cache memory by multiple independent processes
CN112000670A (en) Multithreading program data unified management method and system and electronic equipment
CN109710629B (en) Data access method, device, server and storage medium
CN111984379A (en) Read-write transaction control method, system, terminal device and storage medium
KR100568145B1 (en) A Deadlock Prevention Method Using a Page Latch in the Buffer Manager of a Multi-User Storage System
US20080082533A1 (en) Persistent locks/resources for concurrency control
US6556994B1 (en) Method and system for improving concurrency through early release of unnecessary locks
KR100314879B1 (en) Method for managing lock for mdbms
CN114328500A (en) Data access method, device, equipment and computer readable storage medium
KR100507782B1 (en) Database management system and the method of controlling consistency of system table in DBMS
Haubenschild et al. Lock-Free Buffer Managers Do Not Require Delayed Memory Reclamation
KR100312910B1 (en) Method for expanding transaction isolation phase in database management system

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20100225

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee