KR102031853B1 - 다중 중요도 시스템 위한 작업별 중요도 모드 전환 방법 - Google Patents
다중 중요도 시스템 위한 작업별 중요도 모드 전환 방법 Download PDFInfo
- Publication number
- KR102031853B1 KR102031853B1 KR1020180083681A KR20180083681A KR102031853B1 KR 102031853 B1 KR102031853 B1 KR 102031853B1 KR 1020180083681 A KR1020180083681 A KR 1020180083681A KR 20180083681 A KR20180083681 A KR 20180083681A KR 102031853 B1 KR102031853 B1 KR 102031853B1
- Authority
- KR
- South Korea
- Prior art keywords
- task
- mode
- importance
- tasks
- criticality
- 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/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4818—Priority circuits therefor
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/484—Precedence
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
Abstract
본 발명에 따른 다중 중요도 시스템 위한 작업(task) 별 중요도 모드(criticality mode) 전환 방법은, 모든 작업이 저중요도 모드에 있는 경우, 모든 작업이 스케줄 가능하도록 구성하는 제1 스케줄 구성 단계; 어느 한 작업이라도 고중요도 모드에 있는 경우에는 적어도 모든 고중요도 작업들이 스케줄 가능하도록 구성하는 제2 스케줄 구성 단계; 및 중요도 모드가 변경되더라도 안정성을 유지하기 위해서 어떤 저중요도 작업을 중단해야 하는지를 결정하는 동적 작업 중단 결정 단계를 포함하고, 다중 중요도 시스템 스케줄링 알고리즘 중에서 동일한 안전성에 대하여 성능 효율성 측면에서 장점이 있다.
Description
본 발명은 다중 중요도 시스템 위한 작업별 중요도 모드 전환 방법에 관한 것이다. 보다 상세하게는, 다중 중요도 시스템에서 실시간 작업을 안전하고 효율적으로 스케줄하기 위한 작업별 중요도 모드 전환 방법 및 해당 시스템에 관한 것이다.
다중 중요도 시스템(Mixed-Criticality System)은 중요도가 서로 다른 컴포넌트가 하나의 컴퓨팅 플랫폼에 통합되어 있는 시스템이다. 이러한 시스템의 예는 자동차, 비행기, 유도 미사일 등을 들 수 있다. 예를 들면, 미사일 시스템은 상대적으로 높은 중요도의 로켓 엔진 제어 컴포넌트와 상대적으로 낮은 중요도의 통신 컴포넌트로 구성될 수 있다. 이러한 시스템에서는 저중요도 컴포넌트의 오류(예: 이상 기후로 통신 불가)가 고중요도 컴포넌트로 전파되지 않도록 설계해야 한다. 표현의 단순성을 위해, 중요도는 고중요도와 저중요도만 고려한다.
실시간 작업(Real-time task)은 정해진 제한 시간 이내에 실행이 완료되어야 하는 작업이다. 실시간 작업에서 작업의 실행 시간은 시스템 성능 보장에 매우 중요한 요소이다. 소프트웨어 실행 시간은 주위환경에 따라 다르게 나타나기 때문에, 최악 실행시간을 정확하게 측정해야 신뢰성 있는 결과를 얻을 수 있다. 다중 중요도 시스템에서는 작업의 중요도에 따라 다른 신뢰도를 요구한다. 즉, 저중요도 작업은 정상수준의 신뢰도만을 요구하지만, 고중요도 작업은 높은 수준의 신뢰도를 요구한다. 따라서, 다중 중요도 시스템에서는 정상 신뢰도 수준을 벗어나는 시스템의 동작을 발견하는 즉시, 고중요도 컴포넌트의 안정성을 위해 저중요도 컴포넌트의 실행을 제한하거나 정지시킬 수 있다.
기존의 다중 중요도 시스템에서는 실시간 작업의 효율적이고 안전한 스케줄링을 위해 시스템 수준의 중요도 모드 전환 기법을 사용했다. 저중요도 모드로 작동하던 시스템의 어떤 작업이 정상 신뢰도의 실행시간 이상 실행할 때, 중요도모드를 고중요도 모드로 변환한다. 이러한 변환 방법이 안전할 수는 있지만, 여전히 많은 자원을 낭비하게 된다는 문제점이 있다.
본 발명은 상술한 문제점을 해결하기 위한 것으로, 다중 중요도 시스템에서 실시간 작업을 안전하면서 보다 효율적으로 스케줄하기 위한 스케줄링 기법을 개발하는 것을 목표로 한다.
또한, 본 발명의 목적은 다중 중요도 시스템에서 실시간 작업을 안전하고 효율적으로 스케줄하기 위한 작업별 중요도 모드 전환 방법 및 해당 시스템을 제공하는 것을 목적으로 한다.
상기와 같은 과제를 해결하기 위한 본 발명에 따른 다중 중요도 시스템 위한 작업(task) 별 중요도 모드(criticality mode) 전환 방법은, 모든 작업이 저중요도 모드에 있는 경우, 모든 작업이 스케줄 가능하도록 구성하는 제1 스케줄 구성 단계; 어느 한 작업이라도 고중요도 모드에 있는 경우에는 적어도 모든 고중요도 작업들이 스케줄 가능하도록 구성하는 제2 스케줄 구성 단계; 및 중요도 모드가 변경되더라도 안정성을 유지하기 위해서 어떤 저중요도 작업을 중단해야 하는지를 결정하는 동적 작업 중단 결정 단계를 포함하고, 다중 중요도 시스템 스케줄링 알고리즘 중에서 동일한 안전성에 대하여 성능 효율성 측면에서 장점이 있다.
일 실시 예에 따르면, 상기 동적 작업 중단 결정 단계에서, 상기 저중요도 작업은 활성(active) 상태 또는 중단(dropped) 상태로 정의되고, 상기 저중요도 작업 중 상기 중단 상태에 있는 저중요도 작업을 우선적으로 중단하는 것을 특징으로 할 수 있다.
일 실시 예에 따르면, 상기 작업은 작업 세트 τ로 이루어지고, 상기 작업 세트에 대한 시스템 상태 S는 (τH1, τH2, τL1, τL2)로 정의되고, τH1과 τH2는 각각 LO 모드 HI-작업 세트와 모드 전환 작업을 포함하는 HI-모드 HI-작업 세트를 의미하고, τL1과 τL2는 각각 활성 LO-작업 세트와 모드 전환 시 중단 LO-작업들을 포함하는 중단된 LO-작업 세트를 의미할 수 있다.
일 실시 예에 따르면, 상기 제1 스케줄 구성 단계에서, 작업 이용(utilization) 의 내림차순으로 LO-작업들을 정렬하고, 상기 동적 작업 중단 결정 단계에서, 상기 중단된 LO-작업 세트(τL2)가 온라인 스케줄 가능성을 만족할 때까지 상기 활성 LO-작업 세트(τL1) 중 가장 높은 이용을 갖는 LO-작업들을 중단하는 것을 특징으로 할 수 있다.
일 실시 예에 따르면, 상기 제1 스케줄 구성 단계 및 상기 제1 스케줄 구성 단계에서, 상기 작업 세트 τ가 k-1 번째 상태에서 스케줄 가능한 경우,을 만족하면 상기 작업 세트 τ가 k번째 상태에서 스케줄 가능하다고 판단할 수 있다. 여기서, UL L1, UL H1, UL L2 및 UH H2는 각각 작업 τi의 LO- 및 HI-이용과 연관된 것을 특징으로 할 수 있다.
일 실시 예에 따르면, 상기 제1 스케줄 구성 단계 및 상기 제1 스케줄 구성 단계에서, 상기 작업 세트 τ가 k번째 상태에서 스케줄 가능하다고 판단하면, 임의의 시퀀스의 모드 전환 하에서 상기 작업 세트τ가 EDF-AD에 의해 스케줄 가능한지 여부인 오프라인 스케줄 가능성을 더 판단할 수 있다.
본 발명의 적어도 일 실시예에 의하면, 스케줄링 알고리즘은 다중 중요도 시스템 스케줄링 알고리즘 중에서 동일한 안전성에 대하여 성능 효율성 측면에서 장점을 가지고 있다.
또한, 본 발명의 적어도 일 실시예에 의하면, 정상 신뢰도 수준을 넘어서는 경우에도 저중요도 작업들의 성능을 최적화할 수 있다는 장점이 있다.
도 1은 본 발명에 따른 다중 중요도 시스템의 시스템 모델 및 프레임워크를 나타낸다.
도 2는 본 발명에 따른 다중 중요도 시스템 위한 작업(task) 별 중요도 모드(criticality mode) 전환 방법의 흐름도를 나타낸다.
도 2는 본 발명에 따른 다중 중요도 시스템 위한 작업(task) 별 중요도 모드(criticality mode) 전환 방법의 흐름도를 나타낸다.
상술한 본 발명의 특징 및 효과는 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 구체적으로 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다.
제1, 제2등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다.
일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않아야 한다.
이하의 설명에서 사용되는 구성요소에 대한 접미사 모듈, 블록 및 부는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.
이하, 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 당해 분야에 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 설명한다. 하기에서 본 발명의 실시 예를 설명함에 있어, 관련된 공지의 기능 또는 공지의 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
본 발명은 상술한 문제점을 해결하기 위한 것으로, 다중 중요도 시스템에서 실시간 작업을 안전하면서 보다 효율적으로 스케줄 하기 위한 스케줄링 기법을 개발하는 것을 목표로 한다. 이하에서는, 본 발명에 따른 다중 중요도 시스템 위한 작업별 중요도 모드 전환 방법에 대해 살펴보기로 한다.
본 발명은 다중 중요도 시스템에서 실시간 작업을 효율적이면서 안전하게 스케줄링 하게 하는 작업별 중요도 모드 전환 방법에 관한 것이다. 다중 중요도 시스템(MC System: Mixed-Criticality System)은 중요도가 서로 다른 컴포넌트가 하나의 컴퓨팅 플랫폼에 통합되어 있는 시스템이다.
이러한 목적을 달성하기 위하여 본 발명에서 제시하는 기술은 1) 작업 수준 중요도 모드 정의; 2) 작업 수준 중요도 모드에서 스케줄링 분석에 기반한 동적 스케줄링 결정법을 특징으로 한다.
한편, 도 1은 본 발명에 따른 다중 중요도 시스템의 시스템 모델 및 프레임워크를 나타낸다. 한편, 다중 중요도 시스템의 작업별 중요도 모드 전환 방법은 어부 (또는 컨트롤러, 또는 프로세서)에 의해 수행될 수 있다. 한편, 이러한 다중 중요도 시스템의 작업별 중요도 모드 전환 방법 중 관련 정보나 연산된 결과는 메모리에 저장되도록 구성 가능하다.
도 1에 표현된 바와 같이 개별 실시간 작업에 대한 중요도 모드 정의할 수 있다. 기존 다중 중요도 시스템에서는 시스템 전체에 대해 중요도 모드가 고중요도 모드 혹은 저중요도 모드로 정의된다. 하지만, 본 발명에서는 각 고중요도 작업에 대한 중요도 모드를 정의할 수 있다. 즉, 각 작업은 저중요도(LO) 모드 혹은 고중요도(HI) 모드에서 실행된다. 시스템의 요구조건은 다음과 같이 정의된다: 1) 모든 작업이 저중요도 모드에 있는 경우에는 모든 작업이 스케줄 가능해야 한다; 2) 어느 한 작업이라도 고중요도 모드에 있는 경우에는 적어도 모든 고중요도 작업들이 스케줄 가능해야 한다.
저중요도 작업의 경우 실행 상태가 정의된다. 저중요도 작업은 어떤 작업이 고중요도 모드에 있는 경우 중단될 수 있다. 따라서 저중요도 작업은 ‘활성(active)’ 상태이거나 ‘중단(dropped)’상태에 있다.
한편, 도 1에서의 시스템 모델에 대해 상세하게 살펴보면 다음과 같다. 도 1을 참조하면, 두 개의 구분되는 중요도 레벨, 즉, HI (high) 및 LO (low)를 갖는 이중-중요도 단일 프로세서 시스템을 고려할 수 있다. τ로 표시되는 n개의 MC 작업들의 암시적-데드라인 산발적 작업 시스템 (implicit deadline sporadic task system)을 고려한다. 각 MC 작업 τi는 (Ti, Ci H, Ci L, χi)에 의해 특정된다. 여기서, Ti는 작업 간 구분 시간 (또는 주기)를 나타낸다. 또한, Ci H 및 Ci L은 각각 저-신뢰 WCET (LO-WCET:(Worst-Case Execution Time) 및 고-신뢰 WCET (LO-WCET)를 나타낸다. χi는 {HI, LO}로 태스크 중요도 레벨을 나타낸다.
각각의 중요도 레벨 χi에 의해 개별 작업들을 카테고리화할 수 있다. 표시의 편의를 위해, τH를 HI-중요도 레벨을 갖는 작업들의 세트 (또는 HI-작업 세트)로 τL을 LO-중요도 레벨을 갖는 작업들의 세트 (또는 LO-작업 세트)로 의미하는 것으로 정의한다.
이용(Utilization)과 관련하여, 작업 τi의 LO- 및 HI-이용은 각각 Ci L/Ti 과 Ci H/Ti로 정의되고, 편의상 아래의 수학식 1과 같이 표시된다.
시스템 목표(System goal)와 관련하여, MC-스케줄 가능성뿐만 아니라, LO-작업들의 성능을 최대화하는 것이 중요하다. 따라서, 시스템 목표는 MC-스케줄 가능성 하에서 가능한 적은 LO-작업들을 중단(drop)하는 것이고, 이는 아래의 두 가지 조건들로 이루어진다.
조건 A: HI-작업들은 항상 스케줄 가능하다.
조건 B: HI-작업들이 HI-모드에 있으면 LO-작업들이 스케줄 가능하다.
한편, 전술한 바와 같이 MC-스케줄 가능성 하에서 가능한 적은 LO-작업들을 중단(drop)하는 MC-ADAPT 스케줄링 프레임워크를 제시한다. MC-ADAPT의 주요 특징은 작업-레벨 모드 전환과 동적 LO-작업 중단을 포함한다. 전술한 목표를 달성하기 위한 이러한 특징 및 레버리지를 가능하게 하기 위해서 몇 가지 이슈들이 제시된다. 먼저, 작업-레벨 모드 전환을 효율적으로 지원하는 새로운 스케줄링 알고리즘을 설계하는 것이다. 이는 시스템-레벨 모드 전환에 기반한 유사한 알고리즘들을 일반화하고 이들 중 유리한 것을 선택하는 것이다. 그리고 나서, 모드-전환 작업에 의해 요청된 부가적인 자원들을 확보하면서 중단할 최소 세트의 LO-작업들을 찾는 작업 중단 방법을 개발하는 것이다. 이는 작업-레벨 모드 전환 하에서 HI-작업들의 자원 요구에 관한 런타임 변동을 분석하는 것을 요구한다. 작업이 HI-거동(behavior)를 나타내는 경우, 모든 HI-작업들에 대한 이들의 데드라인을 충족시키기 위한 부가적 자원 요구량은 상이한 런타임 시스템 상태, 즉 HI-모드, LO-모드, 활성 상태 및 중단 상태에 있는 상이한 조합의 작업들에 따라 변동될 수 있다. 이는 이러한 자원 요구가 런타임 시스템 상태에 기반하여 정확하게 연산되고, 어떤 LO-작업들이 중단될지를 결정하는 것을 요구하고, 이에 따라 효율적인 방식으로 런타임 시에 중단될 작업들의 수를 최소화할 뿐만 아니라, 요구되는 자원들을 확보할 수 있다.
한편, 도 2는 본 발명에 따른 다중 중요도 시스템 위한 작업(task) 별 중요도 모드(criticality mode) 전환 방법의 흐름도를 나타낸다. 도 2에 도시된 바와 같이, 다중 중요도 시스템 위한 작업별 중요도 모드 전환 방법은 제1 스케줄 구성 단계(S210), 제2 스케줄 구성 단계(S220) 및 동적 작업 중단 결정 단계(S230)를 포함한다. 한편, 다중 중요도 시스템의 작업별 중요도 모드 전환 방법은 어부 (또는 컨트롤러, 또는 프로세서)에 의해 수행될 수 있다. 한편, 이러한 다중 중요도 시스템의 작업별 중요도 모드 전환 방법 중 관련 정보나 연산된 결과는 메모리에 저장되도록 구성 가능하다.
제1 스케줄 구성 단계(S210)에서, 모든 작업이 저중요도 모드에 있는 경우, 모든 작업이 스케줄 가능하도록 구성한다. 한편, 제2 스케줄 구성 단계(S220)에서, 어느 한 작업이라도 고중요도 모드에 있는 경우에는 적어도 모든 고중요도 작업들이 스케줄 가능하도록 구성할 수 있다. 또한, 동적 작업 중단 결정 단계(S230)에서, 중요도 모드가 변경되더라도 안정성을 유지하기 위해서 어떤 저중요도 작업을 중단해야 하는지를 결정할 수 있다.
한편, 동적 작업 중단 결정 단계(S230)에서, 저중요도 작업은 활성(active) 상태 또는 중단(dropped) 상태로 정의되고, 저중요도 작업 중 중단 상태에 있는 저중요도 작업을 우선적으로 중단할 수 있다.
한편, 전술된 작업은 작업 세트 τ로 이루어지고, 상기 작업 세트에 대한 시스템 상태 S는 (τH1, τH2, τL1, τL2)로 정의될 수 있다. 이때, τH1과 τH2는 각각 LO 모드 HI-작업 세트와 모드 전환 작업을 포함하는 HI-모드 HI-작업 세트를 의미한다. 반면에, τL1과 τL2는 각각 활성 LO-작업 세트와 모드 전환 시 중단 LO-작업들을 포함하는 중단된 LO-작업 세트를 의미한다.
이때, 제1 스케줄 구성 단계(S210)에서, 작업 이용(utilization) 의 내림차순으로 LO-작업들을 정렬할 수 있다. 이에 따라, 동적 작업 중단 결정 단계(S230)에서, 중단된 LO-작업 세트(τL2)가 온라인 스케줄 가능성을 만족할 때까지 활성 LO-작업 세트(τL1) 중 가장 높은 이용을 갖는 LO-작업들을 중단할 수 있다.
한편, 제1 스케줄 구성 단계(S210) 및 제2 스케줄 구성 단계(S220)에서, 다음과 같은 스케줄링 가능 여부 (온라인 스케줄 가능성)가 판단될 수 있다. 즉, 작업 세트 τ가 k-1 번째 상태에서 스케줄 가능한 경우, 을 만족하면 상기 작업 세트 τ가 k번째 상태에서 스케줄 가능하다고 판단할 수 있다. 여기서, UL L1, UL H1, UL L2 및 UH H2는 각각 작업 τi의 LO- 및 HI-이용과 연관된 것을 특징으로 할 수 있다.
또한, 제1 스케줄 구성 단계(S210) 및 제2 스케줄 구성 단계(S220)에서, 다음과 같은 스케줄링 가능 여부 (오프라인 스케줄 가능성)가 판단될 수 있다. 즉, 작업 세트 τ가 k번째 상태에서 스케줄 가능하다고 판단하면, 임의의 시퀀스의 모드 전환 하에서 상기 작업 세트τ가 EDF-AD에 의해 스케줄 가능한지 여부인 오프라인 스케줄 가능성을 더 판단할 수 있다.
한편, 동적 작업 중단 결정 단계(S230)와 관련하여, 작업의 중요도 모드가 변하면 시스템의 안정성에 어떻게 영향을 미치는 가를 분석해야 한다. 다음으로 중요도 모드가 바뀌더라도 안정성을 유지하기 위해서 어떤 저중요도 작업을 중단해야 하는지를 결정해야 한다. 기존 다중 중요도 시스템에서는 단 한번의 중요도 모드 전환이 존재했고, 이때 미리 정해진 저중요도 작업들을 중단했다 (예: 모드 전환시 모든 저중요도 작업 중단). 작업 수준 중요도 모드 환경에서는 시스템의 실행 시간 중 무수히 많은 모드 전환이 존재한다. 따라서, 과거의 모드 전환에서 저중요도 작업의 중단 결정이 현재의 모드 전환에 영향을 미칠 수도 있다. 또한, 과거의 모드 전환의 가짓수도 무수히 많을 수 있기 때문에, 저중요도 작업의 중단 결정 판단 조건을 미리 정하기는 힘들다. 이러한 어려움을 해결하기 위해서 동적 작업 중단 결정 방법을 제안한다. 시스템의 실행 전 미리 정해진 결정에 따라 작업을 중단하는 것이 아니라, 모드 전환 시점에서 상황을 인지하여 동적으로 작업 중단을 결정한다. 또한, 모드 전환 시점의 동적 결정의 빠른 판단을 위하여 과거의 모든 모드 전환 내역을 바탕으로 결정하는 것이 아닌, 현재의 작업의 상태(고중요도/저중요도 모드, 활성/중단 모드)에 기초하여 작업 중단을 판단한다. 이러한 동적 판단은 최소의 작업 중단을 빠른 시간 내에 결정하게 한다.
이러한 다중 중요도 시스템에서 작업-레벨 모드 전환 하에서 동적 작업 중단을 지원하는 MC-ADAPT 프레임워크에 대해 상세하게 살펴보면 다음과 같다. LO-작업들의 중단을 최소화하기 위해, 모드-전환 작업에 의해 요청된 부가 자원에 대한 최소 세트의 LO-작업들을 선택하기 위한 1) 작업 중단 알고리즘 및 자원-효율적 스케줄링 알고리즘이 필요하다. 다음으로, 2)온라인 스케줄 가능성 분석을 통해 특정 모드에서 작업이 스케줄 가능하진지 여부를 확인하는 것이다. 또한, 3)오프라인 스케줄 가능성 분석을 통해 임의의 시퀀스의 모드 전환 하에서 작업 세트가 스케줄 가능한지 여부를 확인하는 것이다.
1) EDF-AD 스케줄링 알고리즘
작업-레벨 모드 전환 하에서 LO-작업들의 중단을 최소화하기 위해, 최단 데드라인 우선-가상 데드라인 (EDF-VD: Earliest Deadline First-Virtual Deadline) 스케줄링을 확장한 EDF-AD (EDF-Adaptive Dropping) 스케줄링 알고리즘을 제안한다.
런타임 스케줄링 정책: 모드 전환 이후 HI-작업들의 스케줄 가능성을 보장하기 위해, LO-모드에 있는 HI-작업들에 VD를 적용한다. EDF-AD는 EDF-VD와 동일한 VD 할당을 채택하지만, 작업 레벨 모드 전환에 따라 작업들의 우선순위를 변경한다. EDF-AD는 최단 유효 데드라인을 잦는 작업을 스케줄링하고 아래의 규칙하에서 동작한다.
각각의 실제 데드라인으로 LO-작업들을 스케줄링한다.
각각의 HI-작업 τi에 대해, 작업이 LO-모드에 있는 경우 (Mi = LO), 작업을 자신의 VD으로 스케줄링하고, 작업이 HI-모드에 있는 경우 (Mi = HI), 자신의 실제 데드라인으로 스케줄링한다.
HI-작업 τi의 모드 전환 시에, Mi = HI로 설정하고 EDF-AD 작업 중단 알고리즘에 의해 LO-작업들을 중단한다.
HI-작업의 작업 모드가 모드 전환 시에 HI로 변경되면, 작업의 상대적 데드라인은 자신의 VD에서 자신의 실제 데드라인으로 연기된다.
작업 중단 알고리즘: 모드 전환 시 가능한 적은 LO-작업들을 중단하기 위해, MC-스케줄 가능성을 충족시키는데 얼마나 많은 자원들이 필요한지를 알 필요가 있다. 이를 위해, 온라인 스케줄 가능성 테스트를 개발하고, 상기 테스트에 의해 LO-작업들을 중단할 수 있다.
이러한 테스트를 구축하기 위해, 모드 전환 시에 각 작업의 작업 모드 (실행 상태)를 포함하는 동적 시스템 거동을 포착(capture)하는 시스템 상태를 도입할 필요가 있다.
(시스템 상태) 주어진 작업 세트 τ에 대해, 시스템 상태 S는 disjoint의 4개의 튜플(tuple), 즉 S = (τH1, τH2, τL1, τL2)로 정의된다. 여기서, τH1과 τH2는 각각 LO 모드 HI-작업 세트와 (모드 전환 작업을 포함하는) HI-모드 HI-작업 세트를 의미한다. 한편, τL1과 τL2는 각각 활성 LO-작업 세트와 (모드 전환 시 중단 LO-작업들을 포함하는) 중단된 LO-작업을 의미한다.
따라서, 전술된 EDF-AD 작업 중단 알고리즘은 다음과 같이 수행될 수 있다.
시스템 시작 전에, 작업 이용의 내림차순으로 LO-작업들을 정렬한다.
중단된 LO-작업 세트(τL2)가 아래 수학식 2의 온라인 스케줄 가능성을 만족할 때까지 활성 LO-작업 세트(τL1) 중 가장 높은 이용을 갖는 LO-작업들을 중단한다. 이러한 알고리즘은 전체 동작 시간 동안에 중단 작업들의 수를 최소화고, 이는 온라인 스케줄 가능성의 관점에서 최적이다.
전술한 바와 같이, 수학식 2는 어떤 LO-작업들이 모드 전환 시 중단되어야 하는지를 결정하기 위한 온라인 스케줄 가능성을 제시한다. 한편, MC-ADAPT의 런타임 복잡도는 O(n)으로, 선형 복잡도이다. 작업 중단 알고리즘의 복잡도도 O(n)이다. 즉, 자원 부족을 식별하는 복잡도는 O(n)이고, LO-작업들의 중단 후보를 선택하는 복잡도도 O(n)이다. HI-작업들의 중요도-모드를 저장하기 위한 시스템에 대해 요구되는 메모리 공간은 최대 n 비트이다.
2) 온라인 스케줄 가능성 분석
특정 모드 전환 시에 온라인 스케줄 가능성을 분석하는 것은, 모드 전환 시에 시스템 상태가 주어진 경우 EDF-AD에 의해 주어진 작업 세트가 스케줄 가능한지 여부를 의미한다. 이때, k번째 모드 전환 (k≤1) 이후 시스템 상태를 Sk로 정의하자. 주어진 인터벌에 대해 총 자원 요구량을 구하기 위해, 자신의 작업 모드에 따라 각각의 작업의 자원요구량을 연산한다.
따라서, 두 가지 상이한 종류의 시스템 상태에 관한 온라인 스케줄 가능성을 고려할 수 있다. 즉, 초기 시스템 상태(S0)와 임의의 실현 가능한 시스템 상태 (Sk - 1)로부터 전환된 시스템 상태 (Sk)이다. S0가 EDF-VD의 시스템 LO-모드와 동일하기 때문에, S0에 관한 온라인 스케줄 가능성에 대한 EDF-VD의 결과를 재사용할 수 있다.
작업 세트 τ가 아래의 수학식 3을 만족하면 S0에 관해 EDF-AD에 의해 스케줄 가능하다.
작업 세트 τ가 Sk -1로 스케줄 가능하다고 가정한다. 이때, Sk는 Sk -1로부터 변환된 시스템 상태이다. 이때, 아래의 수학식 4를 만족하면 Sk에 관하여 작업 세트 τ가 EDF-AD에 의해 스케줄 가능하다.
수학식 4로부터 아래와 같이 수학식 5와 같은 온라인 스케줄 가능성을 유도할 수 있다. 즉, 어떤 LO-작업들이 모드 전환 시 중단되어야 하는지를 결정하기 위한 온라인 스케줄 가능성에 관한 전술한 수학식 2가 유도된다.
한편, 데드라인을 놓친(miss) 것으로 가정한 경우에 대해 고려하면 다음과 같다. EDF-AD에 의해 데드라인을 놓친 경우에 작업 세트 τDP 의해 해제된 최소 인스턴스의 작업을 I로 표시하자. 일반성을 유지하면서, 시각 tO에서 I에서 최초 임무(job)가 해제되었고 시각 t1에서 데드라인을 놓친 것으로 가정하자. 임의의 작업 τi에 대해 임의의 시각 t에서, I의 시간 인터벌 [0, t)에 대한 작업 τi의 요구의 상한을 DEMi(t)라고 한다. 한편, DEM(t)를 모든 작업의 DEMi(t)의 합이라고 하자. 시각 t1에서 데드라인을 놓친 것으로 가정하였기 때문에, DEM(t1) > t1이 성립하여야 한다. 하지만, 아래와 같은 경우에 DEM(t1) ≤ t1이 성립함에 따라 모순이 발생한다.
- 임의의 시각 t에서, LO-모드의 HI-작업에 대해 τi∈ τH1 및 DEMi(t) =(ui L/x)t가 성립한다. 반면에, 활성 상태의 LO-작업에 대해 τi∈ τL1 및 DEMi(t) = ui L ·t가 성립한다.
- 다음으로, 최소 인스턴스 I를 고려하면, [0, t1)에서 실행되는 모든 작업들은 데드라인 ≤ t1 성립한다.
또한, HI-작업 τi가 모드 전환 (τi∈ τH2)된 경우, 아래의 수학식 6이 성립한다.
즉, τi의 모드 전환 시에, J i * 의 데드라인은 ai *+xTi에서 ai *+Ti로 변경되고, 실행 요구사항은 Ci L에서 Ci H로 변경된다.
- Sk에 대해 I에서의 최종 (k번째) 모드 전환 작업을 τq라고 하자. LO-작업 τi가 중단되면, 아래의 수학식 7이 성립한다.
τq가 최종 모드-전환 작업이기 때문에, τi는 J q * 의 모드 중단 시 또는 그 이전에 중단된다.
t1 < aq *+xTq이면, DEMi k(t1) > DEMi k -1(t1)이 성립한다.
t1 > aq *+xTq이면, 아래의 수학식 8이 성립한다.
3) 오프라인 스케줄 가능성 분석
한편, 임의의 시퀀스의 모드 전환 하에서 작업 세트가 EDF-AD에 의해 스케줄 가능한지 여부인 오프라인 스케줄 가능성에 대해 살펴보면 다음과 같다. 이와 관련하여, 온라인 스케줄 가능성 분석에 기반하여 EDF-AD가 MC-스케줄 가능성을 만족하는 임의의 시스템 상태에 관한 작업 세트를 스케줄 할 수 있는지 여부를 확인할 필요가 있다.
한편, 아래의 표 1은 EDF-AD에 의한 작업 세트의 파라미터를 나탄내다.
표 1의 파라미터에 대해, x = 0.3/(1-0.4)=0.5이다. 이때, 수학식 3 에 따라, 0.4 + 0.3/0.5 =1을 만족한다. 또한, 수학식 9에 따라, 0.5*0.4 + max(0.1/0.5, 0.35) + max(0.2/0.5, 0.30) = 0.2 + 0.35 + 0.4 =0.95 < 1을 만족함을 알 수 있다. 따라서, 작업 세트 τ는 EDF-A에 의해 MC-스케줄 가능하고, 오프라인 스케줄 가능하다.
한편, 이러한 시스템에서 중요도 모드의 전환을 통해 안전하고 효율적인 스케줄링을 달성할 수 있다. 기존 시스템 수준의 중요도 모드 전환대신 작업 수준의 중요도 모드를 사용하면, 보다 효율적인 스케줄링이 가능하다. 본 발명은 중요도 모드 전환 방법을 작업 수준으로 세분화했을 때 생기는 여러 가지 문제들을 분석하여, 이에 대한 해결책을 제시할 수 있다. 이러한 결과는 다중 중요도 시스템에서 안전하면서 보다 효율적인 스케줄링을 가능하게 하여 시스템의 성능 향상에 큰 효과를 보일 것으로 기대된다.
본 발명의 적어도 일 실시예에 의하면, 스케줄링 알고리즘은 다중 중요도 시스템 스케줄링 알고리즘 중에서 동일한 안전성에 대하여 성능 효율성 측면에서 장점을 가지고 있다.
또한, 본 발명의 적어도 일 실시예에 의하면, 정상 신뢰도 수준을 넘어서는 경우에도 저중요도 작업들의 성능을 최적화할 수 있다는 장점이 있다.
소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능뿐만 아니라 각각의 구성 요소들에 대한 설계 및 파라미터 최적화는 별도의 소프트웨어 모듈로도 구현될 수 있다. 적절한 프로그램 언어로 쓰여진 소프트웨어 어플리케이션으로 소프트웨어 코드가 구현될 수 있다. 상기 소프트웨어 코드는 메모리에 저장되고, 제어부(controller) 또는 프로세서(processor)에 의해 실행될 수 있다.
Claims (6)
- 다중 중요도 시스템 위한 작업(task) 별 중요도 모드(criticality mode) 전환 방법에 있어서, 상기 방법은 상기 작업(task)을 수행하는 상기 다중 중요도 시스템의 프로세서에 의해 수행되고, 상기 방법은,
모든 작업이 저중요도 모드에 있는 경우, 모든 작업이 스케줄 가능하도록 구성하는 제1 스케줄 구성 단계;
어느 한 작업이라도 고중요도 모드에 있는 경우에는 적어도 모든 고중요도 작업들이 스케줄 가능하도록 구성하는 제2 스케줄 구성 단계; 및
중요도 모드가 변경되더라도 안정성을 유지하기 위해서 어떤 저중요도 작업을 중단해야 하는지를 결정하는 동적 작업 중단 결정 단계를 포함하고,
상기 작업은 작업 세트 τ로 이루어지고, 상기 작업 세트에 대한 시스템 상태 S는 (τH1, τH2, τL1, τL2)로 정의되고,
τH1과 τH2는 각각 LO 모드 HI-작업 세트와 모드 전환 작업을 포함하는 HI-모드 HI-작업 세트를 의미하고,
τL1과 τL2는 각각 활성 LO-작업 세트와 모드 전환 시 중단 LO-작업들을 포함하는 중단된 LO-작업 세트를 의미하는 것을 특징으로 하는, 작업별 중요도 모드 전환 방법. - 제1 항에 있어서,
상기 동적 작업 중단 결정 단계에서,
상기 저중요도 작업은 활성(active) 상태 또는 중단(dropped) 상태로 정의되고,
상기 저중요도 작업 중 상기 중단 상태에 있는 저중요도 작업을 우선적으로 중단하는 것을 특징으로 하는, 작업별 중요도 모드 전환 방법. - 삭제
- 제 1항에 있어서,
상기 제1 스케줄 구성 단계에서, 작업 이용(utilization) 의 내림차순으로 LO-작업들을 정렬하고,
상기 동적 작업 중단 결정 단계에서, 상기 중단된 LO-작업 세트(τL2)가 온라인 스케줄 가능성을 만족할 때까지 상기 활성 LO-작업 세트(τL1) 중 가장 높은 이용을 갖는 LO-작업들을 중단하는 것을 특징으로 하는, 작업별 중요도 모드 전환 방법. - 제 1항에 있어서,
상기 제1 스케줄 구성 단계 및 상기 제2 스케줄 구성 단계에서,
상기 작업 세트 τ가 k-1 번째 상태에서 스케줄 가능한 경우,
상기 작업 세트 τ가 k번째 상태에서 스케줄 가능 여부를 판단하는 것을 특징으로 하는, 작업별 중요도 모드 전환 방법. - 제 5항에 있어서,
상기 제1 스케줄 구성 단계 및 상기 제2 스케줄 구성 단계에서,
상기 작업 세트 τ가 k번째 상태에서 스케줄 가능하다고 판단하면,
임의의 시퀀스의 모드 전환 하에서 상기 작업 세트τ가 EDF-AD에 의해 스케줄 가능한지 여부인 오프라인 스케줄 가능성을 더 판단하는 것을 특징으로 하는, 작업별 중요도 모드 전환 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180083681A KR102031853B1 (ko) | 2018-07-18 | 2018-07-18 | 다중 중요도 시스템 위한 작업별 중요도 모드 전환 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180083681A KR102031853B1 (ko) | 2018-07-18 | 2018-07-18 | 다중 중요도 시스템 위한 작업별 중요도 모드 전환 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102031853B1 true KR102031853B1 (ko) | 2019-10-15 |
Family
ID=68209554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180083681A KR102031853B1 (ko) | 2018-07-18 | 2018-07-18 | 다중 중요도 시스템 위한 작업별 중요도 모드 전환 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102031853B1 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114741164A (zh) * | 2022-01-19 | 2022-07-12 | 浙江大学 | 一种基于edf-vd的灵活混合临界调度方法 |
CN116755865A (zh) * | 2023-08-15 | 2023-09-15 | 北京理工大学 | 一种基于汽车嵌入式平台的混合关键***部署方法及装置 |
KR20240092722A (ko) | 2022-12-15 | 2024-06-24 | 중앙대학교 산학협력단 | 적대적 공격을 받는 상황에서 강건함과 실시간성을 보장할 수 있는 인공지능 기반 객체탐지 프레임워크 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3215264B2 (ja) * | 1994-06-29 | 2001-10-02 | 科学技術庁航空宇宙技術研究所長 | スケジュール制御装置とその方法 |
KR101086514B1 (ko) * | 2003-08-20 | 2011-11-23 | 마이크로소프트 코포레이션 | 연속 매체 우선순위 인식 저장장치 스케줄러 |
KR101752807B1 (ko) * | 2009-06-16 | 2017-06-30 | 어플라이드 머티어리얼스, 인코포레이티드 | 카운터 및 타이머 제약들 |
-
2018
- 2018-07-18 KR KR1020180083681A patent/KR102031853B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3215264B2 (ja) * | 1994-06-29 | 2001-10-02 | 科学技術庁航空宇宙技術研究所長 | スケジュール制御装置とその方法 |
KR101086514B1 (ko) * | 2003-08-20 | 2011-11-23 | 마이크로소프트 코포레이션 | 연속 매체 우선순위 인식 저장장치 스케줄러 |
KR101752807B1 (ko) * | 2009-06-16 | 2017-06-30 | 어플라이드 머티어리얼스, 인코포레이티드 | 카운터 및 타이머 제약들 |
Non-Patent Citations (2)
Title |
---|
S. Baruah 외 6명. 'The Preemptive Uniprocessor Scheduling of Mixed-Criticality Implicit-Deadline Sporadic Task Systems'. 24th Euromicro Conference on Real-Time Systems, 2012.07., pp.1-10. * |
이재우 외 2명. '혼합 임계 사이버 물리 시스템을 위한 실시간성 지원 연구 조사'. 정보과학회지 제31권 제12호, 2013.12., pp.39-46.* * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114741164A (zh) * | 2022-01-19 | 2022-07-12 | 浙江大学 | 一种基于edf-vd的灵活混合临界调度方法 |
KR20240092722A (ko) | 2022-12-15 | 2024-06-24 | 중앙대학교 산학협력단 | 적대적 공격을 받는 상황에서 강건함과 실시간성을 보장할 수 있는 인공지능 기반 객체탐지 프레임워크 |
CN116755865A (zh) * | 2023-08-15 | 2023-09-15 | 北京理工大学 | 一种基于汽车嵌入式平台的混合关键***部署方法及装置 |
CN116755865B (zh) * | 2023-08-15 | 2023-11-10 | 北京理工大学 | 一种基于汽车嵌入式平台的混合关键***部署方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6411982B2 (en) | Thread based governor for time scheduled process execution | |
Stankovic et al. | Implications of classical scheduling results for real-time systems | |
CN111625331B (zh) | 任务调度方法、装置、平台、服务器及存储介质 | |
EP3893112A2 (en) | Method and apparatus for scheduling deep learning reasoning engines, device, and medium | |
US11507419B2 (en) | Method,electronic device and computer program product for scheduling computer resources in a task processing environment | |
EP3432159A1 (en) | Garbage collection method and device | |
KR102031853B1 (ko) | 다중 중요도 시스템 위한 작업별 중요도 모드 전환 방법 | |
Casini et al. | Semi-partitioned scheduling of dynamic real-time workload: A practical approach based on analysis-driven load balancing | |
KR20100018289A (ko) | 멀티 태스킹 성능 예측 방법 및 시스템 | |
CN106775975B (zh) | 进程调度方法及装置 | |
CN116010064A (zh) | Dag作业调度和集群管理的方法、***及装置 | |
Lipari et al. | Resource reservation for mixed criticality systems | |
Panahi et al. | The design of middleware support for real-time SOA | |
Suzuki et al. | HLBS: Heterogeneous laxity-based scheduling algorithm for DAG-based real-time computing | |
Prenzel et al. | Real-time dynamic reconfiguration for IEC 61499 | |
Guan et al. | Resource sharing protocols for real-time task graph systems | |
EP2960787B1 (en) | A method of executing an application on a computer system, a resource manager and a high performance computer system | |
Yao et al. | Using a tunable knob for reducing makespan of mapreduce jobs in a hadoop cluster | |
Tsog et al. | Static allocation of parallel tasks to improve schedulability in cpu-gpu heterogeneous real-time systems | |
CN109709900B (zh) | 数值控制装置 | |
CN108089919B (zh) | 一种并发处理api请求的方法及*** | |
US20090168092A1 (en) | Job management and scheduling method for network system | |
CN112416591B (zh) | 分布式的任务处理方法、装置、设备、存储介质和*** | |
CN114035926A (zh) | 应用线程调度方法、装置、存储介质及电子设备 | |
Dong et al. | Minimizing stack memory for hard real-time applications on multicore platforms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |