Ⅰ. 서 론
반도체 및 신호처리 기술의 발달로 인하여 위상 배열 레이다(phased array radar)는 안테나 개별 소자의 송수신 모듈을 제어하는 것이 가능해졌다. 각 모듈에서는 빔 패턴을 빠르게 합성시킨 뒤 안테나 축을 기계적으로 회전할 필요 없이 사용자가 주사하고자 하는 방향으로 전자적으로 신속하게 빔을 주사한다[1].
빠른 조향 시간으로 인해 레이다 운용 시에도 다수의 표적에 대해 여러 임무를 수행하는 것이 가능해졌으며, 이로 인해 다기능 레이다(multi function radar: MFR)가 개발되었다. 다기능 레이다는 다수의 임무를 수행하지만, 레이다가 가용할 수 있는 자원인 시간, 전력, 연산 처리 능력 등은 한정되어 있으므로 하나의 레이다가 처리해야 하는 임무가 많아지면 모든 임무를 처리하는 것이 어려워지는 문제가 발생한다.
따라서 수행해야 할 임무를 효율적으로 처리하기 위해 레이다 자원관리(radar resource management: RRM)의 연구가 필수적이다. 레이다 자원관리를 통해 임무들에 대해 우선순위를 할당하고, 임무 변수 등을 고려하여 임무의 처리 순서를 결정한다. 특히, 임무 처리 순서를 결정하는 기법을 빔 스케줄링이라 명하며, 적응형, 비적응형 스케줄링의 알고리즘이 존재한다. 적응형 스케줄링은 임무 스케줄링이 전체 성능을 최적화시키는 방향으로 동적으로 결정된다. 비적응형 스케줄링은 사전에 정해진 규칙을 바탕으로 임무 스케줄링이 결정된다[2],[3].
스케줄링 시에는 스케줄링 성능을 판단할 비용함수(cost function)가 존재하는데, 기존의 스케줄링은 단일 비용함수에 대해서 최적화시키는 방향으로 연구가 진행되어왔다[4]. 하지만 비용함수가 두 개 이상 존재할 경우, 한 비용함수가 개선되면 다른 하나의 비용함수는 손해를 감수해야 하는 상충(trade-off)의 관계이다. 결과적으로 모든 비용함수의 최적화는 불가능하므로 두 개 이상의 비용함수가 수용할 수 있는 타협점을 찾아 스케줄링을 수행해야 한다[5].
본 논문에서는 스케줄링 시 최적화할 비용함수로 레이다 부하와 추적 품질을 사용한다. 이후, 두 개의 비용함수를 모두 만족하는 타협점을 찾는데 파레토 최적점(pareto optimal point)을 사용하는 새로운 적응형 스케줄링 기법에 대해서 제안한다. 따라서 임무를 임의로 생성하고 제안한 기법으로 비용함수를 최적화시킨 결과와 기존의 단일 비용함수를 최적화시킨 방법과 비교하여 제안한 기법의 효용성을 검증한다.
Ⅱ. 알고리즘 수행 과정
본 절에서는 이중 비용함수의 최적화를 통한 레이다 빔 스케줄링의 과정에 관해 설명한다. 첫 번째로 레이다가 수행할 임무를 생성한다. 다음으로 프레임 시간(frame time)을 고려하여 레이다가 수행할 수 있는 임무의 개수에 맞게 임무 선택 벡터를 설정한다. 설정된 임무 선택 벡터를 이용하여 벡터화된 임무들 사이에서 수행해야 할 임무를 선택한다. 최종적으로 이중 비용함수 최적화 과정을 통해 선택된 임무의 추적주기를 재설정한다.
임무 선택부터 추적주기 재설정까지의 과정을 여러 번 반복하여 스케줄링을 시행하고, 프레임 시간을 넘으면 빔 스케줄링을 종료한다(그림 1).
Ⅲ. 임무 벡터화(Vectorization) 및 임무 선택 벡터 설정
레이다가 처리하는 임무들은 각각 임무 중요도(weight), 시작시간(start time), 처리 시간(processing time), 추적 품질 변수(tracking quality parameter), 펄스 반복 주파수(pulse repetition frequency: PRF) 정보를 가지고 있다.
임무 중요도는 임무 우선순위 할당 등을 통해 얻어지는 값으로 임무의 중요도를 0과 1 사이의 숫자로 표현한다. 시작시간은 임무가 수행되어야 하는 시간으로 이 시간을 넘어서 수행되면 임무가 지연되었다고 판단한다. 처리시간은 임무를 처리하는데 걸리는 시간이고, 추적 품질 변수는 추적 품질에 대한 비용함수를 정의할 때 필요한 변수이다. PRF는 동일 표적에 대해 1초 동안 몇 번 빔을 방사하는지에 대한 척도로 추적주기와 관련된다.
레이다가 처리해야 할 임무를 선택하기 위해서 임의로 생성된 임무들을 평면 위에 벡터화하여 나타내었다(그림 2). 위의 평면에서 x축은 임무 중요도에 대한 축이며, y축은 임무 시작시간에 대한 축이다. 그림에서 빨간 점 위의 숫자는 임무 번호를 나타내며, 예를 들어 5번 임무의 경우에는 0.9의 중요도 값을 가지며, 시작시간은 2초가 된다. 다수의 임무 중에서 스케줄러가 처리해야 할 임무를 선택하기 위해서 임무 선택 벡터를 사용한다. 일반적으로 1차원 실수 공간 R에서는 두 개의 숫자에 대해 크기 비교가 가능하지만, n차원 실수 공간 Rn에서는 두 점에 대한 크기 비교가 어렵다. 따라서 R2 공간에서 벡터들의 크기를 비교하기 위해서 일반화된 쌍 부등식(dual generalized inequality)을 사용한다[6]. 일반화된 쌍 부등식이란 기준 벡터 λ와 R2 공간상의 벡터를 내적하여 나오는 스칼라값으로 벡터의 대소 비교를 하는 것으로 벡터 비교를 위해 실숫값을 사용하기 때문에 기존보다 비교가 쉬워진다.
본 논문에서는 이러한 특성을 이용하여 시나리오 상황에 적절한 λ를 적응적으로 선택하고, 처리할 임무를 결정 하였다. λ도 임무 벡터와 같이 평면상에 표현되는 λ=(w,ts) 형태의 벡터이다(그림 2). 임무 중요도를 중요시하는 상황에서는 λ는 x축에 가깝게 붙고, 임무의 시작시간을 중요시하는 상황에서는 y축에 가까운 벡터가 될 것이다. λ의 중요도 좌표값인 w와 시작시간 좌표값 ts를 결정하기 위해서 식 (1)의 Slacktask를 정의한다.
위의 식 (1)에서 Slacktask는 임무 여유 개수이고, P는 전체 임무 개수, tf는 프레임 시간, tp,m은 전체 임무 평균 처리시간이다. Slacktask가 음수를 가지면 이는 수행해야 할 임무의 개수가 프레임 시간 안에 다 처리할 수 있을 만큼 작업 여유가 존재한다는 의미로 임무의 시작시간에 더 큰 영향을 받도록 λ의 ts를 설정해야 함을 의미한다. 반대의 경우로 Slacktask가 양의 값을 가지면 수행해야 할 임무가 프레임 시간 안에 처리하기 촉박하다는 의미로 임무의 중요도에 중점을 두어 임무를 선택하도록 λ의 w를 설정해야 한다.
따라서 작업 여유로 판단되는 임무의 개수에 비례하도록 λ의 성분 값들이 결정되며, 작업 여유의 절댓값이 커질수록 성분 값도 선형적으로 증가한다(그림 3). 그림 3에서 x축은 임무 여유 개수를 나타내는 Slacktask를 표현한 축이고, y축은 벡터 λ에 들어갈 w 또는 ts의 좌표값이 된다.
결과적으로 임무의 개수와 작업 여유를 모두 고려하여 λ를 적응적으로 선택한 뒤, 벡터화된 임무들에 λ를 내적 시켜 가장 큰 값을 가지는 임무를 빔 스케줄링 시에 다음에 수행할 임무로 결정한다.
Ⅳ. 임무 비용함수 설정
다기능 레이다가 수행하는 임무들은 비용함수를 가지고 있으며, 스케줄링 스텝마다 임무들이 가지는 비용의 합으로 레이다의 성능을 표현할 것이다.
앞 절의 과정을 통해 임무가 선택된 뒤, 스케줄러에 의해 빔을 방사하고 나면 임무가 끝나는 것이 아니라, 해당 임무의 시작시간을 새로 갱신해야 한다. 이때, 정해진 상숫값으로 시작시간을 갱신하는 것이 아니라, 비용함수로 표현되는 레이다 성능을 최적화하는 방향으로 시작시간이 갱신되어야 한다. 임무가 수행되고 다시 임무가 시작되기까지 걸리는 시간을 추적주기(tracking period)라 정의한다면 추적주기에 대한 비용함수의 설정이 가능하다. 추적주기로 정의할 수 있는 비용함수는 두 가지로, 첫 번째는 레이다 부하(radar load)에 관련된 비용함수이다. 레이다 부하를 수식적으로 표현하기 위해 식 (2)와 같이 임무별 레이다 부하를 표현한다.
식 (2)에서 loadj는 j번째 임무가 가지는 레이다 부하를 의미하며, wj는 j번째 임무의 중요도, tf는 사용자가 설정한 스케줄링 프레임 시간이다. 이 프레임 시간 동안 스케줄링이 시행된다. N은 레이다 하드웨어에 관련된 성능 파라미터로 레이다가 초당 방사할 수 있는 빔 개수를 의미한다. P는 현재 임무의 개수, 분자에 들어가는 PRFj란 j번째 임무가 초당 몇 번의 빔을 방사해야 하는지에 대한 수치로 추적주기와 연관된다. 추적주기가 짧다면 PRF값은 커질 것이고, 추적주기가 길다면 반대로 PRF는 작아질 것이다. 식 (2)를 분석해 보면 j번째 임무의 PRF가 증가할수록 레이다 부하도 같이 증가함을 볼 수 있다. 레이다가 초당 방사할 수 있는 빔의 개수가 1,000개라고 할 때, 하나의 임무가 1,000 Hz의 PRF를 가지게 되면 해당 임무 의 레이다 부하 비용은 100의 값을 가지는 것을 확인할 수 있다. 이는 PRF가 증가할수록 레이다의 동작 부담이 늘어나는 가정과 일치한다(그림 4).
두 번째는 표적의 추적 품질(tracking quality)에 관한 비용함수이다. 추적 품질을 나타내기 위해 자원 분배 모델 기반의 서비스 품질(quality of service based resource allocation model: Q-RAM)을 사용하였다[7]. 이는 통신 분야에서 이용되는 서비스 품질(quality of service: QoS)의 개념을 도입하여 비용함수로 사용한 것으로 추적 임무에 적용 가능한 추적 품질 V를 정의한다. 추적 품질은 추적 시작시간과 PRF에 관한 식으로 설정한다(그림 5).
식 (3)에서 Vj는 j번째 임무의 추적 품질, mj는 달성 가능한 최소 성능(minimum achievable performance), αj와 βj는 표적 종속 파라미터, PRFj는 j번째 임무의 PRF, tsj는 해당 임무의 추적이 시작되는 시간이다. 각 임무가 가지는 시작시간과 실제로 빔이 방사될 시간과의 차이를 이용하여 추적 시작시간을 구한다. PRF가 높으면 추적 품질이 향상됨을 볼 수 있고, 추적 시작시간에 대해서는 빔을 빨리 방사할수록 추적 품질이 향상됨을 확인할 수 있다(그림 5). 이때, 추적 시작시간이 10 ms가 지나면 표적을 놓쳤다고 판단하여 PRF가 높아도 추적 품질이 현저히 낮아짐을 볼 수 있다. QoS 그래프에서 해당 추적 시작시간과 일치하는 부분을 떼어내서 PRF에 관한 추적 품질의 비용함수를 얻을 수 있다(그림 6).
스케줄링 성능을 나타내는 비용값은 임무들이 가지는 추적 품질 비용값의 합과 레이다 부하 비용값의 합으로 나타낼 수 있다. 추적 품질 값이 커지고 레이다 부하 값은 낮을수록 스케줄링 성능이 좋다고 판단할 수 있다.
Ⅴ. 파레토 최적점을 이용한 이중 비용함수 최적화
앞 절의 과정을 통해 PRF를 변수로 하는 비용함수를 설정하게 된다면 비용함수 간에 상충 관계가 나타난다. 만약, 추적주기가 길어 표적에 대한 빔 재방사 시간이 길어진다면 레이다 동작 부담은 덜게 되지만 표적이 추적 게이트(gate)를 벗어날 가능성이 커지고, 추적 품질이 나 빠진다. 반대로 추적주기가 짧아진다면 추적 품질은 좋게 할 수 있지만, 레이다 동작 부담이 늘어나 자원을 많이 쓰게 된다. 이처럼, 추적주기라는 같은 변수에 대해서도 레이다 동작 부하와 추적 품질은 상반되는 결과를 나타낸다. 스케줄러는 레이다 부하를 과하게 쓰지 않으면서 표적에 대한 추적 품질을 유지할 수 있어야 한다.
이를 해결하기 위해 본 논문에서 파레토 최적점을 찾아 최적화하는 방법을 제안한다. 파레토 최적이란 이용 가능한 자원의 질과 양, 사용자의 선호도가 주어져 있는 경우, 어느 자원의 가치를 하락시키지 않고서는 다른 자원의 질의 향상이 불가능한 상태를 의미한다[8]. 본 논문에서는 레이다 부하와 추적 품질 간에 상충 관계가 존재하며, 이는 파레토 최적의 상황과 유사함을 알 수 있다(그림 7). 따라서 이중 비용함수를 만족하는 값은 유일하지 않고 사용자가 어느 비용함수를 중요하게 판단하느냐에 따라 최적점은 여러 개가 존재할 수 있다(그림 8).
그림 8에서 x축으로는 레이다 부하에 대한 비용값이고, y축으로는 추적 품질에 대한 비용값이다. 그 위로 파레토 최적점 집합들이 검은색 점으로 나타내어져 있다. x축으로는 값이 낮아야 레이다 부하가 작아지고 y축으로는 값이 커야 추적 품질이 좋아진다. 따라서 x축의 최솟값과 y축의 최댓값을 좌표로 하는 왼쪽 위의 빨간색 별표를 유토피아 점(utopia point)이라고 하며, x축 최댓값과 y축 최솟값을 좌표로 하는 곳은 네이더 점(nadir point)이라고 한다. 유토피아 점을 선택하면 이중 비용함수가 최대로 좋아지지만, 사용자가 선택할 수 있는 후보는 파레토 최적점들이므로 파레토 최적점과 유토피아 점 사이의 거리를 계산하여 거리가 가장 짧은 파레토 최적점을 차선으로 선택한다. 선택된 파레토 최적점에 부합하는 PRF 값을 해당 임무의 추적주기로 갱신한다.
Ⅵ. 시뮬레이션 결과 및 분석
본 절에서는 표적이 많을 때와 적을 때를 구분한 상황에서 시뮬레이션을 시행하며, 그때마다 레이다의 자원이 효율적으로 관리되는지에 대해 비용함수 값으로 판단할 것이다. 이중 비용함수 최적화의 효용성을 분석하기 위해서 레이다 부하만 최적화시키는 스케줄링, 추적 품질만 최적화시키는 스케줄링에 대해 비용을 획득하고, 본 논문에서 제안하는 이중 비용함수 최적화 기법을 썼을 때, 앞서 단일 비용함수 최적화와의 차이에 관해 서술한다.
설정해야 할 임무 변수로는 임무 중요도, 임무 시작시간, 임무 처리시간, 임무 펄스 반복 주파수, 임무 추적 품질 변수가 존재한다(표 1).
Task weight | 0~1 |
---|---|
Task start time | 1~5 ms |
Task processing time | 1~20 ms |
Maximum PRF (PRFmax) | 1,000 Hz |
Minimum PRF (PRFmin) | 100 Hz |
Task PRF | 100~1,000 Hz |
QoS를 위한 파라미터인 추적 품질 변수를 결정하기 위 해서는 α, β를 식 (4) 및 식 (5)와 같이 정의하였다.
위의 식에서 γ는 0과 1 사이의 임의의 값, tsmax는 가장 지연되는 추적 시작시간으로 10 ms로 설정하였다.
임무 개수의 기준을 정하기 위해서 본 논문의 Ⅲ절에서 식 (1)을 이용한 임무 여유 개수를 사용한다. 이를 통해, 임무 개수가 많고 적음의 기준을 정할 수 있다. 프레임 시간을 1,000 ms로 고정한다면 임무 평균 처리시간은 10 ms로 대략 10개의 임무를 수행할 때 Slacktask=0이 된다. 따라서 임무의 개수가 10개가 넘는다면 레이다 부하보다 처리해야 할 임무의 개수가 많다고 판단하고, 본 논문의 기법에 따라 비용함수를 최적화할 것이다.
임무 개수가 작은 경우의 비용함수 값을 분석하기 위해서 8개의 임무를 설정한다. 이중 비용함수를 최적화시킨 경우에 대해 스케줄링 표는 그림 9와 같이 나타난다. 그림 9에서 x축은 시간을 의미하며 y축은 임무 번호를 의미한다. 그림 10과 11에서 파란 선과 빨간 선은 이중 비용함수를 최적화하였을 때의 레이다 부하 비용값과 추적 품질 비용값이며, 검은 실선은 레이다 부하만을 최적화시켰을 경우이고, 검은 점선은 추적 품질만은 최적화시켰을 때의 비용값을 나타낸다.
그림 9를 보면 레이다가 수행할 임무는 8개로, 앞서 설 정한 스케줄링 여유가 없는 임무 개수의 기준인 10개보다 작다. 이로 인해, Slacktask가 음수가 되어 λ가 임무 시작시간에 치우친 벡터가 된다. 따라서, 모든 임무가 차례대로 여러 번 수행되고 있음을 볼 수 있다.
만약, 레이다 부하만을 최적화시켜 수행되는 임무들의 추적주기를 최소 펄스 반복 주파수인 100 Hz로 적용한다면 레이다 동작 부담을 줄어 레이다 부하 비용값은 낮아지나 추적 품질이 현저히 떨어진다. 반대로 추적 품질만을 최적화시켜 임무 추적주기를 최대 펄스 반복 주파수인 1,000 Hz로 적용하면 표적 추적 품질은 향상되지만, 레이다 동작 부담이 늘어나 레이다 부하 비용값이 매우 증가한다(그림 10 및 그림 11). 이중 비용함수를 최적화하는 방향으로 스케줄링을 시행한다면 레이다 부하 값도 10 % 이하의 수준을 유지하면서 추적 품질 값 또한 88 %로 높은 것을 볼 수 있다. 이중 비용값들을 최적으로 유지하기 위해 스케줄링 스텝마다 임무들의 PRF가 적응적으로 변화하고 있음을 볼 수 있다(그림 12). 그림 12에서 파란색 선은 중요도가 높은 임무의 PRF 변화이고, 검은색 실선은 이외의 임무 PRF 변화를 나타낸다. 중요도가 높은 임무는 스케줄링이 진행됨에 따라 PRF가 낮아지긴 하지만, 이는 레이다 동작 부하를 만족시키기 위해서이며 적당한 PRF를 유지하면서 추적 품질은 향상된다.
수행해야 할 임무 개수가 많을 때 비용함수 값을 분석하기 위해서 30개의 임무를 설정하고 스케줄링한다(그림 13). 임무 설정 결과, 29번 임무가 높은 중요도를 갖고, 10번 임무가 낮은 중요도를 갖는다(그림 14). 이전 6-2에서는 시작시간에 맞춰 모든 임무가 차례대로 수행되었지만, 임무 개수가 많을 때는 임무 중요도에 따라 스케줄링 된다. 그 결과, 중요도가 높은 29번 임무는 프레임 시간 내에 여섯 번 수행되지만, 10번 임무는 두 번만 수행한다. 이를 통해, 임무 선택 벡터가 임무의 중요도에 가중치를 두어서 임무를 선택하고 있음을 알 수 있다.
비용함수 측면에서 보면 단일 비용함수만을 최적화했을 때와 달리 레이다 부하는 6 % 이하의 수준을 유지하면서 추적 품질은 91 %의 값을 가짐을 볼 수 있다. 결과적으로 이중 비용함수를 최적화하는 스케줄링을 통해서 단일 비용함수를 최적화하는 경우보다 비용함수의 손실을 최소화하면서 레이다 성능을 향상하는 것이 가능하다(그림 15 및 그림 16).
임무들의 PRF 변화도 살펴보면 임무 개수가 작은 경우와 마찬가지로 중요도가 높은 임무가 초기에 과도하게 높은 PRF를 가지는데 레이다 동작 부하의 감소를 위해 조정된 PRF 값을 가지는 것을 볼 수 있다. 이외의 임무들도 스케줄링이 진행되면서 적당한 PRF 가짐을 볼 수 있다(그림 17).
Ⅶ. 결 론
본 논문에서 표적의 개수에 따라 시뮬레이션을 수행하였다. 이중 비용함수 최적화를 위해 파레토 최적점들을 그린 뒤, 유토피아 점과 가장 가까운 최적점의 PRF로 임무 추적주기를 갱신하였다. 해당 과정을 거치면서 임무들의 PRF가 적응적으로 변화하고 있음을 볼 수 있었다. 이 중 비용함수 최적화를 통해서 상충 관계에 있는 비용함수들이 일정 수준을 유지함을 확인하였다. 이는 어느 비용함수는 무조건 손해를 보던 단일 비용함수 최적화와는 다른 경향을 나타내며, 레이다 하드웨어의 부담을 과하게 주지 않으면서 추적 품질을 유지하고 싶은 경우 효과적임을 알 수 있었다. 더 나아가 두 개 이상의 다중 비용함수가 존재해도 해당 논문의 기법을 적용한다면 보다 합리적인 자원관리가 가능할 것으로 생각된다.