Publications

Detailed Information

Optimizing Components for Data Durability on Different Software Layers : 다양한 소프트웨어 계층에서 데이터 내구성을 위한 구성 요소 최적화

Cited 0 time in Web of Science Cited 0 time in Scopus
Authors

김화정

Advisor
염헌영
Issue Date
2023
Publisher
서울대학교 대학원
Keywords
Storage systemDatabase systemData durability
Description
학위논문(박사) -- 서울대학교대학원 : 공과대학 컴퓨터공학부, 2023. 2. 염헌영.
Abstract
Data movement between remote systems frequently occurs for various purposes, such as backup, replication, or analysis. Data can be corrupted or lost during transmission due to hardware failures or system crashes. Many systems provide procedures for data durability, such as integrity verification or periodic backups to detect data corruption in a timely manner. These procedures either increase data processing time or require additional I/O operations. In this dissertation, we focus on eliminating redundant operations that degrade system performance in the process of ensuring data durability; we present three optimization schemes on the storage, application, and network layers. For the storage layer, we focus on providing robust data durability on flash-based storage systems without adding delays to the entire data processing time. By involving idle cores, we parallelize the checksum computation and overlap it with I/O operations to mitigate the overhead caused by I/O reordering for robust data durability. On the application layer, we present an efficient backup and recovery scheme by exploiting write-ahead logging (WAL) to provide data durability for database systems. We substantially eliminate additional I/O operations by keeping log data for backup and recovery. Archiving log data, on the other hand, degrades the system performance because the amount of log data to manage grows, and logging operations on the critical path slow down data processing times. To address these limitations, we present an in-transit logging scheme that logs important data by inspecting packets on the network layer at the destination system. The proposed scheme guarantees fault-tolerance by delivering the original requests through local clients on the target system. With the proposed schemes, it is possible to provide data durability on different software layers without adding delays to data processing times or redundant I/O operations. We have implemented and evaluated our schemes on real multi-core systems to show the effectiveness of our approach. Using machines equipped with high-performance storage devices connected via 10 Gbps, we evaluated and compared our schemes to existing schemes. Experimental results demonstrate that the proposed schemes efficiently provide data durability by leveraging idle resources and ready-to-use data on the storage, application, and network layers while providing better system performance.
원격 시스템 간의 데이터 이동은 백업, 복제, 혹은 분석과 같은 다양한 목적으로 빈번하게 발생한다. 데이터는 하드웨어 오류 또는 시스템 충돌로 인해 전송 과정에서 손상되거나 손실될 수 있다. 많은 시스템들은 데이터 손상을 적시에 감지하기 위해 무결성 검증 또는 주기적인 백업과 같은 데이터 내구성을 보장하기 위한 절차를 제공한다. 이러한 절차들은 데이터 처리 시간을 지연시키거나 추가적인 I/O 작업을 필요로 한다. 본 논문에서는 데이터 내구성을 확보하는 과정에서 시스템 성능을 저하시키는 중복 작업을 제거하는 데 중점을 두어, 다양한 소프트웨어 계층 (저장장치, 응용, 그리고 네트워크 계층) 에서 데이터 내구성을 효율적으로 제공하기 위한 세 가지 최적화 기법들을 제안한다. 첫째, 저장장치 계층에서 데이터 내구성을 효율적으로 제공하기 위해서, 저장장치 내부 동작을 고려한 동시적이고 안정적인 종단 간 데이터 무결성 검증 기법을 제시한다. 유휴 CPU 리소스를 활용하여 무결성 검증 계산 과정을 병렬화 하고 I/O 작업과 중첩시킴으로써 안정적인 무결성 검증을 위한 I/O 순서 조정으로 야기되는 오버헤드를 완화한다. 둘째, 응용 계층에서 데이터 내구성을 효율적으로 제공하기 위해서, 데이터베이스 시스템의 미리 쓰기 로깅 (Write-ahead logging, WAL) 을 활용한 효율적 백업 및 복구 기법을 제시한다. 백업 및 복구를 위해 로그 데이터를 보관함으로써 추가적인 I/O 작업을 대부분 제거할 수 있다. 반면, 로그 데이터를 유지하는 것은 로그 데이터 양이 증가함에 따라 관리 부담이 증가하게 되고, 또한 여전히 critical path 상에서 로깅 연산을 수행함으로써 시스템 성능을 저하시키게 된다. 이러한 한계점을 극복하기 위해서, 목적지 시스템의 네트워크 계층에서 패킷을 검사하여 중요한 데이터 로깅을 수행하는 전송 중 로깅 (in-transit logging) 기법을 제시한다. 이 기법은 목적지의 로컬 클라이언트를 통해 원래의 요청들을 전달함으로써 내결함성 (fault-tolerance) 을 보장한다. 제안하는 기법들은 데이터 처리 시간 지연이나 추가적인 I/O 작업 없이도 다양한 소프트웨어 계층에서 데이터 내구성을 제공할 수 있다. 제안하는 기법들의 효과를 증명하기 위해서 실제 멀티 코어 시스템에 구현하여 성능을 평가하였다. 우리는 고성능 저장 장치가 장착된 시스템이 10 Gbps 로 연결된 환경에서 제안하는 기법들의 성능을 평가하고 기존의 기법들과 성능 비교를 수행하였다. 실험 결과는 제안하는 기법들이 유휴 리소스와 즉시 사용할 수 있는 데이터들을 활용하여 스토리지, 응용 및 네트워크 계층에서 효율적으로 데이터 내구성을 제공하면서 더 나은 시스템 성능을 제공할 수 있음을 보여준다.
Language
eng
URI
https://hdl.handle.net/10371/193345

https://dcollection.snu.ac.kr/common/orgView/000000174187
Files in This Item:
Appears in Collections:

Altmetrics

Item View & Download Count

  • mendeley

Items in S-Space are protected by copyright, with all rights reserved, unless otherwise indicated.

Share