황태호 군은, NVRAM과 관련된 최신 연구 동향 파악 및 역량 증진을 위하여 NVMSA 2017에 참석하였다.
NVMSA는 IEEE에서 주관하는 국제학술대회로서 1년에 한번 씩 개최된다. NVMSA는 NVRAM 과 관련된 연구 및 개발 관련 주제를 다룬다. NVMSA에서 다루는 주요 주제로는 Device/Circuit design of NVMs, NVM Architecture and Systems, NVM Storage, NVM Applications이 있다. NVMSA는 NVRAM의 HW부터 SW까지 NVRAM에 관련된 모든 것을 다루고 있다.
이번 출장을 통해 NVM을 연구하는 아시아의 많은 유명 인사를 만나볼 수 있었고, NVM 관련 연구 동향을 알 수 있었다. FAST, ATC, EuroSys 등 메이저 학회에 논문을 게재했던 많은 저자들을 볼 수있었다. 이번 NVMSA 학회에서는 SW 보다는 HW 관련 연구가 많았는데, 특히 RRAM에 관련된 논문이 많이 발표 되었다. 학회 참석을 통해 RRAM의 특성을 고려한 HW 모듈 등에 대한 발표를 들을 수 있었다.
OPMD 논문은 persistent heap 의 memory defragmentation을 위한 기법을 제안하였다. HDD, DRAM 처럼 NVRAM도 여전히 연속적인 메모리 관리가 중요하다. 연속적인 메모리 확보를 위해서 객체를 옮기는 memory defragmentation은 많은 과부하를 발생시킨다. OPMD는 allocation, deallocation 정보를 관리하여 global scan으로 인한 memory defragmentation 과부하를 줄였다. 객체를 이동 시 해당 객체를 가리키는 레퍼런스도 갱신해 줘야 한다. 다수의 레퍼런스가 존재할 경우 확장성 문제가 있기 때문에, OPMD는 객체와 객체를 위한 메타데이터를 분리시켰다. 객체들은 스마트 포인터로 연결되어 있다. 예를 들어, 객체 A는 스마트 포인터를 가지고 객체 B의 메타데이터를 가리킨다. 객체 B의 메타데이터는 객체 B가 위치한 주소를 가리키고 있다. 이와 같은 스마트 포인터를 통해서, 객체가 이동 시 이동한 객체의 메타데이터만 갱신된다. OPMD는 이동시켜야 할 객체를 빠르게 찾기 위해서 사전에 VIT (value information tree)를 가지고 있다. VIT는 객체를 할당 및 해제 할 때마다 갱신된다. VIT의 노드는 moving value를 가지고 있다. 무빙 밸류는 특정 객체가 사라졌을 때 얼마만큼의 free 공간이 생기는지를 알려준다. 예를 들어 세 개의 객체가 주소 a-b, c-d, e-f 에 존재한다면, c부터 d까지 차지하는 객체의 무빙 밸류는 e-b-1 이다. VIT에서 무빙 밸류가 가장 큰 노드들이 가리키는 객체들이 이동될 객체로 선택된다.
UDORN 논문은 persistent database를 위한 이미지를 파일 인터페이스를 사용하지 않고 NVM상에 load/store 명령어로 직접 관리하는 기법을 제안하였다. UDORN은 NVRAM을 프로세스 가상 주소 공간에 expose 하여 load/store 명령어로 NVRAM 상에 persistent data base 이미지를 접근하고 갱신하도록 하였다. 즉, 느린 파일 IO가 아닌 가상주소공간과 MMU를 통해서 데이터를 접근한다. 메타데이터의 영속성을 위해서 UDORN은 NVM을 세 개의 섹션으로 구분하였고, 첫 번째 섹션에 NVM을 위한 메타데이터를 위치시켰다. 두 번째 섹션에는 데이터 베이스를 위한 메타데이터가 위치하고, 세 번재 섹션에는 데이터 베이스를 위한 해시 테이블 및 key-value가 위차한다. 데이터 베이스의 SET, DELETE 등의 연산의 일관성을 위해서 UDORN은 COW-based 기법을 사용한다. 기존 데이터베이스에서는 일관성을 위한 기법으로 write-ahead logging 또는 journaling을 사용하였지만, 이러한 기법은 추가적인 write 연산을 발생시키기 때문에 큰 과부하를 야기시킬 수 있다. UDORN은 메타데이터가 갱신 될 시 해당 메타데이터를 로깅하고, 실제 key-value 데이터는 한번만 write를 한다. key-value를 write하기 전에 crash가 발생할 경우 로깅된 메타데이터를 복구하여 일관성을 보장한다. 해당 방법은 BPFS에서 제안된 short-circuit shadow paing 기법과 유사한 것으로 생각된다.
이번 NVMSA 2017 학회 참석을 통해서 NVM 관련 연구의 최신 동향을 파악할 수 있었다. 이번 NVMSA 에서는 HW 관련 연구주제가 주를 이루었지만, NVMSA 에서 발표된 논문들을 고려하여 연구 주제 방향을 결정하는데 많은 도움이 되었다고 생각한다.