조정우군은 컴퓨팅 관련 최근 동향을 파악 및 발표를 하기 위해 KCC 2018에 참가하였다. 이번 제주 KCC 한국정보과학회에 참여하여 제출한 논문을 발표하고 여러 분야의 최신 연구들에 대해 간접적으로 체험하였다. 다양한 분야에서 논문이 써지는 것을 보았고 나의 연구분야에 대한 생각보다 많은 분들이 관심을 갖는 것에 대해 약간 놀랐다. 기억나는 의견으로는 옛날에는 SSD를 캐시로 하지않고 HDD를 캐시로하여 SSD의 수명을 늘려주는 기법도 있었다고 말씀해주시는 분도 계셨고 다른분은 나와 비슷한 연구를 하고 있어서 내게 SSD 캐시를 두가지를 사용하여 각각에 hot, cold 혹은 read, write 캐시로 쓰는 방식은 어떻겠냐고 말씀해주시는 분도 있었다. 이번 학회에서 정말 많은 분야의 연구가 있었는데, 그 중 기억에 남는 3개의 논문이 있었다.

KakaoTalk_20180703_202253744

[NVDIMM 적용을 통한 인 메모리 데이터베이스 성능 개선] 해당 논문은 sk 하이닉스의 메모리 시스템 연구실에서 발표한 논문으로 sk 하이닉스에서 개발한 NVDIMM을 사용한 인 메모리 데이터 베이스 성능 개선 연구이다. NVDIMM이란 Non Volatile Dual In-line Memory Module의 약자로 비휘발성 메모리 모듈을 말한다. 이는 외부 전력을 이용하여 비정상적인 전원 손실 상황에서 D램의 데이터를 낸드 플래시로 안전하게 백업하고 전원이 다시 정상화 되었을 때, D램으로 다시 복구하는 기능을 가진 메모리 모듈이다. 기존에는 휘발성 메모리를 사용하여 데이터 손실문제가 있다. 따라서 기존 휘발성 메모리에서의 데이터 베이스에는 RDB와 AOF라는 기술이 있다. RDB란 특정 간격으로 메모리에 기록한 데이터를 디스크에 저장하는 기술이다. AOF란 입력 시 입력 데이터에 대한 명령을 로그로 남기는 기술이다. 이런 기술들은 많은 오버헤드를 발생하여 NVDIMM를 사용하여 RDB와 AOF를 사용하지 않아 성능 향상 효과를 보았다.

Q: NVDIMM은 중간에 시스템 크러시 발생할 경우, 데이터는 안전하게 저장되는가?

A: NVDIMM에서는 외부 전력을 이용하여 비정상적인 전원 손실 상황에서 슈퍼 커패시티(Super Capacitor: 초고용량 축전지)를 통해 남은 데이터를 기록하기 때문에 데이터는 안전하게 저장될수 있다.

[비디오 스트리밍 환경에서 비트율에 따른 소모 전력 모델링 기법] 해당 논문은 독특하게 모바일과 같은 임베디드 시스템 환경에서 높은 화질의 비디오 스트리밍 데이터가 발생할 때, 해당 데이터를 처리하는 경우 임베디드 시스템과 같은 환경에서는 베터리의 소모가 매우 빠르다. 이런 전력이 약한 시스템에서는 보다 장치를 오래 사용하는 것이 중요하다. 예를 들어 지하철에서 핸드폰으로 Youtube와 같은 고화질의 동영상을 보여주는 어플을 통해 영상을 보다 베터리가 금방 소모되면 오래동안 핸드폰을 사용하기 어려운 문제가 있다. 따라서 해당 논문에서는 실제 고화질의 스트리밍 데이터와 저화질의 스트리밍 데이터 처리간의 소모 전력 비교 및 분석을 통해 스트리밍 데이터를 비트율에 따른 베터리의 소모 전력을 구하는 공식을 모델링하였고 실시간으로 데이터와 소모 전력을 분석하는 모니터를 구현하였다.

Q: 해당 논문의 이후 연구 진행 방향에 대해 간략하게 말씀해주신다면?

A: 이후 실시간 모니터링을 통해 스트리밍 데이터에 따른 소모 전력 값들을 테이블화하여 패턴 분석 기술을 통해 상태 이상 감지하는 기술을 적용할 것이다. 베터리 전력을 실시간으로 모니터링하여 기존의 비트 흐름보다 많은 비트량이 발생하면 전부 처리하지 않고 일부만 처리함으로써 소모 전력을 줄이는 것이 목표이다.

[Fine-Grained Journaling에서의 fsync 지연시간 개선을 위한 선택적 Grouped fsync 기법 제안] 해당 논문은 기존의 fsync 호출에 대한 오버헤드를 줄이기 위해 멀티코어 환경에서 발생하는 다중 fsync에 대해서 그룹화하여 처리하는 연구이다. 기존의 ijournal 이라는 연구가 있었는데 이는 파일 단위로 journal을 묶는 기법인데, 본 논문에서는 이를 개선하여 코어별로 공유하는 공통 자료구조를 사용하여 그룹단위로 fsync 호출을 묶어 성능향상을 보았다.

Q: 해당 기법으로 인한 단점이나 제한이 있나?

A: group으로 fsync 호출을 묶어야 하기 때문에 동시에 발생하는 경우를 찾아봐야한다. 그리고 동시에 fsync가 자주 발생하지 않는다면 성능 향상을 크게 볼수는 없다. 이번 학회를 통해 학회장에서 다양한 논문들을 보고 들어 이전 보다 견문이 넓어진 것 같고 더 열심히 해야겠다는 마음을 되새겼다. 그리고 나의 연구 주제 관련해서 많은 분들이 조언해주고 의견을 말씀해주셔서 연구 주제에 대해 돌이켜볼수 있는 참된 시간이었다.