77 0

정렬 단계의 재실행을 통한 MVCC의 트랜잭션 처리량 개선방법

Title
정렬 단계의 재실행을 통한 MVCC의 트랜잭션 처리량 개선방법
Other Titles
Optimizing Transaction Throughput via Orderer's Re-execution for MVCC(Multi-Version Concurrency Control)
Author
김현우
Alternative Author(s)
Kim Hyunwoo
Advisor(s)
유민수
Issue Date
2024. 2
Publisher
한양대학교 대학원
Degree
Master
Abstract
하이퍼레저 패브릭은 프라이빗 블록체인의 특성을 장점으로 기업 단위의 블록체인 시스템으로써 채택이 활발하게 이루어지고 있다. 하이퍼레저 패브릭은 기존의 Order(정렬)-Execute(실행)(OE)의 방식으로 트랜잭션을 처리하는 기존의 블록체인과 달리 Execute(실행)-Order(정렬)-Validate(검증)(EOV)라는 처리 방식을 이용해 트랜잭션의 실행과 검증을 병렬로 실행 할 수 있게 설계되어 다수의 트랜잭션을 처리하는데 더욱 효율적이다. 트랜잭션 병렬 실행은 다수의 트랜잭션을 동시에 처리하여 속도와 효율을 높일 수 있으나 동시성 제어가 필요하게 된다. Multi-Version Concurrency Control(MVCC)는 동시성 제어 알고리즘 중 하나로 상태에 버전을 부여하여 버전에 맞지 않는 Read-set을 무효화한 후 나머지 트랜잭션을 실행하는 방식으로 동시성을 제어한다. EOV 방식에서는 실행, 정렬 후 Validate 단계에서 MVCC 검사를 진행하게 되는데, 정렬된 트랜잭션 순서에 따라 먼저 Write-set을 통해 변경 된 상태에 동일하게 접근하는 후순위 Read-set 트랜잭션이 있다면 Write-set으로 인해 버전이 달라졌기 때문에 트랜잭션을 무효화 하여 상태 업데이트를 하지 않는다. 해당 트랜잭션은 다음 블록에 다시 요청하여 처리되어야 한다. 이렇듯 기존의 MVCC를 통한 동시성 제어는 프로세스 전체를 통한 재실행이 요구되어 프로세스에 전체적인 지연을 발생시키는 문제이다. 이를 해결하기 위해 본 논문에서는 정렬 단계에서 트랜잭션을 검증하여 무효화가 예상되는 트랜잭션을 구분해 저장하고, 검증 단계 후 해당 트랜잭션에 수정된 버전을 갱신하여 재실행하는 방식을 통해 트랜잭션 병렬 실행 시 발생하는 프로세스 지연을 개선하고자 한다. 키워드: Blockchain, Transaction, Concurrency control, Multi-Version Concurrency Control
URI
http://hanyang.dcollection.net/common/orgView/200000720808https://repository.hanyang.ac.kr/handle/20.500.11754/189136
Appears in Collections:
GRADUATE SCHOOL[S](대학원) > DEPARTMENT OF BLOCKCHAIN AND CRYPTOCURRENCY(블록체인융합학과) > Theses (Master)
Files in This Item:
There are no files associated with this item.
Export
RIS (EndNote)
XLS (Excel)
XML


qrcode

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

BROWSE