먼저, 지난 30년간 프로세서의 발전 경향을 살펴보면, 2008년을 기준으로 회로의 집적도를 나타내는 트랜지스터의 수는 지속적으로 증가하고 있으며, 이에 따라 동작속도(Hz)와 단일 스레드 성능도 증가하고 있다. 2008년 이후에는 트랜지스터 집적도는 여전히 증가하지만 동작속도(Hz)의 상승이 어려워 단일 스레드 성능은 정체되어 있음을 알 수 있다. 반면에 코어 수는 2008년을 기점으로 크게 증가하는 경향을 볼 수 있다. 이는 프로세서의 기술발전이 최근에 코어 수를 증가시키는 데 있다고 볼 수 있다.
초기 리눅스는 단일 프로세서용으로 개발되었다. 이후 커널 2.0에서 비로소 SMP(Symmetric multiprocessing) 기능을 갖추었지만, Big kernel lock으로 성능은 좋지 못하였다. 2.6.39 버전이 되면서 Fine-grained lock이라는 평가를 받게 되어 많은 성능 개선이 이루어졌다. 이러한 현재의 리눅스가 100코어 매니코어에서 어떤 성능을 보이는지 AIM7 벤치마크 도구로 실험하였다. AIM7 벤치마크의 워크로드는 계산 집약적인 워크로드와 입출력 집약적인 워크로드를 균등하게 구성하였다. 실험 결과, 먼저 native 경우, 디스크를 포함한 블록 IO 환경에서는 심각한 성능 문제를 확인할 수 있었고, ticket spinlock를 사용하는 4.1커널에서 블록 IO를 제거한 환경(tmpfs 환경)에서는 32코어까지 스케일러빌러티를 보였지만 이후부터 성능 저하 현상이 나타나서 60코어부터 현저한 성능 저하를 보였다. Big kernel lock이 개선되었지만 매니코어 환경에서 이 문제가 재현되었다. queue spinlock를 사용하는 4.5커널은 4.1커널보다 스케일러블한 성능 그래프를 보이지만 100코어 이후 성능이 둔화되어 140-50코어에서 성능 저하를 보였다. 가상화 환경 경우, tmpfs 경우, 4.1커널은 30코어 이후, 4.5커널은 50-60코어 이후 급격한 성능 저하 현상이 나타났다. 아래 실험은 리눅스 커널 4.1버전(ticket spinlock)에서 수행되는 AIM7 성능 그래프이다. 따라서 잠금 기법 자체의 문제(특히 가상화 환경에서), Big kernel lock 문제, 자원의 공유(sharing)와 공정한 배분(fairness) 개념으로 디자인된 전통적인 운영체제의 구조 등이 매니코어에서 리눅스 스케일러빌러티의 장애요인으로 뚜렷하게 나타났다.
차세대 OS 기초연구센터 과제는 운영체제의 성능한계 도전하기 위해서 한국정보과학회 컴퓨터시스템연구회 중심의 대학연구실과 ETRI, 그리고 조지아공대, 버지니아공대로 다음과 같이 구성하였다. 운영체제 연구는 리눅스 커뮤니티처럼 집단지성의 협업이 요구되어, 누구나 참여할 수 있는 개방적으로 운영하고 있다.
운영체제의 성능 한계 극복 연구는 두 가지 방향으로 추진되고 있다. 첫째, 기존의 모노리틱 구조를 개선하는 연구이며, 둘째는 새로운 운영체제를 연구하는 것이다. 모노리틱 구조의 운영체제는 기본적으로 사용자에게 자원을 공평하게 배분하는 철학으로 개발되어 왔다. 따라서 공유 자원에 대한 경쟁이 요구되며, 특히 코어가 많은 환경에서는 더욱 심한 경쟁이 발생된다. 이러한 문제를 해결하기 위해서 스케일러블 lock 기법, 공유하지 않는 커널 자료구조 개념, lock granularity, 그리고 스케일러빌러티를 고려한 커널 기능 디자인 등 많은 재고가 필요하다. 이러한 연구로 모노리틱 구조의 운영체제는 최대한 많은 코어까지 스케일러빌러티를 보장할 것이다. 두 번째는 새로운 구조인 멀티커널 구조이다. 스케일러블한 모노리틱 운영체제 연구를 통해서 아무리 많은 코어까지 성능을 보장하더라고, 그 한계는 존재할 것이고 이 문제를 멀티커널 개념으로 해결하고자 한다.
차세대 OS 기초연구센터 과제에서는 운영체제의 스케일러빌러티 연구뿐만 아니라, 매니코어 시스템에서 병렬 프레임워크도 다루고 있다.