• 검색 결과가 없습니다.

A Study on the Design Method of Combat System SW based on Real-time timer

N/A
N/A
Protected

Academic year: 2021

Share "A Study on the Design Method of Combat System SW based on Real-time timer"

Copied!
2
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

한국컴퓨터정보학회 하계학술대회 논문집 제25권 제2호 (2017. 7)

19

실시간 타이머를 적용한 전투체계 SW 설계 방안

박지윤O

O한화시스템 해양연구소 SW팀(해양) e-mail: [email protected]O

A Study on the Design Method of Combat System SW based on Real-time timer

Jiyoon ParkO

ONaval R&D Center Dept. of SW(Naval), Hanwha Systems Co.

요 약

전투체계 SW 설계 시 실시간성은 중요하게 고려되어야 할 요소이다. 예로 전투체계 SW 중 하나인 장치관리 모듈은 전투체계 를 구성하는 연동단 및 정보처리장치의 운용 상태를 감시하고 상태정보 메시지를 체계관리 모듈에 일정한 주기로 보고하기 위해 실시간성이 요구되어진다. 하지만 장치관리 모듈을 비롯한 전투체계 SW의 운용환경은 실시간성 제공이 어려운 윈도우 운영체 제를 사용하고 있다. 또한 전투체계 SW는 재사용성이 높아 멀티 프로세서 환경을 고려하지 않은 설계와 개발 중 추가된 여러 기능의 혼재로 실시간성 만족에 어려움이 있다. 이 문제를 해결하기 위해 본 논문에서는 전투체계 SW에 실시간성의 확보를 위 한 방안에 대해 연구하였다. 그 방법으로 ms단위의 이벤트 발생이 가능한 실시간 타이머와 CPU 할당을 이용한 쓰레드 스케줄 링 방안을 제안하였으며 장치관리 모듈에 적용하였다. 그리고 실험을 통해 성능을 입증하였다. 본 논문에서 제안한 방안은 별도 의 상용 솔루션이나 커널 수정이 불가능한 경우 응용 SW 수정으로 실시간성을 높일 수 있다는 장점을 가진다.

키워드: 전투체계SW(Combat System Software), 실시간 타이머(Real-time timer), 윈도우(Windows)

I. Introduction

전투체계 SW에서 실시간성을 제공받기 위하여 VxWorks와 같은 실시간 운영체제의 사용이나 커널 수정의 방법이 있다. 하지만 다양한 API의 제공 및 친숙한 개발환경으로 범용 운영체제를 선호하며 커널 수정의 경우 수 십개의 SW가 운용되는 환경에서 안정성 및 보안성의 문제로 이어질 수 있다. 이 문제를 해결하기 위해 본 논문에서는 전투체계 SW에 실시간성 확보를 위한 방안을 연구하였다. CPU Affinity를 이용한 쓰레드 스케줄링과 우선순위 할당으로 쓰레드의 동작에 실시간성을 높일 수 있게 한다[1].

본 논문의 구성은 다음과 같다. 2장에서는 논문의 주제가 되는 실시간성에 대하여 설명하며, 3장에서는 실시간 타이머의 설계와 적용에 대하여 기술한다. 4장에서는 구현한 실시간 타이머의 성능을 입증하여 5장에서 결론 및 향후연구과제로 논문을 마무리한다.

II. Preliminaries

1. Related works

1.1 실시간성

실시간성이란 어떠한 연산의 결과 값이 마감시한(deadline)이내에 도출되며 또한 그 동작이 주기적으로 이루어질 수 있는 것을 말한다.

일반적으로 실시간성은 무인 항공기체계, 무기체계, 의료기기와 같은 특수 목적분야에 요구된다. 실시간성이 제공되는 시스템을 실시간 시스템(Real-time System)이라고 하며 마감시한의 엄격성에 따라 경성 실시간 시스템(Hard Real-time System), 연성 실시간 시스템 (Soft Real-time System)으로 구분한다[2].

본 논문에서는 연성 실시간성을 제공하는 실시간 타이머를 설계하 였다.

III. The Proposed Scheme

1. 실시간 타이머의 구현

실시간 타이머는 ms단위의 주기 설정 및 정확한 타이머의 동작이 가능하여야 한다. 타이머 핸들러의 로드를 줄이고 타이머 동작의

(2)

한국컴퓨터정보학회 하계학술대회 논문집 제25권 제2호 (2017. 7)

20

손실을 최소화하기 위하여 타이머 핸들러는 이벤트만 발생시키고 이벤트에 대해 wait상태에 있던 쓰레드가 이벤트를 수신하여 동작하게 하였다. 과정은 아래 Figure 1과 같다.

Fig. 1. process of Timer event

2. 쓰레드 스케줄링

장치관리 모듈의 경우 상태정보 메시지 송신, HW/SW 상태 감시, 지시기모듈 통신, CPU 성능계산이 하나의 프로세스에 수행되는 구조를 가진다. 이 중 실시간성이 요구되는 부분은 상태정보 메시지 송신부분으로 해당 쓰레드가 우선적으로 처리되어야 한다. 이를 위해 특정 CPU에 쓰레드를 할당시키는 CPU Affinity를 사용하였다.

CPU Affinity는 Cache 성능의 최적화와 CPU 자원을 하나의 프로세 스에서 독립적으로 사용하게 함으로써 Low latency의 효과가 있다.

또한 쓰레드 별로 우선순위를 부여할 수 있어 실시간성이 요구되는 쓰레드에 높은 우선순위를 부여하여 먼저 실행되게 할 수 있다. 쓰레드 의 우선순위 할당은 SetThreadPriority()를 사용하였다.

기능 별로 쓰레드를 구분하고 각각 우선순위를 부여한다. 타이머가 동작하면 가장 높은 우선순위의 먼저 쓰레드가 수행이 되고 유휴시간 동안 낮은 우선순위의 쓰레드가 실행되도록 한다. 만약 낮은 우선순위 의 쓰레드가 실행 중 타이머 이벤트가 발생하였을 때 바로 높은 우선순위의 쓰레드가 동작할 수 있게 한다. 쓰레드 동작 과정은 아래 Figure2. 와 같다.

Fig. 2. Operation process of Thread

IV. Performance Analysis

장치관리에서 실시간 쓰레드 동작 시 시간 값을 저장하고 각 시간 차이를 계산하여 주기를 측정하였다. 10ms 주기의 타이머 이벤트를 1만 번, 10만 번 생성하였다. Table 1는 전체 결과 값에서 오차발생률을 계산한 것이다.

error range 0~0.99% 1~2% 3~10%

10,000 times 99.76 % 0.19 % 0.05 % 100,000 times 99.75 % 0.2% 0.057 % Table 1. Result Table

최대 10%의 오차가 발생하였으나 전체 결과 중 약 0.05%를 차지하 며 1~2%의 오차발생률이 약 0.2%에 해당한다. 두 실험 모두 비슷한 결과를 보여 실시간 쓰레드가 주기적으로 동작함을 확인 할 수 있다.

V. Conclusions

본 논문에서는 전투체계 SW인 장치관리 모듈에서 실시간성의 확보를 위해 실시간 타이머의 적용과 쓰레드 스케줄링 방안을 제안하 였다. 실험 및 결과를 통해 오차범위 내에서 정상동작 함을 확인하였다.

본 논문에서 제안한 방법은 윈도우 운영체제에서 커널 수정이 불가능 한 경우 실시간성을 높일 수 있는 방법으로 활용될 수 있으며 향후 연구과제로는 리눅스에서 운용되는 전투체계 SW에 적용 및 실험이 이루어져야 할 것이다.

REFERENCES

[1] CPU affinity, "http://msdn.microsoft.com"

[2] Hyo Kyeong Ban, "Operating System and Principle of information technology" Ewha Womans University Press, Jan 2008.

수치

Fig.  2.  Operation  process  of  Thread

참조

관련 문서

적분법을 사용하면 뛰어난 수치적 안정성 때문에 큰 적분 간격을 취할 수 있어서 계산속도가 빠르 고 강성계 , (stiff system) 에도 효과적으로 사용 가 능하며 단

삼각함수를 활용한 해수면 높이 예측을 위한 공식 을 조석예보 데이터와 실제 관측된 조위 데이터로 예 측해본 결과 조석예보 데이터의 경우 실제 간·만조와 차이가

이때, 십진체계나 확대된 십진체계는 유한개 의 항으로 이루어진다는 것에 유의해야 한다. 이것은 조건에 모순이다.. 그리고 자연수와 정수는 밑수 의 변화가

LCS설계는 PC에서 동작하는 윈도우 환경의 응용프로그램 형태와 임베디드 환경에서 리눅스를 통해 동작 하는 두 가지 형태로 설계가 진행하였다. 소량의

요 약 첨단 정보통신 기술의 발달에 따라 디지털 문화에 익숙한 Z세대는 미래 패션을 재편할 수 있는 패션 산업의 주요 소비층으로 관심이 집중되고 있다.

둘째, 물리적 장애는 사회의 정보화와 컴 퓨터 및 인터넷 사용에 대한 노인의 거부감은 주로 신체 의 노화로 인하여 경험하게 되는 기억 및 시력의 약화와

기존의 MES이 가지고 있는 한계와 문제점 을 극복하기 위한 방안으로 C/S 방식을 기반으로 하는 MES의 사용자 접근성 및 편리성, 실시간성을 고려하여 언제 어디서나

따라서 본 연구에서는 BIM 설계 프로세스의 각 분야별 업무 업무주체들의 협업과정에서 보다 많 은 정보를 공유할 수 있는 범용 도구인 Revit Architecture -