JPH0460843A - Task scheduling system for multiprocessor system - Google Patents

Task scheduling system for multiprocessor system

Info

Publication number
JPH0460843A
JPH0460843A JP17162090A JP17162090A JPH0460843A JP H0460843 A JPH0460843 A JP H0460843A JP 17162090 A JP17162090 A JP 17162090A JP 17162090 A JP17162090 A JP 17162090A JP H0460843 A JPH0460843 A JP H0460843A
Authority
JP
Japan
Prior art keywords
task
multiprocessor
processor
schedulers
scheduler
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP17162090A
Other languages
Japanese (ja)
Inventor
Masaaki Oya
大矢 雅章
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP17162090A priority Critical patent/JPH0460843A/en
Publication of JPH0460843A publication Critical patent/JPH0460843A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To enable flexible system configuration by preparing plural task schedulers having respectively various algorithms as task schedulers and allocating each processor of a multiprocessor to any one of the plural task schedulers. CONSTITUTION:On a main storage device 1, plural executable task groups 101 is present. Task schedulers 2 select the tasks to be executed by respective processors 3a-3c of the multiprocessor and for the respective processors 3a-3c, respectively intrinsic task schedulers 2a-2c are allocated. The respective processors 3a-3c process the tasks selected by the task schedulers 2a-2c allocated to the respective processors. Thus, while preventing overhead from being increased, the efficient multiprocessor system can be realized and th system can be operated flexibly corresponding to work forms.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はマルチプロセッサシステムのタスクスケジュー
ル方式に係り、特にマルチプロセッサにおけるタスクス
ケジュールのオーバヘッドの削減に好適なタスクスケジ
ュール方式に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a task scheduling method for a multiprocessor system, and particularly to a task scheduling method suitable for reducing task scheduling overhead in a multiprocessor.

〔従来の技術〕[Conventional technology]

従来の密結合マルチプロセッサシステムにおけるタスク
スケジュール方式の概念図を第7図に示す。1は主記憶
装置1であり、複数の実行可能なタスク群101が存在
する。2は主記憶装置1上のタスクの選択を行うタスク
スケジューラ、3a。
FIG. 7 shows a conceptual diagram of a task scheduling method in a conventional tightly coupled multiprocessor system. 1 is a main storage device 1 in which a plurality of executable task groups 101 exist. 2 is a task scheduler 3a that selects tasks on the main storage device 1;

3b、3cはタスクスケジューラ2で選択されたタスク
を実行するプロセッサである。実際にはタスクスケジュ
ーラ2も主記憶装置1上に用意され、複数のプロセッサ
3a、3b、3a間で排他的に使用される。それぞれの
プロセッサ3a、3b。
3b and 3c are processors that execute tasks selected by the task scheduler 2. Actually, the task scheduler 2 is also prepared on the main storage device 1, and is used exclusively among the plurality of processors 3a, 3b, and 3a. Respective processors 3a, 3b.

3cに割り当てられたタスクでタスクスイッチ要因が発
生すると、タスクスケジューラ2に制御が渡り、該タス
クスケジューラ2は当該プロセッサで次に実行可能なタ
スクを選択する。第8図に、タスクスケジュール2のア
ルゴリズムの構成例を示す。
When a task switch factor occurs in the task assigned to task 3c, control is passed to the task scheduler 2, which selects the next executable task on the processor. FIG. 8 shows an example of the configuration of the algorithm for task schedule 2.

従来のマルチプロセッサシステムのタスクスケジューラ
は、優先順位による選択、長時間選択されていないタス
クの検出、不当に資源を使用しているタスクの検出等を
、プロセッサ間で共有したシステムに固有のプログラム
によって実現する方式がどれらでいた。
The task scheduler of conventional multiprocessor systems performs tasks such as priority selection, detection of tasks that have not been selected for a long time, and detection of tasks that are using resources unreasonably, using a system-specific program shared among processors. What was the method to achieve this?

また、それぞれのプロセッサごとに実行可能なベクトル
演算などの専用命令や、使用可能な入出力命令が異なる
場合には、タスクスケジュール時点に、現在タスクスケ
ジューラを実行中のプロセッサで選択しようとしている
タスクが実行可能か否かを、タスク制御ブロック等に設
定された情報を判定することにより、スケジュールを行
っていた。
In addition, if the dedicated instructions such as vector operations that can be executed or the input/output instructions that can be used are different for each processor, at the time of task scheduling, the task that is being selected on the processor currently running the task scheduler may be Scheduling was performed by determining whether a task was executable or not based on information set in a task control block or the like.

なお、この種の密結合マルチプロセッサのタスク制御に
関連するものには、例えば特公昭63−61699号公
報などが挙げられる。
Note that examples related to this type of tightly coupled multiprocessor task control include, for example, Japanese Patent Publication No. 63-61699.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

上記従来技術では、タスクスケジュールを行うプログラ
ムは複数のプロセッサ間で共有しているため、汎用のオ
ペレーティングシステムを構築するためには、優先順位
スケジュール、長時間選択されていないタスクの検出、
不当に資源を占有しているタスクの検出等を同時に行う
必要があった。
In the above conventional technology, the program that performs task scheduling is shared among multiple processors, so in order to build a general-purpose operating system, priority scheduling, detection of tasks that have not been selected for a long time,
It was necessary to simultaneously detect tasks that were occupying resources unfairly.

また、使用可能なベクトル演算プロセッサや、入出力装
置が、プロセッサごとに異なる様な場合にはタスクスケ
ジュール時点に実行可能か否かを判定する必要があった
。これらのことからタスクスケジュール処理が複雑にな
り、オーバヘッドの増大を招くという問題があった。特
にマルチプロセッサシステムに於いては、タスクスケジ
ュール処理は排他的に実行されるため、そのオーバヘッ
ドの増大は重要な問題であった。
Furthermore, in cases where usable vector calculation processors and input/output devices differ from processor to processor, it is necessary to determine whether the task can be executed at the time of scheduling. Due to these factors, there is a problem in that the task scheduling process becomes complicated, leading to an increase in overhead. Particularly in multiprocessor systems, since task scheduling processing is executed exclusively, the increase in overhead has been an important problem.

本発明の目的は、上記問題点を解決し、効率の良いマル
チプロセッサシステムを実現するタスクスケジュール方
式を提供することにある。
An object of the present invention is to provide a task scheduling method that solves the above problems and realizes an efficient multiprocessor system.

本発明の他の目的は、プロセッサごとのタスクスケジュ
ーラの割り当てを容易に変更できる様にして、柔軟なシ
ステム構成を可能とするタスクスケジュール方式を提供
する。
Another object of the present invention is to provide a task scheduling method that enables flexible system configuration by easily changing the assignment of task schedulers to each processor.

〔課題を解決するための手段〕[Means to solve the problem]

上記目的を達成するために、本発明は、マルチプロセッ
サシステムにおいて、それぞれのプロセッサが実行する
タスクを選択するタスクスケジューラとして、それぞれ
異なるアルゴリズムを持つ複数のタスクスケジューラを
用意し、マルチプロセッサの各プロセッサを、複数のタ
スクスケジューラのいずれかに割り当てるようにしたこ
とである。
In order to achieve the above object, the present invention provides a plurality of task schedulers each having a different algorithm as a task scheduler that selects a task to be executed by each processor in a multiprocessor system. , so that it can be assigned to one of multiple task schedulers.

(作 用〕 マルチプロセッサの各プロセッサは、主記憶装置上の実
行可能なタスクのレディキューを、それぞれのプロセッ
サに割り当てられたタスクスケジューラにより逐次処理
していく。各タスクスケジューラは、それぞれ異なるア
ルゴリズムを持ち、且つ、比較的少ない処理ステップか
らなる。したがって、それぞれのタスクスケジューラに
相互に補うアルコリズムを持たせることにより、それぞ
れのタスクスケジューラのオーバーヘッドを小さく抑え
ながら、マルチプロセッサ全体では汎用のタスクスケジ
ュール機能が実現できる。
(Function) Each processor in the multiprocessor sequentially processes the ready queue of executable tasks on the main memory using the task scheduler assigned to each processor.Each task scheduler uses a different algorithm. Therefore, by providing each task scheduler with an algorithm that complements each other, the overhead of each task scheduler can be kept small, while the multiprocessor as a whole can have a general-purpose task scheduling function. can be realized.

〔実施例〕〔Example〕

以下、本発明の一実施例について図面により説明する。 An embodiment of the present invention will be described below with reference to the drawings.

第1図は本発明のタスクスケジュール方式の概念図であ
る。主記憶装置1上には複数の実行可能なタスク群10
1が存在する。タスクスケジューラ2は、マルチプロセ
ッサのそれぞれのプロセッサ3a、3b、3cが実行す
るタスクを選択するが、各プロセッサ3a、3b、3c
ごとに、それぞれ固有のタスクスケジューラ2a、2b
、2cが割り当てられる。なお、タスクスケジューラ2
a、2b、2cは、実際には主記憶装置1上に用意され
るが、ここでは理解を容易にするため、主記憶装置1か
ら抜き出して示しである。
FIG. 1 is a conceptual diagram of the task scheduling method of the present invention. A plurality of executable task groups 10 are stored on the main memory 1.
1 exists. The task scheduler 2 selects a task to be executed by each processor 3a, 3b, 3c of the multiprocessor.
Each has its own task scheduler 2a, 2b.
, 2c are assigned. In addition, task scheduler 2
Although a, 2b, and 2c are actually prepared on the main storage device 1, they are extracted from the main storage device 1 and shown here for ease of understanding.

各プロセッサ3a、3b、3cは、それぞれのプロセッ
サに割り当てられたタスクスケジューラ2a、2b、2
cにより選択されたタスクを処理する。
Each processor 3a, 3b, 3c has a task scheduler 2a, 2b, 2 assigned to each processor.
Process the task selected by c.

タスクスケジューラ2a、2b、2cは、第2図に示す
ようにそれぞれ異なるアルゴリズムを持ち、比較的少な
い処理ステップを実行する。ここで、それぞれのタスク
スケジューラ2a、2b。
The task schedulers 2a, 2b, and 2c each have a different algorithm, as shown in FIG. 2, and execute relatively few processing steps. Here, the respective task schedulers 2a and 2b.

2cに、相互に補うアルゴリズムを持たせることにより
、それぞれのタスクスケジューラのオーバヘッドを小さ
く抑えながら、全体では汎用の高度なタスクスケジュー
ル機能が実現できる。
By providing 2c with mutually complementary algorithms, the overhead of each task scheduler can be kept small, while a general-purpose advanced task scheduling function can be realized as a whole.

以下に本発明の具体例について、二、三の例を示す。A few specific examples of the present invention will be shown below.

第3図は本発明をプリフィクス制御に適用した例である
。第3図において、プロセッサ35,36には、それぞ
れプリフィクスレジスタ37,38が備えられており、
主記憶装置30上のそれぞれのプロセッサに対応するプ
リフィクスエリア(割り込みベクトル等の領域)31.
34をポイントしている。主記憶装置1上のそれぞれの
プロセッサ35.36のプリフィクスエリア31,34
には、それぞれのタスクスケジューラ32,33の番地
が格納されており、制御を渡すことができる。タスクス
ケジューラ32と33はそれぞれ異なったアルゴリズム
で実現されている。効果的なアルゴリズムの例として、
スケジューラ32には絶対プライオリティスケジュール
、スケジューラ33には先着順スケジュールを適用する
事が考えられる。
FIG. 3 is an example in which the present invention is applied to prefix control. In FIG. 3, processors 35 and 36 are provided with prefix registers 37 and 38, respectively.
Prefix area (area for interrupt vectors, etc.) 31 corresponding to each processor on the main storage device 30.
It points to 34. Prefix areas 31 and 34 of each processor 35 and 36 on main memory 1
The addresses of the respective task schedulers 32 and 33 are stored in , and control can be passed to them. The task schedulers 32 and 33 are implemented using different algorithms. An example of an effective algorithm is
It is conceivable to apply an absolute priority schedule to the scheduler 32 and a first-come, first-served schedule to the scheduler 33.

第4図は本発明を入出力制御に適用した例である。第4
図に於いて、入出力装置44はプロセッサ43に接続さ
れている。この入出力装置44の制御は、主記憶装置4
0上の専用タスク群41により行われる。プロセッサ4
3に対応したタスクスケジューラ46は、入出力制御専
用のタスク群41を最優先に処理する。これにより、入
出力装置44の使用率の向上が図れる。一方、プロセッ
サ45に対応するタスクスケジューラ4−7Lよ、主記
憶装置40上のプロセッサ間に共通のタスク群42から
、メモリ資源の効率を優先する等のアルゴリズムによっ
て所望タスクを選択する。なお、タスクスケジューラ4
6.47は、実際には主記憶装置40上に用意する。
FIG. 4 is an example in which the present invention is applied to input/output control. Fourth
In the figure, input/output device 44 is connected to processor 43. This input/output device 44 is controlled by the main storage device 4
This is performed by the dedicated task group 41 on 0. processor 4
The task scheduler 46 corresponding to No. 3 processes the task group 41 dedicated to input/output control with the highest priority. Thereby, the usage rate of the input/output device 44 can be improved. On the other hand, the task scheduler 4-7L corresponding to the processor 45 selects a desired task from the task group 42 common to the processors on the main memory 40 using an algorithm that prioritizes the efficiency of memory resources. In addition, task scheduler 4
6.47 is actually prepared on the main storage device 40.

本実施例によると、入出力資源、メモリ資源等、複数の
資源の使用効率向上を、それぞれのプロセッサ43.4
5に対するスケジューラ46.47のオーバヘッドを抑
えつつ実現することができる。
According to this embodiment, each processor 43.4 improves the usage efficiency of multiple resources such as input/output resources and memory resources.
This can be achieved while suppressing the overhead of the scheduler 46 and 47 relative to 5.

第5図はマルチプロセッサのプロセッサ数より少ない数
のタスクスケジューラを有効に使用する例である。第5
図に於いて、マルチプロセッサシステムはプロセッサ4
台からなる。タスクスケジューラ55は、プロセッサ5
0.51に接続され、例えばオンラインシステム等に有
効な絶対プライオリティスケジュールを行う。一方、タ
スクスケジューラ54はプロセッサ52.53に接続さ
れ、例えば、パッチジョブに有効な先着順スケジュール
を行う。
FIG. 5 is an example of effectively using a smaller number of task schedulers than the number of processors in a multiprocessor. Fifth
In the figure, a multiprocessor system has four processors.
Consists of a stand. The task scheduler 55
0.51 and performs an absolute priority schedule that is effective for, for example, an online system. A task scheduler 54, on the other hand, is connected to the processors 52.53 and performs first-come, first-served scheduling useful for patch jobs, for example.

第5図の構成に於いて、それぞれのプロセッサ50.5
1,52.53に対するスケジューラ54.55を、シ
ステム起動時もしくは、稼動中にコマンド等によって割
り当て変更することを可能とすることによって、業務内
容に応じた柔軟な運用を実現できる。第6図はその例で
あり、プロセッサ52を、先着順スケジュール用のタス
クスケジューラ54から、絶対プライオリティスケジュ
ール用のタスクスケジューラ55に変更することにより
、システム全体をオンライン優先にすることを示してい
る。
In the configuration of FIG. 5, each processor 50.5
By making it possible to change the assignment of the scheduler 54.55 for the scheduler 1, 52.53 at the time of system startup or by a command or the like during operation, flexible operation according to the business content can be realized. FIG. 6 is an example of this, and shows that the entire system is given online priority by changing the processor 52 from the task scheduler 54 for first-come, first-served schedule to the task scheduler 55 for absolute priority schedule.

〔発明の効果〕〔Effect of the invention〕

本発明によれば、マルチプロセッサシステムを構成する
各プロセッサごとに比較的単純なアルゴリズムによるタ
スクスケジューラを割り当てることで、システム全体で
は高度なタスクスケジュール機能が実現できるため、オ
ーバヘッドの増大を防ぎつつ、効率的なマルチプロセッ
サシステムが実現できる。
According to the present invention, by assigning a task scheduler using a relatively simple algorithm to each processor that makes up a multiprocessor system, the entire system can achieve advanced task scheduling functions, thereby preventing an increase in overhead and improving efficiency. A multi-processor system can be realized.

また、それぞれのプロセッサに対するタスクスケジュー
ラの割り当てを変更することが容易となることから、業
務形態に応じた柔軟なシステム運用が実現できる。さら
に、複数のタスクスケジューラをプロセッサごとに分散
させるために、タスクスケジューラの欠陥による危険性
を分散することができ、システムの高信頼化をはかるこ
とができる。
In addition, since it is easy to change the assignment of task schedulers to each processor, flexible system operation can be achieved according to business types. Furthermore, since a plurality of task schedulers are distributed to each processor, the risk of a defect in the task scheduler can be distributed, and the reliability of the system can be increased.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は本発明のタスクスケジュール方式の概念図、第
2図は本発明によるタスクスケジュールアルゴリズムの
概念図、第3図乃至第6図は本発明の具体的適用例を示
す図、第7図は従来のタスクスケジュール方式の概念図
、第8図は従来のタスクスケジュールアルゴリズムの構
成例を示す図である。 1・・・主記憶装置、 101・・・タスクのレディキュー 2a、2b、2c・・・タスクスケジューラ、3a、3
b、3c・・・プロセッサ。
FIG. 1 is a conceptual diagram of a task scheduling method according to the present invention, FIG. 2 is a conceptual diagram of a task scheduling algorithm according to the present invention, FIGS. 3 to 6 are diagrams showing specific application examples of the present invention, and FIG. 8 is a conceptual diagram of a conventional task scheduling method, and FIG. 8 is a diagram showing an example of the configuration of a conventional task scheduling algorithm. DESCRIPTION OF SYMBOLS 1... Main storage device, 101... Task ready queue 2a, 2b, 2c... Task scheduler, 3a, 3
b, 3c...processor.

Claims (1)

【特許請求の範囲】[Claims] (1)複数のプロセッサと、これらのプロセッサで共用
される主記憶装置と、該主記憶装置上に存在する複数の
タスクから、それぞれのプロセッサが実行するタスクを
選択するタスクスケジューラとからなるマルチプロセッ
サシステムにおいて、 前記タスクスケジューラとして、それぞれ異なるアルゴ
リズムを持つ複数のタスクスケジューラを用意し、各プ
ロセッサを前記複数のタスクスケジューラのいずれかに
割り当てることを特徴とするマルチプロセッサシステム
のタスクスケジュール方式。
(1) A multiprocessor consisting of multiple processors, a main memory shared by these processors, and a task scheduler that selects a task to be executed by each processor from among multiple tasks existing on the main memory. A task scheduling method for a multiprocessor system, wherein a plurality of task schedulers each having a different algorithm are prepared as the task schedulers, and each processor is assigned to one of the plurality of task schedulers.
JP17162090A 1990-06-29 1990-06-29 Task scheduling system for multiprocessor system Pending JPH0460843A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17162090A JPH0460843A (en) 1990-06-29 1990-06-29 Task scheduling system for multiprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17162090A JPH0460843A (en) 1990-06-29 1990-06-29 Task scheduling system for multiprocessor system

Publications (1)

Publication Number Publication Date
JPH0460843A true JPH0460843A (en) 1992-02-26

Family

ID=15926552

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17162090A Pending JPH0460843A (en) 1990-06-29 1990-06-29 Task scheduling system for multiprocessor system

Country Status (1)

Country Link
JP (1) JPH0460843A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0644484A2 (en) * 1993-09-21 1995-03-22 Microsoft Corporation Pre-emptive multi-tasking with co-operative groups of tasks
US6948172B1 (en) 1993-09-21 2005-09-20 Microsoft Corporation Preemptive multi-tasking with cooperative groups of tasks
JP2010113524A (en) * 2008-11-06 2010-05-20 Exit-Cube Inc Computer system, kernel scheduling system, resource allocation method, and process execution sharing method
WO2011117987A1 (en) 2010-03-24 2011-09-29 富士通株式会社 Multi-core system and start-up method
US9098712B2 (en) 2002-08-23 2015-08-04 Exit-Cube (Hong Kong) Limited Encrypting operating system
US9449186B2 (en) 2005-03-04 2016-09-20 Encrypthentica Limited System for and method of managing access to a system using combinations of user information

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0644484A2 (en) * 1993-09-21 1995-03-22 Microsoft Corporation Pre-emptive multi-tasking with co-operative groups of tasks
EP0644484A3 (en) * 1993-09-21 1995-04-26 Microsoft Corp
US6052707A (en) * 1993-09-21 2000-04-18 Microsoft Corporation Preemptive multi-tasking with cooperative groups of tasks
US6948172B1 (en) 1993-09-21 2005-09-20 Microsoft Corporation Preemptive multi-tasking with cooperative groups of tasks
US9098712B2 (en) 2002-08-23 2015-08-04 Exit-Cube (Hong Kong) Limited Encrypting operating system
US9449186B2 (en) 2005-03-04 2016-09-20 Encrypthentica Limited System for and method of managing access to a system using combinations of user information
JP2010113524A (en) * 2008-11-06 2010-05-20 Exit-Cube Inc Computer system, kernel scheduling system, resource allocation method, and process execution sharing method
WO2011117987A1 (en) 2010-03-24 2011-09-29 富士通株式会社 Multi-core system and start-up method
US9218201B2 (en) 2010-03-24 2015-12-22 Fujitsu Limited Multicore system and activating method

Similar Documents

Publication Publication Date Title
KR102432380B1 (en) Method for performing WARP CLUSTERING
CN101950282B (en) Multiprocessor system and synchronous engine thereof
JPS62229358A (en) Processor selection system
JP2008529119A (en) Multithreaded processor
JP3541212B2 (en) Processor assignment device
JPH0460843A (en) Task scheduling system for multiprocessor system
Ismail et al. Program-based static allocation policies for highly parallel computers
KR100590764B1 (en) Method for mass data processing through scheduler in multi processor system
JP2902746B2 (en) Virtual computer control method
WO2006025985A2 (en) Accelerated data switching on symmetric multiprocessor systems using port affinity
JPH02253440A (en) Time division multitask execution device
JPH11249917A (en) Parallel computers, their batch processing method, and storage medium
JPH01316830A (en) Task execution control system
JPH02245864A (en) Multiprocessor system
JPH01195562A (en) Control system for allocation of input/output device
JPH11184828A (en) Test system for multiprocessor system
JPH0433130A (en) Multi-chip constituting method
JP4122212B2 (en) Multiprocessor system
KR100241356B1 (en) Multilevel scheduling structure for dynamic synchronization in distributed system
JPH05298271A (en) Parallel processing system
JPH1153327A (en) Multiprocessor system
JPH02113363A (en) Time slice controlling system for multiprocessor system
JP2584082B2 (en) High-speed interrupt processing device
JPH03127164A (en) Multiprocessor system
JPH08180112A (en) Scheduling method