01. 과제소개 3.png

 

【 과제 소개 】

 

 


 


 

담쟁이(매니코어) Logo.jpg

★ 매니코어 기반 초고성능 스케일러블 OS 기초연구(☞ 더 자세한 소개)

 

국내 제1호 공개SW 과제(과기정통부, ‘14. 04 ~ ‘22. 02(95개월))로 코어 수 증가에 따른 OS 성능  증가를 목표로 ETRI + 12개 국내외대학연구실 + 2개 기업 + 공개SW협회가 참여 하고 있으며, 국내 최초의 공개SW(오픈소스) 방식의 과제

      연구과제의 코드명은 담쟁이(아이비, Ivy)이며, 담쟁이가 높은 벽을 넘어 가듯이 성능의 벽을 극복한다는 의미


 

매니코어 아키텍쳐를 위한

‘셔플락 (Shuffle Lock) 알고리즘’ 공개

     

리눅스 커널에서 CPU 갯수에 비례하여 성능이 높아지는 현상인 스케일러빌러티 발목을 잡는 것은 잠금 (lock) 알고리즘 때문이다. 지금까지 사용하고 있는 리눅스 커널의 잠금 알고리즘은 멀티코어 시대에서 개발한 알고리즘으로, 매니코어 아키텍쳐의 구조와 매니코어 커널에서 추구하는 특성과 부합하지 않았다.

 

     ETRI(한국전자통신연구원)은 과학기술정보통신부의 '매니코어 기반 초고성능 스케일러블 OS 기초 연구' 과제에서 미국 조지아 공대 김태수 교수와 국제공동연구로 셔플락(Shuffle Lock) 알고리즘을 연구하여 이 문제를 해결했다. 셔플락 알고리즘은 NUMA 구조의 매니코어 시스템에서 빈번한 Lock 변수 접근으로 인한 cache-line bouncing 문제를 제거하고 Lock holder와 waiter간 역할 구분과 효율적인 waiter들을 관리하여 매니코어 시스템에서 스케일러빌러티를 보장한다. 인텔 Xeon 기반 192코어 시스템에서 운영체제 성능 벤치마크인 AIM7 벤치마크를 통해 리눅스 커널 4.19보다 성능이 우수함을 검증했다. 이 연구결과는 10월말 SOSP (ACM Symposium on Operating Systems Principles) 2019 학회에서 발표 하였고, 소스코드는 깃허브(https://github.com/oslab-swrc)에 공개할 예정이다. 게다가 리눅스 커뮤니티에 커널 패치도 제출할 예정이다.

 

     셔플락 알고리즘은 향후 당분간 잠금 알고리즘을 연구 개발할 필요가 없을 정도로 기능적, 성능적으로 우수하다는 평을 받고 있으며, 매니코어 시스템에서 소프트웨어의 성능 개선을 위한 접근 방법을 제시하고 있기도 하다.

 

02. 하단.png