[go: up one dir, main page]

KR20130022976A - System and method for deadline based priority inheritance - Google Patents

System and method for deadline based priority inheritance Download PDF

Info

Publication number
KR20130022976A
KR20130022976A KR1020110086061A KR20110086061A KR20130022976A KR 20130022976 A KR20130022976 A KR 20130022976A KR 1020110086061 A KR1020110086061 A KR 1020110086061A KR 20110086061 A KR20110086061 A KR 20110086061A KR 20130022976 A KR20130022976 A KR 20130022976A
Authority
KR
South Korea
Prior art keywords
priority
task
deadline
tasks
inheritance
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
KR1020110086061A
Other languages
Korean (ko)
Other versions
KR101311305B1 (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 KR1020110086061A priority Critical patent/KR101311305B1/en
Publication of KR20130022976A publication Critical patent/KR20130022976A/en
Application granted granted Critical
Publication of KR101311305B1 publication Critical patent/KR101311305B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4831Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
    • G06F9/4837Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority time dependent
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/268Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 데드라인 기반의 우선순위 상속(priority inheritance) 시스템 및 그 방법에 관한 것이다.
본 발명은: 데드라인 기반 EDF(Earliest Deadline First) 스케줄링 시스템에서 "우선순위 역전" 현상을 방지하기 위해; 우선순위 상속 데드라인 기반 스케줄러가 매 클럭 틱 마다 지속적으로 임계구역 또는 서버 대기 태스크의 우선순위를 높여줄 때; 새롭게 형성된 대기 태스크의 최고 우선순위를 임계구역 실행 태스크나 서버 태스크에 지속적으로 상속시켜주는 것이다.
The present invention relates to a deadline based priority inheritance system and method thereof.
The present invention is directed to preventing " priority reversal " in a deadline-based Earliest Deadline First (EDF) scheduling system; Priority inheritance deadline-based scheduler continuously raises the priority of critical zones or server wait tasks at every clock tick; The highest priority of newly created standby task is continuously inherited by critical zone execution task or server task.

Description

데드라인 기반 우선순위상속 시스템 및 그 방법{SYSTEM AND METHOD FOR DEADLINE BASED PRIORITY INHERITANCE}Deadline-based priority inheritance system and its method {SYSTEM AND METHOD FOR DEADLINE BASED PRIORITY INHERITANCE}

본 발명은 임베디드 실시간 운영체제에 관한 것으로서, 특히 실시간 시스템에서 데드라인 기반의 우선순위 상속(priority inheritance) 시스템 및 그 방법에 관한 것이다.The present invention relates to an embedded real-time operating system, and more particularly, to a deadline-based priority inheritance system and a method thereof in a real-time system.

도 1은 분산 실시간 객체 모델 TMO(Time-triggered Message-triggered Object)의 구조이다.1 is a structure of a distributed real-time object model time-triggered message-triggered object (TMO).

도 1에 되시된 바와 같이, 분산 실시간 객체 모델 TMO(Time-triggered Message-triggered Object)는 정시보장 컴퓨팅 패러다임을 지향하는 모델로, 객체 내의 스레드를 수행할 때 설계 시 주어진 시간 제약 조건을 엄수하여, 수행 종료 데드라인 이내의 처리를 보장하는 모델이다. TMO는 일반적인 객체 모델과 달리 객체 내 자료 저장소와 이 자료를 제어하는 멤버 스레드인 SpM(Time-triggered Spontaneous Method)과 SvM(Message-triggered Service Method)으로 구성된다. SpM은 설계 시 주어진 시간 조건(AAC: Autonomous Activation Condition)에 의해 주기적으로, 구동되어 데드라인 이내의 처리가 가능하도록 스케쥴되면, SvM은 원격 혹은 로컬 노드에서의 서비스 요청 메시지에 의해 데드라인 기반으로 구동된다.As shown in FIG. 1, the distributed real-time object model TMO (Time-triggered Message-triggered Object) is a model for oriented on time computing computing paradigm, and adheres to the time constraints given at design time when performing a thread in an object. This model guarantees processing within the deadline. Unlike the general object model, the TMO consists of a data store within the object and a member thread that controls this data, the SpM (Time-triggered Spontaneous Method) and SvM (Message-triggered Service Method). If the SpM is scheduled to be driven periodically by a given time condition (Autonomous Activation Condition) at the time of design to allow processing within the deadline, the SvM is driven on a deadline basis by a service request message from a remote or local node. do.

TMO를 지원하기 위한 실행엔진의 하나로 오픈 소스 실시간 임베디드 OS인 eCos3.0에 TMO를 지원하기 위한 데드라인 기반 실시간 스케쥴러 기능과 분산 IPC 기능을 삽입하여 개발된 RT-eCos3.0[2,3]이 있다. RT-eCos3.0는 데드라인 기반 스케줄링을 제공하지만 mutex-lock의 우선순위 상속 처리에 있어, 기존의 단순 운선순위 방식이 아닌 데드라인에 가까워짐에 따라 동적으로 변화하는 lock 대기 스레드들의 우선순위를 동적으로 상속하는 시스템을 필요로 한다. 즉, SpM이나 SvM이 동일 TMO 객체 내의 자료 저장소에 접근할 때, mutex-lock을 사용하게 되는데, 전통적인 우선순위 상속 시스템은 mutex-lock 진입 스레드가 mutex-lock의 큐에 대기하는 SpM이나 SvM들 중 최고 우선 순위를 상속하는 방식이다.As an execution engine to support TMO, RT-eCos3.0 [2,3] developed by embedding deadline-based real-time scheduler function and distributed IPC function to support TMO in eCos3.0, an open source real-time embedded OS. have. RT-eCos3.0 provides deadline-based scheduling, but in the priority inheritance processing of mutex-locks, it dynamically adjusts the priority of lock wait threads that change dynamically as they approach the deadline rather than the conventional simple priority method. You need a system to inherit from. In other words, when a SpM or SvM accesses a data store within the same TMO object, it uses a mutex-lock. The traditional priority inheritance system uses one of the SpMs or SvMs that the mutex-lock entry thread queues to the mutex-lock. This method inherits the highest priority.

그러나, 데드라인 기반 스케줄링을 하는 RT-eCos3.0 TMO 엔진의 경우, 대기 중인 SpM이나 SvM들의 데드라인이 점점 가까워지므로 스레드들의 우선순위에 변화가 이루어져야 할 뿐만 아니라, 상속된 우선순위를 갖고 실행되는 스레드에 대한 우선순위 상속도 지속적으로 이루어져야 한다. 물론, 이때 lock을 갖고 실행 중인 스레드 자체의 데드라인 기반 우선순위도 고려되어야 한다. However, in the case of the RT-eCos3.0 TMO engine with deadline-based scheduling, the deadlines of the waiting SpMs or SvMs are getting closer, so that the priority of the threads must be changed, and they are executed with inherited priorities. Priority inheritance for threads must also continue. Of course, the deadline-based priority of the thread itself running with the lock must also be taken into account.

이하, TMO를 지원하기 위한 데드라인 기반 스케줄링을 제공하는 종래 운영체제 RT-eCos3.0를 설명한다.Hereinafter, a description will be given of a conventional operating system RT-eCos3.0 that provides a deadline-based scheduling to support TMO.

RT-eCos3.0는 임베디드 시스템을 위한 소형 오픈소스 운영체제인 eCos3.0 커널에 데드라인 기반 스케줄러 및 SpM/SvM의 처리, 분산 IPC 등의 기능을 갖는 TMO 엔진을 탑재한 실시간 임베디드 커널이다. RT-eCos3.0 is a real-time embedded kernel with the eCos3.0 kernel, a small open source operating system for embedded systems, a TMO engine with deadline-based scheduler, SpM / SvM processing, and distributed IPC.

RT-eCos3.0는 TMO 기반의 분산 실시간 객체 지원을 위해서 다음과 같은 기능을 제공한다:RT-eCos3.0 provides the following features for TMO-based distributed real-time object support:

- CPU의 성능에 따라 최소 30μs에서 10ms 까지의 정밀도로 SpM과 SvM의 데드라인 기반 실시간 스케줄링을 제공한다;-Provides deadline-based real-time scheduling of SpM and SvM with a precision of at least 30μs to 10ms depending on CPU performance;

- 실시간 메소드(method) SpM의 정시 구동(on-time Activation)을 제공한다.-Provides on-time activation of SpM.

- 논리적인 멀티캐스트 IPC 서브시스템을 제공한다;Provides a logical multicast IPC subsystem;

- 원격 및 로컬 메시지를 통한 실시간 메소드 SvM 구동을 제공한다;Provides real-time method SvM operation via remote and local messages;

-분산 노드 간의 클럭 동기화를 제공한다;Provide clock synchronization between distributed nodes;

- TMOSL(TMO Support Library)를 이용한 TMO 기반의 객체 지향 프로그밍 방법을 제공한다.
-Provides TMO-based object-oriented programming method using TMOL (TMO Support Library).

한편, 종래 우선순위 상속 기법은 다음의 두 가지 경우에 사용된다. Meanwhile, the conventional priority inheritance technique is used in the following two cases.

도 2 및 도 3은 종래 우선순위 상속 방법을 도시한 블록도이다. 도 2는 상호배제에 의한 임계구역 진입 처리과정의 기존의 우선순위 상속 기법을 설명하기 위한 도면이다. 도 3은 클라이언트-서버 모델에서의 서버 대기 시작 시의 기존의 우선순위 상속 기법을 설명하기 위한 도면이다.2 and 3 are block diagrams illustrating a conventional priority inheritance method. FIG. 2 is a view for explaining a conventional priority inheritance technique of the critical zone entry process by mutual exclusion. FIG. 3 is a diagram for explaining a conventional priority inheritance technique when starting server wait in a client-server model.

첫째, 도 2의 종래 우선순위 상속 기법은 다음과 같은 조건을 전제한다: 즉, 태스크 B(200)의 우선순위가 태스크 A(100)의 우선순위 보다 높고; 태스크 A(100)가 임계수역 내에 태스크 B(200)보다 먼저 진입한 경우에 있어서; 태스크 B(200)의 우선순위를 태스크 A(100)에 상속시켜주는 것이다. First, the conventional priority inheritance scheme of FIG. 2 assumes the following conditions: the priority of task B 200 is higher than the priority of task A 100; When task A 100 enters the critical body of water earlier than task B 200; The priority of task B 200 is inherited by task A 100.

도 2의 종래 우선순위 상속 기법을 더욱 상세히 설명하면 다음과 같다. 즉, 우선순위가 높은 태스크 B(200)가 임계구역에 상호배제에 의한 진입을 시도할 때, 이미 임계구역 내 우선순위가 낮은 진입 태스크 A(100)가 있을 경우, 임계구역 진입을 대기하게 되는 태스크 B(200)의 높은 우선순위를 임계구역에 이미 진입한 태스크에 상속시켜, EDF(Earliest Deadline First) 스케줄러(400)에 의해 다른 중간 우선순위의 태스크 C(300)에 스케줄을 뺏기지 않도록 (이를, "우선순위 역전"이라 한다) 하는 방법이다. 이때, 상기와 같이 다른 중간 우선순위의 태스크에게 스케쥴을 뺏기는 것을 "우선순위의 역전"이라 한다. The prioritized inheritance scheme of FIG. 2 is described in more detail as follows. That is, when task B 200 having high priority attempts to enter the critical area by mutual exclusion, if there is already entry task A 100 having a low priority in the critical area, the critical area is waited for entry. Inherit the high priority of task B 200 to a task that has already entered the critical zone so that it will not be deprived of schedules to other intermediate priority task C 300 by the Earliest Deadline First scheduler 400. "Priority reversal". At this time, it is referred to as "priority reversal" to deprive the schedule of another intermediate priority task as described above.

둘째, 도 3의 종래 우선순위 상속 기법은 다음과 같은 조건을 전제한다: 즉, 클라인언트 태스크 B(700)의 우선순위가 서버 태스크 A(600)의 우선순위보다 높고; 우선순위가 높은 클라이언트 태스크 B(700)가 우선순위가 낮은 서버 태스크A(600)에게 메시지를 보내 해당 요청을 처리 중일 때; 서버 태스크 A(600)는 메시지 서비스 중이이고, 반면 클라이언트 태스크 B(700)는 메시지 송신 후 서버의 서비스 종료를 대기 중에 있는 경우에 있어서; 클라이언트 태스크 B(700)의 우선순위를 서버 태스크 A(600)에 상속시켜주는 것이다. Second, the conventional priority inheritance scheme of FIG. 3 assumes the following conditions: the priority of client task B 700 is higher than the priority of server task A 600; When high priority client task B 700 is processing a request by sending a message to low priority server task A 600; Server task A 600 is in a message service, while client task B 700 is waiting for service termination of the server after sending a message; The priority of the client task B 700 is inherited by the server task A 600.

도 3의 종래 우선순위 상속 기법을 더욱 상세히 설명하면 다음과 같다. 즉, 우선순위가 높은 클라이언트 태스크 B(700)가 우선순위가 낮은 서버 태스크A(600)에게 메시지를 보내 해당 요청을 처리 중일 때, EDF 스케줄러(400)에 의해 다른 중간 우선순위의 태스크C(800)에게 서버가 스케줄을 뺏기지 않도록 (이를, "우선순위 역전"이라 한다), 서버 태스크 A (600)에게 클라이언트 태스크 B(700)의 높은 우선순위를 상속시키는 방법이다. The prioritized inheritance scheme of FIG. 3 is described in more detail as follows. That is, when high priority client task B 700 is processing a request by sending a message to low priority server task A 600, task C 800 of another intermediate priority is made by EDF scheduler 400. In order not to deprive the server of the schedule (this is referred to as " priority reversal "), the server task A 600 inherits the high priority of the client task B 700.

그러나, 도 2 및 도 3의 종래 우선순위 상속 기법은, 태스크 실행의 종료 데드라인 기반으로 대기 태스크의 우선순위가 시시각각 높아지는 데드라인 기반 EDF(Earliest Deadline First) 스케줄링 시스템에는 적합하지않는 기술적 한계를 내포하고 있다. 즉, 데드라인이 도래함에 따라 대기 태스크의 우선순위가 지속적으로 높아지게 되면, 대기 초기에 임계구역 진입 태스크(즉, 도 2에서 태스크 A(100))나 서버 태스크(즉, 도 3에서 서버 태스크 (600))에게 상속시킨 우선순위는, 현재의 대기 태스크의 최고 우선순위가 아니므로 다시 더 높은 중간 우선순위의 다른 태스크에 스케줄을 빼앗기는 "우선순위 역전"이 발생할 수 있는 기술적 문제점이 있다. However, the prioritized priority inheritance techniques of FIGS. 2 and 3 imply technical limitations that are not suitable for a deadline-based Earlyliest Deadline First (EDF) scheduling system in which the priority of waiting tasks is increased at a time based on the end deadline of task execution. Doing. That is, if the priority of the standby task continues to increase as the deadline arrives, the critical zone entry task (that is, task A 100 in FIG. 2) or the server task (that is, the server task ( Since the priority inherited to 600) is not the highest priority of the current waiting task, there is a technical problem that a "priority reversal" may occur, in which another schedule of higher middle priority is again deprived of a schedule.

따라서, 본 발명의 목적은, 상기와 같이 우선순위 상속을 하는 스케쥴링 시스템에서 우선순위 역전이 발생하지 않도록, 데드라인 기반의 우선순위 상속 방법을 제공하는 것이다.Accordingly, an object of the present invention is to provide a deadline-based priority inheritance method so that priority reversal does not occur in the scheduling system with priority inheritance as described above.

상기와 같은 목적을 달성하기 위하여, 본 발명에 따른 데드라인 기반의 우선순위 상속 방법은,In order to achieve the above object, the deadline-based priority inheritance method according to the present invention,

(A) 매 클럭 틱마다 작동하는 우선순위 상속 스케줄러가, 주기가 도래한 태스크들을 구동시키는 단계와; (B) 데드라인이 도래에 따라, 상기 우선순위 상속 스케줄러가, 태스크들의 우선순위를 각 태스크의 잔여 데드라인을 기반으로 재계산하는 단계와; (C) 상기 재계산된 태스크들의 우선순위를 임계 구역에서 실행 중인 태스크에게 상속시키는 단계; 포함하는 것을 특징으로 한다.(A) a priority inheritance scheduler running every clock tick, driving tasks that have come to a cycle; (B) as the deadline arrives, the priority inheritance scheduler recalculating the priority of tasks based on the remaining deadline of each task; (C) inheriting the priority of the recalculated tasks to tasks running in a critical zone; .

바람직하게는, 상기 (C) 단계는Preferably, step (C) is

상기 우선순위 상속 스케줄러가 모든 임계구역 별 대기 큐(Queue)에 대해 각각 큐에 대기 중인 태스크의 최고 우선순위를 선택하는 단계와;Selecting, by the priority inheritance scheduler, the highest priority of each queued task for each critical zone waiting queue;

상기 우선순위 상속 스케줄러가 상기 선택한 최고 우선순위를 임계구역 실행 중인 태스크에게 상속시키는 단계;를 포함하는 것을 특징으로 한다. And inheriting, by the priority inheritance scheduler, the selected highest priority to a task executing a critical section.

바람직하게는, 상기 (B) 단계는Preferably, step (B) is

상기 우선순위 상속 스케줄러가, 데드라인이 도래에 따라, The priority inheritance scheduler, as the deadline arrives,

수행 중이거나; 임계구역 대기 중이거나; 서버 완료 대기 중인; 모든 실시간 태스크의 우선순위를 잔여 데드라인을 기반으로 재계산하는 것을 특징으로 한다.Running; Critical zone waiting; Waiting for server to complete; The priority of all real-time tasks is recalculated based on the remaining deadlines.

바람직하게는, 상기 우선순위 상속 EDF 스케줄러는, 서버 별로 각각 해당 서비스 완료를 대기 중인 태스크들의 최고 우선순위를 선택하고, 그 선택한 최고 우선순위를 서버 태스크에게 상속시키는 단계;를 더 포함하는 것을 특징으로 한다. Preferably, the priority inheritance EDF scheduler further comprises: selecting the highest priority of tasks waiting to complete the service for each server and inheriting the selected highest priority to the server task; do.

또한, 상기와 같은 목적을 달성하기 위하여, 본 발명에 따른 데드라인 기반의 우선순위 상속 방법은,In addition, in order to achieve the above object, the deadline-based priority inheritance method according to the present invention,

데드라인이 도래함에 따라 우선순위 상속 스케줄러가 매 클럭 틱마다 스케줄링을 수행하는 우선순위 상속 방법으로서, Priority Inheritance is a priority inheritance method in which the priority inheritance scheduler schedules every clock tick as the deadline arrives.

임계구역 대기 큐(queue)에 대기 중인 태스크들, 또는 서버 대기 태스크들에 대해 우선순위를 재계산하는 단계와;Recalculating priorities for tasks waiting on a critical zone waiting queue, or server waiting tasks;

상기 재계산한 태스크들의 우선순위 중에 최고 우선순위를 상기 임계구역에 실행 중인 태스크 또는 상기 서버 태스크에게 동적으로 상속시키는 단계;를 포함하는 것을 특징으로 하는 . Dynamically inheriting a highest priority among the priorities of the recalculated tasks to a task running in the critical zone or the server task.

또한, 상기와 같은 목적을 달성하기 위하여, 본 발명에 따른 데드라인 기반의 우선순위 상속 방법은,In addition, in order to achieve the above object, the deadline-based priority inheritance method according to the present invention,

클라이언트-서버 모델에 있어서, 서버에 서비스 요구 메시지를 보내고 대기하는 모든 태스크들의 최고 우선순위를 서버 태스크에게 상속시키는 데드라인 기반의 우선순위 상속 방법으로서,In the client-server model, a deadline-based priority inheritance method that inherits the highest priority of all tasks that send and wait for a service request message to the server.

데드라인이 도래함에 따라 우선순위 상속 스케줄러에 의해 매 클럭 틱마다 변경되는 우선순위를 계산하는 단계와;Calculating a priority that is changed every clock tick by the priority inheritance scheduler as the deadline arrives;

상기 계산한 우선순위 중에서 최고의 우선순위를 선택하는 단계와;Selecting the highest priority from the calculated priorities;

상기 선택한 최고의 우선순위를 메시지 서비스 중인 서버 태스크에 상속시키는 단계;를 포함하는 것을 특징으로 한다.And inheriting the selected highest priority to a server task in a message service.

또한, 상기와 같은 목적을 달성하기 위하여, 본 발명에 따른 데드라인 기반 우선순위상속 시스템은,In addition, in order to achieve the above object, the deadline-based priority inheritance system according to the present invention,

주기적으로 태스크들을 구동시키고; Run tasks periodically;

데드라인이 도래함에 따라 태스크들의 우선순위를 매 클럭 틱 마다 재계산을 수행하고; Recalculate the priority of tasks every clock tick as the deadline arrives;

상기 재계산된 태스크들의 우선순위를 임계구역 진입 대기 중인 태스크들의 우선순위 또는 서버의 서비스 종료 대기 중인 태스크들의 우선순위를 상승시키고, 또한 임계구역 내에서 실행 중인 태스크 또는 메시지 서비스 중인 서버 태스크에게 상기 재계산된 태스크 우선순위를 상속시키는 동작을 수행하는 우선순위 상속 데드라인 기반 스케줄러를 포함하는 것을 특징으로 한다.The priority of the recalculated tasks is increased to the priority of the tasks waiting to enter the critical zone or the priority of the tasks waiting to be terminated from the service of the server. And a priority inheritance deadline-based scheduler that performs an operation of inheriting the calculated task priority.

바람직하게는, 상기 우선순위 상속 데드라인 기반 스케줄러는 Preferably, the priority inheritance deadline based scheduler

주기적으로 태스크들을 구동하는 태스크 구동기와;A task driver for periodically driving tasks;

데드라인이 도래함에 따라 태스크들의 우선순위를 매 클럭 틱 마다 재계산을 수행하는 태스크 우선순위 계산기와;A task priority calculator that recalculates the priority of tasks every clock tick as the deadline arrives;

상기 재계산한 태스크의 우선순위 중에서 최고의 우선순위를 선택하는 단계와;Selecting the highest priority from among the priorities of the recalculated tasks;

상기 선택한 최고의 우선순위를, 임계구역 내에서 실행 중인 태스크 또는 메시지 서비스 중인 서버 태스크에 상속시키는 태스크 우선순위 상속기;를 포함하는 것을 특징으로 한다.And a task priority inheritor that inherits the selected highest priority to a task executing in a critical region or a server task serving a message.

본 발명은, 매 클럭 틱 마다 지속적으로 임계구역 또는 서버 대기 태스크의 우선순위를 높여줄 때, 새롭게 형성된 대기 태스크의 최고 우선순위를 임계구역 실행 태스크나 서버 태스크에 지속적으로 상속시켜줌으로써, 데드라인 기반 EDF 스케줄링 시스템에서 "우선순위 역전" 현상을 방지하는 효과가 있다. According to the present invention, when the priority of a critical zone or a server waiting task is continuously increased at every clock tick, the deadline-based task is continuously inherited by continuously inheriting the highest priority of the newly formed standby task to a critical zone execution task or a server task. The EDF scheduling system has an effect of preventing the "priority reversal" phenomenon.

도 1은 분산 실시간 객체 모델 TMO(Time-triggered Message-triggered Object)의 구조이다.
도 2는 종래 우선순위 상속 기법으로서, 상호배제에 의한 임계구역 진입 처리과정의 기존의 우선순위 상속 기법을 설명하기 위한 도면이다.
도 3은 종래 우선순위 상속 기법으로서, 클라이언트-서버 모델에서의 서버 대기 시작 시의 기존의 우선순위 상속 기법을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시 예로서, 본 발명에 따른 상호배제에 의한 임계구역 진입 처리과정의 우선순위 상속 EDF(Earliest Deadline First) 스케줄러의 개입에 따른 데드라인 기반 우선순위 상속 기법을 나타낸 도면이다.
도 5는 본 발명의 일 실시 예로서, 본 발명에 따른 클라이언트-서버 모델에서의 우선순위 상속 EDF 스케줄러의 개입에 따른 데드라인 기반 우선순위 상속 기법을 나타낸 도면이다.
도 6은 본 발명의 일 실시 예로서, 본 발명에 따른 데드라인 기반 우선순위상속을 위한 우선순위 상속 EDF 스케줄러의 동작을 나타낸 흐름도이다.
1 is a structure of a distributed real-time object model time-triggered message-triggered object (TMO).
2 is a conventional priority inheritance technique, which is a view for explaining a conventional priority inheritance technique of the critical zone entry process by mutual exclusion.
FIG. 3 is a conventional priority inheritance scheme and illustrates a conventional priority inheritance technique at the start of server standby in the client-server model.
FIG. 4 is a diagram illustrating a deadline-based priority inheritance technique according to the intervention of the priority inheritance deadline first (EDF) scheduler in a critical zone entry process by mutual exclusion according to an embodiment of the present invention. .
FIG. 5 is a diagram illustrating a deadline-based priority inheritance technique according to an intervention of a priority inheritance EDF scheduler in the client-server model according to the present invention.
6 is a flowchart illustrating an operation of a priority inheritance EDF scheduler for deadline based priority inheritance according to an embodiment of the present invention.

본 발명은 스케줄링 시스템에 적용된다. 특히, 본 발명은 데드라인 기반의 우선순위 상속방법의 스케줄링 시스템에 적용된다. 그러나, 본 발명의 기술적 사상은 이에 한정하지 않고 타 기술에 적용될 수도 있다. The present invention is applied to a scheduling system. In particular, the present invention is applied to a scheduling system of a deadline-based priority inheritance method. However, the technical idea of the present invention may be applied to other technologies without being limited thereto.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. As the inventive concept allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.

제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항복들 중의 어느 항목을 포함한다.Terms including ordinal numbers such as first and second may be used to describe various components, but the components are not limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. The term " and / or " includes any combination of a plurality of related listed items or any of a plurality of related listed yields.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.When an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, but other elements may be present in between. On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.

본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, action, component, part, or combination thereof described on the specification, and one or more other features. It is to be understood that the present disclosure does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art and shall not be construed in ideal or excessively formal meanings unless expressly defined in this application. Do not.

이하, 첨부한 도면들을 참조하여 본 발명에 바람직한 실시 예를 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어 도면 부호에 상관없이 동일하거나 대응하는 구성요소는 동일한 참조번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. The description will be omitted.

본 발명의 기본 개념은: 데드라인 기반 EDF(Earliest Deadline First) 스케줄링 시스템에서 "우선순위 역전" 현상을 방지하기 위해; 우선순위 상속 데드라인 기반 스케줄러가 매 클럭 틱 마다 지속적으로 임계구역 또는 서버 대기 태스크의 우선순위를 높여줄 때; 새롭게 형성된 대기 태스크의 최고 우선순위를 임계구역 실행 태스크나 서버 태스크에 지속적으로 상속시켜주는 것이다.The basic idea of the present invention is to prevent "priority reversal" in a deadline-based Earliest Deadline First (EDF) scheduling system; Priority inheritance deadline-based scheduler continuously raises the priority of critical zones or server wait tasks at every clock tick; The highest priority of newly created standby task is continuously inherited by critical zone execution task or server task.

도 4는 본 발명의 일 실시 예로서, 본 발명에 따른 데드라인 기반 우선순위 상속 시스템의 동작을 나타낸 블록도이다. 도 4는 도 1의 종래 우선순위 상속 기법의 기술적 한계점을 해결한 실시 예이다.4 is a block diagram illustrating an operation of a deadline-based priority inheritance system according to an embodiment of the present invention. 4 is an embodiment of the technical limitations of the conventional priority inheritance scheme of FIG.

도 4에서, 태스크 B(200)의 우선순위가 태스크 A(100)의 우선순위보다 높고; 태스크 A(100)가 임계수역 내에 태스크 B(200)보다 먼저 진입한 경우에 있어서; 태스크 B(200)의 우선순위를 태스크 A(100)에 상속시켜줄 때, 임계구역과 무관한 태스크 C(300)가 우선순위를 빼앗음으로써(즉 "우선순위 역전"), 태스크 B(200)의 우선순위를 태스크 A(100)에게 상속되지 않는 현상을 방지하는 것이다. 한편, 이러한 "우선순위 역전"은 데드라인이 도래함에 따라, 태스크들의 우선순위가 변경됨으로써 발생할 수 있다.In FIG. 4, the priority of task B 200 is higher than the priority of task A 100; When task A 100 enters the critical body of water earlier than task B 200; When inheriting the priority of task B 200 to task A 100, task C 300 irrelevant to the critical zone is deprived of priority (ie, "priority reversal"), so that task B 200 's This is to prevent the phenomenon that priority is not inherited by task A (100). On the other hand, such "priority reversal" may occur as the priority of tasks changes as the deadline arrives.

도 4의 실시 예에 따른 상호배제에서의 데드라인 기반 우선순위 상속 시스템은, 임계구역에 진입하여 그 내부에서 실행 중인 낮은 우선순위의 태스크 A(100)와, 높은 우선순위의 임계구역 진입 대기 태스크 B(200)와, 임계구역과 무관한 중간 우선순위의 태스크 C(300)와, 우선순위 상속 데드라인 기반 스케줄러(500)로 구성된다. 한편, 상기 우선순위 상속 데드라인 기반 스케쥴러(500)는 주기적 태스크 구동기(510)과, 태스크 우선순위 재계산기(520)과, 임계구역 실행 태스크 우선순위 상속기(530)로 구성된다.The deadline-based priority inheritance system in mutual exclusion according to the embodiment of FIG. 4 includes a low priority task A (100) entering a critical zone and executing therein, and a high priority critical zone entry waiting task. B 200, a task C 300 of intermediate priority irrelevant to a critical zone, and a priority inheritance deadline based scheduler 500. Meanwhile, the priority inheritance deadline based scheduler 500 includes a periodic task driver 510, a task priority recalculator 520, and a critical zone execution task priority inheritor 530.

상기 우선순위 상속 데드라인 기반 스케줄러(500)는 매 클럭 틱 마다 주기적 태스크 구동기(510)에 의해 스케줄링을 수행하고, 특히 임계구역에 대기 중인 태스크도 데드라인 도래에 따라 우선순위를 상속시켜주기 위해 태스크 우선순위 재계산기(520)가 태스크의 우선순위를 다시 계산한다. 그리고, 그 재계산된 태스크의 우선순위는 임계구역 실행 태스크 우선순위 상속기(530)의 의해 임계구역 내에서 실행중인 태스크에게 상속된다. The priority inheritance deadline-based scheduler 500 performs the scheduling by the periodic task driver 510 every clock tick, and in particular, the task waiting in the critical zone to inherit the priority as the deadline arrives. Priority recalculator 520 recalculates the priority of the task. Then, the priority of the recalculated task is inherited by the task executing in the critical zone by the critical zone execution task priority inheritor 530.

이상과 같이, 본 발명에 따른 우선순위 상속 데드라인 기반 스케줄러(500)는 매 클럭 틱 마다 주기가 도래한 태스크를 실행시킨다. 그리고, 우선순위 상속 데드라인 기반 스케줄러(500)는 데드라인이 도래함에 따라, 모든 실행 중인 태스크들과, 임계구역 진입 대기, 서버 종료 대기 태스크들의 잔여 종료 데드라인에 의한 태스크의 우선순위를 재계산한다(즉, 태스크 우선순위 재계산기(520)가 수행). 우선순위 상속 데드라인 기반 스케줄러(500)는 모든 임계구역의 대기 큐(queue)에 대해 대기 큐 마다 대기 중인 태스크들의 최고 우선순위를 각 임계구역에서 실행 중인 태스크에게 새로이 상속시킨다. 즉, 우선순위 상속 데드라인 기반 스케줄러(500)는 상기 재계산된 태스크의 우선순위를 임계구역에 대기 중인 태스크 B(200)의 우선순위를 상속시키고, 또한 임계구역 내에서 실행 중인 태스크 A(100)에게도 재계산된 태스크 우선순위가 상속되도록 동작(제어)한다 (즉, 임계구역 실행 태스크 우선순위 상속기(520)가 수행). As described above, the priority inheritance deadline-based scheduler 500 according to the present invention executes a task with a period that arrives every clock tick. Then, the priority inheritance deadline-based scheduler 500 recalculates the priority of all running tasks and the tasks due to the remaining end deadlines of the critical zone entry waiting and server shutdown waiting tasks as the deadline arrives. (Ie, task priority recalculator 520 performs). Priority Inheritance The deadline-based scheduler 500 newly inherits the highest priority of tasks waiting in each waiting queue for the waiting queues of all the critical zones to the tasks running in each critical zone. That is, priority inheritance deadline-based scheduler 500 inherits the priority of task B 200 waiting in the critical zone for the priority of the recalculated task, and also executes task A 100 running in the critical zone. ), So that the recalculated task priority is inherited (ie, performed by the critical zone execution task priority inheritor 520).

따라서, 도 4의 실시 예의 구성과 같이, 임계구역 대기 태스크 B(200)의 변화하는 높은 우선순위는 임계구역 대기 시작 시뿐만 아니라, 지속적으로 우선순위 상속 데드라인 기반 스케줄러(500)에 의해 임계구역에 진입 수행중인 태스크 A(100)에게 상속된다. 즉, 매 클럭 틱 마다 수행되는 우선순위 상속 데드라인 기반 스케줄러(500)에 의해, 임계구역 대기 태스크 B(200)의 우선순위가 데드라인 임박함에 따라 높아지게 되고, 우선순위 상속 데드라인 기반 스케줄러(500)는 이러한 임계구역 대기 태스크들 중 가장 높은 새로운 우선순위로 상속시키게 된다.
Accordingly, as in the configuration of the embodiment of FIG. 4, the changing high priority of the critical zone wait task B 200 is not only at the critical zone wait start but also continuously by the priority inheritance deadline based scheduler 500. Inherited to task A (100) performing entry. That is, by the priority inheritance deadline-based scheduler 500 performed every clock tick, the priority of the critical zone waiting task B 200 is increased as the deadline is imminent, and the priority inheritance deadline-based scheduler 500 is performed. ) Will inherit the highest new priority among these critical zone wait tasks.

도 5는 본 발명의 일 실시 예로서, 본 발명에 따른 데드라인 기반 우선순위 상속 시스템의 동작을 나타낸 블록도이다. 도 5는 도 2의 종래 우선순위 상속 기법의 기술적 한계점을 해결한 실시 예이다.5 is a block diagram illustrating an operation of a deadline-based priority inheritance system according to an embodiment of the present invention. FIG. 5 is an embodiment in which the technical limitations of the conventional priority inheritance scheme of FIG. 2 are solved. FIG.

도 5에서, 클라인언트 태스크 B(700)의 우선순위가 서버 태스크 A(600)의 우선순위보다 높고; 우선순위가 높은 클라이언트 태스크 B(700)가 우선순위가 낮은 서버 태스크A(600)에게 메시지를 보내 해당 요청을 처리 중일 때; 서버 태스크 A(600)는 메시지 서비스 중이이고, 반면 클라이언트 태스크 B(700)는 메시지 송신 후 서버의 서비스 종료를 대기 중에 있는 경우에 있어서; 클라이언트 태스크 B(700)의 우선순위를 서버 태스크 A(600)에 상속시켜줄 때, 서버와 무관한 태스크 C(300)가 우선순위를 빼앗아 (즉 "우선순위 역전") 서버 태스크 A(600)보다 먼저 스케줄링되는 것을 방지하는 것이다. In FIG. 5, the priority of client task B 700 is higher than the priority of server task A 600; When high priority client task B 700 is processing a request by sending a message to low priority server task A 600; Server task A 600 is in a message service, while client task B 700 is waiting for service termination of the server after sending a message; When inheriting the priority of client task B 700 to server task A 600, server-independent task C 300 takes priority (i.e. " reversing priority ") than server task A 600. It is to prevent scheduling first.

즉, 도 5의 실시 예에 따른 클라이언트-서버 모델에서의 데드라인 기반 우선순위 상속 시스템은, 클라이언트의 메시지를 받아 서비스 중인 낮은 우선순위의 서버 태스크 A(600)와, 높은 우선순위의 서비스 종료 대기 클라이언트 태스크 B(700) 와, 클라이언트나 서버 태스크와 무관한 중간 우선순위의 일반 태스크 C(800)와, 우선순위 상속 데드라인 기반 스케줄러(500)로 구성된다. 한편, 상기 우선순위 상속 데드라인 기반 스케줄러(500)는 주기적 태스크 구동기(510)과, 태스크 우선순위 재계산기(520)과, 서버 태스크 우선순위 상속기(540)으로 구성된다.That is, the deadline-based priority inheritance system in the client-server model according to the embodiment of FIG. 5 includes a low priority server task A 600 that is receiving a message from a client and is waiting to terminate a high priority service. Client task B 700, a general task C 800 of medium priority independent of client or server tasks, and priority inheritance deadline based scheduler 500. The priority inheritance deadline based scheduler 500 includes a periodic task driver 510, a task priority recalculator 520, and a server task priority inheritor 540.

본 발명에 따른 우선순위 상속 데드라인 기반 스케줄러(500)는 매 클럭 틱 마다 주기가 도래한 태스크를 실행시킨다. 그리고, 우선순위 상속 데드라인 기반 스케줄러(500)는 데드라인이 도래함에 따라, 모든 실행 중인 태스크들과, 임계구역 진입 대기, 서버 종료 대기 태스크들의 잔여 종료 데드라인에 의한 태스크의 우선순위를 재계산한다. 우선순위 상속 데드라인 기반 스케줄러(500)는 모든 임계구역의 대기 큐(queue)에 대해 대기 큐 마다 대기 중인 태스크들의 최고 우선순위를 각 임계구역에서 실행 중인 태스크에게 새로이 상속시킨다. 즉, 우선순위 상속 데드라인 기반 스케줄러(500)는 그 재계산된 태스크의 우선순위를 서버의 서비스 종료 대기 중인 클라이언트 태스크 B(700)의 우선순위를 상승시키고, 또한 메시지 서비스 중인 서버 태스크 A(100)에게도 재계산된 태스크 우선순위가 상속되도록 동작(제어)한다. 즉, 우선순위 상속 데드라인 기반 스케줄러(500)는 데드라인이 도래함에 따라 우선순위를 지속적으로 변경(또는 재계산)하여, 그 변경된 우선순위를 서버 태스크 A(600)에 상속시킨다. The priority inheritance deadline-based scheduler 500 according to the present invention executes a task with a period that arrives every clock tick. Then, the priority inheritance deadline-based scheduler 500 recalculates the priority of all running tasks and the tasks due to the remaining end deadlines of the critical zone entry waiting and server shutdown waiting tasks as the deadline arrives. do. Priority Inheritance The deadline-based scheduler 500 newly inherits the highest priority of tasks waiting in each waiting queue for the waiting queues of all the critical zones to the tasks running in each critical zone. That is, the priority inheritance deadline-based scheduler 500 raises the priority of the recalculated task to the priority of the client task B 700 that is waiting to terminate the service of the server, and also the server task A 100 that is in the message service. ) Also inherits the recalculated task priority. That is, the priority inheritance deadline-based scheduler 500 continuously changes (or recalculates) the priority as the deadline arrives, and inherits the changed priority to the server task A 600.

이때, 태스크 우선순위 재계산기(520)는 데드라인이 도래함에 다라 우선순위를 재계산한다. 그리고, 서버 태스크 우선순위 상속기(540)는, 상기 태스크 우선순위 재계산기(520)가 계산한 우선순위를, '메시지 송신 후 서버의 서비스 종료 대기 중인 상기 클라이언트 태스크 B(700)'에게 전달하여 우선순위를 상승시켜고, 또한 '메시지 서비스 중인 서버 태스크 A(600)'에게도 우선순위가 상승된 클라이언트 태스크 B의 우선순위가 상속되도록 동작(또는 제어)한다.At this time, the task priority recalculator 520 recalculates the priority as the deadline arrives. The server task priority inheritor 540 transfers the priority calculated by the task priority recalculator 520 to the client task B 700 waiting for service termination of the server after the message is transmitted. The priority is increased and the server task A 600 in message service is also operated (or controlled) so that the priority of the client task B whose priority is increased is inherited.

따라서, 도 5의 실시 예의 구성과 같이, 서비스 종료 대기 중인 클라이언트 태스크 B(700)의 높은 우선순위는 서비스 요구 메시지 송신 시뿐만 아니라, 지속적으로 우선순위 상속 데드라인 기반 스케줄러(500)에 의해 서버 태스크 A(600)에게 상속된다. 즉, 매 클럭 틱 마다 수행되는 데드라인 기반 스케줄러(500)에 의해 대기 클라이언트 태스크들의 우선순위가 데드라인 임박함으로 해서 높아지게 되고, 우선순위 상속 데드라인 기반 스케줄러(500)는 이러한 서버 대기 태스크들을 가지는 서버 태스크의 우선순위를 서버 대기 태스크들의 새로운 최고 우선순위로 지속적으로 상속시키게 된다.Accordingly, as shown in the configuration of the embodiment of FIG. 5, the high priority of the client task B 700 which is waiting for service termination is not only at the time of transmission of the service request message, but also continuously by the priority inheritance deadline-based scheduler 500. Inherited by A 600. That is, the priority of the waiting client tasks is increased by the deadline imminent by the deadline-based scheduler 500 performed every clock tick, and the priority inheritance deadline-based scheduler 500 is a server having such server waiting tasks. The task's priority will continue to be inherited by the new highest priority of server wait tasks.

도 6은 본 발명의 일 실시 예로서, 본 발명에 따른 데드라인 기반의 우선순위 상속 방법의 동작을 나타낸 흐름도이다.6 is a flowchart illustrating an operation of a deadline-based priority inheritance method according to an embodiment of the present invention.

도 4 및 도 5에 도시된 바와 같이, 본 발명의 실시 예들은 는 두 가지 경우에 데드라인 기반 우선순위 상속에서 적용된다. 도 4 및 도 5의 실시 예와 같이, 본 발명에 따른 우선순위 상속 EDF(Earliest Deadline First) 스케줄러는, 도 2 내지 도 3의 종래 EDF 스케줄러에 비교하여 볼 때, 매 클럭 틱마다 임계구역 및 클라이언트-서버 우선순위 상속을 하는 동작과 그 동작을 수행하는 구성요소를 포함하고 있다. As shown in Figures 4 and 5, embodiments of the present invention apply to deadline based priority inheritance in two cases. As shown in the embodiments of FIGS. 4 and 5, the priority inheritance early deadline first (EDF) scheduler according to the present invention, as compared to the conventional EDF scheduler of FIGS. It contains the operations that perform server priority inheritance and the components that perform them.

본 발명에 따른 우선순위 상속 EDF 스케줄러는, 매 클럭 틱마다 작동하여 데드라인인 도래에 따라 재계산한 우선순위를 태스크에 상속시키는 동작을 수행한다. 즉, 도 6을 참조하면, 우선순위 상속 EDF 스케줄러는, 주기가 도래한 태스크를 구동시킨다(S610). The priority inheritance EDF scheduler according to the present invention operates every clock tick to perform an operation of inheriting a priority that is recalculated according to the deadline. That is, referring to FIG. 6, the priority inheritance EDF scheduler drives a task in which a period arrives (S610).

우선순위 상속 EDF 스케줄러는: i)수행 중이거나; ii) 임계구역 대기 중이거나; iii) 서버 완료 대기 중인; 모든 실시간 태스크의 우선순위를 잔여 데드라인을 기반으로 재계산한다(S620). The priority inheritance EDF scheduler is: i) running; ii) being in a critical zone atmosphere; iii) waiting for server completion; Priorities of all real-time tasks are recalculated based on the remaining deadlines (S620).

우선순위 상속 EDF 스케줄러는, 모든 임계구역 별 대기 큐(Queue)에 대해 각각 큐에 대기 중인 태스크의 최고 우선순위를 선택해서, 그 선택한 최고 우선순위를 임계구역 실행 중인 태스크에게 새로이 상속시킨다(S630). Priority Inheritance The EDF scheduler selects the highest priority of the tasks waiting in the queue for each critical zone waiting queue, and newly inherits the selected highest priority to the critical zone running task (S630). .

이어서, 우선순위 상속 EDF 스케줄러는, 모든 서버 별로 각각 해당 서비스 완료를 대기 중인 태스크들의 최고 우선순위를 골라 이를 서버 태스크에게 새로이 상속시킨다(S640). Subsequently, the priority inheritance EDF scheduler selects the highest priority of tasks waiting to complete the corresponding service for each server and newly inherits it to the server task (S640).

이상, 본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims. will be. Accordingly, the true scope of the present invention should be determined by the technical idea of the appended claims.

Claims (8)

(A) 매 클럭 틱마다 작동하는 우선순위 상속 스케줄러가, 주기가 도래한 태스크들을 구동시키는 단계와;
(B) 데드라인이 도래에 따라, 상기 우선순위 상속 스케줄러가, 태스크들의 우선순위를 각 태스크의 잔여 데드라인을 기반으로 재계산하는 단계와;
(C) 상기 재계산된 태스크들의 우선순위를 임계 구역에서 실행 중인 태스크에게 상속시키는 단계; 포함하는 것을 특징으로 데드라인 기반의 우선순위 상속 방법.
(A) a priority inheritance scheduler running every clock tick, driving tasks that have come to a cycle;
(B) as the deadline arrives, the priority inheritance scheduler recalculating the priority of tasks based on the remaining deadline of each task;
(C) inheriting the priority of the recalculated tasks to tasks running in a critical zone; Deadline-based priority inheritance method characterized in that it comprises a.
제1항에 있어서, 상기 (C) 단계는
상기 우선순위 상속 스케줄러가 모든 임계구역 별 대기 큐(Queue)에 대해 각각 큐에 대기 중인 태스크의 최고 우선순위를 선택하는 단계와;
상기 우선순위 상속 스케줄러가 상기 선택한 최고 우선순위를 임계구역 실행 중인 태스크에게 상속시키는 단계;를 포함하는 것을 특징으로 데드라인 기반의 우선순위 상속 방법.
The method of claim 1, wherein step (C)
Selecting, by the priority inheritance scheduler, the highest priority of each queued task for each critical zone waiting queue;
And inheriting, by the priority inheritance scheduler, the selected highest priority to a task executing a critical zone.
제1항에 있어서, 상기 (B) 단계는
상기 우선순위 상속 스케줄러가, 데드라인이 도래에 따라,
수행 중이거나; 임계구역 대기 중이거나; 서버 완료 대기 중인; 모든 실시간 태스크의 우선순위를 잔여 데드라인을 기반으로 재계산하는 것을 특징으로 하는 데드라인 기반의 우선순위 상속 방법.
The method of claim 1, wherein step (B)
The priority inheritance scheduler, as the deadline arrives,
Running; Critical zone waiting; Waiting for server to complete; Deadline-based priority inheritance method characterized in that the priority of all the real-time tasks are recalculated based on the remaining deadline.
제1항에 있어서
상기 우선순위 상속 EDF 스케줄러는, 서버 별로 각각 해당 서비스 완료를 대기 중인 태스크들의 최고 우선순위를 선택하고, 그 선택한 최고 우선순위를 서버 태스크에게 상속시키는 단계;를 더 포함하는 것을 특징으로 데드라인 기반의 우선순위 상속 방법.
The method of claim 1, wherein
The priority inheritance EDF scheduler, selecting the highest priority of each task waiting to complete the service for each server, and inheriting the selected highest priority to the server task; characterized in that the deadline-based Priority Inheritance Method.
데드라인이 도래함에 따라 우선순위 상속 스케줄러가 매 클럭 틱마다 스케줄링을 수행하는 우선순위 상속 방법으로서,
임계구역 대기 큐(queue)에 대기 중인 태스크들, 또는 서버 대기 태스크들에 대해 우선순위를 재계산하는 단계와;
상기 재계산한 태스크들의 우선순위 중에 최고 우선순위를 상기 임계구역에 실행 중인 태스크 또는 상기 서버 태스크에게 동적으로 상속시키는 단계;를 포함하는 것을 특징으로 하는 데드라인 기반의 우선순위 상속 방법.
Priority Inheritance is a priority inheritance method in which the priority inheritance scheduler schedules every clock tick as the deadline arrives.
Recalculating priorities for tasks waiting on a critical zone waiting queue, or server waiting tasks;
And dynamically inheriting a highest priority among the priorities of the recalculated tasks to a task running in the critical zone or the server task.
클라이언트-서버 모델에 있어서, 서버에 서비스 요구 메시지를 보내고 대기하는 모든 태스크들의 최고 우선순위를 서버 태스크에게 상속시키는 데드라인 기반의 우선순위 상속 방법으로서,
데드라인이 도래함에 따라 우선순위 상속 스케줄러에 의해 매 클럭 틱마다 변경되는 우선순위를 계산하는 단계와;
상기 계산한 우선순위 중에서 최고의 우선순위를 선택하는 단계와;
상기 선택한 최고의 우선순위를 메시지 서비스 중인 서버 태스크에 상속시키는 단계;를 포함하는 것을 특징으로 하는 데드라인 기반의 우선순위 상속 방법.
In the client-server model, a deadline-based priority inheritance method that inherits the highest priority of all tasks that send and wait for a service request message to the server.
Calculating a priority that is changed every clock tick by the priority inheritance scheduler as the deadline arrives;
Selecting the highest priority from the calculated priorities;
And inheriting the selected highest priority to a server task in a message service.
주기적으로 태스크들을 구동시키고;
데드라인이 도래함에 따라 태스크들의 우선순위를 매 클럭 틱 마다 재계산을 수행하고;
상기 재계산된 태스크들의 우선순위를 임계구역 진입 대기 중인 태스크들의 우선순위 또는 서버의 서비스 종료 대기 중인 태스크들의 우선순위를 상승시키고, 또한 임계구역 내에서 실행 중인 태스크 또는 메시지 서비스 중인 서버 태스크에게 상기 재계산된 태스크 우선순위를 상속시키는 동작을 수행하는 우선순위 상속 데드라인 기반 스케줄러를 포함하는 것을 특징으로 하는 데드라인 기반 우선순위상속 시스템.
Run tasks periodically;
Recalculate the priority of tasks every clock tick as the deadline arrives;
The priority of the recalculated tasks is increased to the priority of the tasks waiting to enter the critical zone or the priority of the tasks waiting to be terminated from the service of the server. And a priority inheritance deadline-based scheduler that performs an operation of inheriting the calculated task priority.
제7항에 있어서, 상기 우선순위 상속 데드라인 기반 스케줄러는
주기적으로 태스크들을 구동하는 태스크 구동기와;
데드라인이 도래함에 따라 태스크들의 우선순위를 매 클럭 틱 마다 재계산을 수행하는 태스크 우선순위 계산기와;
상기 재계산한 태스크의 우선순위 중에서 최고의 우선순위를 선택하는 단계와;
상기 선택한 최고의 우선순위를, 임계구역 내에서 실행 중인 태스크 또는 메시지 서비스 중인 서버 태스크에 상속시키는 태스크 우선순위 상속기;를 포함하는 것을 특징으로 하는 데드라인 기반 우선순위상속 시스템.
8. The system of claim 7, wherein the priority inheritance deadline based scheduler
A task driver for periodically driving tasks;
A task priority calculator that recalculates the priority of tasks every clock tick as the deadline arrives;
Selecting the highest priority from among the priorities of the recalculated tasks;
And a task priority inheritor for inheriting the selected highest priority to a task executing in a critical section or a server task serving a message.
KR1020110086061A 2011-08-26 2011-08-26 System and method for deadline based priority inheritance Active KR101311305B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110086061A KR101311305B1 (en) 2011-08-26 2011-08-26 System and method for deadline based priority inheritance

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110086061A KR101311305B1 (en) 2011-08-26 2011-08-26 System and method for deadline based priority inheritance

Publications (2)

Publication Number Publication Date
KR20130022976A true KR20130022976A (en) 2013-03-07
KR101311305B1 KR101311305B1 (en) 2013-09-25

Family

ID=48175535

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110086061A Active KR101311305B1 (en) 2011-08-26 2011-08-26 System and method for deadline based priority inheritance

Country Status (1)

Country Link
KR (1) KR101311305B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016115000A1 (en) * 2015-01-15 2016-07-21 Microsoft Technology Licensing, Llc Hybrid scheduler and power manager
CN111626531A (en) * 2019-02-28 2020-09-04 贵阳海信网络科技有限公司 Risk control method, device, system and storage medium

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104182180B (en) * 2014-07-30 2017-03-22 山东大学 Low-energy EDF (earliest deadline first) real-time task scheduling method for mixed main memory embedded system
JP6532385B2 (en) 2015-11-02 2019-06-19 キヤノン株式会社 INFORMATION PROCESSING SYSTEM, CONTROL METHOD THEREOF, AND PROGRAM
KR102012182B1 (en) * 2018-02-01 2019-10-21 충남대학교산학협력단 Task scheduling method for an improved responsiveness of processors without the violations of virtual deadlines

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5793747A (en) * 1996-03-14 1998-08-11 Motorola, Inc. Event-driven cell scheduler and method for supporting multiple service categories in a communication network
US6317774B1 (en) 1997-01-09 2001-11-13 Microsoft Corporation Providing predictable scheduling of programs using a repeating precomputed schedule
US7206866B2 (en) * 2003-08-20 2007-04-17 Microsoft Corporation Continuous media priority aware storage scheduler

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016115000A1 (en) * 2015-01-15 2016-07-21 Microsoft Technology Licensing, Llc Hybrid scheduler and power manager
CN111626531A (en) * 2019-02-28 2020-09-04 贵阳海信网络科技有限公司 Risk control method, device, system and storage medium
CN111626531B (en) * 2019-02-28 2023-09-05 贵阳海信网络科技有限公司 Risk control method, apparatus, system and storage medium

Also Published As

Publication number Publication date
KR101311305B1 (en) 2013-09-25

Similar Documents

Publication Publication Date Title
US9904576B2 (en) Method and apparatus implemented in processors for real-time scheduling and task organization based on response time order of magnitude
Kato et al. Semi-partitioned fixed-priority scheduling on multiprocessors
CN101739293B (en) Method for scheduling satellite data product production tasks in parallel based on multithread
CN108984267B (en) Micro-kernel architecture control system of industrial server and industrial server
KR101311305B1 (en) System and method for deadline based priority inheritance
WO2018226299A1 (en) Scheduler for amp architecture using a closed loop performance and thermal controller
Cao et al. Queue scheduling and advance reservations with COSY
EP3376381A1 (en) Resource management method and system, and computer storage medium
CN111176806A (en) Service processing method, device and computer readable storage medium
WO2015188016A2 (en) Energy-efficient real-time task scheduler
Niu et al. A hybrid static/dynamic dvs scheduling for real-time systems with (m, k)-guarantee
Teng et al. Scheduling real-time workflow on MapReduce-based cloud
CN119536936A (en) Task scheduling method and device, controller, electronic device and storage medium
EP2637096B1 (en) A system for schedule and executing best-effort, real-time and high-performance computing (HPC) processes
CN114035926A (en) Application thread scheduling method, device, storage medium and electronic device
JP2016184315A (en) Electronic controller
Afshar et al. Resource sharing in a hybrid partitioned/global scheduling framework for multiprocessors
CN115454640B (en) Task processing system and self-adaptive task scheduling method
Wei et al. Adaptive task allocation for multiprocessor SoCs
Yi et al. An effective algorithm of jobs scheduling in clusters
Chishiro et al. Responsive task for real-time communication
Alhussian et al. An efficient zero-laxity based real-time multiprocessor scheduling algorithm
Wan et al. Clockwerk: A predictable and efficient extension of logical execution time model
Kushwaha et al. Study of Various Multiprocessor Scheduling Methodes: A Review
Nasri et al. Increasing Fixed-Priority Schedulability using Non-Periodic Load Shapers

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

D13-X000 Search requested

St.27 status event code: A-1-2-D10-D13-srh-X000

D14-X000 Search report completed

St.27 status event code: A-1-2-D10-D14-srh-X000

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PN2301 Change of applicant

St.27 status event code: A-3-3-R10-R13-asn-PN2301

St.27 status event code: A-3-3-R10-R11-asn-PN2301

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 6

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 7

R17-X000 Change to representative recorded

St.27 status event code: A-5-5-R10-R17-oth-X000

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 8

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 9

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 10

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 11

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 12

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 13