KR20230076494A - Apparatus and method for reallocating real-time operation task of mobile radar with complex sensor - Google Patents

Apparatus and method for reallocating real-time operation task of mobile radar with complex sensor Download PDF

Info

Publication number
KR20230076494A
KR20230076494A KR1020210163487A KR20210163487A KR20230076494A KR 20230076494 A KR20230076494 A KR 20230076494A KR 1020210163487 A KR1020210163487 A KR 1020210163487A KR 20210163487 A KR20210163487 A KR 20210163487A KR 20230076494 A KR20230076494 A KR 20230076494A
Authority
KR
South Korea
Prior art keywords
cpu core
usage
monitoring
task
cpu
Prior art date
Application number
KR1020210163487A
Other languages
Korean (ko)
Other versions
KR102624334B1 (en
Inventor
권세훈
류한춘
주지한
Original Assignee
엘아이지넥스원 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘아이지넥스원 주식회사 filed Critical 엘아이지넥스원 주식회사
Priority to KR1020210163487A priority Critical patent/KR102624334B1/en
Publication of KR20230076494A publication Critical patent/KR20230076494A/en
Application granted granted Critical
Publication of KR102624334B1 publication Critical patent/KR102624334B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Abstract

본 발명의 다양한 실시 예에 따르면, 복합 센서 이동형 레이더의 실시간 연산 태스크 재할당 장치 및 방법을 적용함으로써 이동형 레이더의 CPU 코어별 실시간 사용량을 측정하고, 측정한 실시간 사용량을 기반으로 CPU 코어별 모니터링 주기를 가변하며 CPU 코어에 할당된 연산 태스크들을 알고리즘에 기반하여 재할당함으로써, 연산이 많고 복잡한 복합 센서 이동형 레이더 환경에서 갑작스런 연산 증가가 발생되더라도 실시간성을 유지할 수 있다.According to various embodiments of the present invention, real-time usage per CPU core of the mobile radar is measured by applying an apparatus and method for reassigning real-time calculation tasks of a complex sensor mobile radar, and a monitoring period for each CPU core is determined based on the measured real-time usage. By reassigning computational tasks that are variable and assigned to CPU cores based on an algorithm, real-time performance can be maintained even if a sudden increase in computation occurs in a complex multi-sensor mobile radar environment with many computations.

Figure P1020210163487
Figure P1020210163487

Description

복합 센서 이동형 레이더의 실시간 연산 태스크 재할당 장치 및 방법{APPARATUS AND METHOD FOR REALLOCATING REAL-TIME OPERATION TASK OF MOBILE RADAR WITH COMPLEX SENSOR}APPARATUS AND METHOD FOR REALLOCATING REAL-TIME OPERATION TASK OF MOBILE RADAR WITH COMPLEX SENSOR}

본 발명은 복합 센서 이동형 레이더의 실시간 연산 태스크 재할당 장치 및 방법에 관한 것으로서, 더욱 상세하게는 복합 센서를 포함하는 이동형 레이더의 CPU 코어에 대한 사용량을 측정하고 CPU 코어에 할당된 연산 태스크를 재할당하는, 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for reassigning real-time calculation tasks of a multi-sensor mobile radar, and more particularly, to measuring usage of a CPU core of a mobile radar including a complex sensor and reallocating the calculation task allocated to the CPU core. It relates to an apparatus and method for doing.

복합 센서를 포함하는 이동형 레이더는 특정 부분을 탐색하여 표적이나 표적 후보에 대한 정보를 획득하여 표적을 탐색하고, 표적을 정밀 추적하여 표적 거리, 표적 각도 등과 같은 표적 정보를 획득한다. 복합 센서 이동형 레이더는 표적 정보 획득을 위해 RF 센서와 광학 센서 등과 같이 서로 다른 특성의 센서를 두 개 이상 사용하여 연산을 수행한다.A mobile radar including a complex sensor searches for a target by acquiring information on a target or a target candidate by searching a specific part, and precisely tracks the target to obtain target information such as a target distance and a target angle. Complex sensor mobile radar uses two or more sensors with different characteristics, such as an RF sensor and an optical sensor, to obtain target information and perform calculations.

복합 센서를 통해 수신되는 표적의 원시 정보는 하드웨어에서 기본적인 신호 처리 등을 수행한 후에 소프트웨어에서 연산을 포함한 전체 신호 처리 과정을 통해 거리와 각도 등 의미 있는 정보로 획득된다. 하드웨어의 데이터 처리는 각각 독립된 하드웨어에서 수행이 가능하지만, 소프트웨어 연산의 경우 일반적으로 고정되어 사용하는 한정된 신호 처리 주기 내에서 각 센서 별 획득한 원시 정보의 개별 연산과 통합 연산 등을 수행해야 하므로 단일 센서에 비해 더 많은 연산을 수행한다. 한정된 시간(또는 신호 처리 주기) 내에서 연산을 효율적으로 사용하기 위해 소프트웨어 개발자는 먼저 사전에 이동형 레이더 운용에 필요한 연산을 태스크 단위로 구분한 후 각 태스크들의 CPU 코어 배치에 대한 설계를 수행한다. 일반적으로 사용하는 상용 OS의 스케줄링을 사용하여 개발자가 설정한 태스크 별 우선순위를 기반으로 태스크를 CPU 코어에 자동 할당하거나 필요한 경우 개발자가 강제로 CPU 코어에 할당하는 방법을 사용한다.The raw information of the target received through the complex sensor is obtained as meaningful information such as distance and angle through the entire signal processing process including calculation in software after performing basic signal processing in hardware. Hardware data processing can be performed in each independent hardware, but in the case of software calculation, individual calculation and integration calculation of the raw information acquired by each sensor must be performed within a limited signal processing cycle that is generally fixed and used, so a single sensor performs more operations than In order to efficiently use calculations within a limited time (or signal processing period), software developers first divide calculations necessary for mobile radar operation into task units in advance, and then design CPU core arrangements for each task. Using the scheduling of commonly used commercial OS, tasks are automatically allocated to CPU cores based on the priority set by the developer, or the developer forcibly allocates them to CPU cores if necessary.

복합 센서 이동형 레이더는 일반적인 단일 센서 이동형 레이더에 비해 센서 별 데이터 융합을 비롯한 표적 정보를 추출하기 위한 연산이 많으며, 특히 운용 중에 다중 표적 및 클러터 등 표적 조우 상황과 환경적 요인으로 인해 연산량이 매우 짧은 시간에 급증할 수 있다.Compared to general single-sensor mobile radars, multi-sensor mobile radar requires a lot of calculations to extract target information, including data fusion for each sensor. may increase over time.

이 경우, 특정 CPU 코어에 점유율이 증가하여 우선 순위가 낮은 연산 태스크의 실행이 늦어질 수 있으며, 이로 인해 특정 태스크가 신호 처리 주기 동안 처리 되지 못하거나, 개발 시 설계한 태스크 실행 순서가 바뀌는 등 사용자가 요구하는 기능을 원활히 수행하지 못하고 심한 경우 이동형 레이더 연산의 실시간성이 깨질 수 있다.In this case, the occupancy rate of a specific CPU core may increase and the execution of low-priority computational tasks may be delayed. As a result, certain tasks may not be processed during the signal processing cycle, or the execution order of tasks designed during development may change. It cannot smoothly perform the functions required by , and in severe cases, real-time performance of mobile radar calculation may be broken.

실시간성의 훼손을 방지하기 위하여 CPU 코어의 점유율을 실시간으로 모니터링하여 필요한 경우 연산 태스크의 재할당을 수행해야 하는데, 연산 태스크를 재할당하기 위한 알고리즘이 존재하지 않는다는 문제점이 있다.In order to prevent damage to real-time property, the occupancy of CPU cores must be monitored in real time and, if necessary, calculation tasks must be reallocated. However, there is a problem in that there is no algorithm for reallocating calculation tasks.

대한민국 등록특허공보 제10-2182295호(2020.11.18.)Republic of Korea Patent Registration No. 10-2182295 (2020.11.18.)

본 발명이 이루고자 하는 목적은, 복합 센서를 포함하는 이동형 레이더에 탑재되어, 이동형 레이더의 CPU 코어별 실시간 사용량을 측정하고, 측정한 실시간 사용량을 기반으로 CPU 코어별 모니터링 주기를 가변하며 CPU 코어에 할당된 연산 태스크들을 미리 결정된 알고리즘을 기반으로 재할당하는, 복합 센서 이동형 레이더의 실시간 연산 태스크 재할당 장치 및 방법을 제공하는 데 있다.An object to be achieved by the present invention is to be mounted on a mobile radar including a complex sensor, measure the real-time usage per CPU core of the mobile radar, vary the monitoring cycle for each CPU core based on the measured real-time usage, and allocate it to the CPU core. It is an object of the present invention to provide an apparatus and method for reassigning real-time computational tasks of a multi-sensor mobile radar, which reallocates calculated computational tasks based on a predetermined algorithm.

본 발명의 명시되지 않은 또 다른 목적들은 하기의 상세한 설명 및 그 효과로부터 용이하게 추론할 수 있는 범위 내에서 추가적으로 고려될 수 있다.Other non-specified objects of the present invention may be additionally considered within the scope that can be easily inferred from the following detailed description and effects thereof.

상술한 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 복합 센서를 포함하는 이동형 레이더에 탑재되는 실시간 연산 태스크 재할당 장치는, 상기 이동형 레이더의 CPU 코어 개수만큼 생성되어 상기 CPU 코어 각각에서 태스크 형식으로 실행되며, 모니터링 주기에 따라 상기 CPU 코어의 사용량을 모니터링하는 복수개의 사용량 감시부; 상기 사용량 감시부를 통해 획득한 상기 CPU 코어의 사용량을 상기 CPU 코어별로 분석하는 사용량 분석부; 상기 사용량 분석부를 통해 분석된 결과를 기반으로, 상기 CPU 코어에 대한 상기 모니터링 주기를 상기 CPU 코어별로 제어하는 감시 제어부; 상기 이동형 레이더의 CPU 코어 개수만큼 생성되며, 상기 CPU 코어에 할당되어 있는 연산 태스크의 태스크 정보를 획득하는 태스크 관리부; 및 상기 감시 제어부를 통해 제어되는 상기 모니터링 주기와 상기 태스크 정보를 기반으로, 상기 CPU 코어에 할당되어 있는 연산 태스크를 다시 할당하는 스케줄링부;를 포함한다.In order to achieve the above object, an apparatus for reassigning real-time calculation tasks mounted on a mobile radar including a complex sensor according to an embodiment of the present invention is generated as many as the number of CPU cores of the mobile radar, and the task format is generated in each of the CPU cores. a plurality of usage monitoring units that are executed and monitor usage of the CPU core according to a monitoring period; a usage analysis unit for analyzing the usage of the CPU cores acquired through the usage monitoring unit for each CPU core; Based on the result analyzed by the usage analyzer, a monitoring control unit for controlling the monitoring period for each CPU core for each CPU core; a task management unit that obtains task information of calculation tasks generated as many as the number of CPU cores of the mobile radar and allocated to the CPU cores; and a scheduling unit for reassigning an operation task allocated to the CPU core based on the monitoring period and the task information controlled through the monitoring control unit.

여기서, 상기 사용량 감시부는, 동작 초기에 상기 CPU 코어의 초당 최대 연산 횟수를 측정하고, 가장 낮은 우선순위로 설정되어, 상기 모니터링 주기에 따라 다른 태스크가 상기 CPU 코어를 점유하지 않는 시간에 상기 CPU 코어를 점유하여 유휴 상태에서의 초당 연산 횟수를 측정하는 것을 특징으로 한다.Here, the usage monitoring unit measures the maximum number of operations per second of the CPU core at the beginning of operation, is set to the lowest priority, and the CPU core at a time when other tasks do not occupy the CPU core according to the monitoring period. It occupies and measures the number of operations per second in an idle state.

여기서, 상기 사용량 감시부는, 동작 초기에 미리 설정된 시간 간격으로 미리 설정된 횟수 동안 반복적으로 초당 연산 횟수를 측정하고, 측정한 복수개의 초당 연산 횟수 중에서 가장 큰 값을 초당 최대 연산 횟수로 획득하고, 유휴 상태에 미리 설정된 시간 간격으로 미리 설정된 횟수 동안 반복적으로 초당 연산 횟수를 측정하고, 측정한 복수개의 초당 연산 횟수 중에서 가장 큰 값을 유휴 상태에서의 초당 연산 횟수로 획득하는 것을 특징으로 한다.Here, the usage monitoring unit repeatedly measures the number of operations per second for a preset number of times at a preset time interval at the beginning of the operation, obtains the largest value among the measured number of operations per second as the maximum number of operations per second, and enters an idle state. The number of operations per second is repeatedly measured for a preset number of times at a preset time interval, and the largest value among the measured number of operations per second is obtained as the number of operations per second in an idle state.

여기서, 상기 사용량 분석부는, 복수개의 상기 사용량 감시부로부터 제공받은 상기 초당 최대 연산 횟수와 상기 유휴 상태에서의 초당 연산 횟수를 기반으로, 상기 CPU 코어별로 상기 CPU 코어의 사용량을 분석하는 것을 특징으로 한다.Here, the usage analysis unit analyzes the usage of the CPU core for each CPU core based on the maximum number of operations per second provided from the plurality of usage monitoring units and the number of operations per second in the idle state. .

여기서, 상기 감시 제어부는, 상기 사용량 분석부로부터 제공받은 상기 CPU 코어별 상기 CPU 코어의 사용량을 기반으로 상기 CPU 코어 각각에 대한 상기 모니터링 주기를 업데이트하고, 상기 CPU 코어별로 업데이트된 상기 모니터링 주기를 복수개의 상기 사용량 감시부에 제공하는 것을 특징으로 한다.Here, the monitoring control unit updates the monitoring period for each CPU core based on the usage amount of the CPU core for each CPU core provided from the usage analysis unit, and sets the updated monitoring period for each CPU core to a plurality of times. It is characterized in that it is provided to the usage monitoring unit of the dog.

여기서, 상기 감시 제어부는, 상기 사용량 분석부로부터 제공받은 상기 CPU 코어의 사용량이 미리 설정된 CPU 코어 사용량 임계치보다 크면, CPU 코어 사용량 초과 횟수를 하나 증가시키고, CPU 코어 사용량 안정 횟수를 0으로 초기화하며, 상기 CPU 코어의 사용량, 상기 CPU 코어 사용량 임계치 및 상기 CPU 코어 사용량 초과 횟수를 기반으로 감소 계수를 획득하고, 상기 CPU 코어의 사용량이 상기 CPU 코어 사용량 임계치보다 작거나 같으면, 상기 CPU 코어 사용량 초과 횟수는 0으로 초기화하고, 상기 CPU 코어 사용량 안정 횟수를 하나 증가시키며, 상기 CPU 코어 사용량 안정 횟수가 미리 설정된 안정 임계치보다 크면, 상기 감소 계수를 기존의 감소 계수의 1/2로 변경하고, 상기 CPU 코어 사용량 안정 횟수가 상기 안정 임계치보다 작거나 같으면, 상기 감소 계수를 기존의 감소 계수로 유지하며, 상기 감소 계수가 1보다 작거나 같으면, 상기 모니터링 주기를 미리 설정된 초기 모니터링 주기로 업데이트하고, 상기 감소 계수가 1보다 크면, 상기 모니터링 주기를 이전 모니터링 주기에 1/상기 감소 계수를 곱하여 획득한 모니터링 주기로 업데이트하며, 업데이트되는 상기 모니터링 주기는, 미리 설정된 최소 모니터링 주기보다는 크거나 같고, 상기 초기 모니터링 주기보다는 작거나 같은 것을 특징으로 한다.Here, the monitoring control unit, if the usage of the CPU cores provided from the usage analysis unit is greater than a preset CPU core usage threshold, increases the number of times the CPU core usage exceeds by one, and initializes the number of stabilized CPU core usage to 0, A reduction coefficient is obtained based on the CPU core usage, the CPU core usage threshold, and the CPU core usage exceeding number, and if the CPU core usage is less than or equal to the CPU core usage threshold, the CPU core usage exceeding number is Initialize to 0, increase the CPU core usage stabilization count by one, and if the CPU core usage stabilization count is greater than a preset stabilization threshold, change the reduction coefficient to 1/2 of the existing reduction coefficient, and change the CPU core usage count to 1/2 of the existing reduction coefficient. If the stabilization number is less than or equal to the stability threshold, the decrement coefficient is maintained as the existing decrement coefficient; if the decrease coefficient is less than or equal to 1, the monitoring period is updated to a preset initial monitoring period, and the decrement factor is 1 greater than, the monitoring period is updated to a monitoring period obtained by multiplying the previous monitoring period by 1/the reduction factor, and the updated monitoring period is greater than or equal to the preset minimum monitoring period and less than or equal to the initial monitoring period. characterized by

여기서, 상기 스케줄링부는, 상기 감시 제어부를 통해 업데이트되는 상기 모니터링 주기가 상기 최소 모니터링 주기와 일치하면, 업데이트되는 상기 모니터링 주기에 대응되는 CPU 코어에 할당되어 있는 연산 태스크의 개수가 미리 설정한 기준보다 많은 경우 CPU 코어에 할당되어 있는 연산 태스크 중에서 우선순위를 고려하여 적어도 하나의 연산 태스크를 다른 CPU 코어에 다시 할당하고, 업데이트되는 상기 모니터링 주기에 대응되는 CPU 코어에 할당되어 있는 연산 태스크의 개수가 미리 설정한 기준보다 적은 경우 상기 모니터링 주기에 대응되는 CPU 코어에 상기 할당되어 있는 연산 태스크를 점유시키는 것을 특징으로 한다.Here, in the scheduling unit, when the monitoring period updated through the monitoring control unit coincides with the minimum monitoring period, the number of calculation tasks allocated to the CPU cores corresponding to the updated monitoring period is greater than a preset standard. In this case, among the calculation tasks allocated to the CPU core, at least one calculation task is reassigned to another CPU core in consideration of priority, and the number of calculation tasks allocated to the CPU core corresponding to the updated monitoring period is set in advance. When it is less than one criterion, the CPU core corresponding to the monitoring period is characterized in that the assigned calculation task is occupied.

여기서, 상기 스케줄링부는, 업데이트되는 상기 모니터링 주기에 대응되는 CPU 코어에 할당되어 있는 연산 태스크의 개수가 미리 설정한 기준보다 많은 경우, 상기 사용량 감시부를 통해 획득한 상기 CPU 코어의 사용량을 기반으로 하여 상기 CPU 코어의 사용량이 가장 적은 CPU 코어에 상기 우선순위가 가장 낮은 연산 태스크를 할당하는 것을 특징으로 한다.Here, the scheduling unit, when the number of calculation tasks allocated to the CPU core corresponding to the monitoring period to be updated is greater than a preset reference, based on the usage of the CPU core obtained through the usage monitoring unit The operation task having the lowest priority may be allocated to a CPU core having the lowest usage of the CPU core.

여기서, 상기 스케줄링부는, 상기 CPU 코어의 사용량이 가장 적은 CPU 코어가 복수개인 경우, 상기 복수개의 CPU 코어의 사용량이 가장 적은 CPU 코어 중에서 할당된 연산 태스크의 개수가 가장 적은 CPU 코어에 상기 우선순위가 가장 낮은 연산 태스크를 할당하는 것을 특징으로 한다.Here, the scheduling unit, when there are a plurality of CPU cores with the smallest usage of the CPU cores, assigns the priority to the CPU core with the smallest number of allocated calculation tasks among the CPU cores with the smallest usage of the plurality of CPU cores. It is characterized by assigning the lowest computational task.

상술한 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 복합 센서를 포함하는 이동형 레이더에 탑재되고, 상기 이동형 레이더의 CPU 코어 개수만큼 생성되어 상기 CPU 코어 각각에서 태스크 형식으로 실행되는 복수개의 사용량 감시부, 사용량 분석부, 감시 제어부, 상기 이동형 레이더의 CPU 코어 개수만큼 생성되는 태스크 관리부 및 스케줄링부를 포함하는 실시간 연산 태스크 재할당 장치에서 수행되는 실시간 연산 태스크 재할당 방법은, 상기 사용량 감시부가, 모니터링 주기에 따라 상기 CPU 코어의 사용량을 모니터링하는 단계; 상기 사용량 분석부가, 상기 사용량 감시부를 통해 획득한 상기 CPU 코어의 사용량을 상기 CPU 코어별로 분석하는 단계; 상기 감시 제어부가, 상기 사용량 분석부를 통해 분석된 결과를 기반으로, 상기 CPU 코어에 대한 상기 모니터링 주기를 상기 CPU 코어별로 제어하는 단계; 상기 태스크 관리부가, 상기 CPU 코어에 할당되어 있는 연산 태스크의 태스크 정보를 획득하는 단계; 및 상기 스케줄링부가, 상기 감시 제어부를 통해 제어되는 상기 모니터링 주기와 상기 태스크 관리부가 획득한 태스크 정보를 기반으로, 상기 CPU 코어에 할당되어 있는 연산 태스크를 다시 할당하는 단계;를 포함한다.In order to achieve the above object, it is mounted on a mobile radar including a composite sensor according to an embodiment of the present invention, and monitors a plurality of usage generated by the number of CPU cores of the mobile radar and executed in the form of a task in each of the CPU cores. A real-time calculation task reallocation method performed by a real-time calculation task reassignment device including a unit, a usage analysis unit, a monitoring control unit, a task management unit generated by the number of CPU cores of the mobile radar, and a scheduling unit, wherein the usage monitoring unit performs a monitoring period Monitoring the usage of the CPU core according to; analyzing, by the usage analysis unit, the usage amount of the CPU core obtained through the usage monitoring unit for each CPU core; Controlling, by the monitoring control unit, the monitoring period for each CPU core for each CPU core based on a result analyzed through the usage analysis unit; obtaining, by the task management unit, task information of an arithmetic task assigned to the CPU core; and re-assigning, by the scheduling unit, an operation task allocated to the CPU core based on the monitoring period controlled by the monitoring control unit and the task information obtained by the task management unit.

여기서, 상기 CPU 코어의 사용량을 모니터링하는 단계는, 상기 사용량 감시부가, 동작 초기에 상기 CPU 코어의 초당 최대 연산 횟수를 측정하고, 가장 낮은 우선순위로 설정되어, 상기 모니터링 주기에 따라 다른 태스크가 상기 CPU 코어를 점유하지 않는 시간에 상기 CPU 코어를 점유하여 유휴 상태에서의 초당 연산 횟수를 측정하는 것을 특징으로 한다.Here, in the step of monitoring the usage of the CPU core, the usage monitoring unit measures the maximum number of operations per second of the CPU core at the beginning of operation, sets it to the lowest priority, and other tasks are performed according to the monitoring period. It is characterized in that the number of operations per second is measured in an idle state by occupying the CPU core during a time when the CPU core is not occupied.

여기서, 상기 모니터링 주기를 상기 CPU 코어별로 제어하는 단계는, 상기 감시 제어부가, 상기 사용량 분석부로부터 제공받은 상기 CPU 코어별 상기 CPU 코어의 사용량을 기반으로 상기 CPU 코어 각각에 대한 상기 모니터링 주기를 업데이트하고, 상기 CPU 코어별로 업데이트된 상기 모니터링 주기를 복수개의 상기 사용량 감시부에 제공하는 것을 특징으로 한다.Here, in the step of controlling the monitoring period for each CPU core, the monitoring control unit updates the monitoring period for each CPU core based on the usage amount of the CPU core for each CPU core provided from the usage analysis unit. and providing the monitoring period updated for each CPU core to a plurality of usage monitors.

상술한 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 컴퓨터 프로그램은 컴퓨터로 읽을 수 있는 기록 매체에 저장되어 상기한 복합 센서 이동형 레이더의 실시간 연산 태스크 재할당 방법 중 어느 하나를 컴퓨터에서 실행시킨다.A computer program according to an embodiment of the present invention for achieving the above object is stored in a computer-readable recording medium and executes any one of the real-time calculation task reassignment methods of the multi-sensor mobile radar on a computer.

이상에서 설명한 바와 같이 본 발명의 일 실시 예에 따르면, 복합 센서 이동형 레이더의 실시간 연산 태스크 재할당 장치 및 방법을 적용함으로써 복합 센서를 포함하는 이동형 레이더에 탑재되어, 이동형 레이더의 CPU 코어별 실시간 사용량을 측정하고, 측정한 실시간 사용량을 기반으로 CPU 코어별 모니터링 주기를 가변하며 CPU 코어에 할당된 연산 태스크들을 미리 결정된 알고리즘을 기반으로 재할당할 수 있다.As described above, according to an embodiment of the present invention, by applying the real-time operation task reassignment apparatus and method of the multi-sensor mobile radar, it is mounted on the mobile radar including the multi-sensor, and real-time usage per CPU core of the mobile radar is reduced. It is possible to measure, change the monitoring cycle for each CPU core based on the measured real-time usage, and reallocate calculation tasks assigned to the CPU core based on a predetermined algorithm.

여기에서 명시적으로 언급되지 않은 효과라 하더라도, 본 발명의 기술적 특징에 의해 기대되는 이하의 명세서에서 기재된 효과 및 그 잠정적인 효과는 본 발명의 명세서에 기재된 것과 같이 취급된다.Even if the effects are not explicitly mentioned here, the effects described in the following specification expected by the technical features of the present invention and their provisional effects are treated as described in the specification of the present invention.

도 1은 본 발명의 일 실시 예에 따른 복합 센서 이동형 레이더의 실시간 연산 태스크 재할당 장치를 설명하기 위한 블록도이다.
도 2는 도 1에 도시한 실시간 연산 태스크 재할당 장치의 동작 과정을 설명하기 위한 도면이다.
도 3은 도 1에 도시한 사용량 감시부의 동작 과정을 설명하기 위한 도면으로, 도 3의 (a)는 사용량 감시부가 실행되는 CPU 코어의 일례를 나타내고, 도 3의 (b)는 사용량 감시부의 모니터링 동작을 설명하기 위한 도면이다.
도 4는 도 1에 도시한 태스크 관리부의 동작 과정을 설명하기 위한 도면으로, 도 4의 (a)는 태스크 관리부가 실행되는 CPU 코어의 일례를 나타내고, 도 4의 (b)는 태스크 관리부의 태스크 정보 획득 동작을 설명하기 위한 도면이다.
도 5의 (a)는 태스크 관리부가 실행되는 CPU 코어의 일례를 나타내고, 도 5의 (b)는 데이터베이스에 저장된 태스크 정보를 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시 예에 따른 복합 센서 이동형 레이더의 실시간 연산 태스크 재할당 방법을 설명하기 위한 흐름도이다.
도 7는 도 6에 도시한 모니터링 단계의 세부 단계를 설명하기 위한 흐름도이다.
도 8은 도 6에 도시한 사용량 분석 단계의 세부 단계를 설명하기 위한 흐름도이다.
도 9는 도 6에 도시한 모니터링 주기 제어 단계의 세부 단계를 설명하기 위한 흐름도이다.
도 10은 도 6에 도시한 연산 태스크 재할당 단계의 세부 단계를 설명하기 위한 흐름도이다.
1 is a block diagram illustrating an apparatus for reassigning real-time calculation tasks of a multi-sensor mobile radar according to an embodiment of the present invention.
FIG. 2 is a diagram for explaining an operation process of the real-time calculation task reassignment apparatus shown in FIG. 1 .
FIG. 3 is a diagram for explaining the operation process of the usage monitoring unit shown in FIG. 1. FIG. 3 (a) shows an example of a CPU core in which the usage monitoring unit is executed, and FIG. 3 (b) is monitoring the usage monitoring unit. It is a drawing for explaining the operation.
4 is a diagram for explaining the operation process of the task management unit shown in FIG. 1. FIG. 4(a) shows an example of a CPU core executed by the task management unit, and FIG. 4(b) shows tasks of the task management unit. It is a diagram for explaining an information acquisition operation.
5(a) shows an example of a CPU core in which a task management unit is executed, and FIG. 5(b) is a diagram for explaining task information stored in a database.
6 is a flowchart illustrating a real-time operation task reallocation method of a multi-sensor mobile radar according to an embodiment of the present invention.
FIG. 7 is a flowchart for explaining detailed steps of the monitoring step shown in FIG. 6 .
FIG. 8 is a flowchart for explaining detailed steps of the usage analysis step shown in FIG. 6 .
FIG. 9 is a flowchart for explaining detailed steps of the monitoring period control step shown in FIG. 6 .
FIG. 10 is a flowchart for explaining detailed steps of the calculation task reassignment step shown in FIG. 6 .

이하, 첨부된 도면을 참조하여 본 발명의 실시 예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다. 다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함 하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 제2, 제1 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소 들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. Advantages and features of the present invention, and methods for achieving them, will become clear with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below and may be implemented in various different forms, only the present embodiments make the disclosure of the present invention complete, and the common knowledge in the art to which the present invention belongs It is provided to fully inform the holder of the scope of the invention, and the present invention is only defined by the scope of the claims. Like reference numbers designate like elements throughout the specification. Unless otherwise defined, all terms (including technical and scientific terms) used in this specification may be used in a meaning commonly understood by those of ordinary skill in the art to which the present invention belongs. In addition, terms defined in commonly used dictionaries are not interpreted ideally or excessively unless explicitly specifically defined. Terms used in this application are only used to describe specific embodiments, and are not intended to limit the present invention, and singular expressions include plural expressions unless the context clearly dictates otherwise. In this application, terms such as "include" or "have" are intended to designate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, but one or more other features It should be understood that the presence or addition of numbers, steps, operations, components, parts, or combinations thereof is not precluded. Terms including ordinal numbers such as second and first may be used to describe various components, but the components are not limited by the terms. These terms are only used for the purpose of distinguishing one component from another. For example, a second element may be termed a first element, and similarly, a first element may be termed a second element, without departing from the scope of the present invention. The terms and/or include any combination of a plurality of related recited items or any of a plurality of related recited items.

본 명세서에서 각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.In this specification, identification codes (eg, a, b, c, etc.) for each step are used for convenience of explanation, and identification codes do not describe the order of each step, and each step is clearly Unless a specific order is specified, it may occur in a different order from the specified order. That is, each step may occur in the same order as specified, may be performed substantially simultaneously, or may be performed in the reverse order.

본 명세서에서, "가진다", "가질 수 있다", "포함한다" 또는 "포함할 수 있다"등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.In this specification, expressions such as "has", "may have", "includes" or "may include" indicate the existence of a corresponding feature (eg, numerical value, function, operation, or component such as a part). indicated, and does not preclude the presence of additional features.

또한, 본 명세서에 기재된 '~부'라는 용어는 소프트웨어 또는 FPGA(field-programmable gate array) 또는 ASIC과 같은 하드웨어 구성요소를 의미할 수 있으며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터 구조들 및 변수들을 포함할 수 있다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다.In addition, the term '~unit' described in this specification may mean software or a hardware component such as a field-programmable gate array (FPGA) or ASIC, and '~unit' performs certain roles. However, '~ part' is not limited to software or hardware. '~bu' may be configured to be in an addressable storage medium and may be configured to reproduce one or more processors. Therefore, as an example, '~unit' refers to components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, and procedures. , subroutines, segments of program code, drivers, firmware, microcode, circuitry, data structures and variables. Functions provided within components and '~units' may be combined into smaller numbers of components and '~units' or further separated into additional components and '~units'.

이하에서 첨부한 도면을 참조하여 본 발명에 따른 복합 센서 이동형 레이더의 실시간 연산 태스크 재할당 장치 및 방법의 다양한 실시 예에 대해 상세하게 설명한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, various embodiments of an apparatus and method for reassigning real-time calculation tasks of a multi-sensor mobile radar according to the present invention will be described in detail with reference to the accompanying drawings.

먼저, 도 1 내지 도 5를 참조하여 본 발명의 일 실시 예에 따른 복합 센서 이동형 레이더의 실시간 연산 태스크 재할당 장치에 대하여 설명한다.First, with reference to FIGS. 1 to 5 , an apparatus for reassigning real-time calculation tasks of a multi-sensor mobile radar according to an embodiment of the present invention will be described.

도 1은 본 발명의 일 실시 예에 따른 복합 센서 이동형 레이더의 실시간 연산 태스크 재할당 장치를 설명하기 위한 블록도이다.1 is a block diagram illustrating an apparatus for reassigning real-time calculation tasks of a multi-sensor mobile radar according to an embodiment of the present invention.

도 2는 도 1에 도시한 실시간 연산 태스크 재할당 장치의 동작 과정을 설명하기 위한 도면이다.FIG. 2 is a diagram for explaining an operation process of the real-time calculation task reassignment apparatus shown in FIG. 1 .

도 3은 도 1에 도시한 사용량 감시부의 동작 과정을 설명하기 위한 도면으로, 도 3의 (a)는 사용량 감시부가 실행되는 CPU 코어의 일례를 나타내고, 도 3의 (b)는 사용량 감시부의 모니터링 동작을 설명하기 위한 도면이다.FIG. 3 is a diagram for explaining the operation process of the usage monitoring unit shown in FIG. 1. FIG. 3 (a) shows an example of a CPU core in which the usage monitoring unit is executed, and FIG. 3 (b) is monitoring the usage monitoring unit. It is a drawing for explaining the operation.

도 4는 도 1에 도시한 태스크 관리부의 동작 과정을 설명하기 위한 도면으로, 도 4의 (a)는 태스크 관리부가 실행되는 CPU 코어의 일례를 나타내고, 도 4의 (b)는 태스크 관리부의 태스크 정보 획득 동작을 설명하기 위한 도면이다.4 is a diagram for explaining the operation process of the task management unit shown in FIG. 1. FIG. 4(a) shows an example of a CPU core executed by the task management unit, and FIG. 4(b) shows tasks of the task management unit. It is a diagram for explaining an information acquisition operation.

도 5의 (a)는 태스크 관리부가 실행되는 CPU 코어의 일례를 나타내고, 도 5의 (b)는 데이터베이스에 저장된 태스크 정보를 설명하기 위한 도면이다.5(a) shows an example of a CPU core in which a task management unit is executed, and FIG. 5(b) is a diagram for explaining task information stored in a database.

도 1을 참조하면, 본 발명의 일 실시 예에 따른 복합 센서 이동형 레이더의 실시간 연산 태스크 재할당 장치(이하 '실시간 연산 태스크 재할당 장치'라 한다)(100)는 복합 센서를 포함하는 이동형 레이더(미도시)에 탑재되어, 이동형 레이더의 CPU 코어별 실시간 사용량을 측정하고, 측정한 실시간 사용량을 기반으로 CPU 코어별 모니터링 주기를 가변하며 CPU 코어에 할당된 연산 태스크들을 재할당할 수 있다.Referring to FIG. 1 , a real-time calculation task reallocation device (hereinafter referred to as a 'real-time calculation task reallocation device') 100 of a complex sensor mobile radar according to an embodiment of the present invention is a mobile radar including a complex sensor ( (not shown), real-time usage of each CPU core of the mobile radar can be measured, based on the measured real-time usage, the monitoring cycle for each CPU core can be changed, and calculation tasks assigned to the CPU core can be reallocated.

이를 위해, 실시간 연산 태스크 재할당 장치(100)는 복수개의 사용량 감시부(110), 사용량 분석부(130), 감시 제어부(150), 복수개의 태스크 관리부(160) 및 스케줄링부(170)를 포함할 수 있다.To this end, the real-time operation task reallocation device 100 includes a plurality of usage monitoring units 110, a usage analysis unit 130, a monitoring control unit 150, a plurality of task management units 160, and a scheduling unit 170. can do.

사용량 감시부(110)는 이동형 레이더의 CPU 코어 개수만큼 생성되어 CPU 코어 각각에서 태스크 형식으로 실행되며, 모니터링 주기에 따라 CPU 코어의 사용량을 모니터링할 수 있다.The usage monitoring unit 110 is generated as many as the number of CPU cores of the mobile radar, executed in the form of a task in each CPU core, and can monitor usage of the CPU cores according to a monitoring period.

즉, 사용량 감시부(110)는 동작 초기(즉, 이동형 레이더의 운용 초기)에 CPU 코어의 초당 최대 연산 횟수(Cntmax)를 측정할 수 있다.That is, the usage monitoring unit 110 may measure the maximum number of operations per second (Cnt max ) of the CPU core at the beginning of operation (ie, the beginning of operation of the mobile radar).

이때, 사용량 감시부(110)는 동작 초기에 미리 설정된 시간(예컨대, 1초 등) 간격으로 미리 설정된 횟수(예컨대, 2회 등) 동안 반복적으로 초당 연산 횟수를 측정하고, 측정한 복수개의 초당 연산 횟수 중에서 가장 큰 값을 초당 최대 연산 횟수(Cntmax)로 획득할 수 있다. 예컨대, 사용량 감시부(110)는 아래의 [표 1]과 같은 알고리즘을 사용하여 동작 초기의 초당 최대 연산 횟수(Cntmax)를 측정할 수 있다.At this time, the usage monitoring unit 110 repeatedly measures the number of operations per second for a preset number of times (eg, twice) at intervals of a predetermined time (eg, 1 second, etc.) at the beginning of the operation, and measures the measured plurality of operations per second. The largest value among the number of times may be obtained as the maximum number of operations per second (Cnt max ). For example, the usage monitoring unit 110 may measure the maximum number of operations per second (Cnt max ) at the beginning of operation using an algorithm as shown in [Table 1] below.

초당 최대 연산 횟수 측정 알고리즘Algorithm for measuring the maximum number of operations per second getCPU();
WHILE (run_time <= 1s)
Idle_Count++;
END WHILE
ReleaseCPU();
IF (Idle_Count > Max_Count)
Max_Count = Idle_Count;
END IF
getCPU();
WHILE (run_time <= 1s)
Idle_Count++;
END WHILE
ReleaseCPU();
IF (Idle_Count > Max_Count)
Max_Count = Idle_Count;
END IF

그리고, 사용량 감시부(110)는 가장 낮은 우선순위로 설정되어, 모니터링 주기에 따라 다른 태스크가 CPU 코어를 점유하지 않는 시간에 CPU 코어를 점유하여 모니터링 주기(Pmonitor)에 따라 유휴 상태에서의 초당 연산 횟수(Cntidle)를 측정할 수 있다. 예컨대, 도 3의 (a)에 도시된 바와 같이 CPU 코어 #1에서 실행되는 사용량 감시부(110)는 도 3의 (b)에 도시된 바와 같이 CPU 코어 #1의 유휴 상태(IDLE)에서 CPU 코어 #1을 점유하여 유휴 상태(IDLE)에서의 초당 연산 횟수(Cntidle)를 측정할 수 있다.이때, 사용량 감시부(110)는 유휴 상태에 미리 설정된 시간(예컨대, 1초 등) 간격으로 미리 설정된 횟수(예컨대, 2회 등) 동안 반복적으로 초당 연산 횟수를 측정하고, 측정한 복수개의 초당 연산 횟수 중에서 가장 큰 값을 유휴 상태에서의 초당 연산 횟수(Cntidle)로 획득할 수 있다. 예컨대, 사용량 감시부(110)는 위의 [표 1]과 같은 알고리즘을 사용하여 유휴 상태에서의 초당 연산 횟수(Cntidle)를 측정할 수 있다.In addition, the usage monitoring unit 110 is set to the lowest priority, and occupies the CPU core at a time when other tasks do not occupy the CPU core according to the monitoring period, and per second in the idle state according to the monitoring period (P monitor ). The number of operations (Cnt idle ) can be measured. For example, as shown in (a) of FIG. 3, the usage monitoring unit 110 executed in CPU core #1 is in an idle state (IDLE) of CPU core #1 as shown in (b) of FIG. 3. The number of operations per second (Cnt idle ) in the idle state (IDLE) can be measured by occupying core #1. At this time, the usage monitoring unit 110 monitors the idle state at intervals of a preset time (eg, 1 second, etc.). The number of operations per second may be repeatedly measured for a preset number of times (eg, twice), and the largest value among the measured number of operations per second may be obtained as the number of operations per second in an idle state (Cnt idle ). For example, the usage monitoring unit 110 may measure the number of operations per second (Cnt idle ) in an idle state by using the algorithm shown in [Table 1] above.

사용량 분석부(130)는 사용량 감시부(110)를 통해 획득한 CPU 코어의 사용량을 CPU 코어별로 분석할 수 있다.The usage analyzer 130 may analyze the usage of CPU cores acquired through the usage monitoring unit 110 for each CPU core.

즉, 사용량 분석부(130)는 복수개의 사용량 감시부(110)로부터 제공받은 CPU 코어의 초당 최대 연산 횟수(Cntmax)와 CPU 코어의 유휴 상태에서의 초당 연산 횟수(Cntidle)를 기반으로, CPU 코어별로 CPU 코어의 사용량(CPUrate)을 분석할 수 있다.That is, the usage analysis unit 130 is based on the maximum number of operations per second (Cnt max ) of the CPU core and the number of operations per second in the idle state (Cnt idle ) of the CPU core provided by the plurality of usage monitoring units 110, You can analyze CPU core usage (CPU rate ) for each CPU core.

예컨대, 사용량 분석부(130)는 아래의 [수학식 1]을 통해 CPU 코어별로 CPU 코어의 사용량(CPUrate)을 측정할 수 있다.For example, the usage analysis unit 130 may measure the usage (CPU rate ) of each CPU core for each CPU core through [Equation 1] below.

Figure pat00001
Figure pat00001

감시 제어부(150)는 사용량 분석부(130)를 통해 분석된 결과를 기반으로, CPU 코어에 대한 모니터링 주기를 CPU 코어별로 제어할 수 있다.The monitoring control unit 150 may control the monitoring period for each CPU core for each CPU core based on the result analyzed by the usage analysis unit 130 .

즉, 감시 제어부(150)는 사용량 분석부(130)로부터 제공받은 CPU 코어별 CPU 코어의 사용량(CPUrate)을 기반으로 CPU 코어 각각에 대한 모니터링 주기(Pmonitor)를 업데이트할 수 있다.That is, the monitoring control unit 150 may update the monitoring period (P monitor ) for each CPU core based on the usage (CPU rate ) of each CPU core provided from the usage analysis unit 130 .

이때, 사용량 분석부(130)로부터 제공받은 CPU 코어의 사용량(CPUrate)이 미리 설정된 CPU 코어 사용량 임계치(CPUT)보다 크면, 감시 제어부(150)는 CPU 코어 사용량 초과 횟수(CntExceed)를 하나 증가시키고, CPU 코어 사용량 안정 횟수(CntStable)를 0으로 초기화할 수 있다. 그리고, 감시 제어부(150)는 CPU 코어의 사용량(CPUrate), CPU 코어 사용량 임계치(CPUT) 및 CPU 코어 사용량 초과 횟수(CntExceed)를 기반으로 감소 계수(Coffreduce)를 획득할 수 있다. 예컨대, 감시 제어부(150)는 아래의 [수학식 2]를 통해 감소 계수(Coffreduce)를 측정할 수 있다.At this time, if the CPU core usage (CPU rate ) provided from the usage analysis unit 130 is greater than the preset CPU core usage threshold (CPU T ), the monitoring control unit 150 counts the CPU core usage exceeding count (Cnt Exceed ) by one. It can be increased, and the CPU core usage stabilization count (Cnt Stable ) can be initialized to 0. In addition, the monitoring control unit 150 may obtain a reduction coefficient (Coff reduce ) based on the CPU core usage (CPU rate ), the CPU core usage threshold (CPU T ), and the number of times the CPU core usage is exceeded (Cnt Exceed ). For example, the monitoring control unit 150 may measure the reduction coefficient (Coff reduce ) through [Equation 2] below.

Figure pat00002
Figure pat00002

이에 반면, CPU 코어의 사용량(CPUrate)이 CPU 코어 사용량 임계치(CPUT)보다 작거나 같으면, 감시 제어부(150)는 CPU 코어 사용량 초과 횟수(CntExceed)는 0으로 초기화하고, CPU 코어 사용량 안정 횟수(CntStable)를 하나 증가시킬 수 있다. 그리고, CPU 코어 사용량 안정 횟수(CntStable)가 미리 설정된 안정 임계치(CntStable,T)보다 크면, 감시 제어부(150)는 감소 계수(Coffreduce)를 기존의 감소 계수(Coffreduce)의 1/2로 변경할 수 있다. 반면, CPU 코어 사용량 안정 횟수(CntStable)가 안정 임계치(CntStable,T)보다 작거나 같으면, 감시 제어부(150)는 감소 계수(Coffreduce)를 기존의 감소 계수(Coffreduce)로 유지할 수 있다.On the other hand, if the CPU core usage (CPU rate ) is less than or equal to the CPU core usage threshold (CPU T ), the monitoring control unit 150 initializes the CPU core usage exceeding count (Cnt Exceed ) to 0 and stabilizes the CPU core usage. The count (Cnt Stable ) can be increased by one. And, if the CPU core usage stabilization count (Cnt Stable ) is greater than the preset stability threshold (Cnt Stable,T ), the monitoring control unit 150 reduces the reduction coefficient (Coff reduce ) to 1/2 of the existing reduction coefficient (Coff reduce ). can be changed to On the other hand, if the CPU core usage stabilization count (Cnt Stable ) is less than or equal to the stability threshold (Cnt Stable,T ), the monitoring control unit 150 may maintain the reduction coefficient (Coff reduce ) as the existing reduction coefficient (Coff reduce ). .

그런 다음, 감시 제어부(150)는 감소 계수(Coffreduce)가 1보다 작거나 같으면, 모니터링 주기(Pi monitor)를 미리 설정된 초기 모니터링 주기(Pinit monitor)로 업데이트할 수 있다. 반면, 감소 계수(Coffreduce)가 1보다 크면, 감시 제어부(150)는 모니터링 주기(Pi monitor)를 이전 모니터링 주기(Pi-1 monitor)에 1/감소 계수(Coffreduce)를 곱하여 획득한 모니터링 주기로 업데이트할 수 있다.Then, when the reduction coefficient (Coff reduce ) is less than or equal to 1, the monitoring controller 150 may update the monitoring period (P i monitor ) to a preset initial monitoring period (P init monitor ). On the other hand, if the reduction coefficient (Coff reduce ) is greater than 1, the monitoring control unit 150 obtains the monitoring period (P i monitor ) by multiplying the previous monitoring period (P i-1 monitor ) by 1/the reduction coefficient (Coff reduce ). It can be updated at monitoring intervals.

여기서, 업데이트되는 모니터링 주기(Pi monitor)는 미리 설정된 최소 모니터링 주기(Pmin monitor)보다는 크거나 같고, 초기 모니터링 주기(Pinit monitor)보다는 작거나 같을 수 있다.Here, the updated monitoring period (P i monitor ) may be greater than or equal to the preset minimum monitoring period (P min monitor ) and may be less than or equal to the initial monitoring period (P init monitor ).

그리고, 감시 제어부(150)는 CPU 코어별로 업데이트된 모니터링 주기를 복수개의 사용량 감시부(110)에 제공할 수 있다.In addition, the monitoring control unit 150 may provide the monitoring period updated for each CPU core to the plurality of usage monitoring units 110 .

태스크 관리부(160)는 이동형 레이더의 CPU 코어 개수만큼 생성되며, CPU 코어에 할당되어 있는 연산 태스크의 태스크 정보를 획득할 수 있다. 태스크 관리부(160)는 일정 주기마다 CPU 코어의 사용량을 측정하는 사용량 감시부(110)와 달리 이동형 레이더의 운용 모드가 변경될 때마다 실행되어 실행 빈도가 사용량 감시부(110)에 비해 적다. The task management unit 160 may obtain task information of calculation tasks generated as many as the number of CPU cores of the mobile radar and allocated to the CPU cores. Unlike the usage monitoring unit 110 that measures the usage of CPU cores at regular intervals, the task management unit 160 is executed every time the operation mode of the mobile radar is changed, so the execution frequency is less than that of the usage monitoring unit 110.

태스크 관리부(160)는 초기화 모드 때 최초로 실행되어 모든 태스크의 정보를 획득한다. 이후 이동형 레이더의 운용모드가 초기화 모드 종료 후 점검모드, 자동 탐색모드와 같이 변경될 때 마다 태스크관리부가 실행된다. 예를 들어, 도 4를 참조하면, 사용량 감시부(110)는 운용모드가 초기화 모드에서 자체점검 모드로 변경될 때, 운용모드가 자체점검 모드에서 자동탐색 모드로 변경될 때 실행될 수 있다. The task management unit 160 is first executed in the initialization mode and acquires information of all tasks. Thereafter, the task management unit is executed whenever the operating mode of the mobile radar is changed such as inspection mode or automatic search mode after the initialization mode is finished. For example, referring to FIG. 4 , the usage monitoring unit 110 may be executed when the operation mode is changed from the initialization mode to the self-check mode or when the operation mode is changed from the self-check mode to the automatic search mode.

태스크 관리부(160)는 CPU 코어 각각에서 태스크 형식으로 실행될 수 있다. 태스크 관리부(160)의 우선순위를 낮게 설정하여 다른 연산 태스크에 방해가 되지 않는 범위에서 변경된 운용모드 초반에 태스크 정보를 획득할 수 있다. 본 발명의 일 실시 예에 따르면, 태스크 관리부(160)는 사용량 관리부(110)에 이어서, 두 번째로 낮은 우선순위로 지정되어 CPU 코어를 점유할 수 있다.The task management unit 160 may be executed in the form of a task in each CPU core. By setting the priority of the task manager 160 low, task information may be acquired at the beginning of the changed operation mode within a range that does not interfere with other calculation tasks. According to an embodiment of the present invention, the task management unit 160 may be assigned the second lowest priority after the usage management unit 110 to occupy the CPU core.

태스크 관리부(160)는 이동형 레이더의 운용 모드가 변경될 때마다 미리 알려진 다양한 방법(예를 들어, 스냅 샷 방식)으로 모든 태스크 정보를 획득하여 데이터베이스(161)에 저장할 수 있다.The task management unit 160 may acquire all task information in various previously known methods (eg, a snapshot method) and store it in the database 161 whenever the operation mode of the mobile radar is changed.

데이터베이스(161)는 태스크 관리부(160) 내에 위치할 수 있으나 반드시 이에 한정되는 것은 아니다.The database 161 may be located in the task management unit 160, but is not necessarily limited thereto.

도 5의 (b)를 참조하면, 태스크 정보는 시점별 사용 CPU 코어 번호, CPU 코어에 고정되었는지 여부, CPU 코어가 해당 태스크를 점유하고 있는지 여부, 우선순위를 포함할 수 있으나, 반드시 이에 한정되는 것은 아니다.Referring to (b) of FIG. 5, the task information may include the number of CPU cores used at each point in time, whether or not the task is fixed to the CPU core, whether the CPU core occupies the task, and priority. It is not.

스케줄링부(170)는 감시 제어부(150)를 통해 제어되는 모니터링 주기와 태스크 정보를 기반으로, 상기 CPU 코어에 할당되어 있는 연산 태스크를 다시 할당할 수 있다.The scheduling unit 170 may re-allocate the calculation task allocated to the CPU core based on the monitoring period and task information controlled through the monitoring control unit 150 .

즉, 스케줄링부(170)는 데이터베이스(161)에 저장된 태스크 정보를 기반으로 감시 제어부(150)를 통해 업데이트되는 모니터링 주기가 최소 모니터링 주기와 일치하면, 업데이트되는 모니터링 주기에 대응되는 CPU 코어에 할당되어 있는 연산 태스크를 다른 CPU 코어에 다시 할당할 수 있다.That is, when the monitoring period updated through the monitoring control unit 150 matches the minimum monitoring period based on the task information stored in the database 161, the scheduling unit 170 is assigned to the CPU core corresponding to the updated monitoring period. You can reassign existing computational tasks to other CPU cores.

이때, 스케줄링부(170)는 업데이트되는 모니터링 주기에 대응되는 CPU 코어에 할당되어 있는 연산 태스크 중에서 우선순위가 가장 낮은 연산 태스크를 CPU 코어의 사용량이 가장 적은 다른 CPU 코어에 할당할 수 있다.At this time, the scheduling unit 170 may assign a calculation task having the lowest priority among calculation tasks allocated to the CPU core corresponding to the updated monitoring period to another CPU core having the smallest usage of the CPU core.

스케줄링부(170)는 가장 최신의 태스크 정보를 사용하여 연산 태스크 재할당을 수행할 수 있다.The scheduling unit 170 may perform reallocation of calculation tasks using the most up-to-date task information.

본 발명의 일 실시 예에 따르면, 스케줄링부(170)는 데이터 베이스(161)에 저장된 태스크 정보 중 최신 정보를 사용하여 각각의 CPU 코어에 할당된 태스크의 개수를 파악한 후 모니터링 주기가 최소 모니터링 주기와 일치한 CPU 코어에 할당된 연산 태스크의 개수(예를 들어, 1개인 경우, 2개인 경우 및 3개인 경우)별로 연산 태스크 재할당 방법을 구분할 수 있다.According to an embodiment of the present invention, the scheduling unit 170 determines the number of tasks assigned to each CPU core by using the latest information among the task information stored in the database 161, and then sets the monitoring period to the minimum monitoring period. A calculation task reassignment method may be distinguished according to the number of calculation tasks allocated to the matching CPU core (eg, 1 case, 2 cases, and 3 cases).

재할당의 대상이 되는 연산 태스크의 결정은 우선순위에 의한다. 예를 들어, 재배치가 필요한 CPU 코어에서 실행중인 태스크들 중 우선순위가 가장 낮은 태스크가 재배치 대상이 된다.The determination of the calculation task to be reassigned is based on priority. For example, a task with the lowest priority among tasks running on a CPU core requiring relocation is subject to relocation.

스케줄링부(170)는 감시 제어부(150)를 통해 업데이트되는 모니터링 주기가 최소 모니터링 주기와 일치하면, 업데이트되는 모니터링 주기에 대응되는 CPU 코어에 할당되어 있는 연산 태스크의 개수가 미리 설정한 기준보다 많은 경우 CPU 코어에 할당되어 있는 연산 태스크 중에서 우선순위를 고려하여 적어도 하나의 연산 태스크를 다른 CPU 코어에 다시 할당할 수 있다.The scheduling unit 170, when the monitoring period updated through the monitoring control unit 150 matches the minimum monitoring period, when the number of calculation tasks assigned to the CPU cores corresponding to the updated monitoring period is greater than a preset standard. Among the calculation tasks assigned to the CPU core, at least one calculation task may be reassigned to another CPU core in consideration of priority.

스케줄링부(170)는 재할당의 대상이 되는 연산 태스크를 사용량이 가장 적은 CPU 코어로 할당할 수 있다. 사용량이 가장 적은 CPU 코어가 복수개인 경우, 복수개의 사용량이 가장 적은 CPU 코어 중에서 할당된 연산 태스크의 개수가 가장 적은 CPU 코어에 재할당의 대상이 되는 연산 태스크를 할당할 수 있다.The scheduling unit 170 may allocate the calculation task to be reallocated to the CPU core with the lowest usage. When there are a plurality of CPU cores with the least amount of usage, the calculation task to be reallocated may be allocated to the CPU core with the smallest number of allocated calculation tasks among the plurality of CPU cores with the least amount of use.

스케줄링부(170)는 업데이트되는 모니터링 주기에 대응되는 CPU 코어에 할당되어 있는 연산 태스크의 개수가 미리 설정한 기준보다 적은 경우 상기 모니터링 주기에 대응되는 CPU 코어에 연산 태스크를 점유 시킬 수 있다. 본 발명의 일 실시 예에 따르면, 스케줄링부(170)는 CPU 코어에 실행중인 연산 태스크 개수가 1개인 경우 연산 태스크의 데이터베이스(161)에 저장된 태스크 정보의 점유 상태를 '점유'로 수정함으로써 다른 CPU 코어와의 연산 태스크 공유를 방지하여 실시간성의 훼손을 방지할 수 있다.The scheduling unit 170 may occupy the CPU cores corresponding to the monitoring period with calculation tasks when the number of calculation tasks assigned to the CPU cores corresponding to the updated monitoring period is less than a preset standard. According to an embodiment of the present invention, the scheduling unit 170 modifies the occupancy status of task information stored in the database 161 of calculation tasks to 'occupy' when the number of calculation tasks being executed in the CPU core is one, so that other CPUs It is possible to prevent damage to real-time properties by preventing sharing of calculation tasks with cores.

스케줄링부(170)는 CPU 코어에 실행중인 연산 태스크 개수가 2개인 경우 연산 태스크 재배치 시 발생하는 지연시간을 고려하여 2개의 연산 태스크 중 우선순위가 낮은 연산 태스크를 다른 CPU 코어로 이동할 수 있다.The scheduling unit 170 may move a computation task having a lower priority among the two computation tasks to another CPU core in consideration of a delay time occurring when the computation tasks are relocated when the number of computation tasks being executed in the CPU core is two.

스케줄링부(170)는 CPU 코어에 실행중인 연산 태스크 개수가 3개 이상인 경우 그 중 가장 우선순위가 낮은 연산 태스크를 다른 CPU 코어로 이동할 수 있다.The scheduling unit 170 may move a calculation task having the lowest priority among the calculation tasks running on the CPU core to another CPU core when the number of calculation tasks being executed is three or more.

연산 태스크를 재할당 한 이후에도 재배치가 필요한 CPU 코어 사용량이 CPU 코어 사용량 임계치를 초과하여 모니터링 주기에 변화가 없이 최소 모니터링 주기를 유지할 경우 해당 CPU 코어에 배치된 연산 태스크의 개수가 미리 결정된 경계치(예를 들어, 2개)가 될 때까지 연산 태스크 재할당 과정을 반복할 수 있다.Even after reassignment of computational tasks, if the CPU core usage that requires relocation exceeds the CPU core usage threshold and the minimum monitoring cycle is maintained without change in monitoring cycle, the number of computational tasks assigned to the corresponding CPU core increases to a predetermined boundary value (e.g. For example, the calculation task reallocation process may be repeated until there are two).

본 발명의 일 실시 예에 따르면, 사용자는 스케줄링부(170)를 통하여 특정 연산 태스크를 하나의 CPU 코어에 '고정'시킬 수 있다. 연산 태스크가 하나의 CPU 코어에 '고정'되면, 상기 설명한 재할당 알고리즘에 무관하게 하나의 CPU 코어에 고정됨에 따라, 해당 연산 태스크가 재할당되는 것이 방지되고, 해당 연산 태스크는 우선적으로 처리될 수 있다.According to an embodiment of the present invention, a user may 'fix' a specific calculation task to one CPU core through the scheduling unit 170 . When a computational task is 'fixed' to one CPU core, regardless of the reallocation algorithm described above, the computational task is prevented from being reallocated as it is fixed to one CPU core, and the computational task can be preferentially processed. there is.

그러면, 도 6 내지 도 10을 참조하여 본 발명의 일 실시 예에 따른 복합 센서 이동형 레이더의 실시간 연산 태스크 재할당 방법에 대하여 설명한다.Then, a real-time calculation task reallocation method of a multi-sensor mobile radar according to an embodiment of the present invention will be described with reference to FIGS. 6 to 10 .

도 6은 본 발명의 일 실시 예에 따른 복합 센서 이동형 레이더의 실시간 연산 태스크 재할당 방법을 설명하기 위한 흐름도이다.6 is a flowchart illustrating a real-time operation task reallocation method of a multi-sensor mobile radar according to an embodiment of the present invention.

도 6을 참조하면, 사용량 감시부(110)가, 모니터링 주기에 따라 CPU 코어의 사용량을 모니터링한다(S610). 이때, 사용량 감시부(110)는 이동형 레이더의 CPU 코어 개수만큼 생성되어 CPU 코어 각각에서 태스크 형식으로 실행되며, 모니터링 주기에 따라 CPU 코어의 사용량을 모니터링할 수 있다.Referring to FIG. 6 , the usage monitoring unit 110 monitors the usage of CPU cores according to the monitoring period (S610). At this time, the usage monitoring unit 110 is generated as many as the number of CPU cores of the mobile radar, executed in the form of a task in each CPU core, and can monitor usage of the CPU cores according to the monitoring period.

이후, 사용량 분석부(130)가, 사용량 감시부(110)를 통해 획득한 CPU 코어의 사용량을 CPU 코어별로 분석한다(S630).Thereafter, the usage analysis unit 130 analyzes the usage of CPU cores acquired through the usage monitoring unit 110 for each CPU core (S630).

그런 다음, 감시 제어부(150)가, 사용량 분석부(130)를 통해 분석된 결과를 기반으로, CPU 코어에 대한 모니터링 주기를 CPU 코어별로 제어한다(S650). 즉, 감시 제어부(150)는 사용량 분석부(130)로부터 제공받은 CPU 코어별 CPU 코어의 사용량을 기반으로 CPU 코어 각각에 대한 모니터링 주기를 업데이트할 수 있다. 그리고, 감시 제어부(150)는 CPU 코어별로 업데이트된 모니터링 주기를 복수개의 사용량 감시부(110)에 제공할 수 있다.Then, the monitoring control unit 150 controls the monitoring period for each CPU core for each CPU core based on the result analyzed through the usage analysis unit 130 (S650). That is, the monitoring control unit 150 may update a monitoring period for each CPU core based on the amount of CPU core usage for each CPU core received from the usage analysis unit 130 . In addition, the monitoring control unit 150 may provide the monitoring period updated for each CPU core to the plurality of usage monitoring units 110 .

이어서, 태스크 관리부(160)가, CPU 코어에 할당되어 있는 연산 태스크의 태스크 정보를 획득한다(S670).Subsequently, the task management unit 160 acquires task information of the calculation task assigned to the CPU core (S670).

그리고, 스케줄링부(170)가, 감시 제어부(150)를 통해 제어되는 모니터링 주기를 기반으로, CPU 코어에 할당되어 있는 연산 태스크를 다시 할당할 수 있다(S690).Also, the scheduling unit 170 may re-allocate the calculation task allocated to the CPU core based on the monitoring period controlled through the monitoring control unit 150 (S690).

도 7는 도 6에 도시한 모니터링 단계의 세부 단계를 설명하기 위한 흐름도이다.FIG. 7 is a flowchart for explaining detailed steps of the monitoring step shown in FIG. 6 .

도 7을 참조하면, 사용량 감시부(110)는 동작 초기에 CPU 코어의 초당 최대 연산 횟수(Cntmax)를 측정할 수 있다(S611). 이때, 사용량 감시부(110)는 동작 초기에 미리 설정된 시간(예컨대, 1초 등) 간격으로 미리 설정된 횟수(예컨대, 2회 등) 동안 반복적으로 초당 연산 횟수를 측정하고, 측정한 복수개의 초당 연산 횟수 중에서 가장 큰 값을 초당 최대 연산 횟수(Cntmax)로 획득할 수 있다.Referring to FIG. 7 , the usage monitoring unit 110 may measure the maximum number of operations per second (Cnt max ) of the CPU core at the beginning of operation (S611). At this time, the usage monitoring unit 110 repeatedly measures the number of operations per second for a preset number of times (eg, twice) at intervals of a predetermined time (eg, 1 second, etc.) at the beginning of the operation, and measures the measured plurality of operations per second. The largest value among the number of times may be obtained as the maximum number of operations per second (Cnt max ).

이후, 모니터링 주기에 따라 모니터링 시점이 되면(S613-Y), 사용량 감시부(110)는 CPU 코어의 유휴 상태에서의 초당 연산 횟수를 측정할 수 있다(S615). 즉, 사용량 감시부(110)는 가장 낮은 우선순위로 설정되어, 모니터링 주기에 따라 다른 태스크가 CPU 코어를 점유하지 않는 시간에 CPU 코어를 점유하여 모니터링 주기(Pmonitor)에 따라 유휴 상태에서의 초당 연산 횟수(Cntidle)를 측정할 수 있다. 이때, 사용량 감시부(110)는 유휴 상태에 미리 설정된 시간(예컨대, 1초 등) 간격으로 미리 설정된 횟수(예컨대, 2회 등) 동안 반복적으로 초당 연산 횟수를 측정하고, 측정한 복수개의 초당 연산 횟수 중에서 가장 큰 값을 유휴 상태에서의 초당 연산 횟수(Cntidle)로 획득할 수 있다.Thereafter, when the monitoring time comes according to the monitoring period (S613-Y), the usage monitoring unit 110 may measure the number of operations per second in the idle state of the CPU core (S615). That is, the usage monitoring unit 110 is set to the lowest priority, occupies the CPU core at a time when other tasks do not occupy the CPU core according to the monitoring period, and monitors the CPU core per second in the idle state according to the monitoring period (P monitor ). The number of operations (Cnt idle ) can be measured. At this time, the usage monitoring unit 110 repeatedly measures the number of operations per second for a preset number of times (eg, twice) at intervals of a predetermined time (eg, 1 second) in the idle state, and measures the measured plurality of operations per second. The largest value among the counts may be obtained as the number of operations per second (Cnt idle ) in an idle state.

도 8은 도 6에 도시한 사용량 분석 단계의 세부 단계를 설명하기 위한 흐름도이다.FIG. 8 is a flowchart for explaining detailed steps of the usage analysis step shown in FIG. 6 .

도 8을 참조하면, 사용량 분석부(130)는 CPU 코어의 초당 최대 연산 횟수(Cntmax)와 CPU 코어의 유휴 상태에서의 초당 연산 횟수(Cntidle)를 기반으로, CPU 코어별로 CPU 코어의 사용량(CPUrate)을 분석할 수 있다(S631).Referring to FIG. 8 , the usage analyzer 130 uses the CPU core for each CPU core based on the maximum number of operations per second (Cnt max ) of the CPU core and the number of operations per second (Cnt idle ) of the CPU core in an idle state. (CPU rate ) can be analyzed (S631).

예컨대, 사용량 분석부(130)는 위의 [수학식 1]을 통해 CPU 코어별로 CPU 코어의 사용량(CPUrate)을 측정할 수 있다.For example, the usage analysis unit 130 may measure the usage (CPU rate ) of each CPU core for each CPU core through [Equation 1] above.

도 9는 도 6에 도시한 모니터링 주기 제어 단계의 세부 단계를 설명하기 위한 흐름도이다.FIG. 9 is a flowchart for explaining detailed steps of the monitoring period control step shown in FIG. 6 .

도 9를 참조하면, CPU 코어의 사용량(CPUrate)이 CPU 코어 사용량 임계치(CPUT)보다 크면(S651-Y), 감시 제어부(150)는 CPU 코어 사용량 초과 횟수(CntExceed)를 하나 증가시키고, CPU 코어 사용량 안정 횟수(CntStable)를 0으로 초기화할 수 있다(S152).Referring to FIG. 9, if the CPU core usage (CPU rate ) is greater than the CPU core usage threshold (CPU T ) (S651-Y), the monitoring control unit 150 increases the number of times the CPU core usage exceeds (Cnt Exceed ) by one, , CPU core usage stabilization count (Cnt Stable ) may be initialized to 0 (S152).

그런 다음, 감시 제어부(150)는 CPU 코어의 사용량(CPUrate), CPU 코어 사용량 임계치(CPUT) 및 CPU 코어 사용량 초과 횟수(CntExceed)를 기반으로 감소 계수(Coffreduce)를 획득할 수 있다(S653). 예컨대, 감시 제어부(150)는 위의 [수학식 2]를 통해 감소 계수(Coffreduce)를 측정할 수 있다. Then, the monitoring control unit 150 may obtain a reduction coefficient (Coff reduce ) based on the CPU core usage (CPU rate ), the CPU core usage threshold (CPU T ), and the number of times the CPU core usage is exceeded (Cnt Exceed ). (S653). For example, the monitoring control unit 150 may measure the reduction coefficient (Coff reduce ) through [Equation 2] above.

이에 반면, CPU 코어의 사용량(CPUrate)이 CPU 코어 사용량 임계치(CPUT)보다 작거나 같으면(S151-N), 감시 제어부(150)는 CPU 코어 사용량 안정 횟수(CntStable)를 하나 증가시키고, CPU 코어 사용량 초과 횟수(CntExceed)를 0으로 초기화할 수 있다(S654).On the other hand, if the CPU core usage (CPU rate ) is less than or equal to the CPU core usage threshold (CPU T ) (S151-N), the monitoring control unit 150 increases the CPU core usage stabilization count (Cnt Stable ) by one, The CPU core usage exceeding count (Cnt Exceed ) may be initialized to 0 (S654).

이후, CPU 코어 사용량 안정 횟수(CntStable)가 안정 임계치(CntStable,T)보다 크면(S655-Y), 감시 제어부(150)는 감소 계수(Coffreduce)를 기본의 감소 계수(Coffreduce)의 1/2로 변경할 수 있다(S656).Thereafter, if the number of stable CPU core usage (Cnt Stable ) is greater than the stable threshold (Cnt Stable,T ) (S655-Y), the monitoring control unit 150 reduces the reduction coefficient (Coff reduce ) to the base reduction coefficient (Coff reduce ). It can be changed to 1/2 (S656).

반면, CPU 코어 사용량 안정 횟수(CntStable)가 안정 임계치(CntStable,T)보다 작거나 같으면(S655-N), 감시 제어부(150)는 감소 계수(Coffreduce)를 기존의 감소 계수(Coffreduce)로 유지할 수 있다(S657).On the other hand, if the CPU core usage stabilization count (Cnt Stable ) is less than or equal to the stability threshold (Cnt Stable,T ) (S655-N), the monitoring control unit 150 reduces the reduction coefficient (Coff reduce ) to the existing reduction coefficient (Coff reduce ). ) can be maintained (S657).

그런 다음, 감소 계수(Coffreduce)가 1보다 크면(S158-N), 감시 제어부(150)는 모니터링 주기(Pi monitor)를 이전 모니터링 주기(Pi-1 monitor)에 1/감소 계수(Coffreduce)를 곱하여 획득한 모니터링 주기로 업데이트할 수 있다(S659).Then, if the reduction coefficient (Coff reduce ) is greater than 1 (S158-N), the monitoring control unit 150 sets the monitoring period (P i monitor ) to the previous monitoring period (P i-1 monitor ) by 1/decrease factor (Coff It can be updated with the monitoring cycle obtained by multiplying reduce ) (S659).

반면, 감소 계수(Coffreduce)가 1보다 작거나 같으면(S658-Y), 감시 제어부(150)는 모니터링 주기(Pi monitor)를 초기 모니터링 주기(Pinit monitor)로 업데이트할 수 있다(S660).On the other hand, if the reduction coefficient (Coff reduce ) is less than or equal to 1 (S658-Y), the monitoring control unit 150 may update the monitoring period (P i monitor ) to the initial monitoring period (P init monitor ) (S660). .

여기서, 업데이트되는 모니터링 주기(Pi monitor)는 미리 설정된 최소 모니터링 주기(Pmin monitor)보다는 크거나 같고, 초기 모니터링 주기(Pinit monitor)보다는 작거나 같을 수 있다.Here, the updated monitoring period (P i monitor ) may be greater than or equal to the preset minimum monitoring period (P min monitor ) and may be less than or equal to the initial monitoring period (P init monitor ).

도 10은 도 6에 도시한 연산 태스크 재할당 단계의 일 실시 예에 대한 세부 단계를 설명하기 위한 흐름도이다.FIG. 10 is a flowchart for explaining detailed steps of an embodiment of the operation task reassignment step shown in FIG. 6 .

스케줄링부(170)는 업데이트 되는 모니터링 주기가 최소 모니터링 주기와 일치하는지 여부를 판단할 수 있다(S691). 업데이트 되는 모니터링 주기와 최소 모니터링 주기가 일치하지 않는다면, 스케줄링부(170)는 동작을 종료할 수 있다. 업데이트 되는 모니터링 주기와 최소 모니터링 주기가 일치한다면, S692가 이어서 수행될 수 있다.The scheduling unit 170 may determine whether the updated monitoring period coincides with the minimum monitoring period (S691). If the updated monitoring period and the minimum monitoring period do not match, the scheduling unit 170 may end the operation. If the updated monitoring period coincides with the minimum monitoring period, S692 may be subsequently performed.

스케줄링부(170)는 태스크 관리부(160)가 획득한 태스크 정보를 확인할 수 있다(S692).The scheduling unit 170 may check the task information acquired by the task management unit 160 (S692).

스케줄링부(170)는 CPU 코어에 할당되어 있는 연산 태스크의 수가 미리 설정한 기준보다 많은지 판단할 수 있다(S693). 본 발명의 일 실시 예에 따르면, 미리 설정한 기준은 두 개 또는 세 개 일 수 있다. CPU 코어에 할당되어 있는 연산 태스크의 수가 미리 설정한 기준보다 많은 경우 S696이 이어서 수행될 수 있다. CPU 코어에 할당되어 있는 연산 태스크의 수가 미리 설정한 기준보다 많지 않은 경우, S697이 이어서 수행될 수 있다.The scheduling unit 170 may determine whether the number of calculation tasks assigned to the CPU core is greater than a preset standard (S693). According to an embodiment of the present invention, two or three preset criteria may be set. S696 may be subsequently performed when the number of calculation tasks assigned to the CPU core is greater than a preset standard. When the number of calculation tasks assigned to the CPU core is not greater than a preset criterion, S697 may be subsequently performed.

스케줄링부(170)는 CPU 코어에 할당되어 있는 연산 태스크의 수가 1개인지 판단할 수 있다(S694). CPU 코어에 할당되어 있는 연산 태스크의 수가 1개라면 S695가 이어서 수행될 수 있다. CPU 코어에 할당되어 있는 연산 태스크의 수가 1개가 아니라면 S696이 이어서 수행될 수 있다.The scheduling unit 170 may determine whether the number of calculation tasks allocated to the CPU core is one (S694). If the number of calculation tasks allocated to the CPU core is one, S695 may be subsequently performed. If the number of calculation tasks allocated to the CPU core is not one, S696 may be subsequently performed.

스케줄링부(170)는 단일 연산 태스크를 해당 CPU 코어가 점유하도록 하여 다른 CPU 코어와 연산 태스크를 공유하는 것을 방지할 수 있다(S695).The scheduling unit 170 may prevent sharing of the calculation task with other CPU cores by making the corresponding CPU core occupy a single calculation task (S695).

스케줄링부(170)는 연산 태스크의 우선순위를 기반으로 재할당 대상 연산 태스크를 결정할 수 있다(S696).The scheduling unit 170 may determine a calculation task to be reallocated based on the priority of the calculation task (S696).

스케줄링부(170)는 사용량이 가장 적은 CPU 코어가 1개인지 여부를 판단할 수 있다(S697). 사용량이 가장 적은 CPU 코어가 1개인 경우 S698이 이어서 수행될 수 있다. 사용량이 가장 적은 CPU 코어가 1개가 아닌 경우 S699가 이어서 수행될 수 있다.The scheduling unit 170 may determine whether one CPU core with the lowest usage is one (S697). When the CPU core with the lowest usage is one, S698 may be subsequently performed. When the CPU core with the lowest usage is not one, S699 may be subsequently performed.

스케줄링부(170)는 해당 CPU 코어에 결정된 재할당 대상 연산 태스크를 다시 할당할 수 있다(S698).The scheduling unit 170 may reassign the determined reassignment target calculation task to the corresponding CPU core (S698).

스케줄링부(170)는 사용량이 가장 적은 복수개의 CPU 코어 중에서 할당된 연산 태스크의 수가 가장 적은 CPU 코어를 재할당 대상 연산 태스크를 다시 할당할 CPU 코어로 결정할 수 있다(S699).The scheduling unit 170 may determine a CPU core with the smallest number of assigned calculation tasks among the plurality of CPU cores with the lowest usage as the CPU core to which the reallocation target calculation task is to be reassigned (S699).

도 6 내지 도 10에서는 각각의 과정을 순차적으로 실행하는 것으로 기재하고 있으나 이는 예시적으로 설명한 것에 불과하고, 이 분야의 기술자라면 본 발명의 실시 예의 본질적인 특성에서 벗어나지 않는 범위에서 도 6 내지 도 10에 기재된 순서를 변경하여 실행하거나 또는 하나 이상의 과정을 병렬적으로 실행하거나 다른 과정을 추가하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이다.In FIGS. 6 to 10, it is described that each process is sequentially performed, but this is merely an example, and a person skilled in the art will refer to FIGS. Various modifications and variations may be applied by changing the order described, executing one or more processes in parallel, or adding another process.

본 출원은 컴퓨터 저장 매체도 제공한다. 컴퓨터 저장 매체에는 프로그램 명령이 저장되어 있고, 프로세서에 의해 프로그램 명령이 실행되면, 상술한 복합 센서 이동형 레이더의 실시간 연산 태스크 재할당 방법이 실현된다.This application also provides computer storage media. When a program command is stored in a computer storage medium and the program command is executed by a processor, the above-described real-time calculation task reallocation method of the multi-sensor mobile radar is realized.

본 발명의 일 실시 예에 따른 컴퓨터 저장 매체는 U디스크, SD카드, PD광학 드라이브, 모바일 하드 디스크, 대용량 플로피 드라이브, 플래시 메모리, 멀티미디어 메모리 카드, 서버 등일 수 있지만 반드시 이에 한정되는 것은 아니다.A computer storage medium according to an embodiment of the present invention may be a U disk, SD card, PD optical drive, mobile hard disk, large-capacity floppy drive, flash memory, multimedia memory card, server, etc., but is not necessarily limited thereto.

본 발명의 다양한 실시 예에 따르면, CPU 코어의 사용량과 CPU 코어에 할당된 연산 태스크를 실시간으로 모니터링하며 필요한 경우 CPU 코어에 할당된 연산 태스크를 상황에 따라 재할당함으로써, 연산이 많고 복잡한 복합 센서 이동형 레이더 환경에서 갑작스런 연산 증가로 인한 실시간성 훼손을 방지할 수 있다.According to various embodiments of the present invention, the usage of CPU cores and calculation tasks assigned to CPU cores are monitored in real time, and calculation tasks assigned to CPU cores are reassigned according to circumstances, if necessary. It is possible to prevent damage to real-time due to a sudden increase in computation in a radar environment.

연산 태스크의 재할당이 미리 결정된 알고리즘에 기반하여 수행되지 않으면, 다른 CPU 코어의 연산 실시간성을 훼손하게 되며, 이는 이동형 레이더의 실시간성의 더 큰 훼손으로 이어질 수 있다는 문제점이 있다.If reallocation of computational tasks is not performed based on a predetermined algorithm, computational realtime performance of other CPU cores is damaged, which may lead to further damage to mobile radar realtime performance.

본 발명은 상기와 같은 문제점을 해결하기 위하여 연산 태스크의 개수에 따른 연산 태스크 재할당 알고리즘을 기반으로한 복합 센서 이동형 레이더의 실시간 연산 태스크 재할당 방법을 제시한다.In order to solve the above problems, the present invention proposes a real-time computation task reallocation method of a multi-sensor mobile radar based on an algorithm for reallocating computation tasks according to the number of computation tasks.

이상에서 설명한 본 발명의 실시 예를 구성하는 모든 구성요소들이 하나로 결합하거나 결합하여 동작하는 것으로 기재되어 있다고 해서, 본 발명이 반드시 이러한 실시 예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 또한, 이와 같은 컴퓨터 프로그램은 USB 메모리, CD 디스크, 플래쉬 메모리 등과 같은 컴퓨터가 읽을 수 있는 기록 매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시 예를 구현할 수 있다. 컴퓨터 프로그램의 기록 매체로서는 자기기록매체, 광 기록매체 등이 포함될 수 있다.Even though all components constituting the embodiments of the present invention described above are described as being combined or operated as one, the present invention is not necessarily limited to these embodiments. That is, within the scope of the object of the present invention, all of the components may be selectively combined with one or more to operate. In addition, although all of the components may be implemented as a single independent piece of hardware, some or all of the components are selectively combined to perform some or all of the combined functions in one or a plurality of pieces of hardware. It may be implemented as a computer program having. In addition, such a computer program may implement an embodiment of the present invention by being stored in a computer readable medium such as a USB memory, a CD disk, or a flash memory and read and executed by a computer. A recording medium of a computer program may include a magnetic recording medium, an optical recording medium, and the like.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다. 따라서, 본 발명에 개시된 실시 예 및 첨부된 도면들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예 및 첨부된 도면에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구 범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리 범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely an example of the technical idea of the present invention, and those skilled in the art can make various modifications, changes, and substitutions without departing from the essential characteristics of the present invention. will be. Therefore, the embodiments disclosed in the present invention and the accompanying drawings are not intended to limit the technical idea of the present invention, but to explain, and the scope of the technical idea of the present invention is not limited by these embodiments and the accompanying drawings. . The protection scope of the present invention should be construed according to the following claims, and all technical ideas within the equivalent range should be construed as being included in the scope of the present invention.

100: 복합 센서 이동형 레이더의 실시간 연산 태스크 재할당 장치
110: 사용량 감시부
130: 사용량 분석부
150: 감시제어부
160: 태스크 관리부
161: 데이터베이스
170: 스케줄링부
100: Real-time operation task reassignment device of complex sensor mobile radar
110: usage monitoring unit
130: usage analysis unit
150: monitoring and control unit
160: task management unit
161: database
170: scheduling unit

Claims (13)

복합 센서를 포함하는 이동형 레이더에 탑재되는 실시간 연산 태스크 재할당 장치로서,
상기 이동형 레이더의 CPU 코어 개수만큼 생성되어 상기 CPU 코어 각각에서 태스크 형식으로 실행되며, 모니터링 주기에 따라 상기 CPU 코어의 사용량을 모니터링하는 복수개의 사용량 감시부;
상기 사용량 감시부를 통해 획득한 상기 CPU 코어의 사용량을 상기 CPU 코어별로 분석하는 사용량 분석부;
상기 사용량 분석부를 통해 분석된 결과를 기반으로, 상기 CPU 코어에 대한 상기 모니터링 주기를 상기 CPU 코어별로 제어하는 감시 제어부;
상기 이동형 레이더의 CPU 코어 개수만큼 생성되며, 상기 CPU 코어에 할당되어 있는 연산 태스크의 태스크 정보를 획득하는 태스크 관리부; 및
상기 감시 제어부를 통해 제어되는 상기 모니터링 주기와 상기 태스크 정보를 기반으로, 상기 CPU 코어에 할당되어 있는 연산 태스크를 다시 할당하는 스케줄링부;를 포함하는 복합 센서 이동형 레이더의 실시간 연산 태스크 재할당 장치.
A real-time operation task reassignment device mounted on a mobile radar including a complex sensor,
a plurality of usage monitors generated as many as the number of CPU cores of the mobile radar, executed in the form of a task in each of the CPU cores, and monitoring usage of the CPU cores according to a monitoring period;
a usage analysis unit for analyzing the usage of the CPU cores acquired through the usage monitoring unit for each CPU core;
Based on the result analyzed by the usage analyzer, a monitoring control unit for controlling the monitoring period for each CPU core for each CPU core;
a task management unit that obtains task information of calculation tasks generated as many as the number of CPU cores of the mobile radar and allocated to the CPU cores; and
A real-time calculation task reallocation device of a complex sensor mobile radar comprising a scheduling unit for reassigning the calculation task allocated to the CPU core based on the monitoring period and the task information controlled through the monitoring control unit.
제1항에 있어서,
상기 사용량 감시부는,
동작 초기에 상기 CPU 코어의 초당 최대 연산 횟수를 측정하고, 가장 낮은 우선순위로 설정되어, 상기 모니터링 주기에 따라 다른 태스크가 상기 CPU 코어를 점유하지 않는 시간에 상기 CPU 코어를 점유하여 유휴 상태에서의 초당 연산 횟수를 측정하는 것을 특징으로 하는 복합 센서 이동형 레이더의 실시간 연산 태스크 재할당 장치.
According to claim 1,
The usage monitoring unit,
At the beginning of the operation, the maximum number of operations per second of the CPU core is measured, set to the lowest priority, and the CPU core is occupied at a time when other tasks do not occupy the CPU core according to the monitoring period, thereby reducing the idle state. Apparatus for reassigning real-time computational tasks of a complex sensor mobile radar, characterized in that for measuring the number of computations per second.
제2항에 있어서,
상기 사용량 감시부는,
동작 초기에 미리 설정된 시간 간격으로 미리 설정된 횟수 동안 반복적으로 초당 연산 횟수를 측정하고, 측정한 복수개의 초당 연산 횟수 중에서 가장 큰 값을 초당 최대 연산 횟수로 획득하고,
유휴 상태에 미리 설정된 시간 간격으로 미리 설정된 횟수 동안 반복적으로 초당 연산 횟수를 측정하고, 측정한 복수개의 초당 연산 횟수 중에서 가장 큰 값을 유휴 상태에서의 초당 연산 횟수로 획득하는 것을 특징으로 하는 복합 센서 이동형 레이더의 실시간 연산 태스크 재할당 장치.
According to claim 2,
The usage monitoring unit,
At the beginning of the operation, the number of operations per second is repeatedly measured for a preset number of times at a preset time interval, and the largest value among the measured number of operations per second is obtained as the maximum number of operations per second,
A complex sensor mobile type characterized by repeatedly measuring the number of operations per second for a preset number of times at a preset time interval in an idle state and acquiring the largest value among the measured number of operations per second as the number of operations per second in an idle state Radar's real-time computational task reassignment device.
제3항에 있어서,
상기 사용량 분석부는,
복수개의 상기 사용량 감시부로부터 제공받은 상기 초당 최대 연산 횟수와 상기 유휴 상태에서의 초당 연산 횟수를 기반으로, 상기 CPU 코어별로 상기 CPU 코어의 사용량을 분석하는 것을 특징으로 하는 복합 센서 이동형 레이더의 실시간 연산 태스크 재할당 장치.
According to claim 3,
The usage analysis unit,
Based on the maximum number of operations per second provided from the plurality of usage monitoring units and the number of operations per second in the idle state, the CPU core usage is analyzed in real time. Task reassignment device.
제4항에 있어서,
상기 감시 제어부는,
상기 사용량 분석부로부터 제공받은 상기 CPU 코어별 상기 CPU 코어의 사용량을 기반으로 상기 CPU 코어 각각에 대한 상기 모니터링 주기를 업데이트하고, 상기 CPU 코어별로 업데이트된 상기 모니터링 주기를 복수개의 상기 사용량 감시부에 제공하는 것을 특징으로 하는 복합 센서 이동형 레이더의 실시간 연산 태스크 재할당 장치.
According to claim 4,
The monitoring control unit,
The monitoring period for each CPU core is updated based on the usage amount of the CPU core for each CPU core provided from the usage analysis unit, and the monitoring period updated for each CPU core is provided to the plurality of usage monitoring units. Apparatus for reassigning real-time calculation tasks of complex sensor mobile radars, characterized in that for doing.
제5항에 있어서,
상기 감시 제어부는,
상기 사용량 분석부로부터 제공받은 상기 CPU 코어의 사용량이 미리 설정된 CPU 코어 사용량 임계치보다 크면, CPU 코어 사용량 초과 횟수를 하나 증가시키고, CPU 코어 사용량 안정 횟수를 0으로 초기화하며, 상기 CPU 코어의 사용량, 상기 CPU 코어 사용량 임계치 및 상기 CPU 코어 사용량 초과 횟수를 기반으로 감소 계수를 획득하고,
상기 CPU 코어의 사용량이 상기 CPU 코어 사용량 임계치보다 작거나 같으면, 상기 CPU 코어 사용량 초과 횟수는 0으로 초기화하고, 상기 CPU 코어 사용량 안정 횟수를 하나 증가시키며, 상기 CPU 코어 사용량 안정 횟수가 미리 설정된 안정 임계치보다 크면, 상기 감소 계수를 기존의 감소 계수의 1/2로 변경하고, 상기 CPU 코어 사용량 안정 횟수가 상기 안정 임계치보다 작거나 같으면, 상기 감소 계수를 기존의 감소 계수로 유지하며,
상기 감소 계수가 1보다 작거나 같으면, 상기 모니터링 주기를 미리 설정된 초기 모니터링 주기로 업데이트하고,
상기 감소 계수가 1보다 크면, 상기 모니터링 주기를 이전 모니터링 주기에 1/상기 감소 계수를 곱하여 획득한 모니터링 주기로 업데이트하며,
업데이트되는 상기 모니터링 주기는,
미리 설정된 최소 모니터링 주기보다는 크거나 같고, 상기 초기 모니터링 주기보다는 작거나 같은 것을 특징으로 하는 복합 센서 이동형 레이더의 실시간 연산 태스크 재할당 장치.
According to claim 5,
The monitoring control unit,
If the usage of the CPU cores provided from the usage analyzer is greater than the preset CPU core usage threshold, the number of times the CPU core usage exceeds is increased by one, the CPU core usage stabilization count is initialized to 0, and the usage of the CPU cores, the obtaining a reduction coefficient based on a CPU core usage threshold and the number of times the CPU core usage exceeds;
If the usage of the CPU cores is less than or equal to the CPU core usage threshold, the CPU core usage exceeding number is initialized to 0, the CPU core usage stabilization count is increased by one, and the CPU core usage stabilization count reaches the preset stability threshold. If it is greater than, the reduction factor is changed to 1/2 of the existing reduction factor, and if the CPU core usage stabilization number is less than or equal to the stability threshold, the reduction factor is maintained as the existing reduction factor;
If the reduction factor is less than or equal to 1, updating the monitoring period to a preset initial monitoring period;
If the reduction factor is greater than 1, update the monitoring period to a monitoring period obtained by multiplying the previous monitoring period by 1/the reduction factor;
The monitoring period to be updated is,
Real-time calculation task reallocation device of a complex sensor mobile radar, characterized in that greater than or equal to the preset minimum monitoring period and less than or equal to the initial monitoring period.
제6항에 있어서,
상기 스케줄링부는,
상기 감시 제어부를 통해 업데이트되는 상기 모니터링 주기가 상기 최소 모니터링 주기와 일치하면,
업데이트되는 상기 모니터링 주기에 대응되는 CPU 코어에 할당되어 있는 연산 태스크의 개수가 미리 설정한 기준보다 많은 경우 CPU 코어에 할당되어 있는 연산 태스크 중에서 우선순위를 고려하여 적어도 하나의 연산 태스크를 다른 CPU 코어에 다시 할당하고,
업데이트되는 상기 모니터링 주기에 대응되는 CPU 코어에 할당되어 있는 연산 태스크의 개수가 미리 설정한 기준보다 적은 경우 상기 모니터링 주기에 대응되는 CPU 코어에 상기 할당되어 있는 연산 태스크를 점유시키는 것을 특징으로 하는 복합 센서 이동형 레이더의 실시간 연산 태스크 재할당 장치.
According to claim 6,
The scheduling unit,
If the monitoring period updated through the monitoring control unit coincides with the minimum monitoring period,
If the number of calculation tasks allocated to the CPU core corresponding to the updated monitoring period is greater than a preset criterion, at least one calculation task is assigned to another CPU core in consideration of priority among the calculation tasks allocated to the CPU core. reassign,
When the number of calculation tasks allocated to the CPU core corresponding to the updated monitoring period is less than a preset reference, the complex sensor characterized in that the CPU core corresponding to the monitoring period occupies the calculation task allocated to the CPU core. Real-time operation task reassignment device of mobile radar.
제7항에 있어서,
상기 스케줄링부는,
업데이트되는 상기 모니터링 주기에 대응되는 CPU 코어에 할당되어 있는 연산 태스크의 개수가 미리 설정한 기준보다 많은 경우,
상기 사용량 감시부를 통해 획득한 상기 CPU 코어의 사용량을 기반으로 하여 상기 CPU 코어의 사용량이 가장 적은 CPU 코어에 상기 우선순위가 가장 낮은 연산 태스크를 할당하는 것을 특징으로 하는 복합 센서 이동형 레이더의 실시간 연산 태스크 재할당 장치.
According to claim 7,
The scheduling unit,
When the number of calculation tasks assigned to the CPU core corresponding to the monitoring period to be updated is greater than a preset standard,
Based on the usage of the CPU core obtained through the usage monitoring unit, the computation task with the lowest priority is assigned to the CPU core with the smallest usage of the CPU core. Reassignment device.
제8항에 있어서,
상기 스케줄링부는,
상기 CPU 코어의 사용량이 가장 적은 CPU 코어가 복수개인 경우, 상기 복수개의 CPU 코어의 사용량이 가장 적은 CPU 코어 중에서 할당된 연산 태스크의 개수가 가장 적은 CPU 코어에 상기 우선순위가 가장 낮은 연산 태스크를 할당하는 것을 특징으로 하는 복합 센서 이동형 레이더의 실시간 연산 태스크 재할당 장치.
According to claim 8,
The scheduling unit,
When there are a plurality of CPU cores with the lowest usage of the CPU cores, the computation task with the lowest priority is allocated to the CPU core with the smallest number of assigned computation tasks among the CPU cores with the lowest usage of the plurality of CPU cores. Apparatus for reassigning real-time calculation tasks of complex sensor mobile radars, characterized in that for doing.
복합 센서를 포함하는 이동형 레이더에 탑재되고, 상기 이동형 레이더의 CPU 코어 개수만큼 생성되어 상기 CPU 코어 각각에서 태스크 형식으로 실행되는 복수개의 사용량 감시부, 사용량 분석부, 감시 제어부, 상기 이동형 레이더의 CPU 코어 개수만큼 생성되는 태스크 관리부 및 스케줄링부를 포함하는 실시간 연산 태스크 재할당 장치에서 수행되는 실시간 연산 태스크 재할당 방법으로서,
상기 사용량 감시부가, 모니터링 주기에 따라 상기 CPU 코어의 사용량을 모니터링하는 단계;
상기 사용량 분석부가, 상기 사용량 감시부를 통해 획득한 상기 CPU 코어의 사용량을 상기 CPU 코어별로 분석하는 단계;
상기 감시 제어부가, 상기 사용량 분석부를 통해 분석된 결과를 기반으로, 상기 CPU 코어에 대한 상기 모니터링 주기를 상기 CPU 코어별로 제어하는 단계;
상기 태스크 관리부가, 상기 CPU 코어에 할당되어 있는 연산 태스크의 태스크 정보를 획득하는 단계; 및
상기 스케줄링부가, 상기 감시 제어부를 통해 제어되는 상기 모니터링 주기와 상기 태스크 관리부가 획득한 태스크 정보를 기반으로, 상기 CPU 코어에 할당되어 있는 연산 태스크를 다시 할당하는 단계;를 포함하는 복합 센서 이동형 레이더의 실시간 연산 태스크 재할당 방법.
A plurality of usage monitoring units, usage analysis units, monitoring control units, and CPU cores of the mobile radar mounted on a mobile radar including complex sensors, generated as many as the number of CPU cores of the mobile radar and executed in the form of a task in each of the CPU cores A real-time computation task reallocation method performed in a real-time computation task reallocation device including a task management unit and a scheduling unit generated as many as the number of tasks, the method comprising:
monitoring, by the usage monitoring unit, usage of the CPU core according to a monitoring period;
analyzing, by the usage analysis unit, the usage amount of the CPU core obtained through the usage monitoring unit for each CPU core;
Controlling, by the monitoring control unit, the monitoring period for each CPU core for each CPU core based on a result analyzed through the usage analysis unit;
obtaining, by the task management unit, task information of an arithmetic task allocated to the CPU core; and
Reassigning, by the scheduling unit, an operation task allocated to the CPU core based on the monitoring period controlled by the monitoring control unit and the task information acquired by the task management unit; How to reassign real-time computational tasks.
제10항에서,
상기 CPU 코어의 사용량을 모니터링하는 단계는,
상기 사용량 감시부가, 동작 초기에 상기 CPU 코어의 초당 최대 연산 횟수를 측정하고, 가장 낮은 우선순위로 설정되어, 상기 모니터링 주기에 따라 다른 태스크가 상기 CPU 코어를 점유하지 않는 시간에 상기 CPU 코어를 점유하여 유휴 상태에서의 초당 연산 횟수를 측정하는 것을 특징으로 하는 복합 센서 이동형 레이더의 실시간 연산 태스크 재할당 방법.
In paragraph 10,
The step of monitoring the usage of the CPU core,
The usage monitoring unit measures the maximum number of operations per second of the CPU core at the beginning of operation, is set to the lowest priority, and occupies the CPU core at a time when other tasks do not occupy the CPU core according to the monitoring period. A real-time calculation task reallocation method of a complex sensor mobile radar, characterized in that by measuring the number of calculations per second in an idle state.
제10항에서,
상기 모니터링 주기를 상기 CPU 코어별로 제어하는 단계는,
상기 감시 제어부가, 상기 사용량 분석부로부터 제공받은 상기 CPU 코어별 상기 CPU 코어의 사용량을 기반으로 상기 CPU 코어 각각에 대한 상기 모니터링 주기를 업데이트하고, 상기 CPU 코어별로 업데이트된 상기 모니터링 주기를 복수개의 상기 사용량 감시부에 제공하는 것을 특징으로 하는 복합 센서 이동형 레이더의 실시간 연산 태스크 재할당 방법.
In paragraph 10,
The step of controlling the monitoring period for each CPU core,
The monitoring control unit updates the monitoring period for each CPU core based on the usage amount of the CPU core for each CPU core provided from the usage analysis unit, and sets the updated monitoring period for each CPU core to a plurality of the above. Real-time calculation task reallocation method of complex sensor mobile radar, characterized in that provided to the usage monitoring unit.
제10항 내지 제12항 중 어느 한 항에 기재된 복합 센서 이동형 레이더의 실시간 연산 태스크 재할당 방법을 컴퓨터에서 실행시키기 위하여 컴퓨터로 읽을 수 있는 기록 매체에 저장된 컴퓨터 프로그램.A computer program stored in a computer-readable recording medium in order to execute the real-time calculation task reallocation method of the complex sensor mobile radar according to any one of claims 10 to 12 on a computer.
KR1020210163487A 2021-11-24 2021-11-24 Apparatus and method for reallocating real-time operation task of mobile radar with complex sensor KR102624334B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210163487A KR102624334B1 (en) 2021-11-24 2021-11-24 Apparatus and method for reallocating real-time operation task of mobile radar with complex sensor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210163487A KR102624334B1 (en) 2021-11-24 2021-11-24 Apparatus and method for reallocating real-time operation task of mobile radar with complex sensor

Publications (2)

Publication Number Publication Date
KR20230076494A true KR20230076494A (en) 2023-05-31
KR102624334B1 KR102624334B1 (en) 2024-01-12

Family

ID=86543436

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210163487A KR102624334B1 (en) 2021-11-24 2021-11-24 Apparatus and method for reallocating real-time operation task of mobile radar with complex sensor

Country Status (1)

Country Link
KR (1) KR102624334B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110075296A (en) * 2009-12-28 2011-07-06 삼성전자주식회사 Job allocation method on multi-core system and apparatus thereof
KR20140146272A (en) * 2013-06-14 2014-12-26 한국전자통신연구원 Apparatus and method for monitoring based on a multi-core processor
KR102182295B1 (en) 2014-04-21 2020-11-24 삼성전자 주식회사 Apparatus for scheduling task based on hardware and method thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110075296A (en) * 2009-12-28 2011-07-06 삼성전자주식회사 Job allocation method on multi-core system and apparatus thereof
KR20140146272A (en) * 2013-06-14 2014-12-26 한국전자통신연구원 Apparatus and method for monitoring based on a multi-core processor
KR102182295B1 (en) 2014-04-21 2020-11-24 삼성전자 주식회사 Apparatus for scheduling task based on hardware and method thereof

Also Published As

Publication number Publication date
KR102624334B1 (en) 2024-01-12

Similar Documents

Publication Publication Date Title
US9703591B2 (en) Workload distribution management apparatus and control method
US8191069B2 (en) Method of monitoring performance of virtual computer and apparatus using the method
US9170840B2 (en) Duration sensitive scheduling in a computing environment
KR101630749B1 (en) Datacenter resource allocation
US8219995B2 (en) Capturing hardware statistics for partitions to enable dispatching and scheduling efficiency
US10884468B2 (en) Power allocation among computing devices
JP6233413B2 (en) Task assignment determination device, control method, and program
WO2013119480A1 (en) Self-tuning statistical resource leak detection
US10884779B2 (en) Systems and methods for selecting virtual machines to be migrated
WO2014208139A1 (en) Fault detection device, control method, and program
US8132185B2 (en) Device, system, and method of classifying a workload of a software service
JP2008191949A (en) Multi-core system, and method for distributing load of the same
WO2008087080A1 (en) Controlling an operational mode for a logical partition on a computing system
US11716384B2 (en) Distributed resource management by improving cluster diversity
US20200218567A1 (en) Master device for managing distributed processing of task, task processing device for processing task, and method therefor
US20130305252A1 (en) Method and system for heterogeneous filtering framework for shared memory data access hazard reports
US10884819B2 (en) Information processing apparatus and method for monitoring and allocating processor loads
KR20190063378A (en) Dynamic cache partition manager in heterogeneous virtualization cloud cache environment
KR102441178B1 (en) Apparatus and method for managing cache flooding process in computing apparatus
US10754547B2 (en) Apparatus for managing disaggregated memory and method thereof
US20110191094A1 (en) System and method to evaluate and size relative system performance
KR20230076494A (en) Apparatus and method for reallocating real-time operation task of mobile radar with complex sensor
JP6383340B2 (en) Cache contention management system, resource allocation server, and resource allocation method
CN113138841A (en) Resource scheduling method and resource scheduling system
KR102429327B1 (en) Apparatus and method for measuring real-time core usage of mobile radar with complex sensor

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant