비휘발성 메모리 기반 동기화 알고리즘 ‘Timestone’ 공개 예정
많은 쓰기 동작이나 코어 수가 많은 매니코어 아키텍쳐에서 성능 저하가 발생하는 리눅스 RLU (Read-Log-Update) 동기화 메커니즘을 개선하여 공개한 MV-RLU (Multi-Version Read-Log-Update)는 휘발성 메모리에서 동작하는 알고리즘으로 데이터 변경 내역을 관리하는 로그가 시스템의 전원차단 등으로 사라질 수 있다.
이러한 문제를 해결하기 위해서 ETRI (한국전자통신연구원)은 과학기술정보통신부의 '매니코어 기반 초고성능 스케일러블 OS 기초 연구' 과제에서 미국 버지니아 공대 민창우 교수와 Timestone 알고리즘을 연구하여 이 문제를 해결했다. Timestone은 MV-RLU 알고리즘을 기반으로 다음의 기능을 강화하였다. 첫째, 비휘발성 메모리에서 쓰기 트래픽과 쓰기 증폭을 줄이기 위해서 휘발성 메모리-비휘발성 메모리 기반 하이브리드 로깅 기법을 연구하였고, 둘째, MV-RLU 보다 강한 일관성 모델 (strong consistency model)를 제공하도록 연구하였다. 이 연구결과는 지난 3월 ASPLOS (ACM International Conference on Architectural Support for Programming Languages and Operating Systems) 2020 학회에서 발표하였다. 소스코드는 사용자의 편리한 프로그래밍을 위한 인터페이스를 추가한 후 2021년 1월에 깃허브 (https://github.com/oslab-swrc)에 공개할 예정이다.
추가적으로 리스트, 트리 등 기존의 휘발성 자료구조를 Timestone 기법으로 비휘발성 자료구조로 개발하였다. 이러한 자료구조를 활용하면 코어 수가 많은 비휘발성 메모리 시스템에서 우수한 성능뿐만 아니라 데이터의 영구성도 기대할 수 있다.
|