|
【 과제 소개 】
|
|
|
|
|
|
★ 매니코어 기반 초고성능 스케일러블 OS 기초연구(☞ 더 자세한 소개)
국내 제1호 공개SW 과제(과기정통부, ‘14. 04 ~ ‘22. 02(95개월))로 코어 수 증가에 따른 OS 성능 증가를 목표로 ETRI + 12개 국내외대학연구실 + 2개 기업 + 공개SW협회가 참여 하고 있으며, 국내 최초의 공개SW(오픈소스) 방식의 과제
|
연구과제의 코드명은 담쟁이(아이비, Ivy)이며, 담쟁이가 높은 벽을 넘어 가듯이 성능의 벽을 극복한다는 의미
|
코어의 역할을 분리하는 코어 파티셔닝 기법 ‘Syscalib’ 공개
CPU 코어는 응용뿐만 아니라 응용을 구동하기 위한 운영체제 등 시스템 소프트웨어를 수행한다. 빠른 소프트웨어 수행을 위해서 코어는 하드웨어 캐시를 가지고 있으며 캐시간 데이터 일관성을 보장한다. 하지만 매니코어 환경에서 캐시 일관성 유지는 큰 부담이다. 공유 데이터의 쓰기 동작으로 발생하는 잦은 캐시 오염과 캐시 무효화는 소프트웨어 성능 저하의 원인이 되며, 코어가 많을수록 성능 저하는 더욱 심각해진다.
ETRI(한국전자통신연구원)은 과학기술정보통신부의 '매니코어 기반 초고성능 스케일러블 OS 기초 연구' 과제에서 미국 버지니아 공대 민창우 교수와 국제공동연구로 MV-RLU (Multi-Version Read-Log-Update) 알고리즘을 연구하여 이 문제를 해결했다. RLU의 문제는 두 가지 버전만 관리한다는 것이다. 이러한 한계를 극복하기 위해 다중 버전을 지원하도록 RLU를 확장하고, 다중 버전을 효율적으로 관리하기 위한 동시 자율적인 가비지 콜렉션 (concurrent autonomous garbage collection) 기법을 연구하였다. 이 새로운 가비지 콜렉션 기법으로 다중 버전의 주요 오버헤드인 버전 순회 (version traversal) 오버헤드를 줄일 수 있었다. 이 연구결과는 지난 4월 ASPLOS (ACM International Conference on Architectural Support for Programming Languages and Operating Systems) 2019 학회에서 발표하였고, 소스코드는 깃허브(https://github.com/oslab-swrc)에 공개하였다.
|
|
|