1K+ 코어 테스트베드 구축

매니코어OS
이동: 둘러보기, 검색

매니코어 OS 기초연구에서 가장 중요한 이슈는 매니코어 시스템(수백~수천코어 시스템)이 없는데 연구가 가능한지 이다.
즉 어떻게 테스트베드를 마련할 것인지 이다. 그 동안의 선행연구는 240코어이내의 시스템을 사용하였다.(MIT의 corey 프로젝트: 48코어, sv6 : 80코어, 240코어의 HP CS900,...)


대안으로 애뮬레이터를 생각할 수 있지만, 속도 문제와  non-determinism 문제가 있다.


비용 측면에서 240코어를 지원하는 HP CS900 시스템의 가격은 1M$이상이며, 80코어 Xeon 시스템도 40K$정도로 고가의 장비들이다. 이러한 시스템으로 수백~수천코어의 매니코어 시스템을 구축하는데 많은 비용이 필요하다. 따라서 현실적으로 어떻게 매니코어 테스트베드를 구축할 것인지 연구가 필요하다.

현실적인 대안을 찾기 위해서 Xeon phi(57코어/소켓, 1,500$)를 주목하고, Xeon 프로세서와 Xeon phi 보조 프로세서(coprocessor)의 성능 실험을 추진하였다. 코어간 통신 지연시간, 캐시 접근시간, 메모리 접근시간, splinlock 스케일러빌러티에 대한 성능 실험을 하였다. Xeon 프로세서 경우, 80코어와 32코어 모델을 사용하였다. 다음 그래프들은 성능 실험의 결과이다.

 Xeon phi test1.JPG

 
Xeon phi test2.jpg

 실험을 통해서, 57코어의 Xeon phi 보조 프로세서가 Xeon 프로세서(SMP UMA 머신)와 유사하게 동작한다는 것이다. 따라서 Xeon phi 보조 프로세서를 사용하여, SMP, big.LITTLE, ccNUMA, non-ccNUMA, Cluster 등 다양한 테스트베드를 꾸밀 수 있다는 것을 찾았다.

 
따라서 현재  Xeon phi 보조 프로세서를 사용하여 1K+ 매니코어 테스트베드 구축히였다. 또한 NVMe 장치를 이용하여 대규모 빠른 저장장치 환경도 마련하였다. 다음 그림은 1K+ 매니코어 테스트베드이며, Rack Scale Architecture의 사례라고도 할 수 있다.

Testbed.png