검색 상세

유니커널을 위한 파일시스템 최적 설계 방안 kci등재

Optimized Design of Filesystems for Unikernel

초록/요약

유니커널은 단일 응용과 서비스에 최적화된 특수목적용 커널이다. 범용 커널에 비해 빠른 부팅 시간, 작은 메모리 풋프린트, 고성능과 보안이 장점이다. 유니커널상에서 구동가능한 애플리케이션들은 범용 커널의 런타임 환경과 호환성을 유지하여 기존 응용들을 바이너리 형태 혹은 소스 호환형태로 활용된다. 그런데, 대부분의 기존 유니커널 프로젝트들은 파일시스템과 관련한 시스템콜에 대해 성능 최적화보다는 애플리케이션 자체의 원활한 동작을 위한 API 구현에 초점을 맞추었다. 이에 따라 기존의 범용 파일시스템을 차용하거나 호스트 파일시스템에 의존적인 방식을 사용하였다. 본 논문에서는 보안성을 유지하면서 최소의 시스템 자원으로 최적의 성능을 얻고자 하는 유니커널의 취지를 고려하는 유니커널용 파일시스템의 설계 방안에 대해 기술한다. 구체적으로는 마이크로 벤치마크를 통해 주요 유니커널에서 지원하는 파일시스템에 대한 성능과 메모리 요구량을 분석하고, 최적 성능과 보안성을 제공하기 위한 파일시스템 설계 방향을 제시한다.

more

초록/요약

Unikernel is a special-purpose kernel optimized for single applications and services. Compared to general-purpose kernels, its advantages include fast boot time, small memory footprint, high performance, and security. Unikernel applications attempt to maintain compatibility with the runtime environment of the general-purpose kernel and are used in binary or source-compatible form with legacy applications. Most existing unikernel projects implemented filesystem APIs with a priority on running applications rather than performance optimizations. Accordingly, it is a common practice to deploy a general-purpose file system naively or to introduce a host filesystem dependent method. In this paper, we discuss the design of unikernel file systems taking into account the purpose of unikernel, i.e., ensuring optimized performance with minimal system resources while maintaining security. Specifically, we analyze the performance and memory requirements for file systems supported by major unikernels through micro-benchmarks and suggest file system design guidelines to provide optimized performance and security.

more