홈 > 프로젝트 > 파티셔닝 시스템 한국어 / English
실시간 스케줄링 및 파티셔닝 시스템을 위한 네트워킹
리소스 파티셔닝은 멀티 스레드 기반의 실시간 어플리케이션들에 대한 시스템 자원을 독립적으로 사용하도록 보장합니다. 최신 임베디드 시스템에서 직면한 크기, 무게 및 전력의 문제를 리소스 파티셔닝을 통해 해결할 수 있습니다. 예를 들어, 통합 모듈 항공전자(IMA, Integrated Modular Avionics) 구조는 파티셔닝 시스템을 위해 제안되었습니다. ARINC 653은 통합 모듈 항공전자의 항공전자 소프트웨어에 대한 프로그래밍 인터페이스 표준입니다. 최근 파티셔닝 시스템에 대한 연구는 (1) 시간적 파티셔닝을 위한 계층적 스케줄링과 (2) 실시간 네트워크에서의 파티션 간 통신에 대한 연구를 수행하고 있습니다.
시간적 파티셔닝을 위한 계층적 스케줄링
시간적 파티셔닝을 제공하기 위하여, 프로세서(CPU) 자원들은 계층적인 방식으로 스케줄링 되어야 합니다. 첫 번째 단계로, 파티션 스케줄러 (전역 스케줄러)는 파티션의 주기와 실행 시간에 따라 파티션들에게 프로세서 자원들을 할당합니다. 다음 단계로, 프로세스 스케줄러 (지역 스케줄러)는 파티션 스케줄러에 의해 주어진 시간 윈도우 동안 파티션 내의 프로세스를 실행시킵니다. 우리는 리눅스에 기반하여 세 가지 계층적 스케줄링 디자인을 구현하였고 철저히 비교하였습니다 [SPE2014]. 사용자 수준의 계층적 스케줄러는 서로 다른 운영체제 간의 이식이 가능합니다 [Access2019]. 다른 한편으로는, 커널 수준의 계층적 스케줄러는 사용자 수준의 디자인보다 오버헤드와 지터가 현저히 낮지만, 특정 운영체제에 대한 의존성이 높습니다 [SAC2012]. 또한, 가상화는 파티셔닝을 제공하기에 잠재력이 매우 높은 기술입니다. 가상화 기술은 에뮬레이트 된 하드웨어를 통해 운영체제 및 응용프로그램을 실행하는 여러 가상 시스템을 제공합니다. 즉, 각각의 가상 시스템은 파티션으로 대응할 수 있습니다. 따라서 우리 연구실에서는 가상화 기반의 파티셔닝 [DASC2011] 을 추가적으로 구현하였습니다.
실시간 파티션 간 통신
파티션 간 통신을 위해서는 네트워크 매체 또는 파티션의 위치에 투명한 추상화를 제공하는 것뿐만이 아니라 함께 동일한 노드에서 수행되는 파티션들이 네트워크 인터페이스를 효율적으로 공유하는 것이 중요합니다 [CPSNA2012]. 이를 위해서 우리 연구실은 다양한 파티셔닝 환경에 적합한 Controller Area Network (CAN)에 대한 디바이스 드라이버 수준의 네트워크 I/O 가상화를 제안하였습니다 [Sensors2019]. 이러한 경험을 바탕으로 네트워크 I/O 가상화를 RTEMS와 같은 실시간 운영체제에도 적용시키고 있습니다 [ESL2020].