Extended Buffer Management with Flash Memory SSDs

플래시메모리 SSD를 이용한 확장형 버퍼 관리

  • 심도윤 (성균관대학교 정보통신공학부) ;
  • 박장우 (성균관대학교 정보통신공학부) ;
  • 김성탄 (성균관대학교 정보통신공학부) ;
  • 이상원 (성균관대학교 정보통신공학부) ;
  • 문봉기
  • Received : 2010.07.06
  • Accepted : 2010.09.27
  • Published : 2010.12.15

Abstract

As the price of flash memory continues to drop and the technology of flash SSD controller innovates, high performance flash SSDs with affordable prices flourish in the storage market. Nevertheless, it is hard to expect that flash SSDs will replace harddisks completely as database storage. Instead, the approach to use flash SSD as a cache for harddisks would be more practical, and, in fact, several hybrid storage architectures for flash memory and harddisk have been suggested in the literature. In this paper, we propose a new approach to use flash SSD as an extended buffer for main buffer in database systems, which stores the pages replaced out from main buffer and returns the pages which are re-referenced in the upper buffer layer, improving the system performance drastically. In contrast to the existing approaches to use flash SSD as a cache in the lower storage layer, our approach, which uses flash SSD as an extended buffer in the upper host, can provide fast random read speed for the warm pages which are being replaced out from the limited main buffer. In fact, for all the pages which are missing from the main buffer in a real TPC-C trace, the hit ratio in the extended buffer could be more than 60%, and this supports our conjecture that our simple extended buffer approach could be very effective as a cache. In terms of performance/price, our extended buffer architecture outperforms two other alternative approaches with the same cost, 1) large main buffer and 2) more harddisks.

최근 들어, 플래시메모리의 가격이 지속적으로 낮춰지고, 플래시메모리 기반 SSD 컨트롤러 기술이 급격하게 발전하면서 중저가의 고성능 플래시 SSD가 시장에 널리 보급되고 있다. 하지만, 데이터베이스 분야에서 가격 동의 이유로 당분간 플래시 SSD가 하드디스크를 완전히 대체하기는 쉽지 않을 것이다. 대신 플래시 SSD의 빠른 성능을 캐시 용도로 활용하는 접근법이 현실적이고, 실제로 하드디스크와 플래시메모리를 하이브리드 형태로 사용하는 접근법들이 제시되었다. 본 논문에서는 기존의 접근법들과는 달리, 플래시 SSD를 데이터베이스의 버퍼에서 밀려나는 페이지들을 순차적으로 저장하고, 재 참조될 때 하드디스크 대신 플래시 SSD에서 읽혀지도록 하는 확장 버퍼 아키텍처를 제안한다. 플래시 SSD를 저장장치 레벨에서 캐시로 사용하는 기존 방법들에 비해, 플래시 SSD를 호스트 시스템에서 확장 버퍼로 사용함으로써 원기 측면에서 주 버퍼에서 밀려나는 웹 페이지(warm page)들에 대해 상당한 성능 개선을 이룰 수 있다. TPC-C 트레이스를 사용한 시뮬레이션 결과, 주 버퍼에 없는 페이지들이 확장 버퍼에서 찾아지는 적중률이 60%를 넘는 사실을 알 수 있었다. 이 확장 버퍼 아키텍처는, 동일한 비용을 지불하는 다른 접근법, 즉 DRAM을 버퍼로 추가하는 기법과 하드디스크를 추가하는 기법에 비해 가격 대비 성능 개선 효과가 높다.

Keywords

References

  1. Intel Corporation, Oltp performance comparison: Solid state drives vs, hard disk drives, Test report, Jan, 2009,
  2. S,-W. Lee, B. Moon, and C. Park. Advances in flash memory ssd technology for enterprise database applications, Proceedings of SIGMOD, 2009,
  3. M. Canim et al. An Object Placement Advisor for DB2 Using Solid State Storage, Proceedings of the VLDB Endowment, vol.2, no.2, pp.1318-1329, 2009. https://doi.org/10.14778/1687553.1687557
  4. I. Koltsidas and S. D. Viglas, Flashing Up the Storage Layer. Proceedings of VLDB, 2008.
  5. E. J. O'neil et al, The LRU-K Page Replacement Algorithm For Database Disk Buffering, Proceedings of SIGMOD, 1993.
  6. T, Johnson and D, Shasha, 2Q: A Low Overhead High Performance Buffer Management Replacement Algorithm. Proceedings of VLDB, 1994,
  7. Oracle, Oracle I/O Numbers Calibration Tool. http://www.oracle.com/technology/software/-tech/orion/.
  8. DRAMeXchange, Price Quites, http://www.dramexchange.com/Price/NationalDramDetail.aspx
  9. T. F. Tsuei et al., Database buffer size investi gation for OLTP workolods. Proceedings of SIGMOD, pp.112-122, 1997
  10. 김성탄, 김도윤, 박장우, 이상원, 2Q-Flash: 플래시 SSD를 사용한 확장 버퍼, 전자공학회 하계학술대회, 2010.