초록
모듈화된 구조를 지향하는 현대 소프트웨어 기술의 발전은 캐시 메모리의 성능에 큰 변화를 가져오고 있다. 최근 운영체제 분야에서 새로운 설계 기술로 부각되고 있는 마이크로커널은 모듈화된 구조를 가지고 있어 이식성과 확장성이 우수하지만, 모노리딕 커널에 비하여 성능이 저하되는 현상을 보이기도 한다. 본 논문에서는 마이크로커널 기반 운영체제에서 발생하는 성능 저하의 근본적인 원인을 규명하기 위하여, 커널의 구조적 특성이 캐시 메모리의 성능에 미치는 영향을 정량적으로 분석하였다. Intel Pentium Pro 프로세서 상에서의 실험 결과, 마이크로커널 구조는 모노리딕 커널 구조에 비하여 L1, L2 캐시와 TLB 접근 실패율을 크게 증가시키며, IPC 보다는 캐시 메모리의 효율성이 운영체제 성능에 미치는 영향이 더욱 크다는 사실을 발견하였다. 그리고, 이러한 현상은 마이크로커널의 구조적 특성으로 인하여 빈번히 발생하는 문맥 교환의 영향임을 확인하였다.
The modern software technology toward modularization has changed the cache accessing behavior dramatically. Many modern operating systems are also departing from the past monolithic structure toward the highly modularized structure referred to as microkernel. Microkernel-based operating systems are more portable and extensible, but are likely to have worse performance. This paper quantitatively analyzes the effect of microkernel structure on cache memory to identify the primary factor for its performance degradation. Through the experiment performed on a Intel Pentium Pro processor platform, we found that the microkernel structure suffers from remarkably higher misses for L1, L2 cache and TLB than the monolithic one does. We also found that the performance of a microkernel is more dependent on the efficiency of cache memory than IPC. Finally, we found that these results come from the effect of frequent context switches mainly caused by the structural feature of a microkernel.