KR101669919B1 - 생물학적 분석들을 위한 전기기계 시스템용 작업 스케줄러 - Google Patents

생물학적 분석들을 위한 전기기계 시스템용 작업 스케줄러 Download PDF

Info

Publication number
KR101669919B1
KR101669919B1 KR1020147019679A KR20147019679A KR101669919B1 KR 101669919 B1 KR101669919 B1 KR 101669919B1 KR 1020147019679 A KR1020147019679 A KR 1020147019679A KR 20147019679 A KR20147019679 A KR 20147019679A KR 101669919 B1 KR101669919 B1 KR 101669919B1
Authority
KR
South Korea
Prior art keywords
constraints
dbm
scheduling
exclusion
algorithm
Prior art date
Application number
KR1020147019679A
Other languages
English (en)
Other versions
KR20140109970A (ko
Inventor
엔리코 비카리오
로렌조 리디
안드레아 카리그나노
자코포 토리니
Original Assignee
비오메리으
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 비오메리으 filed Critical 비오메리으
Publication of KR20140109970A publication Critical patent/KR20140109970A/ko
Application granted granted Critical
Publication of KR101669919B1 publication Critical patent/KR101669919B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41865Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling 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)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Automation & Control Theory (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Devices For Executing Special Programs (AREA)
  • Medical Treatment And Welfare Office Work (AREA)
  • Automatic Analysis And Handling Materials Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 우선순위 및 상호 배제의 제약들을 갖는 복수의 동시 작업 시퀀스들을 스케줄링하는 방법 및 시스템에 관한 것이다. 특히, 본 발명은 자원들(머신들)의 세트를 사용해야 하는 비선점성 작업들을 포함하고 릴리즈 시간들 및 실행 시간들에 대한 제약들을 갖는 임상 샘플들에 대한 생물학적 분석들을 수행하는 시스템에 대한 스케줄러에 관한 것이다. 스케줄링 문제가 실제 산업 시스템에서 발생한다. 원칙적으로, 이러한 문제는 시간 페트리 넷(Time Petri Net) 및 타이밍된 오토머턴(Timed Automaton)과 같은 동시 모델에 대한 실시간 모델 체킹의 경우로서 공식화될 수 있다. 그러나, 이러한 접근방식은 예상 런타임 내장 플랫폼에서 실행가능하지 않다. 본 발명의 바람직한 실시예에 따른 스케줄링 방법은 완전한(full-fledged) 모델 체킹 툴의 엔진으로부터 DBM 데이터 구조들 및 Floyd-Warshall 알고리즘의 코어를 추출하여 경우의 특정한 요건들에 맞추는 의도적 알고리즘 솔루션을 활용한다. 이것은 준최적 솔루션들에 대한 휴리스틱들을 허용하는 서치의 복잡성을 크게 감소시키고, 증분적 알고리즘 개량들에 의해, 예상된 성능 요건들을 획득하는 것을 허용한다.

Description

생물학적 분석들을 위한 전기기계 시스템용 작업 스케줄러{JOB SCHEDULER FOR ELECTROMECHANICAL SYSTEM FOR BIOLOGICAL ANALYSES}
본 발명은 상호 배제(mutual exclusion) 및 상호 지연(mutual delay)의 제약들(constranits)을 받는 타이밍된(timed) 작업들의 복수의 동시 시퀀스들을 스케줄링하는 방법 및 시스템에 관한 것이다. 특히, 본 발명은 전기기계 디바이스들의 세트를 공유하면서 상이한 샘플들에 상이한 분석 프로토콜들을 적용하는 다중의 동시 생물학적 분석들을 수행하는 시스템용 스케줄러에 관한 것이다.
허용된 한정 시간 슬랙(slack)들로 상호 지연 및 상호 배제의 제약들을 갖는 복수의 동시 및 타이밍된 작업 시퀀스들을 스케줄링하는 문제가 다양한 컨텍스트들에 적용될 수 있지만, 본 출원에서는, 예컨대, bioMerieux에 의해 엔지니어링된 VIDAS 시스템과 같은 생물학적 분석을 위한 전기기계 시스템용 런-타임 스케줄러의 구체적인 예를 참조하여, 일반성을 손상시키지 않고 이러한 문제점을 다룬다.
이 예의 시스템은 한 그룹의 다중 동시 분석들을 실행할 수 있는데, 이 각각은 공유된 전기기계 디바이스들에 의해 수행되는 샘플의 생물학적 반응의 단계들 및 이송 동작들이 교번하며, 각 반응 단계의 지속기간은 분석의 생물학적 프로토콜에 의해 결정되지만, 한정된 대기 시간들이 각 반응 단계의 완료 이후에 추가될 수 있다.
이것은 동시 분석들의 수를 최대화하고 전체 완료 시간을 최소화하면서, 최대 허용 지연들을 따르고 공유된 자원들의 사용에서의 충돌들을 회피하도록 각 단계 이후 대기 시간들을 결정하는 스케줄링 문제를 발생시킨다.
더욱 구체적으로, 생물학적 분석의 각 타입은 사전처리 단계 및 분석 프로토콜로 이루어진다. 분석의 시작에서, 샘플은 바코드에 의해 고유하게 식별되는 테스트 튜브에 포함되고, 다른 튜브들은 희석액 및 배양액들을 포함하고 다른 튜브들은 비어 있다. 사전처리 단계 동안, 자동 피페터(pipettor)가 다양한 튜브들에 샘플을 반복적으로 따르고, 각 피페터의 액션은 결정된 시간량 동안 지속된다. 대기 시간들은 연속 액션들 사이에서 허용되지만, 이들은 배양/반응 주기들 및 샘플 변질 특성들에 의해 결정된 최대값과 최소값 사이의 범위로 제약된다. 사전처리 단계 이후에, 샘플이 시약들(reagents)과 조합되고 다중의 측정들이 그 동작들이 결정 지속기간들을 취하는 판독-헤드에 의해 취해지는 단계들의 고정 시퀀스 이후에 분석 프로토콜이 이어진다(도 1 참조).
전기기계 컴포넌트들의 효율적인 이용을 위해, 가능하면 상이한 타입들의 다중의 분석들이 동시에 수행된다. 이러한 목적을 위해, 시스템은 각 분석에 대해 하나씩, 다중의 섹션들로 구성된다. 각 섹션은 그 후, 상이한 사전처리들을 받을 수 있고 상이한 피험자들의 샘플들에 대해 동작할 수 있는 상이한 샘플들을 반송하는 슬롯들로 분할된다. 그러나, 판독 헤드가 전체 섹션에 대한 측정을 한번에 하도록 설계되기 때문에, 동일한 섹션에서의 모든 슬롯들은 동일한 분석 프로토콜을 실행하는 것으로 제약된다(도 2 참조).
피페터 및 판독 헤드는 상이한 슬롯들 및 섹션들 중에서 공유되고, 2개의 상이한 분석들에 의해 동시에 사용될 수 없다. 이것은 각 사전처리의 초기 지연의 적절한 값들 및 동일한 분석의 이벤트들 사이의 대기 시간들을 결정해야 하는 스케줄링 문제를 일으킨다. 이러한 값들은 피페터 및 판독 헤드의 동시 액션들을 회피해야 하고, 허용 한계를 넘는 대기 시간들을 회피해야 하며, 분석들의 그룹의 전체 시간 스팬을 가능한 한 짧게 유지해야 한다.
문제 공식화
문제가 릴리즈 시간들(r1 ... rn) 및 결정 실행 시간들(e1 ... en)을 갖는, n개의 독립적이고 비선점성(non-preemptible) 작업들 J1 ... Jn의 세트로서 작업 샵(job shop) 스케줄링의 일반 표기로 공식적으로 캐스팅될 수 있고, 각 작업은 하기의 우선순위 및 상호 배제의 제약들을 받는 m개의 독립 머신들 M1 ... Mm 중 하나에 정적으로(statically) 할당된다:
― 임의의 2개의 작업들 Ji 및 Jk에 대해, 우선순위 제약은 Jk의 완료와 Ji의 시작 사이의 지연이 최소치
Figure 112016000241873-pct00001
와 최대치
Figure 112016000241873-pct00002
내의 범위:
Figure 112016000241873-pct00003

라는 것을 요구할 수 있고,
― 임의의 2개의 작업들 Ji 및 Jk에 대해, 상호 배제 제약은 Ji 및 Jk의 실행 주기들이 오버랩하지 않는다는 것을 요구할 수 있고; 이것은 Ji가 Jk의 완료 이후에 시작한다는 것(반대의 경우도 가능함)을 보장하는 아래의 2개의 판정들 중 하나에 의해 달성될 수 있다:
Figure 112016000241873-pct00004
또는
Figure 112016000241873-pct00005

스케줄링 문제는 전체 복수의 작업 시퀀스들의 완료 시간을 최소화하기 위해, 모든 규정된 우선순위 및 상호 배제 제약들을 받는, 릴리즈 시간들 r1 … rn을 결정하는 것에 해당한다. 도 3a는 작업들 J1, J2, J3, 및 J4가 머신들 M1 및 M2에 할당되고; 작업 J2가 J4에 관하여 상호 배제 및 J1 및 J3의 완료 시간에 관하여 그것의 시작 시간을 한정하는 우선순위 제약을 갖는다는 문제의 경우를 예시한다. 우선순위 제약들은 J3의 완료에 관하여 J4의 시작 시간의 지연을 또한 한정한다. 도 3b는 이 문제에 대한 솔루션을 도시한다.
위에서 정의한 스케줄링 문제는 상호 배제 및 우선순위 제약들을 갖는 비결정성 릴리즈 시간들의 얽힘(interwining)을 특징으로 하고, 따라서, 이것은 작업들, 제약들, 및 자원들과 같은 스케줄링 개념들의 장소들/위치들, 천이들, 사전조건 및 사후조건으로의 직접적인 트랜슬레이션을 통한 TPN(Time Petri Nets) 또는 TA(Timed Automata)와 같은 비결정 형식화에 의거하여 편의상 공식화될 수 있다. 이것은 영역들(R. Alur, D.L. Dill: Automata for modeling real-time systems. In Proc. Of 17th ICALP, 1990 참조) 또는 차이 한정 매트릭스(Difference Bounds Matrix; DBM) 구역들(D. Dill. Timing Assumptions and Verification of Finite-State Concurrent Systems. In Proc. Workshop on Computer Aided Verification Methods for Finite State Systems, 1989 참조)에 기초한 상태 공간의 심볼 분석을 통한 동시 제약들 및 비결정 타이머들의 조합을 관리하는 모델링 및 검증 툴들의 애플리케이션에 대한 길을 열었다. 이러한 관점에서, 스케줄링 문제는 "자원들의 사용에서 충돌없이 상태들만을 트래버싱(traversing)한 이후에, 최대 시간 T내에 완료 상태에 도달하는 모든 행위들"을 선택하는 실시간 모델 체킹 공식(예컨대, A. Fehnker. Scheduling a steel plant with timed automata. In Real-Time Computing Systems and Applications, 1999. RTCSA '99. Sixth International Conference on, pages 280-286, 1999 참조)을 충족시키는 심볼 상태 공간에서의 입증의 식별로서 공식화될 수 있다. T의 최적값은 다양한 툴들 그리고 특히, Uppaal 환경에서 지원되는 다항식 반복을 통해 획득될 수 있다(예컨대, K. Larsen. Resource-efficient scheduling for real time systems. In Rajeev Alur and Insup Lee, editors, Embedded Software, volume 2855 of Lecture Notes in Computer Science, pages 16-19. Springer Berlin-Heidelberg, 2003.; 또는 I. AlAttili, F. Houben, G. Igna, S. Michels, F. Zhu, and F.W. Vaandrager. Adaptive scheduling of data paths using uppaal tiga. In QFM, pages 1-11, 2009 참조). Oris 툴(G. Bucci and L. Carnevali and L. Ridi and E. Vicario. Oris: a Tool for Modeling, Verification and Evaluation of Real-Time Systems. International Journal of Software Tools for Technology Transfer, 12(5):391 - 403, 2010)에서, 최적값 T는 예상 시퀀싱 제약들을 충족시키는 천이들의 각 시퀀스를 따라 소모된 최소 및 최대 시간을 평가함으로써 직접 방식으로 유도된다(E. Vicario. Static Analysis and Dynamic Steering of Time Dependent Systems Using Time Petri Nets. IEEE Trans. on SW Eng., 27(1):728-748, August 2001).
공교롭게도, 이러한 타입의 심볼 상태 공간 분석 기법들의 직접적인 적용은 (상태들의 수가 작업들의 수에 따라 기하급수적으로 증가하기 때문에) 상태 공간의 급증 및(각 상태를 인코딩하는 데이터 구조들의 사이즈가 시퀀스들의 수에 따라 이차식으로 증가하기 때문에) 차원의 저주(curse of dimensionality)의 문제들에 직면한다. 이것은 계산이 종래의 PC상에서 수행되더라도(산업 애플리케이션들에서는 실제로는 종종 그렇지 않음), 온라인 스케줄러에 대해 전혀 알맞지 않은 메모리 및 시간 복잡성을 발생시킨다.
실제 복잡성의 크기 정도를 계산하기 위해, Oris 툴을 가진 DBM 구역들에 기초한 상태 공간 분석이 2개의 섹션들, 섹션 당 3개의 슬롯들, 및 결정 지연들로 이루어진 지나치게 단순화된 경우의 TPN 표현에 대해 실험되었고: TPN 열거(enumeration) 절차는 초기 상태로부터 종단 단자 노드로의 4216개의 가능한 경로들을 갖는, 듀얼-코어 2GHz 데스크탑 컴퓨터상에서 약 20분을 요구하는 255128 DBM 상태 클래스들의 매우 큰 상태 공간을 발생시킨다.
모델 단순화를 통해 복잡성을 감소시키기 위해 최신 기술을 적용하고, (영역들 보다 훨씬 더 컴팩트한) DBM 구역들을 통해 상태 공간을 파티셔닝하더라도, 상태 공간 분석 기법들의 이러한 클래스의 프로세싱 시간들 및 메모리 요구는 상술한 바와 같은 산업 애플리케이션내의 의도된 사용과 호환가능하지 않고: 이것은 스케줄링 문제가 거의 실시간 접근방식으로 온라인으로 해결되고, 그것의 실행이 제한된 프로세싱 및 메모리 자원들상에서 구동되는 내장 컴포넌트들내에서 적합할 것을 요구한다. 이러한 종류의 생물학적 테스팅 머신들(그러나, 더욱 일반적으로는, 산업 전기기계 머신들)에서 일반적으로 이용가능한 하드웨어 자원들은 매우 제한되고, 이러한 복잡한 수학적 알고리즘 구현의 매우 큰 요건과 호환가능하지 않다.
따라서, 프로세싱 전력 및 메모리의 더 빠르고 더 낮은 요구로 실행되도록 특정한 문제에서의 효율성에 대한 분석의 일반성을 트레이드할 수 있는 솔루션이 매우 바람직하다.
개시물의 목적들
본 개시물의 목적은 종래 기술과 연관된 문제들 중 적어도 일부를 극복하는 것이다.
본 발명의 다른 목적은 상호 배제 및 상호 지연의 제약을 받고 한정된 대기 시간들 만큼 지연되도록 허용된 타이밍된 단계들의 복수의 동시 시퀀스들에 대한 수용가능하고 효율적인 스케줄을 컴퓨팅하는 제한된 메모리 및 프로세싱 시간을 요구하는 방법을 제공하는 것이다.
이것은 상호 배제 및 상호 지연 제약들을 충족시키면서 최소 가능한 타임스팬(timespan)에서 동시 생물학적 분석들의 세트를 완료하기 위해 공유된 전기기계 컴포넌트들의 세트에 의해 수행된 액션들에 대한 실현가능 타이밍들을 찾는 것을 포함하는, 실제 산업 전기기계 시스템에 발생하는 스케줄링 문제로서 표현된다. 본원에 설명되는 특정한 예에서, 스케줄링 알고리즘은 200MHz CPU 및 10MB 미만의 메모리가 현재 장착된 전기기계 시스템이 탑재된 하드웨어의 보드상에서 실행하도록 요구된다. 더욱이, 시스템과 상호작용하는 오퍼레이터들에 대한 알맞은 응답성을 보장하기 위해, 알고리즘은 준최적이지만 효율적인 솔루션들을 찾는 것이 허용되지만, 수 초 정도의 짧은 시간량내에서 최종적으로 종료하는 것이 요구된다.
본 발명의 다른 목적은 생물학적 분석 프로토콜에 의해 결정된 타이밍 및 상호 지연 제약들 하에서 그리고 공유된 디바이스의 배타적 사용에 의해 결정된 상호 배제 제약들 하에서 공유된 디바이스에 의해 수행된 반응 및 이송 동작들의 주기들이 각각 교호하는, 복수의 동시 생물학적 분석들을 실행하는 전기기계 시스템을 제공하는 것이다.
본 개시물은 첨부한 청구항들에 나타낸 바와 같은 스케줄링 방법을 제공한다.
제 1 실시예에 따르면, 본 개시물은, 복수의 비선점성(non-preemptible) 작업들 J1 ... Jn을, Jk 및 Ji의 실행 주기들이 오버랩되지 않게 하기 위해, 우선순위 제약(precedence constraint) 및 배제 제약들(exclusion constraints)을 고려하면서, 작업들의 전체 세트의 완료 시간을 최소화하기 위해, 각 작업 J1 ... Jn에 대한 릴리즈 시간들(r1 ... rn)을 결정하기 위한 결정 실행 시간들(e1 ... en)로 실행하도록 적응된 시스템에서 스케줄링 방법을 제공하는데, 여기서
각 작업은 m개의 독립 머신들 M1 ... Mm 중 하나에 정적으로 할당되며,
우선순위 제약은,
― 복수의 작업들 J1 ... Jn 중 Jx 및 Jy 쌍들의 미리결정된 세트에 대해, Jy의 완료와 Jx의 시작 사이의 지연이 최소 지연
Figure 112016000241873-pct00006
과 최대 지연
Figure 112016000241873-pct00007
이내의 범위인 것이고:
Figure 112016000241873-pct00008

배제 제약들은,
― 복수의 작업들 중 Ji 및 Jk 쌍들의 미리결정된 세트에 대해, 배제 제약의 하기의 2개의 판정들 중 하나:
Figure 112016000241873-pct00009
또는
Figure 112016000241873-pct00010

가 충족되는 것이며, 이 방법은 A) 우선순위 제약들을 충족시키는 릴리즈 시간들을 수집하는 차이 한정 매트릭스(DBM) 구역을 포함하는 프론티어 세트(frontier set)를 구축하는 단계; B) DBM 구역들 중 하나를 선택하여 프론티어 세트로부터 제거하는 단계; C) 선택된 DBM 구역이 쌍들의 미리결정된 세트 중 하나의 쌍 Ji 및 Jk의 적어도 하나의 배제 제약을 충족시키지 못한다는 것에 응답하여, 충돌을 해결하는 2개의 판정들 각각(
Figure 112016000241873-pct00011
또는
Figure 112016000241873-pct00012
) 마다 선택된 DBM 구역에 대한 하나의 제한된 구역을 구축하는 단계; D) 제한된 DBM 구역들이 비어있지 않은지 체크하고 비어있지 않은 제한된 DBM 구역들을 프론티어 세트에 추가하는 단계; 및 E) 선택된 DBM 구역이 모든 실행 제약들을 충족시킬 때까지 단계 B 내지 D를 반복하는 단계를 포함한다.
본 발명의 방법은 차이 한정 매트릭스(DBM) 구역들을 통해 등가의 가능한 솔루션들의 세트들을 캡처하고 그래프-이론적 구조에서의 서치로서 실행가능한 솔루션의 식별을 구성함으로써, 상호 배제 및 지연의 제약들을 갖는 타이밍된 작업들의 동시 시퀀스의 스케줄링을 허용한다. 이것은 가능한 타이밍 구성들의 정확한(즉, 양자화되거나 근사되지 않음) 표현을 유지하면서 일련의 알고리즘 최적화들 및 휴리스틱 접근방식들(heuristic approaches)이 솔루션들의 서치를 촉진시키게 할 수 있다.
다른 실시예에 따르면, 반복하는 단계는 프론티어 세트에서의 모든 DBM 구역들이 모든 배제 제약들을 충족시킬 때까지 수행된다. 대안으로는, 반복하는 단계는 미리결정된 최대 서치 시간이 도달되면 중지된다. 다른 실시예에서, 최적의 솔루션(스케줄)이 모든 배제 제약들을 충족시키는 모든 DBM 구역들내에서 선택된다.
다른 실시예에 따르면, 단계 B의 선택은 소위 최장 간격 휴리스틱(세이프(safe)) 또는 소위 최단 간격 휴리스틱(그리디(greedy))을 포함하는, 휴리스틱 평가에 기초한다.
다른 실시예에 따르면, 방법을 수행하는 컴퓨터 프로그램이 제공된다.
본 발명의 다른 실시예에 따르면, 상기 방법을 구현하는 시스템이 제공된다. 이러한 시스템은 예컨대, 생물학적 분석들을 수행하는 전기기계 장치에서 사용될 수 있다.
본 발명은 다수의 이점들을 제공한다. 본 발명의 바람직한 실시예의 이점들 중 하나는, 복잡한 스케줄링 동작이 제한된 시간 및 하드웨어 자원들로 수행될 수 있다는 것이다. 원칙적으로, 문제가 실시간 모델 체킹의 경우로서 공식화될 수 있고 널리 확립된 상태 공간 분석 접근방식들을 통해 해결될 수 있다. 그러나, 이러한 열거하는 접근방식들은 예상된 내장 플랫폼에 의해 부과되는 하드웨어 제약들로 인해, 특정한 세팅에서 실행가능하지 않다. 본 발명의 방법으로, DBM 이론의 직접적인 의도적 적응은, 서치가 실행가능한 솔루션들이 되게 하는 휴리스틱들의 채택을 또한 허용함으로써, 알고리즘의 복잡성을 매우 감소시킨다. 본 발명의 바람직한 실시예에서, 후속하는 알고리즘 개선들은 계산 시간들을 더 감소시키게 하여, 예상 성능 요건들을 달성한다.
본 발명의 실시예에 따른 방법 및 시스템의 추가의 이점은, 하나 또는 그 초과의 분석들이 이미 스케줄링된 분석들의 실행을 저해하지 않고 미사용 자원들을 재생함으로써 진행중인 스케줄에 추가되는 경우를 허용한다는 것이다.
이제, 예로서, 첨부한 도면들을 참조한다.
도 1은 생물학적 테스트들을 수행하는 전기기계 장치에서 단일 분석을 수행하는 시스템 컴포넌트들의 물리적 아키텍처의 개략적 표현이다.
도 2는 본 발명의 실시예에 따른 생물학적 테스트들을 수행하는 전기기계 장치에서의 슬롯들 및 섹션들에서 다중 분석들 구성하는 전체 시스템의 물리적 아키텍처의 개략적 표현이다.
도 3a는 작업들의 전체 세트의 완료 시간을 최소화하기 위해, 모든 규정된 우선순위 및 상호 배제 제약들을 받는, 릴리즈 시간들 r1 … rn을 결정하는 스케줄링 문제의 경우의 개략적 표현이다. 도 3b는 릴리즈 시간들의 값들을 결정하는 가능한 솔루션이다.
도 4a는 변수들(ti 및 tj)의 쌍에 대한 솔루션 세트를 인코딩하는 2차원 DBM을 도시한다. 도 4b는 비유효 제약의 존재를 하이라이트하는 2차원 DBM을 도시한다. 도 4c는 3개의 변수들(ti, tj 및 tk)을 수반하는 DBM의 그래프 이론적 표현을 도시한다.
도 5는 본 발명의 바람직한 실시예에 따른 스케줄링 방법의 배제 제약들에 대한 후속 선택들에 의해 구성되는 2진 트리의 예를 도시한다.
도 6은 본 발명의 바람직한 실시예에 따른 2개의 상이한 휴리스틱들을 갖는 성능 테스팅 실험들의 결과들을 도시한다.
후속 처리를 위해, 스케줄링 솔루션이 의존하는 메인 개념들: 차이 한정 매트릭스들(DBMs) 및 Floyd-Warshall 알고리즘을 여기에 도입한다.
DBM은 N개의 변수들
Figure 112016000241873-pct00013
의 벡터에 대한 솔루션들의 세트를 식별하는 부등식들의 시스템을 인코딩한다:
Figure 112016000241873-pct00014

DBM의 임의의 2차원 프로젝션은 도 4a에 표현된 타입의 다면체를 발생시킨다. DBM은 하나 또는 그 초과의 제약들이 유효하지 않을 때 완벽하게 형성되지 않을 수 있고(도 4b 참조); 이러한 경우에, 이들 제약들에 대한 무한수의 값들이 솔루션들의 동일한 세트를 산출한다. 임의의 다른 제한이 솔루션 세트를 변경시키도록 제한값은 하기의 삼각 부등식이 유지되는 경우에 존재하고 고유한 것으로 증명되었다:
Figure 112016000241873-pct00015

이러한 조건은 삼각 부등식을 충족시키는 표현으로서 정의되는 정규 형태(normal form)의 개념을 식별한다.
DBM의 제약들의 세트는 그래프의 노드들이 변수들을 나타내고, 에지들이 DBM 계수들의 값들로 라벨링되는(즉, 변수들(i 및 j)에 대응하는 노드들을 연결하는 에지가 계수(bij)로 라벨링됨) 그래프 이론적 공식으로 편의상 캐스팅될 수 있고(도 4c 참조): 이러한 관점에서, DBM의 정규 형태는 bij 계수들이 노드 i로부터 j로의 최단 경로로서 계산되는 모든 최단 경로 문제가 된다.
DBM이 비어있지 않다는 가정이 네거티브 사이클들(즉, 그 계수들이 네거티브 값으로 합산되는 그래프에서의 사이클들)의 존재를 배제한다는 것이 쉽게 증명된다. 따라서, 문제는 총 복잡도
Figure 112016000241873-pct00016
를 갖는 널리 공지된 Dijkstra 알고리즘의 N회 반복된 적용들에 의해 해결될 수 있다. Floyd-Warshall 알고리즘은
Figure 112016000241873-pct00017
에서 여전히 수행되는 직접 솔루션을 제공하지만, 그것의 내부 사이클내에서 Dijkstra 보다 훨씬 단순한 연산들을 수행하고, DBM 도메인들에 대응하는 것들과 같은 밀집 인접 매트릭스들을 취급할 때 바람직하다(E. Vicario. Static Analysis and Dynamic Steering of Time Dependent Systems Using Time Petri Nets. IEEE Trans. on SW Eng., 27(1):728-748, 2001 참조).
Floyd Warshall 의사-코드가 Alg. 1에 기재된다. 그것의 코어 불변식(core invariant)은 "k 보다 높은 인덱스를 갖는 정점들만이 매개 노드들로서 비지팅(visit)될 수 있다는 제한하에서 j로부터 i로의 최단 경로"를 인코딩하는 변수
Figure 112016000241873-pct00018
이다. 이러한 스테이트먼트하에서,
Figure 112016000241873-pct00019
가 코드에서 제 1 for-루프(for-loop)에 의미를 제공하는 계수들
Figure 112016000241873-pct00020
의 초기 값들을 제공받을 수 있다는 것이 명백하다. 또한,
Figure 112016000241873-pct00021
가 코드에서, 제 2 for-루프를 통해 N으로부터 1로 k를 감소시킴으로써 획득되는, 문제의 최종 솔루션을 포함한다는 것이 명백하다. 따라서, 알고리즘의 실제 코어는 i, j에 대한 네스팅된 이중 루프가
Figure 112016000241873-pct00022
로부터
Figure 112016000241873-pct00023
를 어떻게 유도할 수 있는지의 방식으로 제한된다.
알고리즘 1: FLOYD-WARSHALL 알고리즘
Figure 112016000241873-pct00024

Figure 112016000241873-pct00025

차이 한정 매트릭스 데이터 구조들 및 Floyd-Warshall 알고리즘은, 원칙적으로 스케줄링 문제를 해결하기 위한 기능을 제공할 수 있는 범용 검증 및 모델 체킹 툴들에 대한 기본 그라운드를 구성한다. 본 발명의 바람직한 실시예에서, 일반 모델의 상태 공간 분석의 복잡성을 제한하기 위해, 스케줄링된 시퀀스들의 특정한 정규 구조에 대한 레버리징에 의해 상호 배제 제약들을 받는 액션들 사이의 상이한 순서들로부터 발생하는 타이밍들의 식별에 차이 한정 매트릭스(DBM) 구역들의 알고리즘 코어를 적용하였다. 이것은 정규 형태에서 DBM 구역들을 유지하기 위해 사용되는 Floyd-Warshall 알고리즘의 다양한 최적화된 적응들을 발생시킨다.
그 후, 증량성 순회(incremental traversal)를 허용하는 그래프 이론 구조에서 상호 배제 제약들의 상이한 세트들의 상이한 판정들에 대응하는 DBM들을 구성하였다. 개략적으로, 알고리즘은 배제 제약들을 증분적으로 추가하고 문제에 의해 부과된 제약들과 시간적 파라미터들의 일치성을 검증함으로써 후보 솔루션들을 반복적으로 구성하고; 이러한 세팅에서, DBM 구조들은 작업들 중에서 우선순위들 및 배제들을 결정하는 제약들의 세트를 인코딩하기 위해 사용되고, Floyd-Warshall 알고리즘은 획득된 결과들의 (효율적인) 조작 및 비교를 허용하기 위해 그들의 정규 형태에서 DBM들을 유지하기 위해 반복적으로 인보크된다.
알고리즘은 문제의 모든 우선순위 제약들을 나타내는 DBM 구역(Dprec)을 초기에 구축한다. 그 후, 2개의 상이한 판정들에서 각 배제 제약을 추가하고, 비어있는 것으로 판명된 제한된 구역들을 폐기함으로써 구역(Dprec)을 반복적으로 제한한다. 모든 배제 제약들에 대해 일부 판정으로 제한된 임의의 비어있지 않은 구역은 스케줄링 문제에 대한 솔루션들의 세트를 포함한다. 이러한 솔루션은 배제 제약들의 단일 판정에 명확하게 대응하고, 그것의 DBM 구역은 이들 판정들과 일치하는 타이밍들만을 모두 포함한다. 최적의 타이밍은 DBM 구역의 정규 형태로부터 간단하고 직접적인 방식으로 유도될 수 있다.
이러한 관점에서, 여기의 스케줄링 알고리즘은 그래프 이론적 구조의 순회로서 간주될 수 있고, 여기서, 구조의 각 노드는 DBM 구역과 연관된다. 특히, 루트는 모든 우선순위들을 충족시키지만 배제가 없는 구역(Dprec)이고; 매개 노드들은 일부 판정에서 배제 제약들의 서브세트로 Dprec를 제한하고; 리프(leaf) 노드들은 일부 판정에서 모든 배제 제약들로 Dprec를 제한하고, 그래프 이론 구조의 각 에지는 하나 또는 그 초과의 배제 제약들의 일부 판정에 대한 선택을 나타낸다. 일반성을 손상시키지 않고, 알고리즘 2는 본 발명의 바람직한 실시예에 따른 구현의 알고리즘 의사-코드를 나타내고; 특정한 경우에서, 각 에지는 그래프 이론적 구조가 이진 트리가 되도록 단일의 상호 배제 제약을 추가한다.
알고리즘 2: 스케줄링 알고리즘
Figure 112016000241873-pct00026

Figure 112016000241873-pct00027

구현은 일부 데이터 구조들 및 불변식들에 의존한다:
● 인덱스 c는 이진 트리에서 깊이의 의미를 또한 갖는, 제한에 추가된 배제 제약들의 수를 나타내고; 그 외에, C는 깊이 C에서의 노드가 리프(leaf)이도록 모든 배제 제약들의 수이다.
Figure 112016000241873-pct00028
은 계산의 임의의 포인트에서 최상의 식별된 솔루션을 나타낸다. 이는 일부 더미 평가(dummy valuation)로 초기화되는데, 이는 이를 테면, 중요하지 않고 비효율적인 스케줄 또는 임의의 다른 것보다 나쁜 것으로 간주될 수 있는 일부 심볼값일 수 있다.
● 알고리즘은 DBM 구역 D 및 깊이 인덱스 c에 의해 각각 식별되는 트리의 노드들을 포함하는 큐우(queue)에 의존한다.
● 배제 제약들은 인덱스 c가 배제 제약을 고유하게 식별하도록 분류되는 것으로 가정된다.
알고리즘은 또한 다양한 함수들에 의존한다:
● Normalize(D)는 파라미터로서 취해진 DBM D를 정규화하기 위해 Floyd-Warshall 알고리즘을 적용한다.
● Enqueue(<D, c>) 및 Dequeue()는 큐우에 대한 추가 및 추출 연산들을 각각 수행하고; QueuelsNotempty()는 큐우가 적어도 하나의 엘리먼트를 포함하는지 체크한다.
● AddRightConstraint(D, c)는 그것의 오른쪽 판정에서 순서 c의 제약을 추가함으로써 D를 제한하고(즉, 제약이 작업들(Ji 및 Jj) 사이이면, 추가된 제약은 ri - rj ≥ ej 이고); 동일한 방식으로, AddLeftConstrain(D, c)는 그것의 왼쪽 판정에서 순서 c의 제약을 추가함으로써 D를 제한한다(즉, 제약이 작업들(Ji 및 Jj) 사이이면, 추가된 제약은 rj - ri ≥ ei 이다).
● GetBestSolution(D',D")는 2개의 DBM 구역들을 수신하고, 최상의 타이밍, 예컨대, 모든 작업 시퀀스들에 대한 전체 완료 시간을 최소화하는 타이밍을 포함하는 것을 선택한다.
상술한 예는 그래프 이론적 구조가 이진 트리가 되도록, 작업들의 각 쌍에 대한 각 상호 배제 제약에 대한 한 쌍의 판정들 사이의 선택에 기초한다. 당업자는 다른 구현들이 가능하다는 것을 이해할 것이고, 예컨대, 알고리즘이 충돌하는 작업들(즉, 타입 ri - rj ≥ ej + dij의 제약들, 여기서 dij는 포지티브 양이다) 사이의 최소 슬랙 지연들의 존재를 허용하는 판정들의 세트 중에서 선택할 수 있는 경우에, 결과적인 구조는 k-항 트리가 되고, k는 각 상호 배제 제약과 연관된 가능한 슬랙 지연들의 수와 동일하다.
알고리즘의 구성은 성능에 상당한 영향을 미치는 다양한 가능한 최적화들에 공간을 제공하고, 이는 하기에 요약된다.
배제 제약 판정들 사이의 휴리스틱 선택
Enqueue(<D, c>) 및 Dequeue() 연산들의 실제 구현에 의존하여, 다양한 정책들이 서치 트리의 비지트(visit)에 대해 실시될 수 있다(즉, 폭-우선(breadth-first), 깊이-우선(depth-first) 등). 알고리즘의 목적이 가능한 한, 스케줄링 문제에 대한 솔루션과 연관된 리프를 찾는 것이기 때문에 가장 단순한 자연적인 선택인 깊이-우선 비지트를 채택하였다. 따라서, 열거 큐우 Q는 LIFO 큐우로서 구현된다.
알고리즘 동작은
Figure 112016000241873-pct00029
Figure 112016000241873-pct00030
이 큐우에 추가되는 순서(즉, Alg. 2의 라인 14 및 21의 순서)에 의해 또한 결정되고: 예컨대,
Figure 112016000241873-pct00031
이 항상 먼저 추가되면, 프리오더 비지트(preorder visit)가 수행되고, 그 반대의 경우도 가능하며; 포스트오더 비지트(postorder visit)는
Figure 112016000241873-pct00032
을 항상 먼저 추가함으로써 획득된다. 이러한 경우에, 양호한 휴리스틱들은 서치 알고리즘에 너무 많은 오버헤드를 추가하지 않고 실행가능한 솔루션들을 가장 잘 유도할 것 같은 선택들을 항상 해야 한다. 기밀성(tightness) 및 실행가능성(feasibility)의 충돌하는 값들에 따라 알고리즘 동작에 영향을 미치는 2개의 단순한 휴리스틱들을 여기에 나타낸다:
● 실행가능성은 실행불가능한 제약들에 직면하지 않고 완료까지 가장 연장될 가능성이 있는 루즈(loose) 구성들 먼저 탐색하는 특성을 나타낸다. 직관적으로, 이것은 결과적인 구성에서 제약된 작업들(Ji 및 Jj)에 더 많은 자유도를 남기는 배제 제약, 즉, 릴리즈 시간들 사이의 거리(
Figure 112016000241873-pct00033
)가 최장 간격에서의 범위에 대해 자유로운 것("세이프" 또는 "최장 간격" 휴리스틱들로 칭함)을 선택함으로써 달성될 수 있고;
● 기밀성 특성은 더욱 실행불가능한 솔루션들에 직면하는 위험에도, 컴팩트한 스케줄들을 획득하는 반대 목적을 목표로 한다. 그 결과, 결과적인 휴리스틱들("그리디" 또는 최단 간격" 휴리스틱들로 칭함)은
Figure 112016000241873-pct00034
Figure 112016000241873-pct00035
사이의 대부분의 거리를 좁히는 제약을 선택한다.
시간 간격 분석을 통한 문제 단순화
배제 제약들에 제공된 순서는 완벽한 스케줄들을 초래하지 않는 판정들의 초기 폐기를 컨디셔닝하는 알고리즘의 성능에 영향을 미친다. 더욱이, 일부 개량들은 충돌하는 작업 쌍들(C)의 수의 감소를 목표로 하고; 이러한 종류의 최적화들이 알고리즘의 이론적 복잡성에 영향을 미치지 않더라도, 대부분의 실제 경우들에서는, 이들은 계산 시간을 상당히 감소시킬 수 있다. 배제 제약이 알고리즘의 각 단계에서 추가되어야 하는 선택들 중 일부는 Dprec의 제약들에 의해 이미 해결되고; 예컨대, 동일한 자원들을 요구하는 2개의 이벤트들이 순차적으로 발생하도록 명시적으로 제한되는 경우에, 배제 제약은 불필요하고 무시될 수 있다. 특정한 애플리케이션에서, 이것은 작업들이 선형 시퀀스들에 따라 자연적으로 구성되는 시스템 액션들을 나타내기 때문에, 강한 스피드-업을 결정한다. 더욱 정교하지만 매우 유효한 감소가, 명시적으로 제한되지 않더라도, 지연 구성에 의해 오버랩하지 않는 것으로 보장되는 이벤트 쌍들을 고려하여 달성될 수 있다. 이러한 조건의 가장 단순한 예가 3개의 작업들(Ji, Jj, 및 Jk)에 의해 구성되어, Ji 및 Jk 모두는 Jj의 완료 이후에 시작하는 것으로 제한되고
Figure 112016000241873-pct00036
Figure 112016000241873-pct00037
이다. 사실, 이들 3개의 조건들의 충족은 Ji 및 Jk가 이들 사이에 명시적 제약이 존재하지 않더라도 오버랩하지 않는다는 것을 보장한다. 식별되는데 더 높은 노력을 요구하는 더욱 복잡한 상호작용들이 가능하고; 더욱이, 제약들이 서치 절차 동안 반복적으로 추가되기 때문에, 초기 Dprec 구역에서 검증되지 않더라도, 유사한 조건들이 구역들(
Figure 112016000241873-pct00038
Figure 112016000241873-pct00039
)의 구성에서 동적으로 발생할 수 있고(Alg. 2의 라인 8 및 15); 그러나, 이러한 조건들의 간단한 검출은 큐우로부터 추출된 구역 D의 정규 형태의 직접적인 관측을 통해 획득될 수 있다(Alg. 2의 라인 7). 따라서, 이것은 초기 충돌 검출을 가능하게 하는 서치 알고리즘의 최적화로 트랜슬레이션될 수 있어서, 구역들(
Figure 112016000241873-pct00040
Figure 112016000241873-pct00041
)의 불필요한 구성 및 정규화를 방지한다.
시스템 재시작(warm-restart) Floyd-Warshall 알고리즘을 통한 복잡성 감소
제 2 최적화는, 그 코어 엔진의 구조(Floyd-Warshall 알고리즘)에 대해 동작하기 때문에, 절차의 점근적 시간 복잡성을 감소시키는 것을 가능하게 한다(manage).
DBM들의 정규 형태를 찾기 위해 사용된 Floyd-Warshall 알고리즘(Alg. 1)의 표준 공식은 구역의 차원성에 관한(이러한 경우에, 작업들의 수에 관한) 시간
Figure 112016000241873-pct00042
에서 수행된다. 그러나, Alg. 2의 라인 9 및 16에서 인보크된 정규화는 특정한 알고리즘 개량을 가능하게 하는 특이성을 제공하고; 사실, 구역들(
Figure 112016000241873-pct00043
Figure 112016000241873-pct00044
)은 정규 형태에 있는 단계 7에서의 큐우로부터 추출된 구역 D에 단일 제약을 추가하여 획득된다. 이것은
Figure 112016000241873-pct00045
Figure 112016000241873-pct00046
의 계수들 중 일부만이 정규화에 영향을 받는다는 것을 의미하고; 이에 따라, Floyd-Warshall 알고리즘은 시간
Figure 112016000241873-pct00047
에서 수행되도록 재기록될 수 있다(Alg. 3 참조).
알고리즘 3: 최적화된 FLOYD-WARSHALL
Figure 112016000241873-pct00048

이벤트 집단화를 통한 문제 단순화
문제가 즉시 지연들을 갖는 작업들, 즉, 교대로 즉시 수행하도록 제한된 작업들을 포함할 때 DBM 매트릭스 N의 사이즈를 감소시키기 위한 제 3 최적화가 도입되었다. 이것은 우선순위 제약이
Figure 112016000241873-pct00049
Figure 112016000241873-pct00050
이도록 2개의 작업들(Ji 및 Jj) 사이에 설정되는 경우에 발생할 수 있다.
이러한 경우에서, 작업들(Ji 및 Jj)은 릴리즈 시간
Figure 112016000241873-pct00051
Figure 112016000241873-pct00052
및 실행 시간
Figure 112016000241873-pct00053
를 갖는 단일 작업(Jij)으로 병합될 수 있다. 이것은 하나의 행 및 하나의 열 만큼 감소된 DBM 매트릭스을 발생시킨다.
저-레벨 코드 최적화들
Alg. 2에서의 서치 알고리즘의 코어는 단지 코드의 수십 개의 라인에 이르고; 타겟 플랫폼상에 생산 버전을 성공적으로 배치하기 위해, 코드의 총 약 2600개 라인들에 대해, 상이한 휴리스틱들 중에서 입-출력 관리, 실행 시간 제어 및 온-라인 스위칭과 같은 보조 기능들을 제공하는 경량의 ANSI-C 라이브러리가 구현된다. 심각한 하드웨어 제한들로 인해, 여러 코드 최적화들이 공간 및 시간 비용을 더 감소시키기 위해 알고리즘 개량들에 부가하여 채택되었다. 이들 중 가장 중요한 것은 중간 솔루션들의 실제 인코딩을 수반한다. Alg. 2의 의사-코드에서, 중간 솔루션들(D)이 생성될 때 이들을 스풀(spool)하기 위해 큐우가 사용되고; 이것이 서치 알고리즘들에서 채용된 표준 접근방식이지만, 본 경우에서는, 가용 메모리를 쉽게 포화시킨다. 대안의 솔루션으로서, 구현된 알고리즘은 그때까지 선택된 배제 제약들의 컴팩트한 표현을 인코딩하기 위해 스택을 사용하여, 초기 구역(Dprec) 및 실제 중간 구역(D)만을 전체적으로 메모리화한다. 롤백(rollback)이 예정될 때 마다, 알고리즘은 스택으로 발견된 정보에 따라 Dprec로부터 새로운 솔루션을 재구축하고; 이러한 경우에서, 다중의 계수들이 변경되기 때문에, 풀(full) 정규화(즉, Alg. 1의 하나)가 요구되지만, 이러한 작은 오버헤드는 공간 점유에서 현저한 감소에 의해 주로 정렬된다(justified).
도 5는 본 발명의 바람직한 실시예에 따른 솔루션의 개략적 표현이다. 서치는 배제 제약들에 대한 일련의 연속 이진 판정을 수행하는 트리 순회로서 공식화된다. 서치 알고리즘은 실행가능한 솔루션들을 생성하는 구역들을 찾고, 이러한 솔루션들 중에서, 최적의 솔루션에 대응하는 것을 선택하는 것을 목적으로 한다. 본 방법의 중요한 특징들은, 솔루션이 모든 가능한 경우들을 탐색하지 않고 발견될 수 있도록 미리결정된 기준에 따라 "타당한(reasonable)" 경로들의 휴리스틱 선택을 가능하게 하는 것이다. 본 예에서, 2개의 가능한 휴리스틱들: "그리디"(또는 최단 간격 휴리스틱) 및 "세이프"(또는 최장 간격 휴리스틱)을 고려한다. 크로스들은 가능한 솔루션들이 발견될 수 없는 트리에서의 노드를 나타내고, 따라서, 모든 노드들 및 이러한 노드로부터 벗어난 리프들은 추가 계산들없이 폐기될 수 있다.
위에서 언급한 문제 단순화들은 복잡성을 감소시킴으로써 계산을 촉진하는 결과들에 도달한다. 특히, 시간 간격 분석은 독립 제약들의 수를 최소화시키고; 시스템 재시작은
Figure 112016000241873-pct00054
로부터
Figure 112016000241873-pct00055
로 코어 단계의 복잡성을 감소시키고, 이벤트 집단화는 변수들의 수를 감소시킨다.
도 6의 표 A 및 B는 "그리디" 휴리스틱 및 "세이프" 휴리스틱과 2개의 상이한 구현들 각각을 사용하는 본 방법의 비교의 성능 테스트의 결과들을 도시한다.
실험 결과들은 (듀얼-코어 2GHz 프로세서를 갖는) 데스크탑 컴퓨터에서 측정되었다. 이것은 본 알고리즘이 구동되어야 하는 것으로서 전기기계 머신상의 실제 환경 보다 약 10배 빠른 것으로 여겨진다(즉, 타겟 플랫폼상의 실행은 본 테스트의 데스크탑 컴퓨터상의 동일한 실행 보다 약 10배 더 걸린다).
실세계 생물학적 분석 프랙틱스로부터 취해진 실제적인 예들인 3개의 분석 프로토콜들(AP1-AP3)에 의해 구성된 테스트 슈트에 대해 서치 알고리즘을 실행하였다:
AP1: 2개의 섹션들, 슬롯 당 1 내지 3개의 피페터 액션들, 섹션 당 4개의 판독-헤드 액션들, 결정 지연들 없음;
AP2: 2개의 섹션들, 슬롯 당 1 내지 3개의 피페터 액션들, 섹션 당 4개의 판독-헤드 액션들, 결정 지연들 없음;
AP3: 2개의 섹션들, 슬롯 당 1개의 피페터 액션, 섹션 당 4개의 판독-헤드 액션들, 결정 지연들 없음.
실험들은 최단 간격 및 최장 간격 휴리스틱들 모두를 채택하여 실행되는 서치 알고리즘에 제안된 개량들을 증분적으로 추가함으로써 수행되었다. 결과들이 도 6의 표들 A 및 B 각각에 도시되어 있고; 모델 체킹 접근방식에 의해 요구된 20분 계산에 이들을 어떻게 비교하는지는 특히 주목할 가치가 있다. 예상한 바와 같이, 알고리즘의 연속 개량들은 더 양호한 결과들을 생성하고; 특히, 서치 트리의 더 높은 깊이는 시간 간격 분석을 통해 수행된 프루닝(pruning) 및 Floyd-Warshall 알고리즘의 스피드-업에 주요 관련성을 제공한다. 다른 흥미있는 결과들은 최장 간격과 최단 간격 휴리스틱들 사이의 비교로부터 오고; 실제적인 테스트 경우들에 대해, 풀 서치를 수행하고 최상의 솔루션으로 수렴하는데 있어서, 후자는 전자 보다 양호한 성능들을 나타내었다(선택된 경우들에 대해, 최단 간격 휴리스틱이 제 1 솔루션으로서 최상의 솔루션을 항상 찾는다).
각 테스트된 생물학적 프로토콜(AP1-AP3) 및 각 최적화 레벨(기본, TIA, TIA + WR, TIA + WR + EA)에 대해, 성능은 3중(제 1/최상/총(first/best/total))으로서 특징화되고, 여기서, 제 1은 제 1 솔루션이 발견된 시간이고, 최상은 최상의 솔루션이 발견된 시간이며, 총은 총 실행 시간이다. TIA는 시간 간격 분석에 대한 두문자어이고, WR은 시스템 재시작에 대한 두문자어이며, EA는 이벤트 집단화에 대한 두문자어이다. 최종 2개의 열들에, 발견된 제 1 및 최상의 솔루션들의 시간 스팬을 또한 나타내었다.
본 개시물의 범위를 벗어나지 않고 변경들 및 변형들이 상기에 대해 이루어질 수 있다는 것이 이해될 것이다. 당연히, 로컬 및 특정한 요건들을 충족시키기 위해, 당업자는 상술한 솔루션에 다수의 변형들 및 변경들을 적용할 수 있다. 특히, 본 개시물이 본 개시물의 바람직한 실시예(들)를 참조하여 특정한 정도의 상세로 설명되었지만, 다양한 생략들, 치환들 및 변화들의 상세사항들 뿐만 아니라 다른 실시예들이 가능하다는 것이 이해되어야 하고; 더욱이, 개시물의 임의의 개시된 실시예와 관련하여 설명한 특정한 엘리먼트들이 설계 선택의 일반적인 문제로서 임의의 다른 실시예에 통합될 수 있다는 것이 명백하게 의도된다.
예컨대, 컴포넌트들이 상이한 구조를 갖거나 동등한 유닛들을 포함하는 경우에 유사한 고려사항들이 적용된다. 또한, 본 발명이 확장될 수도 있다는 것이 당업자에 의해 쉽게 이해되어야 한다.

Claims (15)

  1. 복수의 비선점성(non-preemptible) 작업들 J1 ... Jn을, Jk 및 Ji의 실행 주기들이 오버랩하지 않게 하기 위해, 우선순위 제약(precedence constraint) 및 배제 제약들(exclusion constraints)을 고려하면서, 작업들의 전체 세트의 완료 시간을 최소화도록, 각 작업 J1 ... Jn에 대한 릴리즈 시간들(r1 ... rn)을 결정하기 위한 결정 실행 시간들(e1 ... en)로 실행하도록 적응된 시스템에서의 스케줄링 방법으로서,
    각 작업은 m개의 독립 머신들 M1 ... Mm 중 하나에 정적으로(statically) 할당되며,
    상기 우선순위 제약은,
    ― 상기 복수의 작업들 중 Jx 및 Jy 쌍들의 미리결정된 세트에 대해, Jy의 완료와 Jx의 시작 사이의 지연이 최소 지연
    Figure 112016068780561-pct00056
    와 최대 지연
    Figure 112016068780561-pct00057
    이내의 범위인 것이고:
    Figure 112016068780561-pct00058

    상기 배제 제약들은,
    ― 상기 복수의 작업들 중 Ji 및 Jk 쌍들의 미리결정된 세트에 대해, 배제 제약의 하기의 2개의 판정들 중 하나:
    Figure 112016068780561-pct00059
    또는
    Figure 112016068780561-pct00060

    가 충족되는 것이며,
    상기 방법은,
    ― A) 상기 우선순위 제약들을 충족시키는 릴리즈 시간들을 수집하는 차이 한정 매트릭스(Difference Bound Matrix; DBM) 구역을 포함하는 프론티어 세트(frontier set)를 구축하는 단계;
    ― B) DBM 구역들 중 하나를 선택하여 이를 상기 프론티어 세트로부터 제거하는 단계;
    ― C) 선택된 DBM 구역이 상기 Ji 및 Jk 쌍들의 미리결정된 세트의 적어도 하나의 배제 제약을 충족시키지 못한다는 것에 응답하여, 충돌을 해결하는 2개의 판정들 각각(
    Figure 112016068780561-pct00061
    또는
    Figure 112016068780561-pct00062
    ) 마다 상기 선택된 DBM 구역에 대한 하나의 제한된 구역을 구축하는 단계;
    ― D) 제한된 DBM 구역들이 비어있지 않은지 체크하고 비어있지 않은 제한된 DBM 구역들을 상기 프론티어 세트에 추가하는 단계; 및
    ― E) 선택된 DBM 구역이 모든 실행 제약들을 충족시킬 때까지 상기 단계 B 내지 단계 D를 반복하는 단계
    를 포함하는,
    스케줄링 방법.
  2. 제 1 항에 있어서,
    상기 반복하는 단계는 상기 프론티어 세트에서의 모든 DBM 구역들이 상기 배제 제약들 모두를 충족시킬 때까지 수행되는,
    스케줄링 방법.
  3. 제 2 항에 있어서,
    상기 반복하는 단계는 미리결정된 최대 서치 시간이 도달되면 중지되는,
    스케줄링 방법.
  4. 제 2 항에 있어서,
    상기 프론티어 세트에서의 모든 DBM 구역들이 상기 배제 제약들 모두를 충족시키는 경우, 상기 모든 DBM 구역들 내의 모든 배제 제약들을 충족시키는 작업 스케줄(job schedule)을 선택하는 단계를 더 포함하는,
    스케줄링 방법.
  5. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 단계 B는 휴리스틱(heuristic) 추정에 의존하여 수행되는,
    스케줄링 방법.
  6. 제 5 항에 있어서,
    상기 휴리스틱은 모든 배제 제약들을 충족시키는 상기 선택된 DBM 구역의 능력을 추정하는, 최장 간격(세이프(safe)) 휴리스틱을 포함하는,
    스케줄링 방법.
  7. 제 5 항에 있어서,
    상기 휴리스틱은 상기 작업들의 전체 세트의 완료 시간을 최소화시키는 상기 선택된 DBM 구역의 능력을 추정하는, 최단 간격(그리디(greedy)) 휴리스틱을 포함하는,
    스케줄링 방법.
  8. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 단계 C의 실행시에, 제한된 구역들의 정규 형태는, 제한에 의해 영향을 받지 않는 DBM 계수들의 재계산을 회피함으로써,
    Figure 112016000241873-pct00063
    부터
    Figure 112016000241873-pct00064
    로 복잡성을 감소시키는 Floyd-Warshall 알고리즘의 버전을 사용하여 유도되고, n은 작업들의 수인,
    스케줄링 방법.
  9. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    이용된 데이터 구조들의 공간 점유 및 알고리즘의 시간 복잡성이 감소되도록 코드가 구현되는,
    스케줄링 방법.
  10. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 시스템은 복수의 자원들을 포함하고, 각각의 작업은 실행을 위해 상기 복수의 자원들 중 적어도 하나의 자원의 가용성을 요구하고, 각각의 미리결정된 쌍의 작업들 사이에서의 상기 배제 제약은 상기 쌍의 작업들 모두에 의한 동일한 자원의 가용성의 요건을 나타내는,
    스케줄링 방법.
  11. 제 10 항에 있어서,
    상기 자원들은 그의 태스크 평가를 위해 임의의 스케줄링된 작업들에 의해 이용되는 임의의 논리, 전자 또는 기계 유닛을 포함하는,
    스케줄링 방법.
  12. 컴퓨터 판독가능한 매체로서,
    상기 컴퓨터 판독가능한 매체는 프로그램들을 저장하고, 상기 프로그램들은 컴퓨터에 의해 실행될 때 상기 컴퓨터로 하여금,
    제 1 항 내지 제 3 항 중 어느 한 항에 따른 스케줄링 방법을 수행하게 하기 위한,
    컴퓨터 판독가능한 매체.
  13. 삭제
  14. 릴리즈 시간(r1 ... rn) 및 결정 실행 시간들(e1 ... en)로 복수의 비선점성 작업들 J1 ... Jn ― 각 작업은 m개의 독립 머신들 M1 ... Mm 중 하나에 정적으로 할당됨 ― 의 실행을 스케줄링하기 위한 시스템으로서,
    하나 또는 그 초과의 프로세서;
    메모리; 및
    상기 메모리에 저장된 하나 또는 그 초과의 프로그램을 포함하고,
    상기 하나 또는 그 초과의 프로그램은 제 1 항 내지 제 3 항 중 어느 한 항에 따른 스케줄링 방법의 단계들을 수행하기 위한, 상기 하나 또는 그 초과의 프로세서에 의해 실행가능한 프로그램 코드를 포함하는,
    시스템.
  15. 제 14 항에 있어서,
    상기 시스템은, 생물학적 분석들을 수행하기 위한 전기기계 시스템인,
    시스템.
KR1020147019679A 2011-12-30 2012-12-13 생물학적 분석들을 위한 전기기계 시스템용 작업 스케줄러 KR101669919B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP11196275.9A EP2610746A1 (en) 2011-12-30 2011-12-30 Job scheduler for electromechanical system for biological analysis
EP11196275.9 2011-12-30
PCT/EP2012/075468 WO2013098088A1 (en) 2011-12-30 2012-12-13 Job scheduler for electromechanical system for biological analyses

Publications (2)

Publication Number Publication Date
KR20140109970A KR20140109970A (ko) 2014-09-16
KR101669919B1 true KR101669919B1 (ko) 2016-11-09

Family

ID=47458930

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147019679A KR101669919B1 (ko) 2011-12-30 2012-12-13 생물학적 분석들을 위한 전기기계 시스템용 작업 스케줄러

Country Status (8)

Country Link
US (1) US9804591B2 (ko)
EP (2) EP2610746A1 (ko)
JP (1) JP6077004B2 (ko)
KR (1) KR101669919B1 (ko)
CN (1) CN104081352B (ko)
BR (1) BR112014016329B1 (ko)
ES (1) ES2726806T3 (ko)
WO (1) WO2013098088A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106295020B (zh) * 2016-08-15 2019-06-11 同济大学 一种面向人机交互系统约束的交互控制模型求解方法及系统
CN110501512B (zh) * 2019-08-22 2021-12-21 华南理工大学 一种全自动免疫检验设备分批和调度混合优化方法
CN113592168B (zh) * 2021-07-26 2023-07-04 华北电力大学(保定) 一种基于机器速度缩放的作业车间调度风险优化方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004326788A (ja) 2003-04-28 2004-11-18 Xerox Corp 異なったジョブ優先度のシステムおよび方法のための予測可能でプリエンプティブのプラニングおよびスケジューリング
JP2009238051A (ja) 2008-03-28 2009-10-15 Hitachi Ltd プログラム変換装置及びプログラム変換方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2723652B1 (fr) * 1994-08-11 1996-09-13 Cegelec Procede pour ordonnancer des taches successives
JPH08315028A (ja) * 1995-05-22 1996-11-29 Nippon Telegr & Teleph Corp <Ntt> ジョブショップスケジューリング方法及び装置
US20030005407A1 (en) * 2000-06-23 2003-01-02 Hines Kenneth J. System and method for coordination-centric design of software systems
US6957178B2 (en) * 2001-10-29 2005-10-18 Honeywell International Inc. Incremental automata verification
US7191106B2 (en) * 2002-03-29 2007-03-13 Agilent Technologies, Inc. Method and system for predicting multi-variable outcomes
WO2008039964A1 (en) * 2006-09-28 2008-04-03 Nec Laboratories America, Inc. Software testing using machine learning
KR101658792B1 (ko) * 2010-01-06 2016-09-26 삼성전자주식회사 컴퓨팅 시스템 및 방법
JP5458987B2 (ja) * 2010-03-16 2014-04-02 富士電機株式会社 タスクスケジュール装置及びタスクスケジュール方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004326788A (ja) 2003-04-28 2004-11-18 Xerox Corp 異なったジョブ優先度のシステムおよび方法のための予測可能でプリエンプティブのプラニングおよびスケジューリング
JP2009238051A (ja) 2008-03-28 2009-10-15 Hitachi Ltd プログラム変換装置及びプログラム変換方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
G. BUCCI 외 3명. 'Oris: a tool for modeling, verification and evaluation of real-time systems'. International Journal of Software Tools for Technology Transfer, vol.12, no.5, 2010.05, pp.391-403.

Also Published As

Publication number Publication date
BR112014016329B1 (pt) 2021-02-23
BR112014016329A8 (pt) 2017-07-04
EP2798493B1 (en) 2019-03-06
KR20140109970A (ko) 2014-09-16
WO2013098088A1 (en) 2013-07-04
BR112014016329A2 (pt) 2017-06-13
JP2015510107A (ja) 2015-04-02
US20140303766A1 (en) 2014-10-09
JP6077004B2 (ja) 2017-02-08
EP2798493A1 (en) 2014-11-05
ES2726806T3 (es) 2019-10-09
EP2610746A1 (en) 2013-07-03
US9804591B2 (en) 2017-10-31
CN104081352B (zh) 2017-09-22
CN104081352A (zh) 2014-10-01

Similar Documents

Publication Publication Date Title
Kwiatkowska et al. Incremental quantitative verification for Markov decision processes
Keren et al. Goal recognition design
Manolache et al. Schedulability analysis of applications with stochastic task execution times
Gibilisco et al. Stage aware performance modeling of dag based in memory analytic platforms
De Francesco et al. Heuristic search for equivalence checking
Paulevé Goal-oriented reduction of automata networks
Teige et al. Constraint-based analysis of concurrent probabilistic hybrid systems: An application to networked automation systems
Edelkamp et al. Survey on directed model checking
Chatterjee et al. Symbolic algorithms for qualitative analysis of Markov decision processes with Büchi objectives
KR101669919B1 (ko) 생물학적 분석들을 위한 전기기계 시스템용 작업 스케줄러
Beneš et al. Computing bottom SCCs symbolically using transition guided reduction
Bondavalli et al. DEEM: a tool for the dependability modeling and evaluation of multiple phased systems
Ujma On verification and controller synthesis for probabilistic systems at runtime
Falcone et al. Probabilistic model checking of BPMN processes at runtime
Clark et al. State-aware performance analysis with eXtended Stochastic Probes
Krawczyk et al. Model-based timing analysis and deployment optimization for heterogeneous multi-core systems using eclipse APP4MC
Mediouni et al. Improved learning for stochastic timed models by state-merging algorithms
Hahn et al. Transient reward approximation for continuous-time Markov chains
Allal et al. Sequential and parallel algorithms for the state space exploration
Lampka et al. Partially-shared zero-suppressed multi-terminal BDDs: concept, algorithms and applications
Wijs et al. Solving scheduling problems by untimed model checking: the clinical chemical analyser case study
Jin Virtualization technology for computing system: Opportunities and challenges
Buchs Solving Schedulability as a Search Space Problem with Decision Diagrams
Tribastone Scalable analysis of stochastic process algebra models
Guck et al. Modelling, reduction and analysis of Markov automata (extended version)

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20191010

Year of fee payment: 4