경량 커널 운영 체제

Lightweight Kernel Operating System

LWK(Lightweight Kernel) 운영체제는 병렬 컴퓨터라고 불리는 다수의 프로세서 코어를 가진 대형 컴퓨터에서 사용됩니다.

대규모 병렬 하이 퍼포먼스 컴퓨팅(HPC) 시스템은 운영 체제의 오버헤드에 특히 민감합니다.기존의 다목적 운영체제는 다양한 사용모델과 요건을 지원하도록 설계되어 있습니다.다양한 요구를 지원하기 위해 다수의 시스템 프로세스가 제공되며, 상호 의존적인 경우가 많습니다.이러한 프로세스의 컴퓨팅 오버헤드로 인해 병렬 애플리케이션에서 사용할 수 있는 프로세서 시간이 예측할 수 없게 됩니다.매우 일반적인 병렬 프로그래밍 모델은 벌크 동기 병렬 모델이라고 불리며, 통신에 메시지 패싱 인터페이스(MPI)를 사용하는 경우가 많습니다.동기화 이벤트는 애플리케이션 코드의 특정 지점에서 발생합니다.1개의 프로세서가 다른 모든 프로세서보다 이 지점에 도달하는 데 시간이 오래 걸리는 경우 모든 프로세서가 대기해야 합니다.전체 종료 시간이 늘어납니다.operating system의 오버헤드를 예측할 수 없기 때문에 프로세서가 동기 포인트에 도달하는 데 다른 프로세서보다 시간이 걸릴 수 있습니다.

세계에서 가장 빠른 컴퓨터 중 일부에서 사용되는 커스텀 경량 커널 운영체제는 이 문제를 완화하는 데 도움이 됩니다.IBM Blue Gene 계열의 슈퍼컴퓨터는 다양한 버전의 CNK 운영 [1]체제를 실행합니다.Cray XT4 및 Cray XT5 슈퍼컴퓨터Compute Node[2] Linux를 실행하고 있으며, 이전 XT3는 SUNMOS 기반의 경량 커널 Catamount를 실행하고 있습니다.Sandia National Laboratories는 하이엔드 HPC [3]시스템의 경량 커널을 거의 2년 동안 도입하고 있습니다.Sandia와 뉴멕시코 대학의 연구원들은 1990년대 초에 인텔 Paragon의 SUNMOS에 대한 연구를 시작했습니다.이 운영체제는 푸마, 쿠가, ASCI Red에서 최초의 테라플롭을 달성한 쿠가, 레드 스톰에서 Catamount로 진화했습니다.Sandia는 [4]LWKs에서 키튼이라고 불리는 새로운 R&D 활동을 계속하고 있습니다.

특성.

Lightweight 커널이 [5]무엇인지 정확하게 정의하기는 의외로 어렵지만 일반적인 설계 목표는 다음과 같습니다.

  • 분산 메모리와 긴밀하게 연결된 네트워크를 갖춘 수천 개의 프로세서로 구성된 대규모 병렬 환경을 대상으로 합니다.
  • 확장성이 뛰어난 퍼포먼스 지향의 과학 애플리케이션에 필요한 지원을 제공합니다.
  • 병렬 애플리케이션 및 라이브러리에 적합한 개발 환경을 제공합니다.
  • 기능성보다 효율성을 강조합니다.
  • 애플리케이션에 할당된 리소스 양(CPU, 메모리, 네트워크 대역폭 등)을 최대화합니다.
  • 애플리케이션 [6]완료까지의 시간을 최소한으로 억제합니다.

실행

LWK의 실장은 다양하지만, 모두 애플리케이션에 중앙처리장치(CPU) 및 기타 시스템리소스에 대한 예측 가능한 최대 액세스를 제공하기 위해 노력하고 있습니다.이를 실현하기 위해 일반적으로 스케줄링 및 메모리 관리를 위한 단순화된 알고리즘이 포함됩니다.시스템 서비스(예: 데몬)는 절대 최소값으로 제한됩니다.작업 시작과 같은 사용 가능한 서비스는 수천 개의 노드에 대한 확장성을 보장하기 위해 계층 구조로 구성됩니다.시스템 내 노드 간 통신을 위한 네트워킹 프로토콜도 확장성을 보장하기 위해 신중하게 선택 및 구현됩니다.예를 들어 Portals Network Programming Application Programming Interface(API; 네트워크프로그래밍 애플리케이션프로그래밍 인터페이스)가 있습니다.

경량 커널 운영 체제는 전체 서비스 운영 체제를 실행하는 소규모 노드 집합에 대한 액세스를 가정하여 로그인 액세스, 컴파일 환경, 배치 작업 제출 및 파일 I/O와 같은 일부 필수 서비스를 오프로드합니다.

서비스를 절대적으로 필요한 서비스만 한정하고 제공되는 서비스를 합리화함으로써 경량 운영 체제의 오버헤드(노이즈라고도 함)를 최소화할 수 있습니다.이것에 의해, 상당량의 프로세서 사이클을 병렬 애플리케이션에 할당할 수 있습니다.애플리케이션은 각 프로세서에서 일관된 처리를 할 수 있기 때문에 동기 포인트에 더 빨리, 이상적으로는 동시에 도달합니다.손실 대기 시간이 줄어듭니다.

미래.

경량 커널을 실행하는 마지막 슈퍼컴퓨터는 CNK를 실행하는 나머지 IBM Bluegene 시스템입니다.경량 커널의 새로운 방향은 Linux 등의 풀기능 OS를 멀티코어 노드에서 조합하는 것입니다.이러한 멀티커널 운영 체제는 노드의 CPU 코어 중 일부에서 Lightweight 커널을 실행하는 반면 다른 코어는 Lightweight 커널에서 누락된 서비스를 제공합니다.이 두 가지를 조합함으로써 사용자는 필요한 Linux 기능뿐만 아니라 경량 커널의 결정론적 동작과 확장성을 얻을 수 있습니다.

레퍼런스

  1. ^ Moreira, Jose; et al. (November 2006). "Designing a Highly-Scalable Operating System: The Blue Gene/L Story". Proceedings of the 2006 ACM/IEEE International Conference for High-Performance Computing, Networking, Storage, and Analysis (SC’06). {{cite journal}}:Cite 저널 요구 사항 journal=(도움말)
  2. ^ Wallace, D. (May 2007). "Compute Node Linux: Overview, progress to date, and roadmap". Proceedings of the 2007 Cray User Group Annual Technical Conference. {{cite journal}}:Cite 저널 요구 사항 journal=(도움말)
  3. ^ Riesen, Rolf; et al. (April 2009). "Designing and Implementing Lightweight Kernels for Capability Computing". Concurrency and Computation: Practice and Experience. {{cite journal}}:Cite 저널 요구 사항 journal=(도움말)
  4. ^ "Kitten Lightweight Kernel".
  5. ^ Riesen, Rolf; et al. (June 2015). "What is a Lightweight Kernel?". Proceedings of the 5th International Workshop on Runtime and Operating Systems for Supercomputers: 1–8. doi:10.1145/2768405.2768414. ISBN 9781450336062. Retrieved 19 October 2019.
  6. ^ Kelly, S.; Brightwell, R. (May 2005). "Software Architecture of the Light Weight Kernel, Catamount". Proceedings of the 2005 Cray User Group Annual Technical Conference. {{cite journal}}:Cite 저널 요구 사항 journal=(도움말)