Effect of Microkernel Structure on Cache Memory Performance

마이크로커널 구조가 캐시 메모리의 성능에 미치는 영향

  • 장문석 (한국전자통신연구원 운영체제연구팀) ;
  • 고건 (서울대학교 전산과학과)
  • Published : 2000.01.15

Abstract

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.

모듈화된 구조를 지향하는 현대 소프트웨어 기술의 발전은 캐시 메모리의 성능에 큰 변화를 가져오고 있다. 최근 운영체제 분야에서 새로운 설계 기술로 부각되고 있는 마이크로커널은 모듈화된 구조를 가지고 있어 이식성과 확장성이 우수하지만, 모노리딕 커널에 비하여 성능이 저하되는 현상을 보이기도 한다. 본 논문에서는 마이크로커널 기반 운영체제에서 발생하는 성능 저하의 근본적인 원인을 규명하기 위하여, 커널의 구조적 특성이 캐시 메모리의 성능에 미치는 영향을 정량적으로 분석하였다. Intel Pentium Pro 프로세서 상에서의 실험 결과, 마이크로커널 구조는 모노리딕 커널 구조에 비하여 L1, L2 캐시와 TLB 접근 실패율을 크게 증가시키며, IPC 보다는 캐시 메모리의 효율성이 운영체제 성능에 미치는 영향이 더욱 크다는 사실을 발견하였다. 그리고, 이러한 현상은 마이크로커널의 구조적 특성으로 인하여 빈번히 발생하는 문맥 교환의 영향임을 확인하였다.

Keywords

References

  1. Alan J. Smith, 'Cache Memories,' ACM Computing Survey, Vol. 14, No. 3, Sep. 1982 https://doi.org/10.1145/356887.356892
  2. Allan Bricker et aI., 'A New Look at Microkernel-based UNIX Operating Systems: Lessons in Performance and Compatibility,' Proc. of Winter USENIX Conference, 1991
  3. J. Bradley Chen and Brian N. Bershad, 'The Impact of Operating System Structure on Memory System Performance,' Proc. of 14th ACM SOSP, 1993 https://doi.org/10.1145/168619.168629
  4. Richard Uhlig et al., 'Design Tradeoffs for Software-Managed TLBs,' ACM Trasactions on Computer Systems, Vol. 12, No. 3, Aug. 1994 https://doi.org/10.1145/185514.185515
  5. Jochen Liedtke, 'Toward Real Microkernels,' CACM, Sep. 1996 https://doi.org/10.1145/234215.234473
  6. Michael Condict et al., 'Microkernel Modularity with Integrated Kernel Performance,' Operating Systems Collected Papers, Vol. 3, OSF RI, 1994
  7. Thomas E. Anderson et al., 'The Interaction of Architecture and Operating System Design,' Proc. of ASPLOS IV, 1991 https://doi.org/10.1145/106972.106985
  8. John K. Ousterhout, 'Why Aren't Operating Systems Getting Faster As Fast As Hardware ?,' Proc. of Summer USENIX Conference, 1990
  9. Anant Agarwal, John Hennessy, and Mark Horowitz, 'Cache Performance of Operating System and Multiprogramming Workloads,' ACM Transactions on Computer Systems, Vol. 6, No. 4, Nov. 1988 https://doi.org/10.1145/48012.48037
  10. Jeffrey C. Mogul and Anita Borg, 'The Effect of Context Switch on Cache Performance,' Proc. of ASPLOS IV, 1991 https://doi.org/10.1145/106972.106982
  11. John Hennessy and David Patterson, Computer Architecture A Quantitative Approach, 2nd Ed., Morgan Kaufmann, 1996
  12. Richard P. Draves et al., 'Using Continuations to Implement Thread Management and Communication in Operating Systems,' Proc. of 13th SOSP, 1991 https://doi.org/10.1145/121132.121155
  13. Brian N. Bershad, 'The Increasing Irrelevance of IPC Performance for Microkernel-Based Operating Systems,' Proc. of 1st USENIX Workshop on Microkernels and Other Kernel Architectures, 1992
  14. Intel, Pentium Pro Family Developer's Manual, 1996
  15. Ran Giladia and Niv Ahituv, 'SPEC as a Performance Evaluation Measure,' IEEE COMPUTER, Aug. 1995 https://doi.org/10.1109/2.402073