연구목표및 연구의 필요성
최종목표
- 초고성능 매니코어 시스템 구축을 위한 기반 마련
세부 연구목표
- 분할형 운영체제를 위한 시뮬레이터 제작
- 분할형 운영체제를 위한 벤치마크 확보
- 시뮬레이션을 통한 분할형 운영체제의 스케일러빌러티 분석
연구의 필요성
- 매니코어 환경에 대한 분할형 구조의 적합성 판단
- 매니코어 환경에서 성능을 내기 위해 가장 중요한 요건이 스케일러빌러티이다. 그러므로, 매니코어 환경에서의 적합성을 판단하기 위해서는 스케일러빌러티 분석이 선행되어야 한다.
- 분할형 운영체제 구현 비용
- 현재 구현되어 있는 분할형 운영체제는 전무한 실정이다. 실험을 위하여 분할형 운영체제를 구현하여 실험하기에는 제작 비용이 너무 크므로, 시뮬레이션을 이용한 비용감축이 필요하다.
- 분할형 운영체제를 위한 시뮬레이터 및 벤치마크 부재
- 분할형 운영체제는 새로 연구되고 있는 운영체제 구조이므로, 기존의 시뮬레이터 및 벤치마크는 일체형 운영체제에만 적용가능하며, 아직 분할형 운영체제를 위한 시뮬레이터 및 벤치마크가 미흡하다.
연구내용
시뮬레이터 제작: osSim
분할형 운영체제에 대한 시뮬레이션이 가능한 시뮬레이터를 직접 제작하고, osSim 이라 명명하였다. osSim의 구조는 다음과 같이 설계되었다.
벤치마크 확보 : AIM7 Modified
멀티유저를 위한 유닉스 시스템 벤치마크인 AIM7 (AIM Multiuser Benchmark)를 확보한 후, 분할형 운영체제에서 실행가능하도록 벤치마크를 변경하여, AIM7 Modified 라고 명명하였다.
실험 및 결과 : 스케일러빌러티 측정
시뮬레이션에 이용할 분할형 운영체제의 구조를 설계하고, 수행한 일련의 실험과정은 아래와 같다.
설계
- 시스템 서비스
- 분할형 운영체제는 기존의 운영체제와 같이 커널이 응용에 시스템 콜을 제공하는 것이 아니라, 시스템 서비스를 수행하는 응용이 사용자가 실행하는 응용에 시스템 서비스를 제공한다.
- 현재 설계상, 제공되는 시스템 서비스는 6가지로 분류된다 - Naming Service, PM(Process Management), FM(File Management), Disk I/O, Network I/O, MM(Memory Management).
- 동종 시스템 서비스가 2개 이상 존재할 경우, 동기화 비용이 소모된다. 현재 설계상, 각 시스템 서비스 종류마다 동종 시스템 수는 같도록 설계하였다.
- IPC
- 각 프로세스는 마이크로커널에 포함된 IPC(Inter-Process Communication) 기능을 이용하여 서로 통신한다. IPC는 로컬 IPC와 원격 IPC(remote IPC)로 구분되며, 원격 IPC에 더 많은 비용이 소모된다.
- 사용자가 실행하는 응용이 시스템 서비스를 요청하고 제공받는 과정에는 IPC가 이용된다. 이 과정에서 이용되는 IPC의 약 80%는 로컬 IPC이며, 약 20%가 원격 IPC이다.
가정
- 시스템 전체 코어개수는 최대 1000개까지로 제한함.
- 동종 시스템 서비스들의 동기화 비용은 선형모델 적용 - 특히, <실험1>에서는 동기화할 시스템 서비스 하나 당 2%의 추가 비용이 드는 것으로 가정함.실험1>
- INTEL Xeon Phi 에서 IPC 비용을 측정한 결과, 로컬 IPC에 300 ns, 원격 IPC에 1696 ns가 소모되는 것으로 측정되었으며, 이 값을 시뮬레이션에 이용함.
실험 1
(nCores: 시스템 전체 코어 수, nSet: 동종 시스템 서비스 수, terminated jobs: 시간당 작업 총 수향량 (total throughput))
실험결과, 수행한 환경에서 동종 시스템 서비스 수는 32개가 적합한 것으로 나타났다. 동종 시스템 서비스의 수가 지나치게 적은 환경(nSet=1,2,4,8,16)에서는, 특정 시스템 서비스를 제공받으려는 응용이 몰릴 경우 병목현상이 발생하여 성능이 저하되는 것으로 분석되었다. 반면 동종 시스템 서비스의 수가 지나치게 많은 경우(nSet=64,128) 시스템 서비스 수행에 자원이 몰려, 응용에 필요한 자원들이 부족하게 되어 성능이 저하되는 것으로 분석되었다.
실험 2
(nCores: 시스템 전체 코어 수, nSet: 동종 시스템 서비스 수, terminated jobs: 시간당 작업 총 수향량 (total throughput))
동종 시스템 서비스의 동기화 비용에 따라 성능이 좌우됨을 알 수 있다. 또한, 동종 시스템 서비스의 동기화 비용이 30% 이상이 될 경우, 스케일러빌러티를 얻는 것이 어려워 진다는 것을 알 수 있다.
연구결과
공개 소프트웨어
2021-2022, manycoreos Revision
ffd455f