KR20180007823A - Multi core unit control method in a vehicle, multi core unit and electronic control unit comprising with multi core unit - Google Patents

Multi core unit control method in a vehicle, multi core unit and electronic control unit comprising with multi core unit Download PDF

Info

Publication number
KR20180007823A
KR20180007823A KR1020160089218A KR20160089218A KR20180007823A KR 20180007823 A KR20180007823 A KR 20180007823A KR 1020160089218 A KR1020160089218 A KR 1020160089218A KR 20160089218 A KR20160089218 A KR 20160089218A KR 20180007823 A KR20180007823 A KR 20180007823A
Authority
KR
South Korea
Prior art keywords
task
core
cores
processing
allocated
Prior art date
Application number
KR1020160089218A
Other languages
Korean (ko)
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 KR1020160089218A priority Critical patent/KR20180007823A/en
Publication of KR20180007823A publication Critical patent/KR20180007823A/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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring

Abstract

The present invention provides a multi-core unit control method of a vehicle, a multi-core unit of the vehicle, and an electronic control unit composed of the multi-core unit of the vehicle. The multi-core unit control method of a vehicle according to an embodiment of the present invention includes the steps of: allocating at least one or more tasks to a plurality of cores; monitoring the task processing of the plurality of cores to which the tasks are allocated; and moving the corresponding task to another core if a task processing delay is monitored in the core to which the task is allocated. Accordingly, the present invention can solve a processing speed delay problem.

Description

차량의 멀티 코어 유닛 제어 방법, 멀티 코어 유닛 및 멀티 코어 유닛으로 구성된 전자 제어 유닛 {MULTI CORE UNIT CONTROL METHOD IN A VEHICLE, MULTI CORE UNIT AND ELECTRONIC CONTROL UNIT COMPRISING WITH MULTI CORE UNIT}TECHNICAL FIELD [0001] The present invention relates to a multi-core unit control method for a vehicle, an electronic control unit composed of a multi-core unit and a multi-core unit,

본 발명은 차량의 멀티 코어 유닛 제어 방법, 멀티 코어 유닛 및 멀티 코어 유닛으로 구성된 전자 제어 유닛에 관한 것으로, 보다 상세하게는 차량에 포함된 전자 제어 유닛의 데이터 처리를 가능하게 하고, 데이터 처리 지연을 최소화 시키기 위한 멀티 코어 유닛 제어 방법, 멀티 코어 유닛 및 멀티 코어 유닛으로 구성된 전자 제어 유닛에 관한 것이다.The present invention relates to an electronic control unit composed of a multicore unit control method, a multicore unit and a multicore unit of a vehicle, and more particularly, to an electronic control unit comprising an electronic control unit included in a vehicle, Core unit, and a multi-core unit for minimizing the power consumption of the multi-core unit.

오늘날, 단일 코어 기반의 시스템은 추가 성능 향상과 저전력 구현의 한계로 인하여, 멀티 코어(다중 코어) 시스템의 구조로 발전하고 있다.Today, a single core based system is evolving into a multi-core (multi-core) system structure due to the limitations of additional performance enhancement and low power implementation.

멀티 코어 시스템 환경의 개발은 시스템의 성능을 향상시키는 것과 전력 소모를 줄이기 위한 것에 초점이 맞춰진다.The development of a multicore system environment is focused on improving system performance and reducing power consumption.

먼저, 멀티 코어 시스템의 성능을 향상시키기 위하여 성능이 좋은 코어를 사용하여 개선할 수 있으며, 전력 소모를 줄이기 위한 것은 저전력으로 설계된 시스템을 사용하여 개선하는 방법이 있다. 다만, 좋은 코어를 사용하거나 저전력으로 설계된 시스템은 하드웨어 상에서 설계되기 때문에 설계된 이후 추가적으로 개선할 수 없다.First, to improve the performance of a multicore system, it is possible to improve the performance by using a good core. To reduce power consumption, there is a method of improving using a system designed with a low power. However, since a system designed with a good core or low power is designed on hardware, it can not be further improved after its design.

따라서, 성능이 서로 다른 복수의 코어로 구성된 멀티 코어 시스템 환경에서 코어 배정 방법은 스케줄러에 의하여 코어 성능에 대한 미리 설계된 데이터 베이스 내 정보를 기초로 쓰레드에 배정할 코어 정보에 따라 해당 코어에 쓰레드를 할당하게 된다.Therefore, in a multicore system environment composed of a plurality of cores having different performance, a core allocation method allocates a thread to a corresponding core according to core information to be allocated to a thread based on information in a pre-designed database on core performance by a scheduler .

다만, 쓰레드가 생성되는 시점에 쓰레드에 코어를 배정하고 종료할 때까지 변경하지 않은 경우 특정 코어에 미리 예상하지 못한 태스크가 할당되는 경우 과부하로 인하여 처리 속도가 지연되는 문제점이 발생할 수 있다.However, if a core is allocated to a thread at a time when a thread is created and the task is not changed until termination, if the unexpected task is allocated to a specific core in advance, a processing speed may be delayed due to overload.

본 발명의 실시 예는 예상하지 못한 태스크가 특정 코어에 할당되는 경우에발생할 수 있는 처리 속도 지연 문제를 해결하고자 한다.Embodiments of the present invention seek to solve the problem of the processing speed delay that may occur when an unexpected task is assigned to a specific core.

뿐만 아니라, 특정 코어에 할당된 태스크의 처리가 지연되어 처리 속도가 감속되는 문제를 해결하고자 한다.In addition, the problem that the processing speed is decelerated due to the delay of the task assigned to a specific core is solved.

본 발명의 일 측면에 따르면, 복수의 코어에 적어도 하나 이상의 태스크를 할당하는 단계;와 상기 태스크가 할당된 복수의 코어의 태스크 처리를 모니터링 하는 단계;와 상기 태스크가 할당된 코어에서 태스크 처리 지연이 모니터링 되면, 해당 태스크를 다른 코어로 이동시키는 단계;를 포함하는 차량의 멀티 코어 유닛 제어 방법이 제공될 수 있다.According to an aspect of the present invention, there is provided a method for managing a task, the method comprising: allocating at least one task to a plurality of cores; monitoring task processing of a plurality of cores to which the task is allocated; And moving the task to another core if it is monitored, and a method of controlling a multicore unit of a vehicle.

또한, 상기 태스크가 할당된 코어에서 태스크 처리 지연이 모니터링 되면, 해당 태스크를 다른 코어로 이동시키는 단계;는 제 1 코어에 배정된 제 1 태스크가 할당된 처리 시간을 초과하여 처리되는 경우 상기 제 1 태스크를 처리 여유가 존재하는 제 2 코어로 이동시키는 단계;를 더 포함할 수 있다.In addition, when the task processing delay is monitored in the core to which the task is allocated, the step of moving the task to another core includes: if the first task allocated to the first core is processed exceeding the allocated processing time, And moving the task to a second core in which a processing margin exists.

또한, 상기 태스크가 할당된 코어에서 태스크 처리 지연이 모니터링 되면, 해당 태스크를 다른 코어로 이동시키는 단계;는 상기 제 1 코어에 신규 태스크가 할당되는 경우 상기 신규 태스크를 처리 여유가 존재하는 제 2 코어로 이동시키는 단계;를 더 포함할 수 있다.The method of claim 1, further comprising: when a task delay is monitored on a core to which the task is allocated, moving the task to another core, if the new task is assigned to the first core, The method comprising the steps of:

본 발명의 다른 일 측면에 따르면, 태스크를 처리하는 복수의 코어;와 상기 복수의 코어에 적어도 하나 이상의 태스크를 할당하는 스케쥴러;와 상기 복수의 코어에서의 태스크 처리를 모니터링 하고, 임의의 제 1 코어에서 태스크 처리 지연이 모니터링 되면, 해당 태스크를 다른 코어로 이동시키는 제 2 코어;를 포함하는 차량의 멀티 코어 유닛이 제공될 수 있다.According to another aspect of the present invention, there is provided a method for managing a plurality of cores, the method comprising: a plurality of cores for processing tasks; a scheduler for allocating at least one task to the plurality of cores; And a second core for moving the task to another core when the task processing delay is monitored in the multi-core unit of the vehicle.

또한, 태스크 처리 지연은 상기 제 1 코어에 배정된 제 1 태스크가 할당된 처리 시간을 초과하여 처리되는 경우를 포함할 수 있다.In addition, the task processing delay may include a case where the first task assigned to the first core is processed in excess of the processing time allocated thereto.

또한, 태스크 처리 지연은 상기 제 1 코어에 신규 태스크가 할당되는 경우를 포함할 수 있다.The task processing delay may include a case where a new task is assigned to the first core.

본 발명의 또 다른 일 측면에 따르면, 태스크를 처리하는 복수의 코어;와 상기 복수의 코어에 적어도 하나 이상의 태스크를 할당하는 스케쥴러;와 상기 복수의 코어에서의 태스크 처리를 모니터링 하고, 임의의 제 1 코어에서 태스크 처리 지연이 모니터링 되면, 해당 태스크를 다른 코어로 이동시키는 제 2 코어;를 포함하는 차량의 멀티 코어 유닛으로 구성된 전자 제어 유닛이 제공될 수 있다.According to another aspect of the present invention, there is provided a computer program for causing a computer to function as: a plurality of cores for processing tasks; a scheduler for allocating at least one task to the plurality of cores; And a second core for moving the task to another core when the task processing delay is monitored in the core, may be provided.

또한, 차량의 제동 제어를 수행하기 위한 제어 신호를 생성하는 태스크를 포함할 수 있다.It may also include a task of generating a control signal for performing braking control of the vehicle.

본 발명의 실시 예는 전자 제어 유닛을 구성하는 멀티 코어 시스템에서 복수의 코어에 태스크가 할당될 때 신규 태스크가 특정 코어에 할당되는 경우에 발생할 수 있는 처리 속도 지연 문제를 해결할 수 있다.The embodiment of the present invention can solve the processing speed delay problem that may occur when a new task is assigned to a specific core when a task is assigned to a plurality of cores in a multicore system constituting an electronic control unit.

도 1은 본 발명에 따른 멀티 코어 시스템을 포함하는 전자 제어 유닛의 블록도이다.
도 2는 본 발명의 일 실시 예에 따른 멀티 코어 시스템의 동작을 나타낸 개략도이다.
도 3은 본 발명의 일 실시 예에 따른 멀티 코어 시스템에서 신규 태스크의 코어 간 이동을 나타낸 개략도이다.
도 4는 본 발명의 다른 일 실시 예에 따른 멀티 코어 시스템에서 기존 태스크의 코어 간 이동을 나타낸 개략도이다.
도 5는 본 발명의 일 실시 예에 따른 멀티 코어 제어 방법을 나타낸 순서도이다.
1 is a block diagram of an electronic control unit including a multicore system according to the present invention.
2 is a schematic diagram illustrating operation of a multicore system in accordance with an embodiment of the present invention.
3 is a schematic diagram illustrating inter-core movement of a new task in a multicore system according to an embodiment of the present invention.
FIG. 4 is a schematic diagram illustrating movement of an existing task among cores in a multicore system according to another embodiment of the present invention.
5 is a flowchart illustrating a multicore control method according to an embodiment of the present invention.

이하에서는 본 발명의 실시 예를 첨부 도면을 참조하여 상세히 설명한다. 이하의 실시 예는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 사상을 충분히 전달하기 위해 제시하는 것이다. 본 발명은 여기서 제시한 실시 예만으로 한정되지 않고 다른 형태로 구체화될 수도 있다. 도면은 본 발명을 명확히 하기 위해 설명과 관계없는 부분의 도시를 생략하고, 이해를 돕기 위해 구성요소의 크기를 다소 과장하여 표현할 수 있다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. The following embodiments are provided to fully convey the spirit of the present invention to a person having ordinary skill in the art to which the present invention belongs. The present invention is not limited to the embodiments shown herein but may be embodied in other forms. For the sake of clarity, the drawings are not drawn to scale, and the size of the elements may be slightly exaggerated to facilitate understanding.

본 발명의 일 실시예에 따르면, 도 1은 본 발명에 따른 멀티 코어 시스템을 포함하는 전자 제어 유닛의 블록도이고, 도 2는 본 발명의 일 실시 예에 따른 멀티 코어 시스템의 동작을 나타낸 개략도이며, 도 3은 본 발명의 일 실시 예에 따른 멀티 코어 시스템에서 신규 태스크의 코어 간 이동을 나타낸 개략도이며, 도 4는 본 발명의 다른 일 실시 예에 따른 멀티 코어 시스템에서 기존 태스크의 코어 간 이동을 나타낸 개략도이다.1 is a block diagram of an electronic control unit including a multicore system according to the present invention, and Fig. 2 is a schematic diagram showing the operation of a multicore system according to an embodiment of the present invention FIG. 3 is a schematic diagram illustrating a movement of a new task among cores in a multicore system according to an embodiment of the present invention. FIG. 4 is a diagram illustrating a movement of an existing task in a multicore system according to another embodiment of the present invention. Fig.

먼저, 도 1에 도시된 바와 같이, 본 발명은 도시된 전자 제어 유닛(10) 내에서의 데이터 처리를 위한 멀티 코어 시스템(100)을 포함하여 구성된다. First, as shown in Fig. 1, the present invention comprises a multicore system 100 for data processing in the electronic control unit 10 shown in the figure.

전자 제어 유닛(ECU: Electronic Control Unit)(10)은 자동차(1)의 복수의 장치의 구동을 위하여 전기적 신호를 입력 받아 제어 신호를 출력하는 것으로, 멀티 코어 시스템(100)의 동작을 통하여 제어가 가능하다.An electronic control unit (ECU) 10 receives an electric signal for driving a plurality of apparatuses of the vehicle 1 and outputs a control signal. The control unit 10 controls operation of the multi- It is possible.

따라서, 전자 제어 유닛(10)은 도시된 바와 같이, 전자 제어 유닛(10)을 구성하는 멀티 코어의 동작을 통하여 동작되는 메인 프로세서(20)와 각종 데이터를 저장하는 메모리(30)를 포함한다.The electronic control unit 10 includes a main processor 20 operated through the operation of the multicore constituting the electronic control unit 10 and a memory 30 for storing various data.

즉, 메인 프로세서(20)의 동작은 도 2 내지 도 4의 멀티 코어 간 데이터 처리 방법을 통하여 제어 신호의 출력이 가능할 수 있다.That is, the operation of the main processor 20 may be capable of outputting a control signal through the multi-core data processing method of FIGS.

먼저 도 2에 도시된 바와 같이, 본 발명에 따른 코어0, 코어1, ..., 코어 M을 포함하는 멀티 코어 시스템을 통하여 동작한다.First, as shown in FIG. 2, it operates through a multicore system including core 0, core 1,..., And core M according to the present invention.

통상적인 멀티 코어 제어 방법에 따라, 멀티 코어에 태스크가 할당된다. 즉, 도시된 바와 같이, 코어 0에 순차적으로 태스크01, 태스크02, ..., 순으로 태스크가 할당되고, 코어 1에 태스크 11, 태스크 12,..., 와 같이 지속적으로 태스크가 할당될 수 있다.According to a conventional multicore control method, a task is assigned to a multicore. That is, as shown in the figure, tasks are sequentially assigned to the core 0 in the order of task 01, task 02, ..., and tasks are continuously assigned to the core 1 as the tasks 11, 12, ... .

이 때, 태스크가 할당되는 순서는 Deterministic Mechanism에 따라 정적 우선 순위 스케쥴링 방법(Static priority scheduling) 이나 정적 데드라인 스케쥴링(Static deadline scheduling)방법에 의하여 할당될 수 있다. 다만, 이에 한정하는 것은 아니며, 제조사가 선택한 데이터 처리 방법에 따라 태스크가 각 코어에 할당될 수 있다.In this case, the order in which the tasks are allocated may be allocated by a static priority scheduling method or a static deadline scheduling method according to a deterministic mechanism. However, the present invention is not limited to this, and a task may be assigned to each core according to a data processing method selected by the manufacturer.

다만, 본 발명에 따른 멀티 코어 제어 시스템(1)은 모니터링 기능을 수행하는 특정 코어(도 1에서는 코어 M)를 마련한다. 즉, 코어 M 에서는 태스크가 처리되지 않으며, 코어 M을 제외한 복수의 코어 내 태스크 처리를 모니터링 한다. 이 때 코어 M에서 수행하는 모니터링 기능이란, 태스크 처리 과정에서 예상하지 못했던 신규 태스크가 진입한 경우를 관찰하는 것으로, 본 발명에 따른 멀티 코어 제어 시스템(1)은 예상하지 못한 신규 태스크가 진입 시 deterministic mechanism으로 데이터 처리를 수행하지 못하는 문제점을 해결하기 위한 것이다.However, the multicore control system 1 according to the present invention provides a specific core (core M in FIG. 1) that performs a monitoring function. That is, the task is not processed in the core M, and the task processing in the plurality of cores except the core M is monitored. At this time, the monitoring function performed by the core M is to observe a case where a new task that has not been expected in the task processing step is entered. The multicore control system 1 according to the present invention is a system in which a new task unexpectedly enters a deterministic This is to solve the problem that the data processing can not be performed by the mechanism.

구체적으로, 코어 M은 모니터링 기능을 수행하고, 나머지 코어들은 각각 deterministic mechanism에 따른 태스크 처리를 수행한다. 이 때, 특정 코어(코어 0)에서 할당된 시간보다 지연되어 태스크를 처리하거나, 예상치 못한 동작을 하는 경우이거나, 또는 예상치 못한 신규 태스크가 할당된 경우, 지연되어 처리하지 못한 태스크를 다른 코어(코어 1)로 이동시킨다.Specifically, the core M performs a monitoring function, and the remaining cores perform task processing according to a deterministic mechanism. At this time, when a task is delayed more than the time assigned in a specific core (core 0), an unexpected operation is performed, or an unexpected new task is assigned, 1).

또한, 코어 M 내 모니터링 기능은 Dependency Structure Matrix(DSM)을 포함하는 것으로, 태스크 간의 의존성을 분석하고, 시스템 전체의 성능에 영향을 끼치지 않는 범위 내에 지연된 태스크를 처리하기 위하여 태스크 처리 순서를 결정할 수 있다.In addition, the monitoring function in the core M includes the Dependency Structure Matrix (DSM), and it can analyze the dependency between the tasks and determine the task processing order in order to deal with the delayed task within the range that does not affect the performance of the entire system have.

코어 M 내 모니터링 기능은 오로지 동작하거나 지연되는 태스크들에 대하여 계산 가능한 파라미터들만 고려하여 수행되기 때문에 태스크의 코어 간 이동이 가속될 수 있다.Since the monitoring function in the core M is performed by considering only computable parameters for tasks that are only operating or delayed, the inter-core movement of the task can be accelerated.

스케쥴러는 사용자 또는 사용자 인터페이스(미도시)로부터 요청에 의하여 생성되는 프로세스들을 특정 코어에 할당하되, 태스크들을 할당하는 것은 각기 코어에서 deterministic mechanism에 따른 태스크 처리를 수행하도록 할당할 수 있다.The scheduler may allocate the processes generated by the request from the user or the user interface (not shown) to a specific core, and assigning tasks may be assigned to perform task processing according to a deterministic mechanism in each core.

도 2는 본 발명의 일 실시예에 따른 멀티 코어 제어 방법을 설명한 것이다. 코어 0과 코어 1은 전자 제어 유닛(10) 내 시스템의 특정 기능을 수행하는 것으로, 대부분의 태스크는 코어 0에서 수행된다. 코어 M은 오로지 모니터링 기능만 수행하는 것으로, 동작 및 지연 여부를 판단하기 위한 파라미터들에 대하여 지속적인 모니터링을 수행한다.2 illustrates a multicore control method according to an embodiment of the present invention. Core 0 and core 1 perform certain functions of the system in the electronic control unit 10, and most tasks are performed in core 0. The core M performs only monitoring functions, and performs continuous monitoring of parameters for determining operation and delay.

코어 0과 코어 1에서는 Deterministic 스케쥴링 알고리즘에 따라서 태스크 처리가 수행된다. 이 때, 도 2에 도시된 바와 같이, 예상치 못한 태스크(태스크 1U)가 코어 0에 할당되면, 전자 제어 유닛(10)의 처리 속도가 지연되는지 확인하기 위하여 코어 M에서 모니터링 기능을 수행하고, 코어 M의 모니터링 기능을 통하여 신규 태스크가 다른 코어로 이동가능한지를 결정한다. 이 때, 다른 코어에 충분한 여유가 확보되지 않으면, 현재 할당된 코어에서 코어 M의 모니터링 기능의 수행 결과 이동 가능한 다른 코어로 이동할 때까지 기다린다.In Core 0 and Core 1, task processing is performed according to a deterministic scheduling algorithm. At this time, if an unexpected task (task 1U) is assigned to core 0, as shown in Fig. 2, a monitoring function is performed in core M to check whether the processing speed of electronic control unit 10 is delayed, Through the monitoring function of M, it is determined whether a new task can be moved to another core. At this time, if sufficient margin is not ensured for another core, waiting for the currently allocated core to move to another movable core as a result of performing the monitoring function of the core M is performed.

다음으로, 도 3은 본 발명의 다른 일 실시예에 따른 멀티 코어 제어 방법을 설명한 것이다.Next, FIG. 3 illustrates a multicore control method according to another embodiment of the present invention.

도 3에 도시된 바와 같이, 태스크 01이 할당된 시간을 초과하여 처리되는 경우, 코어 M의 모니터링 기능을 통하여 태스크 01이 코어 간 이동을 통하여 처리 속도를 가속할 수 있는지를 결정한다. 즉, 도시된 바와 같이, 코어 1에 다음 태스크를 처리할 때까지 여유 시간이 존재하는 경우에 코어0에 배정되어 있던 태스크 01을 코어1로 이동시킨다. 이로서, 코어 0에 배정되어 있던 잇따르는 태스크 02, 태스크03,..., 이 지연되지 않고 처리될 수 있게 된다.As shown in FIG. 3, when the task 01 is processed exceeding the allocated time, the monitoring function of the core M determines whether the task 01 can accelerate the processing speed through the inter-core movement. That is, as shown in the figure, when there is a spare time until the next task is processed in the core 1, the task 01 assigned to the core 0 is moved to the core 1. As a result, the subsequent task 02, task 03, ... assigned to the core 0 can be processed without delay.

다음으로, 메모리(30)는 본 발명에 따른 차량(1)의 멀티 코어 시스템(1)의 프로그램 및 데이터를 기억한다. Next, the memory 30 stores programs and data of the multicore system 1 of the vehicle 1 according to the present invention.

구체적으로, 메모리(미도시)(30)은 S램(S-RAM), D랩(D-RAM) 등의 휘발성 메모리뿐만 아니라 플래시 메모리, 롬(Read Only Memory), 이피롬(Erasable Programmable Read Only Memory: EPROM), 이이피롬(Electrically Erasable Programmable Read OnlyMemory: EEPROM) 등의 비휘발성 메모리를 포함할 수 있다.Specifically, the memory (not shown) 30 may be a volatile memory such as a S-RAM or a D-RAM, as well as a flash memory, a read only memory, an erasable programmable read- A nonvolatile memory such as a memory (EPROM), an electrically erasable programmable read only memory (EEPROM), or the like.

비휘발성 메모리는 차량(1)의 고장 감지 시스템(1)의 동작을 제어하기 위한 제어 프로그램 및 제어 데이터를 반 영구적으로 저장할 수 있으며, 휘발성 메모리는 비휘발성 메모리로부터 제어 프로그램 및 제어 데이터를 불러와 임시로 기억하고, 메인 프로세서(20)에서 출력하는 각종 제어 신호를 임시로 저장할 수 있다.The non-volatile memory may semi-permanently store control programs and control data for controlling the operation of the fault detection system 1 of the vehicle 1, and the volatile memory may invoke control programs and control data from the non- And various control signals output from the main processor 20 can be temporarily stored.

이상에서는 차량(1)의 멀티 코어 시스템의 구성에 대하여 설명하였다.The configuration of the multicore system of the vehicle 1 has been described above.

이하 도 4에서는 차량의 멀티 코어 제어 방법의 동작에 대하여 설명한다.Hereinafter, the operation of the multicore control method of the vehicle will be described with reference to FIG.

먼저, 복수의 코어(코어1, 코어2, ... ,코어M) 중에서 복수의 코어 내 태스크처리 상태 등을 모니터링하는 모니터링 기능을 수행하는 코어를 지정한다(S10).First, a core that performs a monitoring function for monitoring a task processing state or the like in a plurality of cores among a plurality of cores (core 1, core 2, ..., core M) is designated (S10).

즉, 도 1에 도시된 바와 같이, 복수의 코어 중 코어 M은 나머지 코어의 태스크 처리를 관찰할 수 있다.That is, as shown in FIG. 1, the core M among the plurality of cores can observe the task processing of the remaining cores.

이 후, 지정된 코어에 태스크가 할당된다(S20). 구체적으로, 특정 데이터 처리를 위하여 각 코어 별로 코어 0에는 태스크 01, 태스크 02,..., 와 같이 순차적으로 데이터가 처리되며, 코어 1에는 태스크 11, 태스크 12,..., 와 같이 순차적으로 데이터가 처리되도록 복수개의 코어에 태스크가 할당된다.Thereafter, a task is assigned to the designated core (S20). Specifically, in order to process specific data, data is sequentially processed in the core 0 for each core as in the case of the task 01, the task 02, ..., and the core 1 is sequentially processed in the order of the task 11, the task 12, A task is assigned to a plurality of cores so that data is processed.

이 때, 신규 태스크가 특정 코어에 진입하게 되면(S30의 예), 코어 M은 모니터링 기능을 계속하여 수행하여 신규 태스크가 특정 코어에 진입할 경우 발생하게 될 지연 시간이 단축되는지를 확인하고, 신규 태스크가 진입할 새로운 코어로 변경이 가능한지 여부를 모니터링한다(S40). At this time, when the new task enters a specific core (YES in S30), the core M continuously performs the monitoring function to check whether the delay time to be generated when a new task enters a specific core is shortened, It is monitored whether the task can be changed to a new core to be entered (S40).

다만, 신규 테스트가 진입한 경우 이외에 특정 코어에서 특정 태스크를 할당된 시간보다 지연하여 처리하거나, 예상치 못한 동작을 하는 경우에도 특정 태스크를 새로운 코어로 변경할지 여부를 모니터링한다.However, in addition to the case where a new test is entered, a specific task is delayed from a specific time, or whether a specific task is changed to a new core even when an unexpected operation is performed.

이 때, 변경이 가능한지 여부를 모니터링 하는 것은 현재 할당된 코어에 신규 태스크가 진입 시 발생되는지연 시간보다 단축되는지를 확인하는 것으로 판단될 수 있다(S50). 즉, 지연 시간이 단축되면(S50의 예), 신규 태스크를 새로운 코어로 변경하여 진입시킨다(S60의 예). At this time, it can be determined that monitoring whether or not the change is possible is confirmed by checking whether the currently allocated core is shorter than the delay time generated when a new task is entered (S50). That is, if the delay time is shortened (YES in S50), the new task is changed to a new core and entered (YES in S60).

만일, 지연 시간이 단축되지 않으면(S50의 아니오), 코어 M에서 모니터링 기능 수행 시 신규 태스크를 현재 코어에 배정된 상태로 유지한다(S70).If the delay time is not shortened (NO in S50), the core M maintains the new task in the state allocated to the current core when performing the monitoring function (S70).

이상에서는 개시된 발명의 일 실시예에 대하여 도시하고 설명하였지만, 개시된 발명은 상술한 특정의 실시예에 한정되지 아니하며 청구범위에서 청구하는 요지를 벗어남 없이 개시된 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의하여 다양한 변형실시가 가능함을 물론이고 이러한 변형실시들은 개시된 발명으로부터 개별적으로 이해될 수 없다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is clearly understood that the same is by way of illustration and example only and is not to be construed as limited to the embodiments set forth herein; It will be understood that various modifications may be made without departing from the spirit and scope of the invention.

1: 차량
100: 멀티 코어 시스템
1: vehicle
100: Multicore system

Claims (8)

복수의 코어에 적어도 하나 이상의 태스크를 할당하는 단계;
상기 태스크가 할당된 복수의 코어의 태스크 처리를 모니터링 하는 단계;
상기 태스크가 할당된 코어에서 태스크 처리 지연이 모니터링 되면, 해당 태스크를 다른 코어로 이동시키는 단계;를 포함하는 차량의 멀티 코어 유닛 제어 방법.
Assigning at least one task to a plurality of cores;
Monitoring task processing of a plurality of cores to which the task is assigned;
And if the task processing delay is monitored in the core to which the task is allocated, moving the task to another core.
제 1 항에 있어서,
상기 태스크가 할당된 코어에서 태스크 처리 지연이 모니터링 되면, 해당 태스크를 다른 코어로 이동시키는 단계;는 제 1 코어에 배정된 제 1 태스크가 할당된 처리 시간을 초과하여 처리되는 경우 상기 제 1 태스크를 처리 여유가 존재하는 제 2 코어로 이동시키는 단계;를 더 포함하는 차량의 멀티 코어 유닛 제어 방법.
The method according to claim 1,
When a task processing delay is monitored in a core to which the task is allocated, moving the task to another core, if the first task assigned to the first core is processed beyond the allocated processing time, To a second core in which there is a processing margin.
제 1 항에 있어서,
상기 태스크가 할당된 코어에서 태스크 처리 지연이 모니터링 되면, 해당 태스크를 다른 코어로 이동시키는 단계;는 상기 제 1 코어에 신규 태스크가 할당되는 경우 상기 신규 태스크를 처리 여유가 존재하는 제 2 코어로 이동시키는 단계;를 더 포함하는 차량의 멀티 코어 유닛 제어 방법.
The method according to claim 1,
When a new task is allocated to the first core, moving the new task to a second core in which there is a processing margin, if the new task is allocated to the first core Said method comprising the steps of:
태스크를 처리하는 복수의 코어;
상기 복수의 코어에 적어도 하나 이상의 태스크를 할당하는 스케쥴러;
상기 복수의 코어에서의 태스크 처리를 모니터링 하고, 임의의 제 1 코어에서 태스크 처리 지연이 모니터링 되면, 해당 태스크를 다른 코어로 이동시키는 제 2 코어;를 포함하는 차량의 멀티 코어 유닛.
A plurality of cores for processing tasks;
A scheduler for assigning at least one task to the plurality of cores;
And a second core that monitors task processing in the plurality of cores and, when a task processing delay is monitored in any of the first cores, moves the task to another core.
제 4항에 있어서,
태스크 처리 지연은 상기 제 1 코어에 배정된 제 1 태스크가 할당된 처리 시간을 초과하여 처리되는 경우를 포함하는 차량의 멀티 코어 유닛.
5. The method of claim 4,
Wherein the task processing delay includes a case where the first task assigned to the first core is processed exceeding the processing time allocated thereto.
제 4항에 있어서,
태스크 처리 지연은 상기 제 1 코어에 신규 태스크가 할당되는 경우를 포함하는 차량의 멀티 코어 유닛.
5. The method of claim 4,
And a task processing delay includes a case where a new task is assigned to the first core.
태스크를 처리하는 복수의 코어;
상기 복수의 코어에 적어도 하나 이상의 태스크를 할당하는 스케쥴러;
상기 복수의 코어에서의 태스크 처리를 모니터링 하고, 임의의 제 1 코어에서 태스크 처리 지연이 모니터링 되면, 해당 태스크를 다른 코어로 이동시키는 제 2 코어;를 포함하는 차량의 멀티 코어 유닛으로 구성된 전자 제어 유닛.
A plurality of cores for processing tasks;
A scheduler for assigning at least one task to the plurality of cores;
And a second core for monitoring the task processing in the plurality of cores and for moving the task to another core when the task processing delay is monitored in any of the first cores. .
제 7항에 있어서,
차량의 제동 제어 신호를 생성하기 위한 태스크를 포함하는 차량의 멀티 코어 유닛으로 구성된 전자 제어 유닛.
8. The method of claim 7,
An electronic control unit comprising a multi-core unit of a vehicle including a task for generating a braking control signal of the vehicle.
KR1020160089218A 2016-07-14 2016-07-14 Multi core unit control method in a vehicle, multi core unit and electronic control unit comprising with multi core unit KR20180007823A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160089218A KR20180007823A (en) 2016-07-14 2016-07-14 Multi core unit control method in a vehicle, multi core unit and electronic control unit comprising with multi core unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160089218A KR20180007823A (en) 2016-07-14 2016-07-14 Multi core unit control method in a vehicle, multi core unit and electronic control unit comprising with multi core unit

Publications (1)

Publication Number Publication Date
KR20180007823A true KR20180007823A (en) 2018-01-24

Family

ID=61029412

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160089218A KR20180007823A (en) 2016-07-14 2016-07-14 Multi core unit control method in a vehicle, multi core unit and electronic control unit comprising with multi core unit

Country Status (1)

Country Link
KR (1) KR20180007823A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102252315B1 (en) 2019-12-30 2021-05-13 현대오트론 주식회사 Vehicular electronic control unit and monitoring method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102252315B1 (en) 2019-12-30 2021-05-13 현대오트론 주식회사 Vehicular electronic control unit and monitoring method thereof

Similar Documents

Publication Publication Date Title
CN109117260B (en) Task scheduling method, device, equipment and medium
US9612879B2 (en) System constraints-aware scheduler for heterogeneous computing architecture
KR101885211B1 (en) Method and apparatus for resource allocation of gpu
US20130346985A1 (en) Managing use of a field programmable gate array by multiple processes in an operating system
US8996811B2 (en) Scheduler, multi-core processor system, and scheduling method
CN108139946B (en) Method for efficient task scheduling in the presence of conflicts
CN103605568A (en) Multithread management method and device
US20210081248A1 (en) Task Scheduling
KR101458028B1 (en) Apparatus and method for parallel processing
JP7282823B2 (en) MEMORY ACCESS REQUEST SCHEDULING METHOD, APPARATUS, ELECTRONIC DEVICE, COMPUTER READABLE MEDIUM AND COMPUTER PROGRAM
KR101703328B1 (en) Apparatus and method for optimizing data processing over the heterogeneous multi-processor environment
US8108862B2 (en) Out-of-order thread scheduling based on processor idle time thresholds
WO2020121840A1 (en) Arithmetic control device
CN114730276A (en) Determining an optimal number of threads per core in a multi-core processor complex
CN107820605B (en) System and method for dynamic low-latency optimization
KR20130137503A (en) Apparatus for dynamic data processing using resource monitoring and method thereof
US10901883B2 (en) Embedded memory management scheme for real-time applications
JP4253796B2 (en) Computer and control method
KR20180007823A (en) Multi core unit control method in a vehicle, multi core unit and electronic control unit comprising with multi core unit
EP3401784A1 (en) Multicore processing system
WO2020163120A1 (en) Efficient scaling of a container-based application in a distributed computing system
JP6156379B2 (en) Scheduling apparatus and scheduling method
CN112654965A (en) External paging and swapping of dynamic modules
KR101952221B1 (en) Efficient Multitasking GPU with Latency Minimization and Cache boosting
US9021496B2 (en) Method and program for recording object allocation site