The Linux-based legacy server systems are configured and used with software RAID to improve the performance of the disk I/O. Server systems requiring high performance prefer a special SSD that connects directly with the PCI-express bus to the SATA interface. However, the problem is that the current Linux kernel and software RAID are difficult to optimize the high-performance SSD based on PCI-Express because it is designed to be optimized for the hard disk. Therefore, we propose the efficient method using re-combination and re-mapping techniques to improve the performance of software RAID level-0 provided on the Linux kernel level. This proposed method is designed to have more bandwidth at a time by reducing the number of system calls considering the block I/O characteristics of Linux kernel and RAID level 0. As a low-level I/O benchmarking tool, XDD is used to evaluate the performance of the proposed method. According to the experimental results, our performance gains are 28.4% on write bandwidth and 13.77% on read bandwidth compared with legacy software RAID. Moreover, CPU occupancy rates are decreased 81.2% and 77.8%, respectively.
한국어
리눅스를 기반으로 하는 일반적인 서버 시스템은 디스크 입출력 성능 향상을 위해 소프트웨어 RAID로 구성하여 사 용하고 있다. 특히 고속 입출력을 요구하는 서버 시스템의 경우, SATA(Serial ATA) 등과 같은 인터페이스가 아 닌 PCI-Express 버스에 직접 연결하는 SSD를 사용하고 있다. 그러나 현재의 리눅스 커널과 소프트웨어 RAID는 하드 디스크에 최적화되어 있어 PCI-Express 기반 고성능 SSD의 성능을 최적화시키지 못하고 있다. 이에 따라, 본 논문에서는 리눅스 커널에서 제공하는 소프트웨어 RAID 레벨 0의 성능 향상을 위한 기법을 제안한 다. RAID 레벨 0과 리눅스 커널의 블록 입출력 특성을 반영하는 RAID 계층의 입출력 블록을 재매핑과 재조합 기 법으로 시스템 호출횟수를 줄이고 한 번에 많은 대역폭을 갖도록 하였다. 제안기법은 저수준 입출력 벤치마크 도구 인 XDD를 통하여 성능을 측정하였으며, 성능평가 결과로 리눅스에서 제공되는 소프트웨어 RAID에 비해 쓰기 대 역폭은 평균 28.24%, 읽기 대역폭은 평균 13.77%의 입출력 성능이 향상되었음을 확인할 수 있었다. 또한 CPU 사용량은 읽기의 경우 평균 77.8%, 쓰기의 경우 평균 81.2% 감소함을 확인하였다.
목차
요약 Abstract 1. 서론 2. 기술적 배경 2.1 MD에서의 RAID 레벨 0 2.2 Device Mapper 3. PCI-Express 기반의 고성능 SSD를 위한 소프트웨어 RAID 레벨 0 기법 3.1 제안 RAID 레벨 0 기법 3.2 에러처리 4. 성능 평가 4.1 실험 환경 4.2 실험 결과 5. 결론 참고문헌
키워드
소프트웨어 레이드레이드 레벨 0리눅스 가상 블록 디바이스메모리 블록 디바이스Software RAIDRAID Level 0Linux Virtual Block DeviceMemory Block Device