○ 고성능의 스토리지 시스템은 데이터 처리를 위해서 다수의 호스트(노드)와 수십 개의 스토리지 장치를 네트워크로 연결한 분산 저장장치 시스템으로 구성한다. 가장 널리 사용되는 분산 저장 시스템으로는 hadoop의 HDFS(Hadoop Distributed File system)을 들 수 있으며, Google, Amazon, Facebook등과 같은 글로벌 기업에서 클라우드 저장 시스템으로 적용되고 있다. 클라우드 시스템과 같은 다중 호스트 기반의 클러스터 시스템에서 호스트칸 네트워크 인터커넥트(Interconnect)로 주로 사용되는 기술은 Ethernet과 Infiniband와 같은 고속의 인터커넥트 기술이 많이 사용되어 오고 있다.
○ Ethernet 인터커넥트를 기반으로 구성된 가장 보편적인 분산 스토리지 시스템인 HDFS은 대용량 데이터의 효율적인 분산 저장, 관리, 백업 기능을 제공하고 있다. 구체적으로 HDFS는 Block의 메타데이터를 관리하는 NameNode와 블록데이터의 저장 및 IO를 담당하는 DataNode로 구성되어 있다. 블록사이즈는 기본적으로 128MB의 크기를 가지며, 블록정보에 대한 메타데이터는 NameNode의 메인메모리에서 모두 관리가 된다. 또한, 블록데이터의 손상 복구를 위해서 하나의 블록에 대한 복제를 3개 생성하여 DataNode에 복제해서 저장하는 방식을 사용하였다. 최근 출시된 버전에서는 Eraseure Coding 방식의 데이터 안정성 기술이 적용되고 있다.
○ 이러한 Ethernet 인터커넥트 기반 HDFS[8]는 다음과 같은 세 가지 제약사항이 있다.
1. 블록사이즈가 128MB로써 대단히 크기 때문에, 작은 파일들에 대한 메타데이터 관리, 데이터 분산 저장 및 연산 성능이 현저히 떨어진다.
2. HDFS의 DataNode가 실제적으로 데이터를 저장하고 관리할 때에는 내부 로컬 파일 시스템을 활용하게 되는데, 이러한 방식은 NameNode 및 DataNode로부터 실제 저장장치까지의 소프트웨어 및 네트워크 스택에 의해서 데이터 접근 지연시간이 길게 된다.
3. Etnernet 인터커넥트 기반의 DataNode간 Erasure Coding 연산과 인터커넥트 오버헤드가 생해서, Parity block의 생성과 저장관리 오버헤드로 인해서 데이터 안정성 기술이 효율적이지 못하다.
○ PCIe 인터페이스는 호스트 CPU와 주변 장치와의 Point-to-Point Link를 제공하는 표준 인터페이스이다. 최근 PCIe 인터페이스는 PCIe Gen5까지 발전하면서 PCIe 인터페이스가 낼 수 있는 링크의 대역폭(Link Bandwidth)이 급격히 늘어났다. 이러한 PCIe의 고속화는 기존의 PCIe가 가지는 링크의 효율성에 더해져서 다수의 호스트(노드)를 연결할 수 있는 Switching 기술까지 확장되면서 네트워크 인터커넥트로써의 역할이 점점 더 증대되고 있으며, 기존의 네트워크 기술에 비해서 성능 최적화하기에 아주 좋은 요소 기술로 부각되고 있다. 이와 같이 PCIe 스위치 기반의 스토리지 시스템은 기존 인터커넥트 기술에 비해서 장점을 가지고 있지만, 이러한 기반 위의 스토리지 소프트웨어의 구조 및 운영 방안에 대한 기술이 부족한 상황이다.
○ 본 연구에서는 PCIe 스위치 기반의 스토리지 시스템 구조와 시스템 운영 방안 및 관리 방안에 대한 연구 개발을 진행하려고 한다. 구체적으로는 PCIe 스위치 기반의 스토리지 분산 공유 파일 시스템의 구조, 메터데이터 관리 방법, 데이터 로깅 기법 및 데이터 안정성 보장 기술, 호스트간 데이터 공유 기술 개발을 통한 스토리지 시스템 기술을 개발하고자 한다.
최근 PCIe 인터페이스 중에서 SSD 장치의 고속 IO를 보장해주기 위해 NVMe(Non Volatile Memory express)라는 인터페이스 표준이 만들어졌다. NVMe의 가장 주요한 특징은 request를 전송할 수 있 는 IO Queue를 최대 65536개를 가질 수 있으며, Queue당 처리할 수 있는 request 개수도 최대 65536개를 가질 수 있도록 제정되었다. 그러나, 현재의 컴퓨터 시스템에서는 이를 충분히 활용할 수 있는 스토리지 시스템 하드웨어 및 소프트웨어 구조가 아니다. 따라서, 본 연구과제에서는 NVMe 인 터페이스의 PCIe SSD 저장장치를 기반으로 한 스토리지 시스템에서 초고속 IO 처리를 위한 스토리 지 시스템 구조 및 운영 방법에 대한 연구를 진행하는 것이 주요한 연구 내용이다. 1차년도는 CUDA 를 활용한 NVMe 시스템에서 CUDA core당 NVMe의 IO Queue 할당 및 분산 처리를 통한 IO 병렬처 리 연구를 진행한다. NVMe 인터페이스에서 Xeon과 같은 수 개의 Multi-Core CPU를 사용할 경우, IO request를 처리하기 위해서 수십-수백개의 Queue를 생성하면 코어당 다수 개의 Queue를 처리하여 주어야 한다. 또한, CPU와 Queue간의 N:M 매핑이 발생하여 복잡한 processing 및 Interrupt 동작 등이 발생한다. 이를 해결하기 위해서, 수십-수백개의 core를 가지고 병렬처리를 할 수 있는 CUDA Coprocessor를 이용하여, core와 Queue간의 1:1 매핑이 가능한 병렬화를 통한 IO request 가속화에 대한 연구를 진행한다. 2차년도는 Per-Core 당 Queue 기반의 스토리지 시스템 구조에서 운영체제에서의 Per-Core Multi-Level Queue Management 관련 연구 및 개발이다. NVMe의 수십-수백 개의 Queue를 단순 Issue 방식의 운영체제 Block 계층을 사용하여 처리할 경우, IO의 병렬성을 떨어뜨리 는 요인이 된다. 하드웨어 병렬성 저하를 막기 위해서 소프트웨어 Queue 관리와 연동되어야 한다. 본 연구에서, 운영체제 내 Block Level 소프트웨어 계층에서 Per-Core Multi-Level IO Queue 관리 설계를 하고, Per-Core Hardware Queue와의 유기적 연계 및 병렬 IO 관리방안을 연구한다. 3차년도는 DRAM의 효율성을 높이는 방안을 연구한다. SSD는 FTL과 같은 내부 소프트웨어에 의해서 성능이 많이 좌우되므로, 호스트 시스템에서도 이를 잘 활용하여야 한다. Flash 특성을 고려한 Host DRAM의 Direct Access, Caching 구조 및 정책, Page IO 설계, zero copy 정책을 연구한다.
연구목표를 달성하기 위한 세부 연구내용은 다음과 같은 주제들로 구성된다.
다국어 문서의 감성 분석을 위한 코퍼스 구축 및 평판 분석 연구
- 다국어 평판ㆍ관심 도메인 및 키워드별 데이터 분석과 태그셋 개발
- 다국어 활용형 감성사전 구축 방법론 개발 및 핵심 데이터 구축
- 다국어 감성 주석 코퍼스 반자동 구축 방법론 연구 및 데이터 구축
대용량 다형 데이터의 체계적 표현 및 학습, 분산 처리 연구
- 다국어 감성 분석을 위한 기초 웹 데이터 수집 및 정제 환경 구축
- Shallow 기계학습을 이용한 평판분석 테스트베드 구축
- 대용량 데이터 저장을 위한 병렬화 및 고속 저장기술 개발
본 과제는 스마트폰·테블릿 PC용 NAND 플래시에서 읽기·쓰기 속도를 높이기 위한 고성능 FTL을 개발하는 연구임.
연구목표는 듀얼채널 호스트 인터페이스와 Linux 기반 FTL 소프트웨어를 구현하고, Android 플랫폼 및 주요 응용 프로그램으로 시스템 레벨 벤치마킹을 수행하는 데 있음. 핵심 연구내용은 ONFI 2.3 기반 다중 채널 EZ NAND 지원 FTL Interface, 고효율 맵핑테이블, Random Prefetching·Parallel IO·Fast 저널링, 부팅 패턴 분석 기반 부팅 시간 단축 및 파일 시스템의 Fast 저널링 엔진 개발임. 기대효과는 시스템 부팅 속도와 랜덤/연속 읽기·쓰기 성능 10-20% 향상 및 모바일 스토리지 경쟁력 강화임.
본 과제는 기존 DRAM과 플래시 메모리의 장점을 합친 차세대 비휘발성 메모리를 활용해 컴퓨터의 속도와 전력 효율을 높이는 운영체제 기술을 개발하는 연구임.
연구 목표는 차세대 메모리 기반의 저전력·고성능 운영체제 핵심 기술 확보에 있음. 연구 내용은 하이브리드 메모리 시스템 구축을 바탕으로 초고속 파일 시스템 개발, 효율적 메인 메모리 관리 기술 개발, 태스크 관리·하이버네이션·부팅 기술을 비휘발성 메모리에 최적화하는 연구로 구성됨. 기대 효과는 차세대 메모리 기반 컴퓨터 구조와 시스템 소프트웨어 기술을 선도하고 관련 시장 경쟁력을 강화하는 기반 마련임