KR101444655B1 - Recording medium recording extended tmo model for partition computing, and implementation method of two step scheduling for extended tmo model and computer-readable recording medium recording the method - Google Patents
Recording medium recording extended tmo model for partition computing, and implementation method of two step scheduling for extended tmo model and computer-readable recording medium recording the method Download PDFInfo
- Publication number
- KR101444655B1 KR101444655B1 KR1020130037712A KR20130037712A KR101444655B1 KR 101444655 B1 KR101444655 B1 KR 101444655B1 KR 1020130037712 A KR1020130037712 A KR 1020130037712A KR 20130037712 A KR20130037712 A KR 20130037712A KR 101444655 B1 KR101444655 B1 KR 101444655B1
- Authority
- KR
- South Korea
- Prior art keywords
- tmo
- partition
- model
- activation
- time
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
본 발명은 분산 실시간 객체 모델인 TMO(Time-triggered Message-triggered Object)를 확장한 파티션 컴퓨팅을 위한 TMO 확장 모델이 저장된 기록매체와 TMO 확장 모델의 2단계 스케줄링 구현 방법 및 그 방법을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.The present invention relates to a recording medium storing a TMO extended model for partitioned computing that extends a distributed real-time object model TMO (Time-triggered Message-triggered Object) and a method for implementing a two- To a recording medium on which the recording medium can be recorded.
분산 실시간 객체 모델인 TMO(Time-triggered Message-triggered Object)는 객체 내 독립적이고 고정적인 실시간 자료 저장소(Object Data Store : ODS), 데드라인에 의해 스케줄 되는 시간 구동 멤버 태스크(Time-triggered Spontaneous Method : SpM) 및 이벤트 구동 맴버 태스크(Message-triggered Server Method : SvM)을 갖는 동적 객체 모델이다.Time-triggered Message-triggered Object (TMO), which is a distributed real-time object model, is an object-independent and persistent object data store (ODS) in an object, a time- triggered spontaneous method SpM) and Message-triggered Server Method (SvM).
한편, 모듈러 구조를 위한 항공기 소프트웨어 구조의 표준인 ARINC653에서는 하나의 하드웨어 플랫폼상에서 CPU 시간 및 메모리 자원을 고정 분할하여 서로 간섭 없이 독립적으로 사용하는 파티션 모델(partition model)을 규정하고 있다.On the other hand, ARINC653, a standard of aircraft software architecture for modular architecture, defines a partition model in which CPU time and memory resources are fixedly divided on one hardware platform and used independently without interfering with each other.
파티션들은 항공기의 각 부분별 제어를 위한 독립적인 응용들로, 전통적인 연합 방식에서 분산 시스템(distirbuted system)으로 구성되던 것을 하나의 멀티프로세서 시스템에서 케이블링을 줄여 독립적으로 수행하기 위한 모델이다.Partitions are independent applications for controlling each part of an aircraft, and are a model for independently performing cabling in a single multiprocessor system, which is composed of a conventional federated system and a distirbuted system.
본 발명이 이루고자 하는 기술적 과제는, CPU와 메모리를 분리하여 독립적으로 사용할 수 있는 파티션 컴퓨팅을 위한 TMO 확장 모델이 저장된 기록매체와 TMO확장 모델의 2단계 스케줄링 구현 방법 및 그 방법을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공함에 있다.SUMMARY OF THE INVENTION The present invention has been made in view of the above problems, and it is an object of the present invention to provide a method for implementing a two-stage scheduling of a TMO extended model for partitioned computing, And a recording medium.
본 발명의 일 실시 예에 따른 파티션 컴퓨팅을 위한 TMO 확장 모델이 저장된 기록매체는, TMO(Time-triggered Message-triggered Object) 모델에 시간 조건을 추가하여 파티션 컴퓨팅(partition computing)을 수행할 수 있으며, 상기 시간 조건은, 하나의 파티션을 정의하는 객체 각각에 대한 활성화 주기(period), 처음 활성화되는 시간인 초기위상(initial offset) 및 상기 활성화 주기마다 활성화가 진행되는 실행 구간(duration)을 포함하는 것을 특징으로 한다. The storage medium storing the TMO extension model for partition computing according to an embodiment of the present invention can perform partition computing by adding a time condition to a time-triggered message-triggered object (TMO) model, The time condition may include an activation period for each object defining a partition, an initial offset that is a first activation time, and an execution duration in which activation is performed for each activation period .
본 발명의 일 실시 예에 따른 파티션 컴퓨팅을 위한 TMO 확장 모델의 2단계 스케줄링 구현 방법은, CPU와 메모리를 분리하여 독립적으로 사용하는 파티션 컴퓨팅(partition computing)을 수행할 수 있는 TMO 확장 모델(Time-triggered Message-triggered Object partition model: TMO.p 모델)의 2단계 스케줄링 구현 방법으로, 상기 TMO.p는 하나의 파티션을 정의하는 객체를 의미하며, (a) 복수의 TMO.p 각각에 대한 활성화 주기(period), 처음 활성화되는 시간인 초기위상(initial offset) 및 상기 활성화 주기마다 활성화가 진행되는 실행 구간(duration)을 입력받는 단계; (b) 복수의 시간 구동 멤버 태스크(Time-triggered Spontaneous Method: SpM) 및 사건 구동 멤버 태스크(Message-triggered Server Method: SvM)가 각각 속하는 TMO.p를 입력받는 단계; (c) 상기 복수의 TMO.p 중 활성화 주기가 도래한 하나의 TMO.p를 활성화하는 제1 파티션 스케줄링 단계; 및 (d) 상기 복수의 SpM 및 SvM 중, 상기 활성화된 하나의 TMO.p에 속하는 SpM 및 SvM를 활성화하는 제2 태스크 스케줄링 단계;를 포함한다.The method of implementing the two-stage scheduling of the TMO extended model for partition computing according to an embodiment of the present invention includes a TMO extended model capable of performing partition computing independently using a CPU and a memory, triggered Message-triggered Object partition model: TMO.p model), wherein TMO.p means an object defining a partition, and (a) an activation cycle for each of a plurality of TMO.p receiving an initial offset which is a first activation time and an execution duration during which activation is performed for each activation period; (b) inputting TMO.p, to which a plurality of time-triggered spontaneous method (SPM) and message-triggered server method (SvM) belong, respectively; (c) a first partition scheduling step of activating one TMO.p having an activation period out of the plurality of TMO.p; And (d) a second task scheduling step of activating SpM and SvM belonging to the activated one TMO.p among the plurality of SpM and SvM.
실시 예에 있어서, 상기 (b) 단계는, 상기 복수의 SpM 각각에 대한 실행 주기와 데드라인(deadline), 상기 복수의SvM 각각에 대한 데드라인, 상기 복수의 SpM 및 SvM 각각에 대한 스케줄링 정책을 입력받는 단계;를 포함할 수 있다. In an embodiment, the step (b) may include: determining a scheduling policy for each of the plurality of SpMs, a deadline for the execution period, a deadline for each of the plurality of SvMs, and a plurality of SpMs and SvMs And receiving an input.
실시 예에 있어서, 상기 스케줄링 정책은 선점이 허용되는 EDF(Earliest Deadline First) 및 LLF(Least Laxity First) 방식과 선점이 허용되지 않는 FTFS(First Triggered First Scheduled) 방식을 포함할 수 있다. In an exemplary embodiment, the scheduling policy may include an Earliest Deadline First (EDF) scheme and a Least Laxity First (LLF) scheme in which preemption is permitted and a First Triggered First Scheduled (FTFS) scheme in which a preemption is not allowed.
실시 예에 있어서, 상기 (c) 제1 파티션 스케줄링 단계는, 활성화 주기가 도래한 제1 TMO.p를 활성화하기 전 제2 TMO.p가 활성화중이면, 상기 제2 TMO.p의 실행 구간이 종료되면 상기 제2 TMO.p를 비활성화 상태로 전환한 후, 상기 제1 TMO.p를 활성화하는 단계;를 포함할 수 있다.In the embodiment, (c) the first partition scheduling step may include: if the second TMO.p is active before activating the first TMO.p when the activation period arrives, the execution period of the second TMO.p is And turning the second TMO.p into an inactive state when the first TMO.p is terminated, and activating the first TMO.p.
실시 예에 있어서, (d) 상기 활성화된 하나의 TMO.p의 실행 구간이 종료되면, 상기 TMO.p에 속하여 활성화 중이던 SpM 및 SvM를 비활성화 상태로 전환하는 단계;를 더 포함할 수 있다.The method may further include: (d) switching the active SpM and SvM belonging to the TMO.p to an inactive state when the execution period of one active TMO.p is terminated.
본 발명의 일 실시 예에 따른 파티션 컴퓨팅을 위한 TMO 확장 모델의 2단계 스케줄링 구현 방법을 기록한 컴퓨터로 읽을 수 있는 기록매체는, CPU와 메모리를 분리하여 독립적으로 사용하는 파티션 컴퓨팅(partition computing)을 수행할 수 있는 TMO 확장 모델(Time-triggered Message-triggered Object partition model: TMO.p 모델)의 2단계 스케줄링 구현 방법을 기록한 기록매체로, 상기 TMO.p는 하나의 파티션을 정의하는 객체를 의미하며, (a) 복수의 TMO.p 각각에 대한 활성화 주기(period), 처음 활성화되는 시간인 초기위상(initial offset) 및 상기 활성화 주기마다 활성화가 진행되는 실행 구간(duration)을 입력받는 단계; (b) 복수의 시간 구동 멤버 태스크(Time-triggered Spontaneous Method: SpM) 및 사건 구동 멤버 태스크(Message-triggered Server Method: SvM)가 각각 속하는 TMO.p를 입력받는 단계; (c) 상기 복수의 TMO.p 중 활성화 주기가 도래한 하나의 TMO.p를 활성화하는 제1 파티션 스케줄링 단계; 및 (d) 상기 복수의 SpM 및 SvM 중, 상기 활성화된 하나의 TMO.p에 속하는 SpM 및 SvM를 활성화하는 제2 태스크 스케줄링 단계;를 포함하는 것을 특징으로 하는 파티션 컴퓨팅을 위한 TMO 확장 모델의 2단계 스케줄링 구현 방법을 기록한 것이다.A computer-readable recording medium recording a method for implementing a two-step scheduling of a TMO extension model for partition computing according to an embodiment of the present invention includes partition computing in which a CPU and a memory are separated and used independently The TMO.p is an object defining one partition. The TMO.p is an object defining a partition, and the TMO.p is an object defining a partition. (a) receiving an activation period for each of a plurality of TMO.p, an initial offset that is a first activation time, and an execution duration in which activation is performed for each activation period; (b) inputting TMO.p, to which a plurality of time-triggered spontaneous method (SPM) and message-triggered server method (SvM) belong, respectively; (c) a first partition scheduling step of activating one TMO.p having an activation period out of the plurality of TMO.p; And (d) a second task scheduling step of activating SpM and SvM belonging to the activated TMO.p among the plurality of SpM and SvM. 2. The method according to
실시 예에 있어서, 상기 (b) 단계는, 상기 복수의 SpM 각각에 대한 실행 주기와 데드라인(deadline), 상기 복수의SvM 각각에 대한 데드라인, 상기 복수의 SpM 및 SvM 각각에 대한 스케줄링 정책을 입력받는 단계;를 포함할 수 있다. In an embodiment, the step (b) may include: determining a scheduling policy for each of the plurality of SpMs, a deadline for the execution period, a deadline for each of the plurality of SvMs, and a plurality of SpMs and SvMs And receiving an input.
실시 예에 있어서, 상기 스케줄링 정책은 선점이 허용되는 EDF(Earliest Deadline First) 및 LLF(Least Laxity First) 방식과 선점이 허용되지 않는 FTFS(First Triggered First Scheduled) 방식을 포함할 수 있다.In an exemplary embodiment, the scheduling policy may include an Earliest Deadline First (EDF) scheme and a Least Laxity First (LLF) scheme in which preemption is permitted and a First Triggered First Scheduled (FTFS) scheme in which a preemption is not allowed.
실시 예에 있어서, 상기 (c) 제1 파티션 스케줄링 단계는, 활성화 주기가 도래한 제1 TMO.p를 활성화하기 전 제2 TMO.p가 활성화중이면, 상기 제2 TMO.p의 실행 구간이 종료되면 상기 제2 TMO.p를 비활성화 상태로 전환한 후, 상기 제1 TMO.p를 활성화하는 단계;를 포함할 수 있다.In the embodiment, (c) the first partition scheduling step may include: if the second TMO.p is active before activating the first TMO.p when the activation period arrives, the execution period of the second TMO.p is And turning the second TMO.p into an inactive state when the first TMO.p is terminated, and activating the first TMO.p.
실시 예에 있어서, (e) 상기 활성화된 하나의 TMO.p의 실행 구간이 종료되면, 상기 TMO.p에 속하여 활성화 중이던 SpM 및 SvM를 비활성화 상태로 전환하는 단계;를 더 포함할 수 있다.In the embodiment, (e) when the execution period of one activated TMO.p is terminated, switching SpM and SvM that are active in the TMO.p to the inactive state may be further included.
본 발명에 의하면, 기존 TMO 모델의 데드라인을 부여할 수 있는 시간 구동 및 이벤트 구동 멤버 태스크 지원의 정형적 장점을 유지하면서, 추가로 파티션 컴퓨팅의 개념을 도입해 커널 수준 파티션 스케줄링을 제공할 수 있다. According to the present invention, kernel-level partition scheduling can be provided by introducing the concept of partitioned computing while maintaining the formal advantages of time-driven and event-driven member task support that can provide a deadline of the existing TMO model .
기존 ARINC653 명세에서의 프로세스 형태는 주기적/비주기적 프로세스 여부와 데드라인인 부과 여부만을 구분하고 있는 데 반해, 본 발명에 따른 TMO.p 모델에서는 TMO.p 객체의 멤버 태스크로서 시간 조건에 의해 데드라인 기반으로 구동하는 주기적 태스크(Spontaneous Method), 파티션 내외부에서 발생하는 이벤트 메시지의 수신에 의해 데드라인 기반으로 구동하는 서버 태스크(Service Method) 및 비주기적 태스크로 구분되어 있어 다음과 같은 장점을 가진다. In the TMO.p model according to the present invention, as a member task of the TMO.p object, the process type in the existing ARINC653 specification distinguishes whether it is a periodic / non-periodic process and whether it is a deadline, And a non-periodic task, which is driven by a deadline based on the reception of an event message generated from the inside and the outside of the partition, and has the following advantages.
첫째, 시간 및 사건 기반 구동이라는 실시간 제어 응용의 특성에 부합하여 태스크의 구동 특성별 설계가 용이하고, 둘째, 하나의 TMO.p는 동적 태스크들을 멤버로 하는 객체이므로 파티션 객체 내에서의 독립적 병행 프로그래밍과 상속 등을 활용한 객체 지향 프로그래밍이 가능하며, 기존 TMO 체제를 위해 개발된 스케줄링 분석 도구나 설계 및 코드 자동 생성 도구 등의 활용이 가능하다는 점이다.First, it is easy to design according to the characteristics of real-time control application such as time and event-based driving. Second, since TMO.p is an object that is a member of dynamic tasks, independent parallel programming It is possible to use object-oriented programming using inheritance, and it is possible to use scheduling analysis tool, design and automatic code generation tool developed for existing TMO system.
또한, TMO.p를 위한 API는 기존 TMO 엔진의 API를 바탕으로 하므로 ARINC653의 파티션 API와 정확히 일치하지는 않지만, 그 기능적 측면이 거의 동일하므로 파티션 기반의 TMO.p에 의한 항공기 소프트웨어의 제작에 어려움이 없다고 할 수 있다. Also, because API for TMO.p is based on API of existing TMO engine, it does not exactly match partition API of ARINC653, but its functional aspects are almost same. Therefore, it is difficult to make aircraft software by partition-based TMO.p It can be said that there is no.
도 1은 TMO 기반 파티션 모델인 TMO.P의 구조를 설명하기 위한 개념도이다.
도 2는 TMO.p 파티션들과 각 파티션 소속 태스크들을 위한 각각의 스케줄러로 구성되는 2단계 스케줄러인 WRST(Watchdog Real-time Scheduler for TMO.p)를 설명하기 위한 개념도이다.
도 3은 제1 단계 파티션 스케줄러 및 제2 단계 태스크 스케줄러에 의한 태스크의 상태 전이를 보여주는 개념도이다.
도 4는 2단계 스케줄러의 클럭 인터럽트 핸들러 내부에의 구현을 설명하기 위한 개념도이다.
도 5는 중첩 없는 파티션 스케줄링 시나리오 산출의 실시 예를 보여주는 개념도이다. 1 is a conceptual diagram for explaining the structure of a TMO-based partition model TMO.P.
FIG. 2 is a conceptual diagram for explaining a Watchdog Real-time Scheduler for TMO.p, which is a two-stage scheduler composed of TMO.p partitions and respective schedulers for each partition belonging task.
FIG. 3 is a conceptual diagram showing a state transition of a task by the first-stage partition scheduler and the second-stage task scheduler.
4 is a conceptual diagram for explaining an implementation of the two-stage scheduler in a clock interrupt handler.
5 is a conceptual diagram showing an embodiment of calculation of a non-overlapping partition scheduling scenario.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세하게 설명하기 위하여, 본 발명의 실시 예가 첨부된 도면을 참조하여 설명한다. 하지만, 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고, 도면에서 본 발명을 명확하게 설명하기 위해 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통해 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings so that those skilled in the art can easily carry out the technical idea of the present invention. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly explain the present invention, parts not related to the description are omitted, and like parts are denoted by similar reference numerals throughout the specification.
본 발명에 따른 파티션 컴퓨팅을 위한 TMO 확장 모델 TMO.p(TMO.partition) 는 CPU와 메모리를 분리하여 독립적으로 사용하는 파티션 컴퓨팅(partition computing)을 수행할 수 있도록, 기존 TMO(Time-triggered Message-triggered Object) 모델을 확장한 것이다. The TMO extended model TMO.p (TMO.partition) for partition computing according to the present invention is a TMO (Partitioned TMO) partitioning method for partition computing in which a time-triggered message- triggered Object) model.
이러한 TMO.p 모델은 기존 TMO 모델과 비교 시 후술하는 차이점 및 공통점을 갖는다. This TMO.p model has the following differences and common points in comparison with the existing TMO model.
차이점으로는 기존 TMO 모델은 그 객체 내의 멤버 태스크에 대한 스케줄링 조건만을 제시하지만, 파티션을 형상화한 본 발명에 따른 TMO.p 모델은 단일 노드에서의 시간 분할에 의한 독립적 수행을 위해 파티션 자체의 주기 및 연속적 CPU 점유시간, 메모리 요구, 파티션 간 통신을 위한 포트 등을 명시해야 한다.In the TMO.p model according to the present invention, the existing TMO model only presents the scheduling conditions for the member tasks in the object, but the TMO.p model according to the present invention, It should specify the consecutive CPU occupation time, memory requirement, port for communication between partitions.
공통점으로는 모두 병행 태스크의 집합으로 구성된다는 점, 태스크의 구성이 주기적 또는 산발적(sporadic) 태스크들로 구성된다는 점, 데드라인을 부과할 수 있다는 점, 채널 기반의 통신 도구를 갖는다는 점, 자신의 자료 저장소를 객체 내에 독립적이며 정적으로 가진다는 점에서 메모리의 독립적 사용 요구를 이미 만족하고 있다는 점들을 들 수 있다. Common features include a set of concurrent tasks, a task configuration consisting of periodic or sporadic tasks, a deadline imposed, a channel-based communication tool, And the data storage of the object is independent and static in the object.
따라서 TMO에 주기 및 주기적 수행 시의 CPU 점유 시간을 주어 단일 SMP(Symmetric Multi-processor) 상에서 독립적으로 중첩 없이 결정성(deterministic) 스케줄링으로 실행하면, TMO의 실시간 태스크의 장점을 살리면서 파티션 컴퓨팅의 개념을 도입할 수 있다. Therefore, when the TMO is executed with deterministic scheduling without overlapping independently on a single SMP (Symmetric Multi-processor) by giving the CPU occupation time during periodic and periodic execution, the concept of partitioned computing Can be introduced.
이렇게 TMO에 주기 및 매 주기의 CPU 점유시간, 통신 채널의 포트 등을 명시한 모델을 TMO.partition을 뜻하는 TMO.p로 명명하였으며, 본 명세서에서는 이를 파티션 컴퓨팅을 위한 TMO 확장 모델과 동의어로 서술하고자 한다. The TMO.p, which means TMO.partition, is named as TMO.p and TMO.p is a model that specifies the period of the CPU and the period of each cycle and the port of the communication channel. In this specification, it is described in synonym with TMO extension model for partitioned computing do.
도 1은 TMO 기반 파티션 모델인 TMO.p의 구조를 설명하기 위한 개념도이다. FIG. 1 is a conceptual diagram for explaining the structure of a TMO-based partition model TMO.p.
도 1을 참조하면, TMO.p는 하나의 파티션을 정의하는 객체로 그 자체에 활성화의 주기(period), 처음 활성화되는 시각인 초기위상(initial offset), 매 활성화 시의 실행 구간(duration)이 시간 조건으로 주어진다. Referring to FIG. 1, TMO.p is an object defining one partition, and has a period of activation, an initial offset which is the first activation time, and an execution duration of each activation Time condition.
한편, TMO.p의 내부는 기존 TMO에서와 같이 실행 주기와 데드라인이 주어져 시간 조건에 의해 구동되는 시간 구동 멤버 태스크(Time-triggered Spontaneous Method: SpM)와 사건 발생 메시지의 수신에 의해 데드라인 기반으로 구동되는 사건 구동 멤버 태스크(Message-triggered Server Method: SvM)로 구성된다. On the other hand, TMO.p has a time-triggered spontaneous method (SpM), which is driven by a time condition given the execution cycle and the deadline as in the existing TMO, (Message-triggered Server Method: SvM).
다만, TMO에서와는 달리 이 태스크들은 TMO.p 파티션의 실행 구간이 도래해야만 활성화된다. 복수 개의 TMO.p 파티션은 각각 중첩 없는 별도의 CPU 시간을 사용하고 메모리 또한 객체 내로 제한된 ODS(Object Data Store)만을 사용하므로, 독립적 CPU/메모리 사용을 하는 파티션의 조건에 부합하면서도 기존 TMO의 정형적 실시간 태스크 지원의 장점을 가진다.Unlike in the TMO, however, these tasks are only activated when the TMO.p partition reaches its execution boundary. Since multiple TMO.p partitions use separate CPU time without nesting and only use ODS (Object Data Store) which is limited to objects in memory, it is necessary to satisfy the condition of partition to use independent CPU / memory, It has the advantage of real-time task support.
도 2는 TMO.p 파티션들과 각 파티션 소속 태스크들을 위한 각각의 스케줄러로 구성되는 2단계 스케줄러인 WRST(Watchdog Real-time Scheduler for TMO.p)를 설명하기 위한 개념도이다. FIG. 2 is a conceptual diagram for explaining a Watchdog Real-time Scheduler for TMO.p, which is a two-stage scheduler composed of TMO.p partitions and respective schedulers for each partition belonging task.
도 2를 참조하면, TMO.p의 시간 조건 등록이 완료된 후, 각 SpM과 SvM 태스크들 역시 태스크의 시간 조건과 스케줄링 정책 및 소속 TMO.p를 커널에 등록하여야 한다. 이때 SpM에 주어지는 주기와 데드라인 및 SvM에 주어지는 데드라인에 대한 처리에는 시간의 흐름에 대한 규정이 필요하며, TMO.p와 그 소속 태스크 모델에 대한 시간의 흐름은 각 TMO.p에 종속적으로 규정된다. Referring to FIG. 2, after the TMO.p time condition registration is completed, each SpM and SvM tasks must also register the time condition of the task, the scheduling policy, and the belonging TMO.p in the kernel. In this case, it is necessary to define the time flow for processing the deadline given to SpM and deadline and SvM, and the time flow for TMO.p and its affiliated task model is defined as dependent on each TMO.p do.
즉, SpM과 SvM의 시간은 소속 TMO.p가 활성화 상태일 때에만 경과 하고 비활성화 상태일 때에는 정지되는 모델이다. TMO.p가 활성화 상태에서 실행구간이 경과 되면 소속 SpM과 SvM은 즉시 실행이 중지되며, 그들의 실행은 소속 TMO.p의 다음 주기로 넘어가게 된다. That is, the time of SpM and SvM elapses only when the belonging TMO.p is in the activated state, and stops when the TMO.p is in the inactive state. When TMO.p is active and the execution interval has elapsed, the belonging SpM and SvM are immediately suspended, and their execution proceeds to the next cycle of the belonging TMO.p.
TMO.p의 한 구간에서의 실행 중에 소속 SpM이나 SvM의 실행이 중단되는 것은 응용에 따라 바람직하지 않을 수 있으므로, 주기적인 SpM의 경우에는 TMO.p의 주기 및 실행구간과 동기화 되도록 설정하는 것이 보편적이다. Since it is not desirable to stop the execution of the belonging SpM or SvM during execution in one section of TMO.p, it is common for the periodic SpM to be set to be synchronized with the period and execution period of TMO.p to be.
멤버 태스크들의 스케줄링 정책에는 선점 방식의 EDF(Earliest Deadline First) 및 LLF(Least Laxity First)와 선점이 허용되지 않는 FTFS(First Triggered First Scheduled) 방식들이 기 개발되어 태스크 별로 제공되어 왔다.The scheduling policies of the member tasks have been developed for each task by developing the Earliest Deadline First (EDF), Least Laxity First (LLF), and First Triggered First Scheduled (FTFS) methods that do not allow preemption.
본 발명의 TMO.p를 위한 스케줄러는 이러한 태스크 스케줄러에 파티션 스케줄링을 추가한 2단계 스케줄러인 WRST(Watchdog Real-time Scheduler for TMO.p)이다. The scheduler for TMO.p of the present invention is WRST (Watchdog Real-time Scheduler for TMO.p), which is a two-step scheduler that adds partition scheduling to the task scheduler.
2단계 스케줄러는 FIFO 방식의 제1 단계 파티션 스케줄러와 EDF, LLF, FTFS 방식이 태스크별로 선택 가능한 제2 단계 태스크 스케줄러로 구성된다. The two-stage scheduler consists of a first-stage partition scheduler in FIFO mode and a second-stage task scheduler in which EDF, LLF, and FTFS methods can be selected for each task.
제1 단계 파티션 스케줄러는 주기가 도래한 TMO.p를 활성화 상태로 만들어 태스크 수준의 제2 단계 태스크 스케줄러에 의해 소속 태스크들이 스케줄을 받도록 한다. 파티션 수행의 중첩이 있을 경우에는 선행 파티션의 실행 구간 종료 시까지 후속 파티션의 활성화는 연기된다. 활성화 상태인 TMO.p에 대해서는 실행 구간의 종료를 검사하여 소진 시 비활성화 상태로 전환하여 해당 TMO.p의 시간의 흐름을 중지시킨다. The first stage partition scheduler activates the TMO.p with a period of time and activates the tasks of the belonging tasks by the task scheduler at the task level. If there is overlap of partition execution, activation of the subsequent partition is postponed until the end of the execution interval of the preceding partition. For the active TMO.p, the end of the execution period is checked to switch to the deactivation state to stop the time flow of the corresponding TMO.p.
제2 단계 태스크 스케줄러는 태스크의 소속 TMO.p의 ACTIVE/INACTIVE 상태에 따라 태스크를 관리한다. SpM 및 SvM 멤버 태스크들의 주요 상태는 다음의 표1과 같다.The second stage task scheduler manages the task according to the ACTIVE / INACTIVE state of the TMO.p belonging to the task. The main states of the SpM and SvM member tasks are shown in Table 1 below.
OUTSIDE_
DURATIONACTIVE_
OUTSIDE_
DURATION
OUTSIDE_
DURATIONINACTIVE_
OUTSIDE_
DURATION
제2 단계 태스크 스케줄러가 ACTIVE 상태의 SpM이나 SvM에 대해 수행하는 작업은 다음과 같다.
구체적으로, 소속 TMO.p의 실행구간이 종료되었으면 ACTIVE 상태의 SpM이나 SvM의 실행을 중지시키고 ACTIVE_OUTSIDE_DURATION 상태로 전환 시킨다. Specifically, when the execution period of the belonging TMO.p is ended, execution of the SpM or SvM in the ACTIVE state is stopped and the state is changed to the ACTIVE_OUTSIDE_DURATION state.
반면, 소속 TMO.p의 실행구간이 종료되지 않았으면 ACTIVE 상태의 SpM이나 SvM의 우선순위를 태스크마다 주어지는 스케줄링 정책에 따라 조정하고, 문맥교환 요구를 설정한다. On the other hand, if the execution period of the belonging TMO.p has not ended, the priority order of the SpM or SvM in the ACTIVE state is adjusted according to the scheduling policy given to each task, and a context exchange request is set.
이때, 제공되는 실시간 스케줄링 정책에는 선점이 허용되는 EDF(Earliest Deadline First), LLF(Least Laxity First)와 비선점 형태의 고정 우선순위를 제공하는 FTFS(First Triggered First Scheduled) 들이 있고, 이들은 태스크별로 선택될 수 있다. In this case, the real-time scheduling policies provided include Earliest Deadline First (EDF), Least Laxity First (LLF), and First Triggered First Scheduled (FTFS) .
또한, 제2 단계 태스크 스케줄러가 ACTIVE_OUTSIDE_DURATION 상태의 SpM이나 SvM에 대해 수행하는 작업은 다음과 같다.In addition, the tasks performed by the second-stage task scheduler on the SpM or SvM in the ACTIVE_OUTSIDE_DURATION state are as follows.
구체적으로, 소속 TMO.p의 주기적 실행구간이 시작되었으면 소속 태스크들을 ACTIVE 상태로 전환시켜 데드라인 기반 스케줄링을 받을 수 있도록 한다. 반면, 실행 구간 도래 이전에는 태스크의 시간의 흐름에 따른 동적 시간 조건 수정 작업을 하지 않는다. Specifically, when the periodical execution period of the belonging TMO.p is started, the belonging tasks are switched to the ACTIVE state so that deadline-based scheduling can be received. On the other hand, before the arrival of the execution interval, the dynamic time condition modification operation is not performed according to the time flow of the task.
그리고, 제2 단계 태스크 스케줄러가 INACTIVE 상태의 SpM이나 SvM에 대해 수행하는 작업은 다음과 같다. The tasks performed by the Task Scheduler in the INACTIVE state for SpM and SvM are as follows.
구체적으로, 소속 TMO.p의 실행구간이 종료되었으면 INACTIVE 상태의 SpM이나 SvM의 중지 카운트(suspend_count)를 증가시켜 중첩 대기 상태로 중지시키고, INACTIVE_OUTSIDE_DURATION 상태로 전환 시킨다. 이 경우 중지 카운트가 2가 되고, 원래의 대기 조건(태스크 주기의 도래나 메시지의 도착)과 실행 구간의 도래가 모두 만족 되어야 ACTIVE 상태로 전환된다.Specifically, when the execution period of the belonging TMO.p is ended, the stop count (suspend_count) of the SpM or SvM in the INACTIVE state is increased to stop in the overlap waiting state, and the state is changed to the INACTIVE_OUTSIDE_DURATION state. In this case, the stop count becomes 2, and the state is switched to the ACTIVE state only when both the original waiting condition (arrival of the task cycle and arrival of the message) and arrival of the execution interval are satisfied.
반면, 실행 구간 종료가 아닐 경우, SpM의 태스크 주기 도래를 검사하여 ACTIVE 전환 여부를 결정한다. SvM의 경우는 IPC 시스템에서 메시지 도착 시 ACTIVE로 전환 시키므로 스케줄러에서는 어떠한 작업도 하지 않는다.On the other hand, if it is not the end of the execution period, it checks the arrival of the task cycle of the SpM and determines whether or not to switch ACTIVE. In the case of SvM, the IPC system switches to ACTIVE upon arrival of a message, so the scheduler does not perform any operation.
또한, 제2 단계 태스크 스케줄러가 INACTIVE_OUTSIDE_DURATION 상태의 SpM이나 SvM에 대해 수행하는 작업은 다음과 같다. In addition, the tasks performed by the second-stage task scheduler on the SpM or SvM in the INACTIVE_OUTSIDE_DURATION state are as follows.
구체적으로, 소속 TMO.p의 주기적 실행구간이 도래하였으면 소속 태스크들의 중지 카운트를 감소시키고, INACTIVE 상태로 전환시켜 본래의 태스크 시간조건이나 메시지 배달에 의해 구동될 수 있도록 한다.Specifically, if the periodical execution period of the belonging TMO.p has arrived, the stop count of the belonging tasks is reduced, and the state is switched to the INACTIVE state so that it can be driven by the original task time condition or message delivery.
반면, 실행 구간 도래 이전에는 태스크의 시간의 흐름에 따른 동적 시간 조건 수정 작업을 하지 않는다. On the other hand, before the arrival of the execution interval, the dynamic time condition modification operation is not performed according to the time flow of the task.
도 3은 제1 단계 파티션 스케줄러 및 제2 단계 태스크 스케줄러에 의한 태스크의 상태 전이를 보여주는 개념도이다. FIG. 3 is a conceptual diagram showing a state transition of a task by the first-stage partition scheduler and the second-stage task scheduler.
도 3을 참조하면, 파티션 소속 SpM은 파티션이 활성화되었을 때 태스크 주기가 도래하면 ACTIVE 상태, 태스크의 주기적 수행이 완료되면 INACTIVE 상태로 전환된다. Referring to FIG. 3, a partition belonging SpM is changed to an active state when a task cycle arrives when a partition is activated, and to an INACTIVE state when a task is periodically performed.
그러나 소속 파티션이 비활성화되었을 때 태스크의 주기가 도래하면 ACTIVE_OUTSIDE_DURATION 상태로 정지되고, 파티션 활성화시 ACTIVE 상태로 전이된다. However, when the partition becomes inactive, it will stop in ACTIVE_OUTSIDE_DURATION state when the cycle of the task arrives, and will transition to ACTIVE state when the partition is activated.
파티션이 활성화되었을 때에 주기적 수행을 마치고 INACTIVE 상태에 있던 SpM은 파티션이 비활성화될 때 INACTIVE_OUTSIDE_DURATION 상태로 이중 정지된다. 이러한 SpM은 파티션 활성화 시 INACTIVE 상태로 전환된다. When the partition is activated, the SpM that was in the INACTIVE state after the periodic execution is double-suspended to the INACTIVE_OUTSIDE_DURATION state when the partition is disabled. Such an SPM is switched to the INACTIVE state when the partition is activated.
파티션 소속 SvM은 파티션이 활성화되었을 때 메시지가 도착하면 ACTIVE 상태, 그 메시지 처리에 대한 수행이 완료되면 INACTIVE 상태로 전환된다. Partition belongs to SvM. When partition is activated, it goes into ACTIVE state when message arrives, and to INACTIVE state when execution of message processing is completed.
그러나 소속 파티션이 비활성화되었을 때에 메시지가 도착하면 ACTIVE_OUTSIDE_DURATION 상태로 정지되고, 파티션 활성화시 ACTIVE 상태로 전이된다. However, if a message arrives when the partition is inactive, it will stop in ACTIVE_OUTSIDE_DURATION state and transition to ACTIVE state when the partition is activated.
마찬가지로, 파티션이 활성화되었을 때에 메시지 처리 수행을 마치고 INACTIVE 상태에 있던 SvM은 파티션이 비활성화 될 때 INACTIVE_OUTSIDE_DURATION 상태로 이중 정지된다. 이러한 SvM은 파티션 활성화 시 INACTIVE 상태로 전환된다. Likewise, SvM in the INACTIVE state when the partition has been activated when the message processing is finished, will be suspended in the INACTIVE_OUTSIDE_DURATION state when the partition is disabled. These SvMs are switched to the INACTIVE state when the partition is activated.
도 4는 2단계 스케줄러의 클럭 인터럽트 핸들러 내부에의 구현을 설명하기 위한 개념도이다. 4 is a conceptual diagram for explaining an implementation of the two-stage scheduler in a clock interrupt handler.
도 4를 참조하면, 2단계 실시간 스케줄러는 RT-eCos의 클럭 인터럽트 핸들러 내부에 구현되었다. 클럭 인터럽트 핸들러는 ISR(Interrupt Service Routine)과 DSR(Deferred Service Routine)로 구분될 수 있다. Referring to FIG. 4, the two-stage real-time scheduler is implemented in the clock interrupt handler of the RT-eCos. The clock interrupt handler can be divided into an Interrupt Service Routine (ISR) and a Deferred Service Routine (DSR).
구체적으로, ISR(Interrupt Service Routine)은 인터럽트 당시의 스케줄러나 시스템 호출 수행 여부에 관계없이 동작하여 클럭 카운터 리셋 등의 기초 동작만을 수행할 수 있다. DSR(Deferred Service Routine)은 스케줄러나 시스템 호출 수행에 의해 스케줄러 락(lock)이 설정되었을 때에는, 스케줄러 락이 해제될 때까지 지연시켜 처리한다. Specifically, the Interrupt Service Routine (ISR) operates regardless of whether a scheduler at the time of interruption or a system call is performed and can perform only a basic operation such as a clock counter reset. DSR (Deferred Service Routine) delays the process until the scheduler lock is released when scheduler lock is set by scheduler or system call.
본 발명에 따른 2단계 실시간 스케줄러는 커널 내부의 여타 스케줄링 행위와의 상호배제를 필요로 하므로, DSR 내부에 도 4와 같이 구현될 수 있다. Since the two-stage real-time scheduler according to the present invention requires mutual exclusion from other scheduling actions in the kernel, it can be implemented as shown in FIG. 4 in the DSR.
구체적으로, DSR은 매 틱 내에서 ISR 이후에 즉시 수행되거나 커널의 외부 인터럽트 처리의 종료 부분, 커널 임계 구역 종료 부분 등에서 수행된다. DSR에서는 시스템 시간의 수정, 타이머 관련 서비스, 잔여 타임 슬라이스의 수정 등의 루틴한 작업 외에 제1 및 제2 단계 WRST 실시간 스케줄러를 구동시킨다. Specifically, the DSR is performed immediately after the ISR in the tick or at the end of the kernel's external interrupt processing, at the end of the kernel critical section, and so on. In the DSR, the first and second WRST real time schedulers are run in addition to the routine tasks such as the modification of the system time, the timer related service, and the modification of the remaining time slice.
한편, 각 TMO.p의 주기적 실행의 중첩이 없으려면 주기들의 최소공배수인 하이퍼 피리어드(hyper-period) 내에서 TMO.p의 실행의 겹침이 없도록 초기 위상 (initial offset)이 설정되어야 하는데 이를 파티션 순차화 문제라 한다. On the other hand, in order to avoid overlapping of the periodic execution of each TMO.p, the initial offset must be set so that there is no overlapping of execution of TMO.p within a hyper-period which is the least common multiple of the cycles. It is called a fire problem.
파티션 순차화를 위해서는 주기적 태스크의 순차화를 위해 기 개발된 태스크 순차화기(task serializer)를 사용할 수 있다. 태스크 순차화기는 주기적 파티션 수행의 중첩이 없도록 사전에 주어진 실행 구간과 주기들을 이용하여 초기 위상을 결정하는 도구로, 이 도구의 산출물이 없는 경우에는 중첩이 없는 시나리오는 불가능한 경우이다. 실행의 중첩이 불가피한 경우에 중첩되는 파티션의 실행은 선행 파티션의 수행 완료 시까지 연기된다.In order to serialize the partitions, a task serializer can be used for sequencing the periodical task. The task sequencer is a tool that determines the initial phase by using a predefined execution interval and cycles so that there is no overlap of periodic partition execution. In the case where there is no output of this tool, it is impossible to have a scenario without overlap. If nesting of execution is inevitable, execution of the nested partitions is deferred until completion of the preceding partition.
도 5는 중첩 없는 파티션 스케줄링 시나리오 산출의 실시 예를 보여주는 개념도이다. 5 is a conceptual diagram showing an embodiment of calculation of a non-overlapping partition scheduling scenario.
도 5를 참조하면, 9개의 TMO.p들의 각 주기와 실행구간들을 입력하여 파티션들의 정확한 주기적 실행 시작시간을 만족하면서 중첩이 없는 초기 위상을 도출하였음을 확인할 수 있다. Referring to FIG. 5, it can be seen that each cycle and execution intervals of the nine TMOs are input to obtain an initial phase without overlapping while satisfying an accurate periodic execution start time of the partitions.
여기서, 편의상 하이퍼 피리어드인 6T구간을(T는 파티션 주기들의 최소공배수임) 각각 넓이 T의 6개의 슬롯으로 분할하여 표시한 것이다. Here, for convenience hyper period of 6 T interval (T being the least common multiple of the partition period) it is displayed by each divided into six slots of a width T.
예들 들면, 도 5에서 TMO.p2와 같은 경우, 2e가 (실험에서 e는 단위 수행 시간으로 RT-eCos의 10 milli-sec인 한 틱이며, 본 실시 예에서는 T=5e 임) 초기 위상으로 도출되어, 3T의 주기마다 실행이 다른 파티션과의 중첩 없이 반복될 수 있다. For example, in the case of TMO.p 2 in FIG. 5, 2 e (where e is a tick of 10 milli-sec of RT-eCos as the unit execution time, T = 5 e in this embodiment) Phase, so that the execution can be repeated every 3 T cycles without overlap with other partitions.
결과적으로, 본 발명에 의하면, 기존 TMO 모델의 데드라인을 부여할 수 있는 시간 구동 및 이벤트 구동 멤버 태스크 지원의 정형적 장점을 유지하면서, 추가로 파티션 컴퓨팅의 개념을 도입해 커널 수준 파티션 스케줄링을 제공할 수 있다. As a result, according to the present invention, kernel-level partition scheduling is provided by introducing the concept of partitioned computing while maintaining the formal advantages of time-driven and event-driven member task support capable of providing deadlines of existing TMO models can do.
기존 ARINC653 명세에서의 프로세스 형태는 주기적/비주기적 프로세스 여부와 데드라인인 부과 여부만을 구분하고 있는 데 반해, 본 발명에 따른 TMO.p 모델에서는 TMO.p 객체의 멤버 태스크로서 시간 조건에 의해 데드라인 기반으로 구동하는 주기적 태스크(Spontaneous Method), 파티션 내외부에서 발생하는 이벤트 메시지의 수신에 의해 데드라인 기반으로 구동하는 서버 태스크(Service Method) 및 비주기적 태스크로 구분되어 있어 다음과 같은 장점을 가진다. In the TMO.p model according to the present invention, as a member task of the TMO.p object, the process type in the existing ARINC653 specification distinguishes whether it is a periodic / non-periodic process and whether it is a deadline, And a non-periodic task, which is driven by a deadline based on the reception of an event message generated from the inside and the outside of the partition, and has the following advantages.
첫째, 시간 및 사건 기반 구동이라는 실시간 제어 응용의 특성에 부합하여 태스크의 구동 특성별 설계가 용이하고, 둘째, 하나의 TMO.p는 동적 태스크들을 멤버로 하는 객체이므로 파티션 객체 내에서의 독립적 병행 프로그래밍과 상속 등을 활용한 객체 지향 프로그래밍이 가능하며, 기존 TMO 체제를 위해 개발된 스케줄링 분석 도구나 설계 및 코드 자동 생성 도구 등의 활용이 가능하다는 점이다.First, it is easy to design according to the characteristics of real-time control application such as time and event-based driving. Second, since TMO.p is an object that is a member of dynamic tasks, independent parallel programming It is possible to use object-oriented programming using inheritance, and it is possible to use scheduling analysis tool, design and automatic code generation tool developed for existing TMO system.
또한, TMO.p를 위한 API는 기존 TMO 엔진의 API를 바탕으로 하므로 ARINC653의 파티션 API와 정확히 일치하지는 않지만, 그 기능적 측면이 거의 동일하므로 파티션 기반의 TMO.p에 의한 항공기 소프트웨어의 제작에 어려움이 없다고 할 수 있다. Also, because API for TMO.p is based on API of existing TMO engine, it does not exactly match partition API of ARINC653, but its functional aspects are almost same. Therefore, it is difficult to make aircraft software by partition-based TMO.p It can be said that there is no.
상기와 같이 파티션 컴퓨팅을 위한 TMO 확장 모델의 구현 방법은 상기 설명된 실시 예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시 예들은 다양한 변형이 이루어질 수 있도록 각 실시 예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.As described above, the method of implementing the TMO extension model for partition computing is not limited to the configuration and method of the embodiments described above, but the embodiments may be modified so that all or some of the embodiments may be modified Or may be selectively combined.
Claims (11)
상기 시간 조건은,
하나의 파티션에 대한 활성화 주기(period), 처음 활성화되는 시간인 초기위상(initial offset) 및 상기 활성화 주기마다 활성화가 진행되는 실행 구간(duration)을 포함하는 것을 특징으로 하는 파티션 컴퓨팅을 위한 TMO 확장 모델(Time-triggered Message-triggered Object partition model: TMO.p 모델)이 컴퓨터 프로그램으로 저장된 기록매체.Partition computing can be performed by adding a time condition to a time-triggered message-triggered object (TMO) model,
The time conditions include,
Wherein the activation period includes an activation period for one partition, an initial offset that is a first activation time, and an execution duration during which activation is performed for each activation period. (Time-triggered Message-triggered Object Partition Model: TMO.p model).
(a) 제1 입력부가 복수의 TMO.p 각각에 대한 활성화 주기(period), 처음 활성화되는 시간인 초기위상(initial offset) 및 상기 활성화 주기마다 활성화가 진행되는 실행 구간(duration)을 입력받는 단계;
(b) 제2 입력부가 복수의 시간 구동 멤버 태스크(Time-triggered Spontaneous Method: SpM) 및 사건 구동 멤버 태스크(Message-triggered Server Method: SvM)가 각각 속하는 TMO.p를 입력받는 단계;
(c) 제1 단계 파티션 스케줄러가 상기 복수의 TMO.p 중 활성화 주기가 도래한 하나의 TMO.p를 활성화하는 단계; 및
(d) 제2 단계 태스크 스케줄러가 상기 복수의 SpM 및 SvM 중, 상기 활성화된 하나의 TMO.p에 속하는 SpM 및 SvM를 활성화하는 단계;를 포함하는 것을 특징으로 하는 파티션 컴퓨팅(partition computing)을 위한 TMO 확장 모델(Time-triggered Message-triggered Object partition model: TMO.p 모델)의 2단계 스케줄링 구현 방법.TMO.p means one partition,
(a) receiving an activation period for each of a plurality of TMO.p, an initial offset which is a first activation time, and an execution duration in which activation is performed for each activation period, ;
(b) receiving a TMO.p in which a second input unit belongs to each of a plurality of time-triggered spontaneous methods (SpM) and a message-triggered server method (SvM);
(c) a first stage partition scheduler activating one TMO.p with an activation period of the plurality of TMO.p; And
(d) activating the SpM and SvM belonging to the activated one TMO.p among the plurality of SpM and SvM by the second-step task scheduler, A two-step scheduling implementation method of a TMO extended model (TMO.p model).
상기 (b) 단계는,
제2 입력부가 상기 복수의 SpM 각각에 대한 실행 주기와 데드라인(deadline), 상기 복수의SvM 각각에 대한 데드라인, 상기 복수의 SpM 및 SvM 각각에 대한 스케줄링 정책을 입력받는 단계;를 포함하는 것을 특징으로 하는 파티션 컴퓨팅을 위한 TMO 확장 모델의 2단계 스케줄링 구현 방법.3. The method of claim 2,
The step (b)
And a second input unit receiving an execution cycle and a deadline for each of the plurality of SpMs, a deadline for each of the plurality of SvMs, and a scheduling policy for each of the plurality of SpMs and SvMs A Two - Step Scheduling Implementation Method of TMO Extended Model for Partitioned Computing.
상기 스케줄링 정책은 선점이 허용되는 EDF(Earliest Deadline First) 및 LLF(Least Laxity First) 방식과 선점이 허용되지 않는 FTFS(First Triggered First Scheduled) 방식을 포함하는 것을 특징으로 하는 파티션 컴퓨팅을 위한 TMO 확장 모델의 2단계 스케줄링 구현 방법.The method of claim 3,
Wherein the scheduling policy includes an EDF (Earliest Deadline First) and an LLF (Least Laxity First) method in which preemption is allowed and a FTFS (First Triggered First Scheduled) method in which preemption is not allowed. A method for implementing the two-step scheduling.
상기 (c) 단계는,
활성화 주기가 도래한 제1 TMO.p를 활성화하기 전 제2 TMO.p가 활성화중이면,
제1 단계 파티션 스케줄러가 상기 제2 TMO.p의 실행 구간이 종료되면 상기 제2 TMO.p를 비활성화 상태로 전환한 후, 상기 제1 TMO.p를 활성화하는 단계;를 포함하는 것을 특징으로 하는 파티션 컴퓨팅을 위한 TMO 확장 모델의 2단계 스케줄링 구현 방법.3. The method of claim 2,
The step (c)
If the second TMO.p is active before activating the first TMO.p that has arrived at the activation period,
And a step of activating the first TMO.p after the first-stage partition scheduler switches the second TMO.p to an inactive state when the execution period of the second TMO.p is terminated A Two - Step Scheduling Implementation Method of TMO Extended Model for Partitioned Computing.
(e) 제2 단계 태스크 스케줄러가 상기 활성화된 하나의 TMO.p의 실행 구간이 종료되면, 상기 TMO.p에 속하여 활성화 중이던 SpM 및 SvM를 비활성화 상태로 전환하는 단계;를 더 포함하는 것을 특징으로 하는 파티션 컴퓨팅을 위한 TMO 확장 모델의 2단계 스케줄링 구현 방법. 3. The method of claim 2,
(e) when the task scheduler of the second stage finishes the execution period of one activated TMO.p, it turns on the active SpM and SvM belonging to TMO.p to the inactive state Two - Step Scheduling Implementation of TMO Extended Model for Partitioned Computing.
(a) 제1 입력부가 복수의 TMO.p 각각에 대한 활성화 주기(period), 처음 활성화되는 시간인 초기위상(initial offset) 및 상기 활성화 주기마다 활성화가 진행되는 실행 구간(duration)을 입력받는 단계;
(b) 제2 입력부가 복수의 시간 구동 멤버 태스크(Time-triggered Spontaneous Method: SpM) 및 사건 구동 멤버 태스크(Message-triggered Server Method: SvM)가 각각 속하는 TMO.p를 입력받는 단계;
(c) 제1 단계 파티션 스케줄러가 상기 복수의 TMO.p 중 활성화 주기가 도래한 하나의 TMO.p를 활성화하는 단계; 및
(d) 제2 단계 태스크 스케줄러가 상기 복수의 SpM 및 SvM 중, 상기 활성화된 하나의 TMO.p에 속하는 SpM 및 SvM를 활성화하는 제2 태스크 스케줄링 단계;를 포함하는 파티션 컴퓨팅(partition computing)을 위한 TMO 확장 모델(Time-triggered Message-triggered Object partition model: TMO.p 모델)의 2단계 스케줄링 구현 방법을 컴퓨터에서 실행시키기 위한 프로그램으로 기록한 컴퓨터로 읽을 수 있는 기록매체. TMO.p means one partition,
(a) receiving an activation period for each of a plurality of TMO.p, an initial offset which is a first activation time, and an execution duration in which activation is performed for each activation period, ;
(b) receiving a TMO.p in which a second input unit belongs to each of a plurality of time-triggered spontaneous methods (SpM) and a message-triggered server method (SvM);
(c) a first stage partition scheduler activating one TMO.p with an activation period of the plurality of TMO.p; And
(d) a second task scheduler activating a SpM and SvM belonging to the activated one TMO.p among the plurality of SpM and SvM; and a second task scheduling step A computer-readable recording medium recorded with a program for causing a computer to execute a two-step scheduling implementation method of a TMO extended model (TMO.p model).
상기 (b) 단계는,
제2 입력부가 상기 복수의 SpM 각각에 대한 실행 주기와 데드라인(deadline), 상기 복수의SvM 각각에 대한 데드라인, 상기 복수의 SpM 및 SvM 각각에 대한 스케줄링 정책을 입력받는 단계;를 포함하는 것을 특징으로 하는 파티션 컴퓨팅을 위한 TMO 확장 모델의 2단계 스케줄링 구현 방법을 컴퓨터에서 실행시키기 위한 프로그램으로 기록한 컴퓨터로 읽을 수 있는 기록매체.8. The method of claim 7,
The step (b)
And a second input unit receiving an execution cycle and a deadline for each of the plurality of SpMs, a deadline for each of the plurality of SvMs, and a scheduling policy for each of the plurality of SpMs and SvMs A computer readable recording medium having a program for executing a two-step scheduling implementation method of a TMO extended model for partitioned computing.
상기 스케줄링 정책은 선점이 허용되는 EDF(Earliest Deadline First) 및 LLF(Least Laxity First) 방식과 선점이 허용되지 않는 FTFS(First Triggered First Scheduled) 방식을 포함하는 것을 특징으로 하는 파티션 컴퓨팅을 위한 TMO 확장 모델의 2단계 스케줄링 구현 방법을 컴퓨터에서 실행시키기 위한 프로그램으로 기록한 컴퓨터로 읽을 수 있는 기록매체.9. The method of claim 8,
Wherein the scheduling policy includes an EDF (Earliest Deadline First) and an LLF (Least Laxity First) method in which preemption is allowed and a FTFS (First Triggered First Scheduled) method in which preemption is not allowed. And a program for causing a computer to execute the two-step scheduling implementation method.
상기 (c) 단계는,
활성화 주기가 도래한 제1 TMO.p를 활성화하기 전 제2 TMO.p가 활성화중이면,
제1 단계 파티션 스케줄러가 상기 제2 TMO.p의 실행 구간이 종료되면 상기 제2 TMO.p를 비활성화 상태로 전환한 후, 상기 제1 TMO.p를 활성화하는 단계;를 포함하는 것을 특징으로 하는 파티션 컴퓨팅을 위한 TMO 확장 모델의 2단계 스케줄링 구현 방법을 컴퓨터에서 실행시키기 위한 프로그램으로 기록한 컴퓨터로 읽을 수 있는 기록매체.8. The method of claim 7,
The step (c)
If the second TMO.p is active before activating the first TMO.p that has arrived at the activation period,
And a step of activating the first TMO.p after the first-stage partition scheduler switches the second TMO.p to an inactive state when the execution period of the second TMO.p is terminated A computer readable recording medium having a program for executing a two - step scheduling implementation method of a TMO extended model for partition computing.
(e) 제2 단계 태스크 스케줄러가 상기 활성화된 하나의 TMO.p의 실행 구간이 종료되면, 상기 TMO.p에 속하여 활성화 중이던 SpM 및 SvM를 비활성화 상태로 전환하는 단계;를 더 포함하는 것을 특징으로 하는 파티션 컴퓨팅을 위한 TMO 확장 모델의 2단계 스케줄링 구현 방법을 컴퓨터에서 실행시키기 위한 프로그램으로 기록한 컴퓨터로 읽을 수 있는 기록매체.8. The method of claim 7,
(e) when the task scheduler of the second stage finishes the execution period of one activated TMO.p, it turns on the active SpM and SvM belonging to TMO.p to the inactive state A computer readable recording medium having a program for executing a two - step scheduling implementation method of a TMO extended model for partitioned computing.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130037712A KR101444655B1 (en) | 2013-04-05 | 2013-04-05 | Recording medium recording extended tmo model for partition computing, and implementation method of two step scheduling for extended tmo model and computer-readable recording medium recording the method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130037712A KR101444655B1 (en) | 2013-04-05 | 2013-04-05 | Recording medium recording extended tmo model for partition computing, and implementation method of two step scheduling for extended tmo model and computer-readable recording medium recording the method |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101444655B1 true KR101444655B1 (en) | 2014-11-03 |
Family
ID=52288273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130037712A KR101444655B1 (en) | 2013-04-05 | 2013-04-05 | Recording medium recording extended tmo model for partition computing, and implementation method of two step scheduling for extended tmo model and computer-readable recording medium recording the method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101444655B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116880978A (en) * | 2023-07-07 | 2023-10-13 | 郑州轻工业大学 | Real-time system partition scheduling method and scheduler based on model inspection |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100106579A (en) * | 2008-01-30 | 2010-10-01 | 디티에스, 인코포레이티드 | Lossless multi-channel audio codec using adaptive segmentation with random access point (rap) and multiple prediction parameter set (mpps) capability |
KR20110022080A (en) * | 2008-06-25 | 2011-03-04 | 퀄컴 인코포레이티드 | Fragmented reference in temporal compression for video coding |
KR101062562B1 (en) * | 2003-03-18 | 2011-09-06 | 마이크로소프트 코포레이션 | In-Place Imaging Method of Target Computer and Multiple Target Computer Imaging Methods |
-
2013
- 2013-04-05 KR KR1020130037712A patent/KR101444655B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101062562B1 (en) * | 2003-03-18 | 2011-09-06 | 마이크로소프트 코포레이션 | In-Place Imaging Method of Target Computer and Multiple Target Computer Imaging Methods |
KR20100106579A (en) * | 2008-01-30 | 2010-10-01 | 디티에스, 인코포레이티드 | Lossless multi-channel audio codec using adaptive segmentation with random access point (rap) and multiple prediction parameter set (mpps) capability |
KR20110022080A (en) * | 2008-06-25 | 2011-03-04 | 퀄컴 인코포레이티드 | Fragmented reference in temporal compression for video coding |
Non-Patent Citations (1)
Title |
---|
Kopetz, H. The Time-Triggered Model of Computation. Proceedings of the 19th IEEE Real-Time Systems Symposium, 1998, pp. 168-177. * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116880978A (en) * | 2023-07-07 | 2023-10-13 | 郑州轻工业大学 | Real-time system partition scheduling method and scheduler based on model inspection |
CN116880978B (en) * | 2023-07-07 | 2024-04-09 | 郑州轻工业大学 | Real-time system partition scheduling method and scheduler based on model inspection |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Rajkumar | Synchronization in real-time systems: a priority inheritance approach | |
US9104500B1 (en) | Lock-free job scheduler for multi-processor systems | |
Brandenburg et al. | Real-time resource-sharing under clustered scheduling: Mutex, reader-writer, and k-exclusion locks | |
Yoo et al. | A comparative review of job scheduling for MapReduce | |
US20170357536A1 (en) | Task processing device | |
Audsley et al. | Analysing APEX applications | |
KR20120070303A (en) | Apparatus for fair scheduling of synchronization in realtime multi-core systems and method of the same | |
CN105204933A (en) | Multitask switching execution method based on single process, multitask switching execution system based on single process and processor | |
JP2017534970A (en) | Method, system, and computer program product for executing a plurality of threads, and method, system, and computer program for realizing a waiting state of a plurality of threads | |
US10430205B2 (en) | Locking/unlocking CPUs to operate in safety mode or performance mode without rebooting | |
Hladik et al. | Adequacy between AUTOSAR OS specification and real-time scheduling theory | |
KR101444655B1 (en) | Recording medium recording extended tmo model for partition computing, and implementation method of two step scheduling for extended tmo model and computer-readable recording medium recording the method | |
Qaralleh et al. | HcM-FreeRTOS: hardware-centric FreeRTOS for ARM multicore | |
US11301304B2 (en) | Method and apparatus for managing kernel services in multi-core system | |
Teper et al. | Timing-Aware ROS 2 Architecture and System Optimization | |
JP3644042B2 (en) | Multitask processing device | |
CN109313581B (en) | Method for synchronous operation of multi-core processor | |
US10025621B2 (en) | Method and system for transition from direct interrupt state to virtual interrupt state of emulated computing environments | |
Fidge | Real-time scheduling theory | |
Rothberg | Interrupt handling in Linux | |
Saranya et al. | An implementation of partitioned scheduling scheme for hard real-time tasks in multicore linux with fair share for linux tasks | |
KR20190118521A (en) | Method and device for error handling in a communication between distributed software components | |
JP6547363B2 (en) | Management device, control method of management device, and program | |
de Almeida et al. | Microkernel development for embedded systems | |
Zaykov et al. | Hardware task-status manager for an RTOS with FIFO communication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GRNT | Written decision to grant |