가상화 프로그램 '도커' 활용, 스마트SSD를 독립 서버로 쓴다
가상화 프로그램 '도커'를 활용해 하드웨어 변경 없이도 SSD 장치를 독립 서버로 쓸 수 있는 기술이 개발됐다. KAIST(총장 이광형)는 물리적 장치를 실행하지 않고 가상으로 데이터를 처리하고 운영하는 도커(Docker) 개념을 적용한 새 고성능·저전력 메모리(PIM) 모델 '도커SSD'를 개발했다고 27일 밝혔다. 스마트 SSD는 여러 데이터를 처리하는 프로그램들을 데이터가 실제 저장된 스토리지 근처에서 실행할 수 있게 해 데이터 이동의 에너지 및 전력 소모를 줄이고 고성능 결과를 얻게 하는 기술이다. 하지만 기존 데이터 처리 프로그램을 SSD 제조사나 장치가 제공하는 환경에 맞춰 모두 수정하고 새로 만들어야 하는 문제가 있어 다양한 활용이 어려웠다. 전기및전자공학부 정명수 교수 연구팀은 스마트 SSD 제조사나 장치 환경에 관계 없이 현존하는 여러 프로그램들을 그대로 스토리지에 이식해 실행할 수 있는 도커SSD를 개발했다. 연구팀은 '컨테이너' 환경에 주목했다. 컨테이너는 응용 프로그램과 이 프로그램 실행에 필요한 라이브러리를 모두 포함한 소프트웨어 패키지이다. 외부 환경에 구애받지 않고 컨테이너 내부적으로 독립적 실행 환경을 운용할 수 있게 한다. 연구팀이 개발한 도커SSD는 리눅스 컨테이너를 만들고 사용할 수 있게 하는 가상화 운영체제 환경 '도커(Docker)'를 스토리지 내부에서 실행할 수 있는 특허 기술을 적용, 호스트로부터 요청받은 컨테이너 단위의 작업을 처리한다. 사용자들은 메모리나 스토리지 제조사에 상관 없이 다양한 응용 프로그램을 스토리지 내부에서 실행할 수 있다. 또 외부와 독립적인 실행 환경을 제공하는 컨테이너의 특성 덕분에 사용자가 기존 응용 프로그램의 소스 코드를 수정할 필요조차 없어져 사용 편의성이 극대화된다. 일반적으로 SSD 장치에 접근하기 위해 사용되는 스토리지 프로토콜과 도커 소프트웨어 동작의 기반이 되는 네트워크 관련 프로토콜은 서로 호환되지 않는 문제가있다. 연구팀은 스토리지 프로토콜을 통해 네트워크 관련 메시지를 전송할 수 있는 새로운 인터페이스를 독자 개발했다. 또 컨테이너와 도커를 실행하기 위해서 기존 운영체제를 경량화해 도커SSD 내부에 통합했다. 스토리지에 내재된 저사양 프로세서를 활용해 작업을 처리할 경우 성능이 저하될 수 있다는 문제를 해결하기 위해 자체 제작한 저전력 하드웨어 가속 모듈을 활용, 네트워크 및 입출력 관련 동작을 가속했다. 도커SSD에 적용한 운영체제 수준 가상화의 실효성을 검증한 결과, 현재 학계에서 주로 쓰이는 스토리지 기반 모델보다 데이터를 2배 빠르게 처리하면서 전력 소모는 절반으로 줄임을 확인했다고 연구진은 밝혔다. 정명수 교수는 "불필요한 데이터 이동을 최소화해 빠르면서 에너지 절약에 최적화된, 동시에 사용자 입장에서 편리하면서도 우수한 호환성을 가진 메모리 모델을 확보했다"라며 "고성능·저전력 메모리 모델인 도커SSD는 빠르게 확장하고 있는 국내외 데이터센터 운영 기업 및 기관에 실용화되어 탄소중립에 기여할 수 있을 것"이라고 말했다. 연구팀은 내년 3월 스코틀랜드 에든버러에서 열릴 컴퓨터 구조 분야 학술대회 '국제 고성능 컴퓨터 구조 학회(HPCA)'에서 관련 논문을 발표한다. 논문 제목은 DockerSSD: Containerized In-Storage Processing and Hardware Acceleration for Computational SSDs 이다. 이 연구는 KAIST 교원창업 회사 파네시아와 정보통신기획평가원등의 지원을 받아 진행됐다.