ETRI-Knowledge Sharing Plaform

KOREAN
연구보고서 검색
Type Funding Org. Research Org.
Year ~ Keyword

Detail

매니코어 기반 초고성능 스케일러블 OS 기초 연구 (최종)
Download 253 time
Participants
정성인, 김진미, 우영주, 함영환, 차승준, 정연정, 전승협, 이용섭
Published
202202
Type
Final Report
Keyword
커널, 병렬화, 확장형, Scalability
KSP Keywords
High performance, operating system
Funding Org.
과학기술정보통신부
Research Org.
한국전자통신연구원
Project Code
21HS2300, Research on High Performance and Scalable Manycore Operating System, Sung-In Jung
Abstract
□ 연구개발 목표 및 내용
◎ 최종 목표
o 1,000코어 이상의 서버급 이기종 매니코어 시스템에서 코어 수 증가에 따라 성능이 증가하면서 전력사용량을 최소화하는 저전력 확장형 (Scalable, 스케일러블) 매니코어 OS 기초 기술 연구 개발
- 모노리틱 커널 구조의 성능 : <200코어에서 AIM7/응용 벤치마크의 스케일러빌러티 제공
- 멀티 커널 구조의 성능 : 100~1K+코어에서 AIM7/응용 벤치마크의 스케일러빌러티 제공
- 전력 : 효율 10% 향상 (모노리틱 커널 구조), 목표 전력 대비 오차 10% 이내 (DVFS 수준의 제어 신속성, 멀티 커널 구조)
- (공개SW 목표) SW 결과물 공개로 1) 기존 공개SW 커뮤니티에 기술 기여, 2) 타 연구 및 응용에 이차적 활용, 3) 새로운 기술의 지속적인 발전을 목표로 함

◎ 전체 내용
- 운영체제 스케일러빌러티 문제 분석 및 매니코어 운영체제 구조, 기능 연구
· 모노리틱 커널 구조의 스케일러빌러티 연구
· 멀티커널 구조 연구
· 매니코어 시스템의 에너지 제어 및 전력 관리 연구
· 매니코어 테스트베드 구축 및 베이스 성능 분석
- 스케일러블 리눅스 기술
· 잠금, 메모리, 프로세스, 파일 시스템, 네트워크 기술 분야의 스케일러빌러티 요소기술 연구
· lock-free 기법 연구
· 가상머신 환경에서 스케일러빌러티 요소기술 연구
· 스케일러블 자료구조 연구
· 시스템 온도 및 에너지 제어 연구
- 분할형 운영체제 기술
· 멀티커널 구조 연구
· 멀티커널 기반 분할형 운영체제 연구
- 병렬화 기술
· 매니코어 기반 병렬 프레임워크 성능 분석
· 자바 가상머신 프레임워크 최적화 연구
· 매니코어 기반 그래프 처리, 머신러닝, 딥러닝 최적화 연구
· 하스켈 병렬 프로그래밍 모델 연구
· 대규모 행렬연산 기반 응용 병렬화 연구
- 매니코어 기반 영구 메모리 지원 요소 기술 연구
- 성능 병목 분석 도구 개발 등

◎ 1단계
● 목표
이기종 매니코어의 확장성 한계를 극복하는 기초 기술 연구, 100코어 확장형 모노리틱 운영체제 요소기술 개발과 100+ 코어의 실험 수준의 분할형 운영체제 개발

● 내용
- 가상머신 환경에서 스케일러빌러티 요소기술 연구
- 스케일러블 파일 시스템 연구
- 네트워크 성능 향상을 위한 코어 파티셔닝 기법 연구
- 매니코어 스케줄러 연구
- 매니코어 기반 에너지 제어 연구
- 멀티커널 기반 분할형 운영체제 연구
- 병렬 프레임워크 성능 분석 및 자바 가상머신 프레임워크 최적화 연구
- 매니코어 기반 정적 그래프 병렬처리 연구
- 대규모 행렬연산 기반 응용 병렬화 연구
- 하스켈 스케일러빌러티 연구
- 성능 병목 분석 및 측정 도구 개발

◎ 2단계
● 목표
200코어를 지원하는 확장형 모노리틱 운영체제 개발 및 1,000+ 이기종 매니코어를 지원하는 현장시작품 수준의 확장형 분할형 운영체제 개발

● 내용
- 스케일러블 잠금(locking) 연구
- lock-free 연구
- 스케일러블 파일 시스템 연구
- 스케일러블 자료구조 연구
- 스케일러블 네트워크 스택 연구
- 파일 시스템 성능 향상을 위한 코어 파티셔닝 연구
- 머신러닝 기반 매니코어 스케줄러 연구
- 전력 캡핑 연구
- 멀티커널 기반 분할형 운영체제 연구
- 매니코어 기반 동적 그래프 병렬처리 연구
- 매니코어 기반 유사성 검색 알고리즘 연구
- 메모리 계층 기반 딥러닝 병렬화 연구
- 하스켈 스케일러빌러티 연구
- 매니코어 기반 영구메모리 지원 요소 기술 연구
- 성능 병목 분석 및 측정 도구 개발

□ 연구개발성과
o 최종 목표 대비 성과

o SW 성과
* 아래 결과물의 코드명은 깃허브 (https://github.com/oslab-swrc)에 공개된 소스코드명임
- 스케일러블 blocking 동기화 알고리즘 (opportunistic-spinlock, shfllock, dynamic lock)
- 리눅스 커널의 reverse mapping 문제를 해결하는 lockless 알고리즘 (LDU)
- 스케일러블 non-blocking 동기화 알고리즘 (MV-RLU, Timestone)
- MV-RLU를 적용한 연구용 운영체제 (Khronos)
- 스케일러블 ordering 알고리즘 (ORDO)
- 스케일러블 파일 시스템 (pNOVA, hybridF2FS)
- EXT4 파일 시스템의 스케일러블 저널링 SW (jet-journal)
- 고성능 파일 시스템을 위한 하이브리드 폴링 SW (conf_hpoll)
- 매니코어용 자료구조 알고리즘 (hydralist, MV-RLU optimized B-tree & ART, Timestone optimized B-tree)
- 영구메모리 기반 매니코어용 자료구조 알고리즘 (PACtree)
- 영구메모리에서 쓰기 증폭 방지 알고리즘 (Tonic)
- DRAM과 영구메모리 기반 통합 시스템 메모리 구축 SW (AliusM)
- 스케일러블 네트워크 스택 SW (mkpac)
- RDMA기반 초고속 통신 프로토콜 (Flock)
- 코어 파티셔닝 알고리즘 (syscalib)
- 매니코어 스케쥴러 (flsched, STUN, eCS)
- 스케일러블 주소공간 관리 알고리즘 (LATR)
- 리눅스 전력 캡핑 SW (iPoCap)
- 매니코어에서 전력효율을 고려한 스핀락 알고리즘 (catnap)
- 분할형 운영체제 & 유니커널 (Azalea)
- 유니커널 기반 안전한 응용 서비스 SW (Hydrangea)
- 매니코어 환경에서 스팍 워크로드 인지 태스크 스케쥴러 (WASP)
- 대규모 동적 그래프 처리 엔진 (cytom)
- 매니코어 기반 유사성 검색 알고리즘 (StarChart)
- 메모리 계층을 고려한 딥러닝 가속 알고리즘 (dmazerunner, DiRAC)
- 하스켈 병렬 프로그래밍 모델 (SAM)
- 매니코어 기반 고성능 NoSQL 데이터베이스 (Jet-Kyoto Cabinet)
- 분산 영구메모리 기반 고성능 NoSQL 데이터베이스 (Z-Sierra KV)
- 클라우드 기반 고성능 파일 관리 서비스 SW (ZFile-Browser)
- 리눅스 파일 시스템 벤치마크, 버그 탐지 도구 등 도구들 (fxmark, juxta, dark insight, deadline, hydra, ramdisk_mq, blk_mq_analayzer, pmperf, APIsanm UniSan, Krace, RECIPE-with-tonic)

o 공개SW 성과
- 기존 커뮤니티에 기술 기여 308건 (리눅스 : 306건, DPDK 등 : 2건)
- SW 소스코드 공개 51건

o 인력 배출 성과
- 석박사 등 전문인력 168명 배출
- Top System Research 100위에 3명 등록
* Systems Research: SOSP/OSDI Hall of Fame (https://www.cs.utexas.edu/~vijay/hall.html), 2021.5. 기준

o 사업화 성과
- 매니코어 기반 유전체 데이터 분석 시스템 개발
. 씨젠과 에프에이리눅스간 ‘유전체 분석을 위한 매니코어 기반 고성능 시스템 구축 및 운영’ 사업 계약 진행 중 (5월중순 완료 예정). 현재는 기존 시스템 유지보수 중임
. 에프에이리눅스와 ETRI간 ‘대규모 데이터 처리를 위한 매니코어 요소기술’ 기술이전 계약 진행 중 (상반기 완료 예정)

o 기타 성과
- 기술 소개서 (e-book) : http://bypub.kr/ebook/ManycoreOS
- 연구결과물 소개 및 활용 유튜브 영상 24건 : https://www.youtube.com/channel/UCYISrjZYct4NGDEuQYfAwUg/videos
- 연구 백서
. 전자통신동향분석지 2017. 12월. 32권 6호
. 한국정보과학회 학회지 2021년 11월호
- 깃허브 기반 연구내용 블로그 : https://manycoreos.github.io

□ 연구개발성과 활용계획 및 기대 효과
o 활용계획
- SW수요기업은 유전체 데이터 분석, 금융 데이터 분석 서비스 등 개발에 활용
- SW전문기업은 초고성능 NoSQL 데이터베이스 개발에 활용
- 타 연구개발사업에서 성과물 연구개발을 위해 요소기술로 활용
- 매니코어에 적용을 위한 기존 공개SW에 활용 (예, non-blocking 동기화 알고리즘을 Kyoto Cabinet 키벨류스토어에 적용)
- 매니코어 시스템의 운영체제
. x86, ARM 기반 매니코어 시스템
. Big.LITTLE 기반 매니코어 시스템
- 기타, HPC 클라우드 서비스, 대규모 스트림 데이터 분석 응용, 거대 그래프 처리 응용, 유사성 검색 응용, 영구메모리기반 응용, 유니커널기반 응용 등에 활용

o 기대효과
- (기술적 측면) 운영체제 분야에 선진국과 동등 이상의 수준으로 발전, 매니코어 기반 신규 서비스/사업 창출 및 오픈소스 진영에 기여와 공개한 결과물을 다양한 분야에 활용 기대
- (경제적 측면) 연구결과물로 국내 공개SW 활용율이 1% 증가하면, 1,390억원/년 GDP 향상 및 1,738명/년 일자리 창출 가능 (국내 2021년도 GDP 기준)
- (제도적 측면) 글로벌 표준 (SPDX) 기반 소스코드 공개로 SW 공급망 관리가 용이하며, 오픈소스 라이선스 검증을 거쳐 법적 안정성 확보

(출처 : 요약문 5p)