KR101126215B1 - 컴퓨터 판독 가능한 기록 매체, 잡 스케줄링 장치 및 잡 스케줄링 방법 - Google Patents
컴퓨터 판독 가능한 기록 매체, 잡 스케줄링 장치 및 잡 스케줄링 방법 Download PDFInfo
- Publication number
- KR101126215B1 KR101126215B1 KR1020100042280A KR20100042280A KR101126215B1 KR 101126215 B1 KR101126215 B1 KR 101126215B1 KR 1020100042280 A KR1020100042280 A KR 1020100042280A KR 20100042280 A KR20100042280 A KR 20100042280A KR 101126215 B1 KR101126215 B1 KR 101126215B1
- Authority
- KR
- South Korea
- Prior art keywords
- job
- depth value
- event
- scanning
- assignable
- 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
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Multi Processors (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
본 발명은 잡을 실행하는 시스템의 사용률을 향상시키는 것을 과제로 한다.
상기 과제를 해결하기 위한 수단으로서, 잡 스케줄링 장치는, 실행 중인 잡이 할당되고, 메시 구조를 갖는 CDA를 이용하여, 미할당인 대기 잡을 할당할 경우에, 잡에 대한 할당 이벤트와 해방 이벤트에 관한 정보를 갖는 이벤트 리스트를 주사하고, 당해 대기 잡에 대응하는 서브메시를 예약하는 좌표와 시각을 결정하고, CDA에 겹쳐서 배치시킨다.
상기 과제를 해결하기 위한 수단으로서, 잡 스케줄링 장치는, 실행 중인 잡이 할당되고, 메시 구조를 갖는 CDA를 이용하여, 미할당인 대기 잡을 할당할 경우에, 잡에 대한 할당 이벤트와 해방 이벤트에 관한 정보를 갖는 이벤트 리스트를 주사하고, 당해 대기 잡에 대응하는 서브메시를 예약하는 좌표와 시각을 결정하고, CDA에 겹쳐서 배치시킨다.
Description
본 발명은 컴퓨터 판독 가능한 기록 매체, 잡 스케줄링 장치 및 잡 스케줄링 방법에 관한 것이다.
최근, 과학 기술 계산 등을 행하는 정보 처리 장치로서의 수퍼 컴퓨터는, 예를 들면, 수만(數萬)이나 되는 수의 노드(node)를 갖고 있다. 그래서, 각 노드 각각은, 망(網) 형상의 메시 네트워크(mesh network)에 의해 접속된다. 이 메시 네트워크는, 하나의 양태로서, 복수의 빌딩 블록 단위가 집합함으로써 메시 네트워크 전체가 구성되기 때문에, 빌딩 블록 단위로 확장할 수 있다는 특성, 즉 고확장성이라는 특성을 갖는다.
또한, 수퍼 컴퓨터는, 잡(job) 간의 통신 간섭을 막기 위해, 시스템을 메시 네트워크의 일부를 구성하는 직사각형 또는 직육면체의 부분 영역(이하, 「서브메시(submesh)」라 함)으로 구획하고, 구획된 시스템에 잡을 할당해서 실행한다. 그런데, 서브메시로의 잡의 할당은, 시스템의 단편화(斷片化)를 야기하고, 잡이 할당되지 않은 서브메시의 존재에 의해, 시스템의 사용률 저하의 요인이 될 수 있다.
이러한 수퍼 컴퓨터에서 운용되는 과학 기술 계산 분야(소위 HPC(High Performance Computing) 분야)에서는, 다양한 잡을 실행하면서, 연속해서 가동하고 있음으로써, 특히 서브메시에서의 단편화의 영향이 심각하다. 그래서, 단편화를 완화하기 위해, 잡의 스케줄링에 있어서 백필(backfilling)을 행하는 기술이 있다.
잡의 실행 제어를 행하는 스케줄링에서는, 선행하는 규모가 큰 잡 또는 당초의 우선 순위가 상위인 잡이 실행 중이기 때문에, 대기 시간이 길게 되어 있는 규모가 작은 잡 또는 당초의 우선 순위가 하위인 잡을, 당해 선행하는 잡보다 우선 순위를 올려서 실행시키는 방법이 있다. 여기서, 「규모가 큰」이란, 「처리 시간이 긴」과 같은 의미이며, 「규모가 작은」이란, 「처리 시간이 짧은」과 같은 의미이다. 이 스케줄링 방법을 백필(backfilling)이라고 한다.
여기서, 백필에는, 보수적과 적극적의 2가지의 알고리즘이 제안되어 있다. 예를 들면, 적극적인 백필은, 가장 우선도가 높은 대기 잡의 실행 개시 시각만을 보증하고, 보수적인 백필은, 모든 대기 잡의 실행 개시 시각을 보증한다. 이때문에, 보수적인 백필은, 특정한 잡이 영원히 개시되지 않는 스타베이션(starvation) 현상을 회피할 수 있는 동시에, 대기 잡의 실행 개시 시각을 유저에게 제시할 수 있다는 장점이 있다. 다만, 한편으로, 보수적인 백필은, 적극적인 백필에 비해 계산량이 커지기 때문에, 스케줄링 성능에 영향을 준다는 단점이 있다.
또한, 적극적인 백필에서는, 실행 개시가 불가능한 대기 잡에 대해서는 아무것도 하지 않기 때문에, 적극적인 백필에서의 계산량은, 대기 잡 수에 비례한다. 한편, 보수적인 백필에서는, 미래에 있어서의 계산 자원(하드웨어 자원)의 예약을 행한다. 보수적인 백필에서의 자원의 예약은, 자원 획득과 자원 해방의 2가지의 이벤트를 갖고, 당해 이벤트는, 시각에 의해 소팅(sort)되며, 이벤트 리스트라고 불리는 리스트에 의해 관리된다.
그리고, 보수적인 백필에 의한 알고리즘에서는, 이벤트 리스트를 주사(走査)해서, 잡이 필요로 하는 계산 자원(하드웨어 자원)을 필요한 기간 확보할 수 있는 시각을 탐색하여 스케줄링을 행한다. 따라서, 보수적인 백필에서의 계산량은, 대기 잡 수의 제곱에 비례하게 된다. 또한, 적극적과 보수적의 쌍방의 백필에서는, 대기 잡이 실행 개시 가능한지에 대해서, 우선도가 높은 대기 잡부터 순서대로 판정된다.
또한, 서브메시의 할당은, 계산량이 큰 처리이며, 서브메시의 할당에 있어서 동시에 백필을 실시할 경우에는 계산량이 더 커진다. 이때문에, 종래에는, 메시 토폴로지(mesh topology)를 의식한 보수적인 백필의 실용적인 수법의 개발이 곤란하며, 적극적인 백필 또는 더 간이한 수법이 이용되고 있다. 예를 들면, 간이한 수법으로서는, 서브메시의 예약을 취급하지 않고, 시간적으로 빨리 완료하는 작은 잡에 대하여, 우선도를 고려하지 않고 먼저 실행시키는 기술이 있다.
Y. Zhu, "Efficient Processor Allocation Strategies for Mesh-Connected Parallel Computers", Journal of Parallel and Distributed Computing, vol. 16, issue 4, pp. 328-337, Dec 1992.
Lifka, D.A. 1995. The ANL/IBM SP Scheduling System. In Proceedings of the Workshop on Job Scheduling Strategies For Parallel Processing D.G. Feitelson and L. Rudolph, Eds. Lecture Notes In Computer Science, vol. 949. Springer-Verlag, London, 295-303.
Mu'alem, A.W. and Feitelson, D.G. 2001. Utilization, Predictability, Workloads, and User Runtime Estimates in Scheduling the IBM SP2 with Backfilling. IEEE Trans. Parallel Distrib. Syst. 12, 6(Jun. 2001), 529-543.
그러나, 상술한 종래기술에서는, 잡을 실행하는 시스템의 사용률이 저하한다는 과제가 있다. 구체적으로는, 우선도를 고려하지 않고 작은 잡을 먼저 실행시키는 기술에서는, 시간이 걸리는 큰 잡의 스타베이션이 발생할 수 있기 때문에, 실행 개시가 지연된 잡의 우선도를 올리는 등의 수법의 도입을 필요로 한다. 이때, 우선도의 조작은, 실행 개시가 지연된 잡에 대해서 행해지기 때문에, 큰 잡의 실행 개시가 지연되는 것을 회피할 수 없다. 또한, 우선도가 높아진 큰 잡에 대해서는, 백필에 의한 추월이 실질적으로 불가(不可)로 된다. 이 결과, 상술한 종래 기술에서는, 잡을 실행하는 시스템의 사용률이 저하한다.
그래서, 본원에 개시하는 기술은, 상기에 감안하여 이루어진 것이며, 잡을 실행하는 시스템의 사용률을 향상시키는 것이 가능한 컴퓨터 판독 가능한 기록 매체, 잡 스케줄링 장치 및 잡 스케줄링 방법을 제공하는 것을 목적으로 한다.
상술한 과제를 해결하고, 목적을 달성하기 위해, 본원에 개시하는 컴퓨터 판독 가능한 기록 매체는, 복수의 정보 처리 장치의 각각에 잡을 할당하는 잡 스케줄링 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체에 있어서, 상기 복수의 정보 처리 장치의 각각에 할당하는 잡을, 상기 복수의 정보 처리 장치에 각각 대응하는 배열 요소에 수치화하여 기억하는 2차원 배열을 이용하고, 상기 2차원 배열에서 잡이 할당되는 배열 요소에 기억된 수치에 의거하여, 잡이 서로 간섭하는 정도를 나타내는 심도값(深度値)을 산출하는 심도값 산출 순서와, 상기 심도값 산출 순서에 따라 산출된 심도값에 의거하여, 상기 할당하는 잡에 대응하는 할당 가능한 배열 요소를, 상기 2차원 배열로부터 검색하는 검색 순서와, 상기 검색 순서에 따라 할당 가능한 배열 요소가 존재할 경우에, 상기 할당하는 잡을 상기 할당 가능한 배열 요소에 수치화해서 배치하는 배치 순서를, 컴퓨터에 실행시킨다.
본원에 개시하는 잡 스케줄링 프로그램, 잡 스케줄링 장치 및 잡 스케줄링 방법의 하나의 양태에 따르면, 잡을 실행하는 시스템의 사용률을 향상시킬 수 있다는 효과를 얻는다.
도 1은 잡 스케줄링 장치를 포함하는 구성의 예에 대해서 설명하기 위한 도면.
도 2는 대기 잡의 할당에 대해서 설명하기 위한 도면.
도 3은 실시예 1에 따른 잡 스케줄링 장치의 구성예를 나타내는 도면.
도 4는 실행중 잡 리스트의 예를 나타내는 도면.
도 5는 대기 잡 리스트의 예를 나타내는 도면.
도 6은 이벤트 리스트의 예를 나타내는 도면.
도 7은 실시예 1에 따른 대기 잡 할당 처리의 흐름을 설명하기 위한 플로차트.
도 8은 대기 잡 할당 처리에 따른 CDA의 예를 나타내는 도면.
도 9는 대기 잡 할당 처리에 따른 CDA의 예를 나타내는 도면.
도 10은 대기 잡 할당 처리에 따른 CDA의 예를 나타내는 도면.
도 11은 대기 잡 할당 처리에 따른 CDA의 예를 나타내는 도면.
도 12는 대기 잡 할당 처리에 따른 CDA의 예를 나타내는 도면.
도 13은 잡 할당 기간의 타임 차트를 나타내는 도면.
도 14는 대기 잡 할당 처리에 따른 이벤트 리스트의 예를 나타내는 도면.
도 15는 대기 잡 할당 처리에 따른 이벤트 리스트의 예를 나타내는 도면.
도 16은 대기 잡 할당 처리에 따른 이벤트 리스트의 예를 나타내는 도면.
도 17은 차분값을 저장하는 CDA의 예를 설명하기 위한 도면.
도 18은 잡 스케줄링 프로그램을 실행하는 컴퓨터를 나타내는 도면.
도 2는 대기 잡의 할당에 대해서 설명하기 위한 도면.
도 3은 실시예 1에 따른 잡 스케줄링 장치의 구성예를 나타내는 도면.
도 4는 실행중 잡 리스트의 예를 나타내는 도면.
도 5는 대기 잡 리스트의 예를 나타내는 도면.
도 6은 이벤트 리스트의 예를 나타내는 도면.
도 7은 실시예 1에 따른 대기 잡 할당 처리의 흐름을 설명하기 위한 플로차트.
도 8은 대기 잡 할당 처리에 따른 CDA의 예를 나타내는 도면.
도 9는 대기 잡 할당 처리에 따른 CDA의 예를 나타내는 도면.
도 10은 대기 잡 할당 처리에 따른 CDA의 예를 나타내는 도면.
도 11은 대기 잡 할당 처리에 따른 CDA의 예를 나타내는 도면.
도 12는 대기 잡 할당 처리에 따른 CDA의 예를 나타내는 도면.
도 13은 잡 할당 기간의 타임 차트를 나타내는 도면.
도 14는 대기 잡 할당 처리에 따른 이벤트 리스트의 예를 나타내는 도면.
도 15는 대기 잡 할당 처리에 따른 이벤트 리스트의 예를 나타내는 도면.
도 16은 대기 잡 할당 처리에 따른 이벤트 리스트의 예를 나타내는 도면.
도 17은 차분값을 저장하는 CDA의 예를 설명하기 위한 도면.
도 18은 잡 스케줄링 프로그램을 실행하는 컴퓨터를 나타내는 도면.
이하에 첨부 도면을 참조하여, 본원에 개시하는 잡 스케줄링 프로그램, 잡 스케줄링 장치 및 잡 스케줄링 방법의 실시예를 설명한다. 또한, 이하의 실시예에 의해 본 발명이 한정되는 것은 아니다.
[실시예 1]
먼저, 도 1을 이용하여, 본원에 개시하는 잡 스케줄링 장치를 포함하는 시스템 구성에 대해서 설명한다. 도 1은 잡 스케줄링 장치를 포함하는 구성의 예에 대해서 설명하기 위한 도면이다.
본원에 개시하는 잡 스케줄링 장치는, 도 1에 나타내는 바와 같이, 예를 들면, 병렬 계산기에 접속되고, 당해 병렬 계산기에 대하여 잡의 실행을 지시한다. 한편, 병렬 계산기는, 복수의 노드를 갖고, 잡 스케줄링 장치로부터의 잡 실행 지시에 따라, 해당하는 잡을 각 노드에서 실행시킨다. 여기서, 병렬 계산기는, 예를 들면, 복수의 정보 처리 장치를 갖는 시스템, 복수의 제어 유닛(시스템 보드 또는 블레이드 서버)을 갖는 정보 처리 장치 등의 밀결합(密結合)형 시스템이어도, 복수의 정보 처리 장치가 네트워크로 접속되는 소위 소결합(疎結合)형 시스템이어도 된다.
또한, 잡 스케줄링 장치는, 복수의 유저가 소유하는 PC(Personal Computer) 등의 단말 장치로부터의 잡 투입을 접수한다. 도 1에서는, 복수의 유저의 예로서, 유저 A, 유저 B 및 유저 C를 도시하고 있다. 이들 유저는, 병렬 계산기에서 실행시키는 잡을 PC가 갖는 키보드나 마우스 등의 입력 장치를 이용해서 입력한다.
그리고, 잡 스케줄링 장치로부터의 잡 실행 지시에 따라, 해당하는 잡을 각노드에서 실행시킨 병렬 계산기는, 잡 실행 지시 등에 대한 응답 메시지, 잡의 완료 및 이상 통지의 이벤트 통지 메시지 등을 잡 스케줄링 장치에 대하여 송신한다.
상술한 구성에 있어서, 잡 스케줄링 장치는, 대기 잡에 대하여 우선도가 높은 순서로 계산 자원(하드웨어 자원)으로서의 서브메시의 예약을 부여한다. 구체적으로는, 잡 스케줄링 장치는, 먼저 빈(empty) 이벤트 리스트를 작성하고, 실행중 잡(active job)의 서브메시 해방 이벤트를 추가하고, 다음에 대기 잡(queued job)으로부터 우선도가 높은 순서로 서브메시의 예약을 행한다.
그리고, 잡 스케줄링 장치는, 서브메시의 예약으로서 이벤트 리스트를 주사하고, 서브메시를 예약하는 좌표와 시각을 결정하면, 당해 이벤트 리스트에 서브메시 획득 이벤트와 서브메시 해방 이벤트와를 추가한다. 서브메시 획득 이벤트는, 예를 들면, 대기 잡을 할당하는 위치와 시각의 지정을 포함하는 것이다. 또한, 서브메시 해방 이벤트는, 예를 들면, 실행중 잡을 해방하는 시각의 지정을 포함하는 것이다. 한편, 잡 스케줄링 장치는, 이들 처리를 반복해서 실시함으로써, 모든 대기 잡에 대하여 서브메시의 예약을 부여한다.
여기서, 도 2를 이용하여, 대기 잡의 할당에 대해서 설명한다. 도 2는 대기 잡의 할당에 대해서 설명하기 위한 도면이다.
예를 들면, 대기 잡의 할당에 대해서는, 전면 앵커?포인터「FP(Front anchor Pointer)」, 배면 앵커?포인터「RP(Rear anchor Pointer)」 및 커버리지 심도 배열「CDA(Coverage Depth Array)」을 이용한다.
이 중, FP 및 RP는 이벤트 리스트를 주사하는 포인터이다. 그리고, CDA는, 도 2에 나타내는 바와 같이, 서브메시 할당의 가부 판정인 커버리지를 겹쳐서 보유한다. 이벤트 리스트는, 시각에 의해 소팅되어 있고, RP는 FP를 추월하지 않도록, 즉, RP의 이벤트 시간이 FP의 이벤트 시간보다 앞선 시간으로 되지 않도록 주사된다.
이 CDA의 각 요소에는, 대응하는 노드를 원점으로 해서 대기 잡을 실행하면, 이벤트 리스트에 등록된 잡과 간섭하는 수가 저장되어 있다. 그리고, 잡 스케줄링 장치는, FP에서 서브메시 획득 이벤트를 처리할 때, 대응하는 커버리지를 CDA에 겹치고, RP에서 서브메시 획득 이벤트를 처리할 때, 대응하는 커버리지를 CDA로부터 제거한다. 요컨대, CDA에서는, 소정의 좌표에 저장된 수를 조회함으로써, 당해 소정의 좌표에 대기 잡을 할당하면, FP와 RP 사이에 존재하는 할당 완료된 잡과 간섭할지 아닐지를 알 수 있다.
도 2에 있어서, CDA는, 8×8의 서브메시 구조를 갖고 있고, 당해 서브메시에 4개의 잡이 할당되어 있다. 그리고, 도 2에서는, 이 CDA에 대하여 4×3의 잡을 할당할 경우를 나타내고 있다. 또한, 도 2의 좌측 도면에서는, 4개의 잡이 할당되어 있는 서브메시가 나타나 있고, 서브메시 할당의 가부 판정인 커버리지를 겹치게 하고 있기 때문에, 서브메시끼리 겹침이 생겨 있다.
그리고, 잡 스케줄링 장치는, 4×3의 잡을 할당할 경우에, 도 2의 우측 도면에 나타내는 바와 같이, 8×8의 메시라는 제한에 의거하여, 4×3의 서브메시를, 각 노드의 원점에 할당할 수 없는 노드를 「Reject Set(리젝트 세트)」로 한다. 계속해서, 잡 스케줄링 장치는, 도 2의 좌측 도면에 나타낸 서브메시에 대응하는 커버리지를 작성한다. 도 2의 좌측 도면에 나타낸 서브메시에 대응하는 커버리지는, 도 2의 우측 도면에서의 파선의 직사각형으로 된다.
이 커버리지는, 4×3의 서브메시를 할당할 경우에, 이미 할당된 서브메시와 4×3의 서브메시가 겹침으로써, 서로 간섭하는 범위를 나타내고 있다. 즉, 8×8의 메시에 있어서 종축과 횡축으로부터, 할당하는 4×3의 서브메시의 각 변(邊)의 길이를 1 감(減)한 영역, 즉 이미 할당된 서브메시를 원점 방향으로 (3, 2)만 확장한 직사각형이다.
이렇게 하여 대기 잡이 할당된 결과, CDA에 있어서, 「0」의 값을 갖는 노드가 출현하고, 당해 노드가 서브메시의 할당이 가능한 원점으로 된다. 도 2에서는, 좌표 (4, 0)의 노드가 「0」의 값을 갖는 노드로서 해당한다. 요컨대, 잡 스케줄링 장치는, CDA에 있어서, Reject Set 이외에, 또한 당해 CDA에서 「0」의 값을 가지는 노드를 서브메시의 할당이 가능한 원점으로 해서, 대기 잡을 할당한다. 한편, 잡 스케줄링 장치는, 대기 잡의 수 만큼 상기 처리를 실행하고, 대기 잡의 할당을 행한다.
즉, 잡 스케줄링 장치는, 실행 중인 잡이 배치된 CDA에 미할당의 대기 잡을 배치할 경우에, 할당 가능한 메시의 위치와 시각을 겹쳐서 배치하므로, 잡을 실행하는 시스템의 사용률을 향상시킬 수 있다.
[잡 스케줄링 장치의 구성]
다음으로, 도 3을 이용하여, 실시예 1에 따른 잡 스케줄링 장치의 구성을 설명한다. 도 3은, 실시예 1에 따른 잡 스케줄링 장치의 구성예를 나타내는 도면이다.
도 3에 나타내는 바와 같이, 잡 스케줄링 장치(100)는, 입력부(101)와, 표시부(102)와, 기억부(110)와, 제어부(120)를 갖는다. 그리고, 이 잡 스케줄링 장치(100)는, 예를 들면, 각종 잡을 실행하는 병렬 계산기에 접속되어, 당해 병렬 계산기에 대하여 잡의 실행을 지시한다. 또한, 잡 스케줄링 장치는, 예를 들면, 복수의 PC와 접속되어, 당해 PC로부터의 잡의 투입을 접수한다.
입력부(101)는, 예를 들면, 키보드나 마우스 등을 갖고, 잡 스케줄링 장치(100)에서의 각종 정보의 입력을 접수한다. 또한, 표시부(102)는, 예를 들면, 표시 장치로서의 모니터(또는 디스플레이, 터치 패널 등)나 스피커 등을 갖고, 잡 스케줄링 장치(100)에서의 각종 정보를 표시 출력한다.
기억부(110)는, 제어부(120)에 의한 각종 처리에 필요한 데이터나, 제어부(120)에 의한 각종 처리 결과를 기억한다. 예를 들면, 기억부(110)는, 실행중 잡 리스트와, 대기 잡 리스트와, 이벤트 리스트와, CDA(도 2 참조)를 기억한다.
기억부(110)에 의해 기억되는 실행중 잡 리스트는, 예를 들면, 도 4에 나타내는 바와 같이, 병렬 계산기에서 실행되고 있는 잡의 정보를 갖고, 개시 시각, 좌표, 크기, 이용 시간 및 유저 이름 등을 포함한다.
이 중, 개시 시각은, 잡이 병렬 계산기에서 실행 개시된 시각의 정보이다. 또한, 좌표 및 크기는, CDA에 있어서의 잡의 원점과 당해 잡의 크기를 나타내는 정보이다. 또한, 이용 시간은, 잡의 실행에 걸리는 시간의 정보이다. 또한, 유저 이름은, 잡 스케줄링 장치(100)에 접속되는 PC의 유저 이름을 나타내는 정보이다. 한편, 도 4는, 실행중 잡 리스트의 예를 나타내는 도면이다.
또한, 대기 잡 리스트는, 예를 들면, 도 5에 나타내는 바와 같이, 잡 스케줄링 장치(100)에 접속되는 PC로부터의 잡 투입에 관한 정보를 갖고, 잡 투입 시각, 우선도, 크기, 이용 시간 및 유저 이름 등을 포함한다.
이 중, 잡 투입 시각은, 잡 스케줄링 장치(100)에 접속되는 PC로부터의 잡 투입 시각의 정보이다. 또한, 우선도는, 실행할 잡의 우선 정도를 나타내는 정보이며, 수치가 클수록 우선도가 높아진다. 또한, 크기는, CDA에 있어서의 잡의 크기를 나타내는 정보이다. 또한, 이용 시간은, 잡의 실행에 걸리는 시간의 정보이다. 또한, 유저 이름은, 잡 스케줄링 장치(100)에 접속되는 PC의 유저 이름을 나타내는 정보이다. 한편, 도 5는, 대기 잡 리스트의 예를 나타내는 도면이다.
또한, 이벤트 리스트는, 예를 들면, 도 6에 나타내는 바와 같이, 실행중 잡 및 대기 잡 각각에 있어서의 어드레스, 다음 어드레스, 시각, 종별, 좌표 및 크기 등의 정보를 포함한다. 그리고, 이벤트 리스트는, 시각에 의해 소팅되어 있다.
이 중, 어드레스는, 이벤트를 식별하는 정보이며, 다음 어드레스는, 당해 이벤트의 다음에 실행되는 이벤트를 나타내는 식별 정보이다. 또한, 시각은, 이벤트가 실행되는 시각의 정보이다. 또한, 종별은, 이벤트의 종별을 나타내는 정보이며, 예를 들면, 「해방」 또는 「할당」의 정보를 갖는다. 또한, 좌표 및 크기는, CDA에 있어서의 잡의 원점과 당해 잡의 크기를 나타내는 정보이다.
요컨대, 이벤트 리스트에는, 실행중 잡일 경우에 종별이 「해방」인 이벤트, 대기 잡일 경우에 종별이 「할당」 및 「해방」인 이벤트의 정보가 포함되게 된다. 예를 들면, 이벤트 리스트에 있어서의 좌표와 크기가 동일한 정보는, 하나의 잡에 대한 할당 이벤트와 해방 이벤트를 나타내고 있다. 한편, 도 6은, 이벤트 리스트의 예를 나타내는 도면이다.
제어부(120)는, 제어 프로그램, 각종 처리 순서 등을 규정한 프로그램 및 소요 데이터를 저장하기 위한 내부 메모리를 갖는 동시에, 특히, 메시지 송수신부(121)와, 리스트 제어부(122)와, 잡 할당 제어부(123)와, 포인터 제어부(124)를 갖는다. 보다 구체적으로는, 제어부(120)는, 연산 처리 장치로서의 CPU(Central Processing Unit)를, 메시지 송수신부(121), 리스트 제어부(122), 잡 할당 제어부(123), 및, 포인터 제어부(124)로서 기능시킴으로써, 실현할 수 있다.
메시지 송수신부(121)는, 잡 스케줄링 장치(100)에 접속되는 병렬 계산기와의 사이에서 주고받게 되는 각종 정보를 송수신한다. 예를 들면, 메시지 송수신부(121)는, 후술하는 잡 할당 제어부(123)에 의해 할당된 잡의 실행 개시 타이밍에, 병렬 계산기에 대하여 잡의 실행을 지시하는 취지의 메시지를 송신한다. 또한, 예를 들면, 메시지 송수신부(121)는, 잡 스케줄링 장치(100)에 접속되는 병렬 계산기로부터 잡의 실행이 완료했다는 취지의 메시지를 수신하고, 후술하는 리스트 제어부(122)에 대하여 당해 완료했다는 취지의 메시지를 통지한다.
리스트 제어부(122)는, 기억부(110)에 기억되는 각종 리스트의 제어를 실시한다. 예를 들면, 리스트 제어부(122)는, 잡 스케줄링 장치(100)에 접속되는 PC로부터의 잡 투입을 접수하고, 접수한 잡을 대기 잡 리스트에 추가하고, 대기 잡 리스트에 잡을 추가했음을 잡 할당 제어부(123) 및 포인터 제어부(124)에 통지한다.
또한, 예를 들면, 리스트 제어부(122)는, 메시지 송수신부(121)에 의해 수신된 병렬 계산기로부터의 잡 완료 메시지의 통지에 따라, 실행중 잡 리스트로부터 해당하는 잡을 삭제하고, 실행중 잡 리스트로부터 잡을 삭제했음을 잡 할당 제어부(123) 및 포인터 제어부(124)에 통지한다. 또한, 예를 들면, 리스트 제어부(122)는, 잡 할당 제어부(123) 또는 포인터 제어부(124)로부터의 통지에 따라, 이벤트 리스트를 작성하거나 갱신한다.
잡 할당 제어부(123)는, 대기 잡 리스트에 포함되는 대기 잡의 할당을, CDA를 갱신함으로써 실시한다. 예를 들면, 잡 할당 제어부(123)는, 리스트 제어부(122)에 의해 대기 잡이 추가되었음을 통지받은 경우에, 당해 추가된 대기 잡의 할당을 CDA에 배치시킴으로써 행한다. 그리고, 잡 할당 제어부(123)는, 포인터 제어부(124)와 연계하면서 CDA로의 대기 잡의 배치에 따라, 리스트 제어부(122)에 대하여 이벤트 리스트의 갱신을 의뢰하거나, 할당된 잡의 실행 개시 타이밍에 메시지 송수신부(121)에 당해 잡의 실행 지시를 병렬 계산기에 대하여 송신하는 지시를 행하거나 한다.
포인터 제어부(124)는, 이벤트 리스트를 주사하는 포인터를 제어한다. 예를 들면, 포인터 제어부(124)는, 서브메시 획득 이벤트를 주사하는 전면 앵커?포인터 FP와, 서브메시 해방 이벤트를 주사하는 배면 앵커?포인터 RP를 사용하여, 이벤트 리스트를 주사시킨다.
[대기 잡 할당 처리]
다음으로, 도 7을 이용하여, 실시예 1에 따른 대기 잡 할당 처리의 흐름을 설명한다. 도 7은, 실시예 1에 따른 대기 잡 할당 처리의 흐름을 설명하기 위한 플로차트이다. 한편, 이하에서는, 실행중 잡의 해방에 관한 정보를 포함하는 이벤트 리스트가 미리 작성되어 있고, 당해 이벤트 리스트는, 시간이 빠른 순서로 소팅되어 있는 것으로 한다. 또한, 이하의 처리는, 잡 스케줄링 장치(100)에 접속되는 병렬 계산기에 의한 잡 완료 메시지의 통지, 또는 접속되는 PC로부터의 잡 투입에 의한 대기 잡의 등록이 실시되었을 경우에, 대기 잡의 수만큼 실행되는 처리이다.
예를 들면, 도 7에 나타내는 바와 같이, 잡 스케줄링 장치(100)는, 접속되는 병렬 계산기에 의한 잡 완료 메시지의 통지 또는 접속되는 PC에 의한 잡 투입이 실시되었을 경우에, CDA를 0으로 클리어한다(스텝 S101). 그리고, 잡 스케줄링 장치(100)는, 이벤트 리스트에 포함되는 잡의 서브메시의 커버리지를 CDA에 추가시킨다(스텝 S102). 이 커버리지를 CDA에 추가시킨다는 것은, 서브메시끼리의 겹침의 정도, 즉 서로의 잡이 서로 간섭하는 깊이를 값으로 나타낸 것이다. 예를 들면, 이 시점에 있어서, 2개의 서브메시가 서로 겹쳐 있을 경우에는, 값 「2」로 되고, 1개의 서브메시만의 배열일 경우에는, 값 「1」로 된다.
계속해서, 잡 스케줄링 장치(100)는, RP를 이벤트 리스트의 선두를 지시하도록 초기화한다(스텝 S103). 그 후, 잡 스케줄링 장치(100)는, FP를 이벤트 리스트에서의 최초의 서브메시 획득 이벤트를 지시하도록 초기화한다(스텝 S104).
그리고, 잡 스케줄링 장치(100)는, FP가 이벤트 리스트의 말미에 도달해 있는지의 여부를 판정하고(스텝 S105), FP가 이벤트 리스트의 말미에 도달해 있지 않을 경우에(스텝 S105 부정), FP와 RP 사이의 이벤트 시각 차이가 대기 잡의 할당 기간 이상인지의 여부를 판정한다(스텝 S106).
계속해서, 잡 스케줄링 장치(100)는, FP와 RP 사이의 이벤트 시각 차이가 대기 잡의 할당 기간 미만일 경우에(스텝 S106 부정), FP가 위치하는 서브메시 획득 이벤트의 처리로서, 당해 FP에 해당하는 서브메시의 커버리지를 CDA에 추가시킨다(스텝 S107). 이 커버리지를 CDA에 추가시킨다는 것은, 이 시점에 있어서, FP에 의해 지시된 서브메시의 커버리지의 값 각각에 「1」을 가산하는 것이다.
그 후, 잡 스케줄링 장치(100)는, FP의 위치를 다음 서브메시 획득 이벤트로 이동해서(스텝 S108), 스텝 S105의 처리를 실시한다. 또한, 잡 스케줄링 장치(100)는, FP가 이벤트 리스트의 말미에 도달해 있을 경우(스텝 S105 긍정), 또는, FP와 RP 사이의 이벤트 시각 차이가 대기 잡의 할당 기간 이상일 경우에(스텝 S106 긍정), CDA상에 0값의 요소가 있는지의 여부를 판정한다(스텝 S109).
그리고, 잡 스케줄링 장치(100)는, CDA상에 0값의 요소가 없을 경우에(스텝 S109 부정), RP의 위치를 다음 서브메시 해방 이벤트로 이동한다(스텝 S110). 계속해서, 잡 스케줄링 장치(100)는, RP가 위치하는 서브메시 해방 이벤트의 처리로서, 당해 RP에 해당하는 서브메시의 커버리지를 CDA로부터 뺀다(스텝 S111). 이 커버리지를 CDA로부터 뺀다는 것은, 이 시점에 있어서, RP에 의해 지시된 서브메시의 커버리지의 값 각각으로부터 「1」을 감산하는 것이다.
그 후, 잡 스케줄링 장치(100)는, FP와 RP 사이의 시각 차이가 대기 잡의 할당 기간 이상인지의 여부를 판정한다(스텝 S112). 그리고, 잡 스케줄링 장치(100)는, FP와 RP 사이의 시각 차이가 대기 잡의 할당 기간 미만일 경우에(스텝 S112 부정), 스텝 S105의 처리를 실시한다. 또한, 잡 스케줄링 장치(100)는, FP와 RP 사이의 시각 차이가 대기 잡의 할당 기간 이상일 경우에(스텝 S112 긍정), 스텝 S109의 처리를 실시한다.
또한, 잡 스케줄링 장치(100)는, 스텝 S109에 있어서, CDA상에 0값의 요소가 있을 경우에(스텝 S109 긍정), 처리를 종료한다. 한편, 잡 스케줄링 장치(100)는, 상기 처리를 대기 잡의 수만큼 반복해서 실시한다.
여기서, 도 8 내지 도 16을 이용하여, 도 7에 나타낸 처리 플로에 따라 대기 잡을 할당하는 구체예를 설명한다. 도 8 내지 도 12는, 대기 잡 할당 처리에 따른 CDA의 예를 나타내는 도면이다. 또한, 도 13은, 잡 할당 기간의 타임 차트를 나타내는 도면이다. 또한, 도 14 내지 도 16은, 대기 잡 할당 처리에 따른 이벤트 리스트의 예를 나타내는 도면이다.
그리고, 이하에서는, 도 4에 나타낸 실행중 잡 리스트와, 도 5에 나타낸 대기 잡 리스트를 이용하여, 이벤트 리스트를 작성하면서, 대기 잡을 CDA에 배치하는 예를 설명하는 것으로 한다. 한편, 실행중 잡의 서브메시는, 실행중 잡 리스트로부터, 도 8에 나타내는 바와 같은 것으로 된다. 도 8에서는, 각 메시에 번호 (1) 내지 (3)을 배정하고 있다.
예를 들면, 잡 스케줄링 장치(100)는, 실행중 잡 리스트에 의거하여, 이벤트 리스트를 작성한다(도 14 참조). 도 14에 나타낸 이벤트 리스트는, 시각이 빠른 순서로 소팅되어 있고, 종별로서는, 모든 잡이 실행 중이기 때문에, 「해방」의 이벤트만이 등록된다. 한편, 도 14에서는, 각 이벤트를 CDA(도 8 참조)에 있어서의 메시에 대응한 번호 (1) 내지 (3)을 배정하고 있다.
계속해서, 잡 스케줄링 장치(100)는, CDA를 0으로 클리어한다. 그 후, 잡 스케줄링 장치(100)는, 대기 잡 리스트에 포함되는 크기 (8, 3)의 대기 잡을 할당할 경우에, 도 9에 나타내는 바와 같이, 실행중 잡의 서브메시를 원점 방향으로 (7, 2) 확장하는 동시에, 이 시점에서의 커버리지를 CDA에 추가시킨다.
그리고, 잡 스케줄링 장치(100)는, RP를 이벤트 리스트의 선두로 초기화하여, RP=「81B40020h」로 한다. 또한, 잡 스케줄링 장치(100)는, FP를 최초의 서브메시 획득 이벤트로 초기화하여, FP=「00000000h」로 한다. 한편, 이 시점에서, 이벤트 리스트에는, 실행 중인 잡만이 포함되어 있기 때문에, 서브메시 획득 이벤트가 존재하지 않는다. 이 때문에, FP의 서브메시 획득 이벤트로의 초기화에서는, 이벤트 리스트에 있어서, 미할당의 어드레스를 나타내는 「00000000h」에 FP를 위치시키는 것이 된다.
계속해서, 잡 스케줄링 장치(100)는, FP=「00000000h」가 이벤트 리스트의 말미에 도달하는 것에 의해, CDA상(도 9 참조)에서 0값의 요소가 있는지의 여부를 판정한다. 그 후, 잡 스케줄링 장치(100)는, CDA상에서 0값의 요소가 없는 것에 의해, RP를 다음 서브메시 획득 이벤트로 이동시켜서, RP=「81B40010h」로 한다.
그리고, 잡 스케줄링 장치(100)는, RP=「81B40010h」가 위치하는 서브메시 해방 이벤트의 처리로서, 당해 RP에 해당하는 서브메시 「(2)」의 커버리지를 CDA로부터 뺀다(도 10 참조). 계속해서, 잡 스케줄링 장치(100)는, FP와 RP 사이의 시각 차이 「12시간 43초」가 대기 잡의 할당 기간 「4시간」 이상인 것에 의해, CDA상(도 10 참조)에서 0값의 요소가 있는지의 여부를 판정한다.
그 후, 잡 스케줄링 장치(100)는, CDA상에서 0값의 요소가 좌표 (0, 0)에 존재하는 것에 의해, 처리를 종료한다. 이렇게 해서 할당된 대기 잡을 (4)라고 하면, 당해 대기 잡은, 도 11에 나타내는 바와 같이, 좌표 (0, 0)을 원점으로 하고, (8, 3)의 크기를 갖는 서브메시가 된다. 또한, (4)를 이벤트 리스트에 추가할 경우에는, 도 15에 나타내는 바와 같이, (2)와 (1)의 해방 이벤트의 사이에, (4)의 할당 이벤트와 해방 이벤트가 포함되게 된다.
또한, 잡 스케줄링 장치(100)는, 대기 잡 리스트에 포함되는 크기 (5, 3)의 대기 잡에 대해서도, 상기와 동일한 처리를 실시해서 CDA상에 배치시킨다. 크기 (5, 3)의 대기 잡을 (5)라고 하면, 당해 대기 잡은, 도 12에 나타내는 바와 같이, 좌표 (3, 5)를 원점으로 하는 서브메시가 된다. 또한, (5)를 이벤트 리스트에 추가할 경우에는, 도 16에 나타내는 바와 같이, (3)과 (2)의 해방 이벤트의 사이에 (5)의 할당 이벤트, (1)의 해방 이벤트 이후에 (5)의 해방 이벤트가 포함되게 된다.
이상으로부터, (1) 내지 (5)의 잡 할당 기간의 타임 차트는, 도 13에 나타내는 바와 같이, (3)의 해방 이벤트와 동시에 (5)의 할당 이벤트가 개시되고, (2)의 해방 이벤트와 동시에 (4)의 할당 이벤트가 개시된다. 또한, (4)의 잡은, (2)의 해방 이벤트와 (1)의 해방 이벤트 사이에 할당 이벤트 및 해방 이벤트가 실행된다. 그리고, (5)의 해방 이벤트는, (1)의 해방 이벤트 이후에 실행된다.
[실시예 1에 의한 효과]
상술한 바와 같이, 잡 스케줄링 장치(100)는, 할당 잡끼리의 간섭 정도를 나타내는 CDA를 이용하여, 서브메시의 할당을 겹치게 하여 배치시킴으로써, 작은 계산량으로 대기 잡을 할당하므로, 잡을 실행하는 시스템의 사용률을 향상시킬 수 있다.
[실시예 2]
그런데, 지금까지 본원에 개시하는 잡 스케줄링 장치의 실시예에 대해서 설명했지만, 상술한 실시예 이외에도 다양한 다른 형태로 실시되어도 되는 것이다. 그래서, (1) RP의 주사 범위를 제한, (2) CDA에 차분값을 저장, (3) 잡 스케줄링 장치의 구성, (4) 프로그램에 있어서 상이한 실시예를 설명한다.
(1) RP의 주사 범위를 제한
상기 실시예 1에서는, 해당하는 잡의 서브메시의 예약을 행할 때까지 RP를 주사하는 경우를 설명했지만, RP의 주사 범위를 제한하는 것에 의해, 적극적인 백필을 실현할 수 있다.
예를 들면, 잡 스케줄링 장치(100)는, 도 7의 스텝 S110에 있어서, RP가 주사 범위를 일탈했을 경우에, 그 시점에 할당 가능한 서브메시의 검색을 중지하고, 해당 잡에 서브메시의 예약을 실시하지 않는다. 또한, 더욱이, RP의 주사에 대해서는, 당해 RP의 주사를 일체 행하지 않고, 도 7의 스텝 S110에 있어서, 서브메시의 검색을 중지하는 것으로 해도 되며, 이 경우가 가장 적극적인 백필이 된다.
(2) CDA에 차분값을 저장
또한, 상기 실시예 1에서는, 어떤 노드를 원점으로 하는 서브메시 할당의 가부 판정을 CDA상에서 실현하는 경우를 설명했지만, 커버리지의 끝의 요소에 차분값을 저장함으로써, CDA의 갱신을 보다 고속화할 수 있다.
도 17을 이용하여, 차분값을 저장하는 CDA를 설명한다. 도 17은, 차분값을 저장하는 CDA의 예를 설명하기 위한 도면이다. 한편, 이하에서는, CDA상에서 0값의 요소를 검색하는 순서가 결정되어 있는 경우에 대해서 설명한다.
예를 들면, 도 17의 상단에 나타낸 커버리지에는, 3개의 잡이 포함되어 있다. 그리고, 3개의 잡 분(分)의 커버리지를 전(全)요소 갱신했을 경우에는, 도 17의 중단에 나타내는 바와 같이, CDA의 갱신에 있어서, 가산 14회분의 갱신을 필요로 하게 된다. 한편으로, 차분값을 저장할 경우에는, 도 17의 하단에 나타내는 바와 같이, CDA의 갱신에 있어서, 가산이 3회 및 감산이 2회인 합계 5회의 갱신을 요한다. 한편, 차분값의 저장에서는, CDA상에서 순서대로 값을 가산하고, 당해 가산 후에 가산의 결과가 0값으로 되는 요소가 검색되게 된다.
(3) 잡 스케줄링 장치의 구성
또한, 상기 문서 중이나 도면 중 등에 의해 나타낸 처리 순서, 제어 순서, 구체적 명칭, 각종 데이터나 파라미터 등을 포함하는 정보(예를 들면, 「이벤트 리스트」에 포함되는 데이터 등)에 대해서는, 특기(特記)할 경우를 제외하고 임의로 변경할 수 있다.
또한, 도시한 각 장치의 각 구성 요소는, 기능 개념적인 것이며, 반드시 물리적으로 도시한 대로 구성되어 있을 것을 요하지 않는다. 즉, 각 장치의 분산?통합의 구체적 형태는, 도시한 것에 한정되지 않고, 예를 들면, 메시지 송수신부(121)를, 메시지 송신부와 메시지 수신부로 분산하는 등, 그 전부 또는 일부를 각종 부담이나 사용 상황 등에 따라, 임의의 단위로 기능적 또는 물리적으로 분산?통합할 수 있다. 또한, 각 장치에서 행해지는 각 처리 기능은, 그 전부 또는 임의의 일부가, 연산 처리 장치로서의 CPU 및 당해 CPU에 의해 해석 실행되는 프로그램에 의해 실현되거나, 또는, 와이어드 로직(wired logic)에 의한 하드웨어로서 실현될 수 있다.
(4) 프로그램
그런데, 상기 실시예에서는, 하드웨어 로직에 의해 각종 처리를 실현하는 경우를 설명했지만, 미리 준비된 프로그램을 컴퓨터로 실행함으로써 실현하도록 해도 된다. 그래서, 이하에서는, 도 18을 이용하여, 상기 실시예에 나타낸 잡 스케줄링 장치(100)와 동일한 기능을 갖는 잡 스케줄링 프로그램을 실행하는 컴퓨터의 일례를 설명한다. 도 18은, 잡 스케줄링 프로그램을 실행하는 컴퓨터를 나타내는 도면이다.
도 18에 나타내는 바와 같이, 잡 스케줄링 장치(100)로서의 컴퓨터(11)는, 버스(18)에 의해 접속되는 HDD(13), CPU(14), ROM(15) 및 RAM(16) 등을 갖는다.
ROM(15)에는, 상기 실시예 1에 나타낸 잡 스케줄링 장치(100)와 동일한 기능을 발휘하는 잡 스케줄링 프로그램, 즉, 도 18에 나타내는 바와 같이, 메시지 송수신 프로그램(15a)과, 리스트 제어 프로그램(15b)과, 잡 할당 제어 프로그램(15c)과, 포인터 제어 프로그램(15d)이, 미리 기억되어 있다. 한편, 이들 프로그램(15a 내지 15d)에 대해서는, 도 3에 나타낸 잡 스케줄링 장치(100)의 각 구성 요소와 마찬가지로, 적절히 통합 또는 분산해도 된다.
그리고, CPU(14)가 이들 프로그램(15a 내지 15d)을 ROM(15)으로부터 판독해서 실행함으로써, 도 18에 나타내는 바와 같이, 프로그램(15a 내지 15d)은, 메시지 송수신 프로세스(14a)와, 리스트 제어 프로세스(14b)와, 잡 할당 제어 프로세스(14c)와, 포인터 제어 프로세스(14d)로서 기능하게 된다. 한편, 프로세스(14a 내지 14d)는, 도 3에 나타낸, 메시지 송수신부(121)와, 리스트 제어부(122)와, 잡 할당 제어부(123)와, 포인터 제어부(124)에 대응한다.
그리고, CPU(14)는 RAM(16)에 기록된 데이터(예를 들면, 실행중 잡 리스트, 대기 잡 리스트, 이벤트 리스트 및 CDA 등)에 의거하여 잡 스케줄링 프로그램을 실행한다.
또한, 상기 각 프로그램(15a 내지 15d)에 대해서는, 반드시 처음부터 ROM(15)에 기억시켜 둘 필요는 없고, 예를 들면, 컴퓨터(11)에 삽입되는 플렉시블 디스크(FD), CD-ROM, DVD 디스크, 광자기 디스크, IC 카드 등의 「가반(可搬)용의 물리 매체」, 또는 컴퓨터(11)의 내외에 구비되는 HDD 등의 「고정용의 물리 매체」, 또한 공중 회선, 인터넷, LAN, WAN 등을 통하여 컴퓨터(11)에 접속되는 「다른 컴퓨터(또는 서버)」 등에 각 프로그램을 기억시켜 두고, 컴퓨터(11)가 이것으로부터 각 프로그램을 판독해서 실행하도록 해도 된다.
100 : 잡 스케줄링 장치
101 : 입력부
102 : 표시부
110 : 기억부
120 : 제어부
121 : 메시지 송수신부
122 : 리스트 제어부
123 : 잡 할당 제어부
124 : 포인터 제어부
101 : 입력부
102 : 표시부
110 : 기억부
120 : 제어부
121 : 메시지 송수신부
122 : 리스트 제어부
123 : 잡 할당 제어부
124 : 포인터 제어부
Claims (9)
- 복수의 정보 처리 장치의 각각에 잡(job)을 할당하는 잡 스케줄링 프로그램(job scheduling program)을 기록한 컴퓨터 판독 가능한 기록 매체에 있어서,
상기 잡 스케줄링 프로그램은,
상기 복수의 정보 처리 장치의 각각에 할당하는 잡을, 상기 복수의 정보 처리 장치에 각각 대응하는 배열 요소에 수치화해서 기억하는 2차원 배열을 이용하고, 상기 2차원 배열에서 잡이 할당되는 배열 요소에 기억된 수치에 의거하여, 잡이 서로 간섭하는 정도를 나타내는 심도값(深度値)을 산출하는 심도값 산출 순서와,
상기 심도값 산출 순서에 의해 산출된 심도값에 의거하여, 상기 할당하는 잡에 대응하는 할당 가능한 배열 요소를, 상기 2차원 배열로부터 검색하는 검색 순서와,
상기 검색 순서에 의해 할당 가능한 배열 요소가 존재할 경우에, 상기 할당하는 잡을 상기 할당 가능한 배열 요소에 수치화해서 배치하는 배치 순서와,
상기 할당하는 잡의 할당 이벤트를 주사(走査)하는 제 1 포인터와, 상기 할당하는 잡의 해방 이벤트를 주사하는 제 2 포인터를 이용하여, 상기 할당 이벤트 및/또는 상기 해방 이벤트의 정보를 포함하는 이벤트 리스트를 주사하는 주사 순서와,
상기 주사 순서에 의한 상기 이벤트 리스트의 주사에서, 상기 제 1 포인터와 상기 제 2 포인터의 기간 내에, 상기 할당하는 잡의 할당이 가능한지의 여부를 판정하는 할당 판정 순서
를 상기 컴퓨터에 실행시키는 것을 특징으로 하는 컴퓨터 판독 가능한 기록 매체. - 제 1 항에 있어서,
상기 주사 순서는, 상기 제 2 포인터에 의거하여 상기 이벤트 리스트의 주사를 종료하는 것을 특징으로 하는 컴퓨터 판독 가능한 기록 매체. - 복수의 정보 처리 장치의 각각에 잡(job)을 할당하는 잡 스케줄링 프로그램(job scheduling program)을 기록한 컴퓨터 판독 가능한 기록 매체에 있어서,
상기 잡 스케줄링 프로그램은,
상기 복수의 정보 처리 장치의 각각에 할당하는 잡을, 상기 복수의 정보 처리 장치에 각각 대응하는 배열 요소에 수치화해서 기억하는 2차원 배열을 이용하고, 상기 2차원 배열에서 잡이 할당되는 배열 요소에 기억된 수치에 의거하여, 잡이 서로 간섭하는 정도를 나타내는 심도값(深度値)을 산출하는 심도값 산출 순서와,
상기 심도값 산출 순서에 의해 산출된 심도값에 의거하여, 상기 할당하는 잡에 대응하는 할당 가능한 배열 요소를, 상기 2차원 배열로부터 검색하는 검색 순서와,
상기 검색 순서에 의해 할당 가능한 배열 요소가 존재할 경우에, 상기 할당하는 잡을 상기 할당 가능한 배열 요소에 수치화해서 배치하는 배치 순서
를 컴퓨터에 실행시키고,
상기 심도값 산출 순서는, 배열의 일단(一端)으로부터 순서대로 상기 심도값이 변화되는 요소에 대해서 차분값을 더 산출하는 것을 특징으로 하는 컴퓨터 판독 가능한 기록 매체. - 복수의 정보 처리 장치의 각각에 잡을 할당하는 잡 스케줄링 장치에 있어서,
상기 복수의 정보 처리 장치의 각각에 할당하는 잡을, 상기 복수의 정보 처리 장치에 각각 대응하는 배열 요소에 수치화해서 기억하는 2차원 배열을 저장하는 기억 수단과,
상기 기억 수단에 저장된 2차원 배열을 이용하고, 상기 2차원 배열에서 잡이 할당되는 배열 요소에 기억된 수치에 의거하여, 잡이 서로 간섭하는 정도를 나타내는 심도값을 산출하는 심도값 산출 수단과,
상기 심도값 산출 수단에 의해 산출된 심도값에 의거하여, 상기 할당하는 잡에 대응하는 할당 가능한 배열 요소를, 상기 2차원 배열로부터 검색하는 검색 수단과,
상기 검색 수단에 의해 할당 가능한 배열 요소가 존재할 경우에, 상기 할당하는 잡을 상기 할당 가능한 배열 요소에 수치화해서 배치하는 배치 수단과,
상기 할당하는 잡의 할당 이벤트를 주사(走査)하는 제 1 포인터와, 상기 할당하는 잡의 해방 이벤트를 주사하는 제 2 포인터를 이용하여, 상기 할당 이벤트 및/또는 상기 해방 이벤트의 정보를 포함하는 이벤트 리스트를 주사하는 주사 수단과,
상기 주사 수단에 의한 상기 이벤트 리스트의 주사에서, 상기 제 1 포인터와 상기 제 2 포인터의 기간 내에, 상기 할당하는 잡의 할당이 가능한지의 여부를 판정하는 할당 판정 수단
을 갖는 것을 특징으로 하는 잡 스케줄링 장치. - 제 4 항에 있어서,
상기 주사 수단은, 상기 제 2 포인터에 의거하여 상기 이벤트 리스트의 주사를 종료하는 것을 특징으로 하는 잡 스케줄링 장치. - 복수의 정보 처리 장치의 각각에 잡을 할당하는 잡 스케줄링 장치에 있어서,
상기 복수의 정보 처리 장치의 각각에 할당하는 잡을, 상기 복수의 정보 처리 장치에 각각 대응하는 배열 요소에 수치화해서 기억하는 2차원 배열을 저장하는 기억 수단과,
상기 기억 수단에 저장된 2차원 배열을 이용하고, 상기 2차원 배열에서 잡이 할당되는 배열 요소에 기억된 수치에 의거하여, 잡이 서로 간섭하는 정도를 나타내는 심도값을 산출하는 심도값 산출 수단과,
상기 심도값 산출 수단에 의해 산출된 심도값에 의거하여, 상기 할당하는 잡에 대응하는 할당 가능한 배열 요소를, 상기 2차원 배열로부터 검색하는 검색 수단과,
상기 검색 수단에 의해 할당 가능한 배열 요소가 존재할 경우에, 상기 할당하는 잡을 상기 할당 가능한 배열 요소에 수치화해서 배치하는 배치 수단
을 갖고,
상기 심도값 산출 수단은, 배열의 일단(一端)으로부터 순서대로 상기 심도값이 변화되는 요소에 대해서 차분값을 더 산출하는 것을 특징으로 하는 잡 스케줄링 장치. - 복수의 정보 처리 장치의 각각에 잡을 할당하는 잡 스케줄링 방법에 있어서,
상기 복수의 정보 처리 장치의 각각에 할당하는 잡을, 상기 복수의 정보 처리 장치에 각각 대응하는 배열 요소에 수치화해서 기억하는 2차원 배열을 이용하고, 상기 2차원 배열에서 잡이 할당되는 배열 요소에 기억된 수치에 의거하여, 잡이 서로 간섭하는 정도를 나타내는 심도값을 산출하는 스텝과,
상기 심도값을 산출하는 스텝에 의해 산출된 심도값에 의거하여, 상기 할당하는 잡에 대응하는 할당 가능한 배열 요소를, 상기 2차원 배열로부터 검색하는 스텝과,
상기 할당 가능한 배열 요소를 검색하는 스텝에 의해 할당 가능한 배열 요소가 존재할 경우에, 상기 할당하는 잡을 상기 할당 가능한 배열 요소에 수치화해서 배치하는 스텝과,
상기 할당하는 잡의 할당 이벤트를 주사(走査)하는 제 1 포인터와, 상기 할당하는 잡의 해방 이벤트를 주사하는 제 2 포인터를 이용하여, 상기 할당 이벤트 및/또는 상기 해방 이벤트의 정보를 포함하는 이벤트 리스트를 주사하는 주사 스텝과,
상기 주사 스텝에 의한 상기 이벤트 리스트의 주사에서, 상기 제 1 포인터와 상기 제 2 포인터의 기간 내에, 상기 할당하는 잡의 할당이 가능한지의 여부를 판정하는 할당 판정 스텝
을 포함하는 것을 특징으로 하는 잡 스케줄링 방법. - 제 7 항에 있어서,
상기 주사 스텝은, 상기 제 2 포인터에 의거하여 상기 이벤트 리스트의 주사를 종료하는 것을 특징으로 하는 잡 스케줄링 방법. - 복수의 정보 처리 장치의 각각에 잡을 할당하는 잡 스케줄링 방법에 있어서,
상기 복수의 정보 처리 장치의 각각에 할당하는 잡을, 상기 복수의 정보 처리 장치에 각각 대응하는 배열 요소에 수치화해서 기억하는 2차원 배열을 이용하고, 상기 2차원 배열에서 잡이 할당되는 배열 요소에 기억된 수치에 의거하여, 잡이 서로 간섭하는 정도를 나타내는 심도값을 산출하는 스텝과,
상기 심도값을 산출하는 스텝에 의해 산출된 심도값에 의거하여, 상기 할당하는 잡에 대응하는 할당 가능한 배열 요소를, 상기 2차원 배열로부터 검색하는 스텝과,
상기 할당 가능한 배열 요소를 검색하는 스텝에 의해 할당 가능한 배열 요소가 존재할 경우에, 상기 할당하는 잡을 상기 할당 가능한 배열 요소에 수치화해서 배치하는 스텝
을 포함하고,
상기 심도값 산출 스텝은, 배열의 일단(一端)으로부터 순서대로 상기 심도값이 변화되는 요소에 대해서 차분값을 더 산출하는 것을 특징으로 하는 잡 스케줄링 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JPJP-P-2009-116926 | 2009-05-13 | ||
JP2009116926A JP5402226B2 (ja) | 2009-05-13 | 2009-05-13 | 管理装置、情報処理システム、情報処理システムの制御プログラムおよび情報処理システムの制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100122858A KR20100122858A (ko) | 2010-11-23 |
KR101126215B1 true KR101126215B1 (ko) | 2012-03-26 |
Family
ID=42718828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100042280A KR101126215B1 (ko) | 2009-05-13 | 2010-05-06 | 컴퓨터 판독 가능한 기록 매체, 잡 스케줄링 장치 및 잡 스케줄링 방법 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8429664B2 (ko) |
EP (1) | EP2254049A3 (ko) |
JP (1) | JP5402226B2 (ko) |
KR (1) | KR101126215B1 (ko) |
CN (1) | CN101923490B (ko) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5429382B2 (ja) * | 2010-08-10 | 2014-02-26 | 富士通株式会社 | ジョブ管理装置及びジョブ管理方法 |
US9201690B2 (en) | 2011-10-21 | 2015-12-01 | International Business Machines Corporation | Resource aware scheduling in a distributed computing environment |
JP6010975B2 (ja) * | 2012-03-30 | 2016-10-19 | 日本電気株式会社 | ジョブ管理装置、ジョブ管理方法、及びプログラム |
US9086962B2 (en) * | 2012-06-15 | 2015-07-21 | International Business Machines Corporation | Aggregating job exit statuses of a plurality of compute nodes executing a parallel application |
US8924977B2 (en) | 2012-06-18 | 2014-12-30 | International Business Machines Corporation | Sequential cooperation between map and reduce phases to improve data locality |
KR102058041B1 (ko) * | 2012-12-26 | 2019-12-20 | 엘지전자 주식회사 | 영상표시장치, 및 그 동작방법 |
US9354938B2 (en) | 2013-04-10 | 2016-05-31 | International Business Machines Corporation | Sequential cooperation between map and reduce phases to improve data locality |
US9342355B2 (en) | 2013-06-20 | 2016-05-17 | International Business Machines Corporation | Joint optimization of multiple phases in large data processing |
JP6191361B2 (ja) * | 2013-09-25 | 2017-09-06 | 富士通株式会社 | 情報処理システム、情報処理システムの制御方法及び制御プログラム |
JP6221588B2 (ja) * | 2013-09-30 | 2017-11-01 | 富士通株式会社 | 情報処理システム、管理装置制御プログラム及び情報処理システムの制御方法 |
JP2016004310A (ja) | 2014-06-13 | 2016-01-12 | 富士通株式会社 | 並列計算機システム、制御方法およびジョブ管理プログラム |
JP6515686B2 (ja) * | 2015-06-03 | 2019-05-22 | 富士通株式会社 | 並列計算機システム、保守装置、保守方法、および保守プログラム |
CN107506880B (zh) * | 2016-06-13 | 2020-12-04 | 中国移动通信集团江苏有限公司 | 一种装维工单的调度方法及装置 |
JP6683046B2 (ja) * | 2016-07-13 | 2020-04-15 | 富士通株式会社 | 並列処理装置、ジョブ管理方法、およびジョブ管理プログラム |
JP6976140B2 (ja) * | 2017-11-02 | 2021-12-08 | 株式会社フォーラムエンジニアリング | マッチング装置 |
KR102527925B1 (ko) * | 2017-11-29 | 2023-05-03 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
CN109857539B (zh) * | 2017-11-30 | 2022-11-15 | 阿里巴巴集团控股有限公司 | 资源调度方法和终端 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006521640A (ja) * | 2003-03-27 | 2006-09-21 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー. | データストレージシステムのサービス品質コントローラ及びサービス品質方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1318453A1 (en) | 2001-12-07 | 2003-06-11 | Hewlett-Packard Company | Scheduling system, method and apparatus for a cluster |
US7331048B2 (en) | 2003-04-04 | 2008-02-12 | International Business Machines Corporation | Backfill scheduling of applications based on data of the applications |
US8336040B2 (en) | 2004-04-15 | 2012-12-18 | Raytheon Company | System and method for topology-aware job scheduling and backfilling in an HPC environment |
WO2006087713A2 (en) | 2005-02-16 | 2006-08-24 | Yissum Research Development Company Of The Hebrew University Of Jerusalem | System and method for backfilling with system-generated predictions rather than user runtime estimates |
-
2009
- 2009-05-13 JP JP2009116926A patent/JP5402226B2/ja not_active Expired - Fee Related
-
2010
- 2010-05-06 KR KR1020100042280A patent/KR101126215B1/ko not_active IP Right Cessation
- 2010-05-12 US US12/662,940 patent/US8429664B2/en active Active
- 2010-05-12 EP EP10162645A patent/EP2254049A3/en not_active Withdrawn
- 2010-05-13 CN CN2010101784747A patent/CN101923490B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006521640A (ja) * | 2003-03-27 | 2006-09-21 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー. | データストレージシステムのサービス品質コントローラ及びサービス品質方法 |
Non-Patent Citations (1)
Title |
---|
JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING 52, 40-68(1998, "Performance Improvement of Allocation Schemes for Mesh-Connected computers")* |
Also Published As
Publication number | Publication date |
---|---|
KR20100122858A (ko) | 2010-11-23 |
US8429664B2 (en) | 2013-04-23 |
EP2254049A3 (en) | 2012-01-25 |
EP2254049A2 (en) | 2010-11-24 |
CN101923490B (zh) | 2013-12-04 |
US20100293551A1 (en) | 2010-11-18 |
JP5402226B2 (ja) | 2014-01-29 |
JP2010267025A (ja) | 2010-11-25 |
CN101923490A (zh) | 2010-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101126215B1 (ko) | 컴퓨터 판독 가능한 기록 매체, 잡 스케줄링 장치 및 잡 스케줄링 방법 | |
Delgado et al. | Job-aware scheduling in eagle: Divide and stick to your probes | |
KR101651871B1 (ko) | 멀티코어 시스템 상에서 단위 작업을 할당하는 방법 및 그 장치 | |
JP4188281B2 (ja) | プログラム実行予約方法及び装置並びにその処理プログラム、及びプログラム実行システム | |
Wang et al. | Multi-resource fair sharing for datacenter jobs with placement constraints | |
KR101640848B1 (ko) | 멀티코어 시스템 상에서 단위 작업을 할당하는 방법 및 그 장치 | |
JP2007140710A (ja) | タスク割り当て方法およびタスク割り当て装置 | |
EP2631797B1 (en) | Thin client system with virtual machine management and server, method and program for connection management | |
JP5245711B2 (ja) | 分散データ処理システム、分散データ処理方法および分散データ処理用プログラム | |
US20210149726A1 (en) | Scheduling device, scheduling system, scheduling method, and non-transitory computer-readable medium | |
JP2007018268A (ja) | タスクスケジューリング方法、タスクスケジューリング装置、及びタスクスケジューリングプログラム | |
JP6620609B2 (ja) | 分散処理実行管理プログラム、分散処理実行管理方法および分散処理実行管理装置 | |
JP2007188523A (ja) | タスク実行方法およびマルチプロセッサシステム | |
JP6528374B2 (ja) | コンピューティングシステムにおいてジョブをスケジューリングする方法、システムおよびプログラム | |
JP5158576B2 (ja) | 入出力制御システム、入出力制御方法、及び、入出力制御プログラム | |
JP5613578B2 (ja) | 仮想化環境リソース管理構成変更システム、及びプログラム | |
JP5516737B2 (ja) | プロセッサシステム、制御プログラム、および制御方法 | |
JP5444900B2 (ja) | ジョブ実行管理システム、ジョブ実行管理方法、ジョブ実行管理プログラム | |
CN111143063A (zh) | 任务的资源预约方法及装置 | |
KR20110018618A (ko) | 다중 쓰레드의 비동기 입출력 처리 장치 및 그 방법 | |
US10635157B2 (en) | Information processing apparatus, method and non-transitory computer-readable storage medium | |
CN115686806A (zh) | 用于管理存储系统的方法、设备和计算机程序产品 | |
JP6191361B2 (ja) | 情報処理システム、情報処理システムの制御方法及び制御プログラム | |
JP6251417B2 (ja) | ストレージシステム、及び、記憶制御方法 | |
Lu et al. | Multi-objective placement of reconfigurable hardware tasks in real-time system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
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: 20150224 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20160218 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20170220 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |