디지털 라이브러리[ 검색결과 ]
멀티 스레드 기반 ROS 2 응용을 위한 실시간 스케줄링 프레임워크
http://doi.org/10.5626/JOK.2025.52.1.1
물리 세계에서 동작하는 로봇 응용의 실시간 성능은 중요하다. 로봇 응용은 로봇 운영 체제(Robot Operating System) 2 위에서 수십 또는 수백 개의 태스크들로 구성되며, 센싱부터 제어까지의 종단간 지연 시간이 길어지면, 출력으로 생성되는 모션이 지연되어 물리적인 사고를 일으킬 수 있다. 본 논문은 프로세스 그래프를 대상으로 제안된 확률적 지연 시간 분석 방법을 스레드 그래프를 대상으로 적용하는 것을 가능하게 만드는 실시간 스케줄링 프레임워크를 제안한다. 제안하는 프레임워크는 전역적 스케줄 테이블을 참조하여 주기값이 같은 콜백 함수들을 하나의 그룹으로 묶고, 각 그룹마다 전담 스레드를 배정함으로써 스레드 그래프를 만들어낸다. 그리고 각 스레드를 테이블이 정하는 CPU 코어에 고정한 상태에서 FIFO로 스케줄한다. 본 논문은 제안하는 프레임워크를 Autoware 측위 파이프라인에 적용하여 이 프레임워크 아래서 확률적 지연 시간 분석이 가능함을 확인한다.
자율주행 컴퓨팅 시스템을 위한 확률적 응답시간 분석
http://doi.org/10.5626/JOK.2021.48.5.486
본 논문은 자율주행차를 위한 컴퓨팅 시스템의 센싱부터 제어까지의 종단간 응답시간을 확률적으로 분석하는 기법을 기술한다. 종단간 응답시간은 차량 응답성을 평가하는 지표로서, 차량 안전을 보장하는 다양한 지표들을 유도하는데 활용될 수 있다. 예를 들어, 장애물 센싱부터 차량 정지를 위한 제어까지의 종단간 응답 시간이 주어지면, 차량 안전을 위해서 요구되는 차량 속도의 상한을 정의할 수 있다. 또한, 제안하는 분석은 차량 응답성을 개선하기 위해서 컴퓨팅 자원을 얼마나 투입해야 하는지를 판단하기 위해서도 활용될 수 있다. 본 논문은 ERF(Earliest Release First) 스케줄링을 사용하고 태스크마다 CPU를 고정적으로 지정하여 실행한다는 가정 하에서 안전한 분석 방법을 제안하고, 오픈소스 자율주행 스택 오토웨어(Autoware)의 응답성 분석 결과를 제시한다.
멀티 코어 확장성을 제공하는 실시간 플래시 저장장치 시뮬레이션
http://doi.org/10.5626/JOK.2017.44.6.566
플래시 저장 장치가 저장 장치로서 널리 사용되면서 성능, 신뢰성, 견고성 등 여러 가지 측면에서 검증이 필요하여 시뮬레이션 방법론이 다양하게 연구되어 왔다. 그 결과 최근까지 플래시 저장장치 시뮬레이터는 기능적 모델링과 시간적 모델링 관점에서 많은 발전이 있었다. 그러나 이러한 발전에도 불구하고 플래시 저장장치의 노화 효과를 평가하기 위해서는 장시간의 테스트 시간을 대폭 단축할 수 있는 방법이 필요하다. 본 논문은 사용자 설정에 따라 시뮬레이션 속도를 자유롭게 조절할 수 있는, 소위 멀티 코어 확장성을 제공하는 실시간 시뮬레이션 방법을 제안한다. 제안하는 방법은 임의의 CPU 코어 개수가 주어져도 그에 맞는 확장 가능한 시뮬레이션 속도를 제공하며, 그 속도에 관계없이 항상 정확한 시뮬레이션 결과를 보장한다. 본 논문은 리눅스 커널 모듈 형태로 구현한 시뮬레이터를 이용하여 멀티코어 확장성과 모델의 정확성을 실험적으로 검증한다.
멀티큐 SSD를 위해 멀티코어 확장성을 제공하는 공정한 입출력 스케줄링
최근에 제안된 NVMe 기반의 멀티큐 SSD는 여러 개의 코어들이 전담 큐들을 통해 병렬적으로 입출력을 수행함으로써 높은 SSD 대역폭을 제공한다. 이러한 멀티큐 SSD에 대해서 입출력 응용마다 대역폭 지분을 제공하기 위해서는 각 코어에게 대역폭 지분을 제공하는 것이 요구되며, 이를 위한 공정지분 스케줄링이 필요하다. 본 논문은 멀티큐 SSD를 위해 멀티코어 확장성을 제공하는 공정 큐잉 알고리즘을 제안한다. 제안하는 알고리즘은 무작위 선택 기법을 이용하여 코어간 동기화 오버헤드를 최소화하고 각 코어가 가중치에 비례하는 대역폭을 수신하도록 한다. 실험 결과, 제안하는 알고리즘은 block-mq를 사용하는 커널에서 정확한 대역폭 분할 효과를 보여주며, 코어 개수에 상관 없이 기존 FlashFQ 스케줄러보다 우수한 성능을 보여준다.
SSD 입출력 요청 스트림들의 QoS 지원을 위한 플래시 연산 그룹 스케줄링
최근에 서버 시스템에서 SSD(Solid-State Drive)가 고성능 저장장치 및 캐시로서 많이 사용됨에 따라 다양한 서버 응용들의 입출력 요청 스트림들을 위해 SSD 수준에서 서비스 품질(Quality-of-Service)를 제공할 수 있는지에 대한 관심이 높아지고 있다. 현재까지 대부분의 SSD는 SATA 버스 상에서 AHCI 컨트롤러를 사용해왔기 때문에 각 입출력 스트림을 SSD 내부에서 구별하여 서비스할 수가 없었다. 그러나, 최근에 새로운 SSD 인터페이스로서 PCI Express 버스 상에서 NVME 컨트롤러가 제안됨에 따라 각 입출력 스트림을 SSD 내부에서 구별할 수 있게 되었고, 이에 따라 입출력 요청들을 스케줄링할 수 있게 되었다. 본 논문은 NVME 기반 플래시 저장 장치를 위한 플래시 연산 그룹 스케줄링(Flash Operation Group Scheduling)을 제안하고, 가중치에 따라 입출력 스트림별로 비례 지분 대역폭을 제공할 수 있음을 QEMU 기반 시뮬레이션을 통해 보인다.