JPH0460843A - Task scheduling system for multiprocessor system - Google Patents
Task scheduling system for multiprocessor systemInfo
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 15
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
Abstract
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.
従来の密結合マルチプロセッサシステムにおけるタスク
スケジュール方式の概念図を第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.
上記従来技術では、タスクスケジュールを行うプログラ
ムは複数のプロセッサ間で共有しているため、汎用のオ
ペレーティングシステムを構築するためには、優先順位
スケジュール、長時間選択されていないタスクの検出、
不当に資源を占有しているタスクの検出等を同時に行う
必要があった。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.
上記目的を達成するために、本発明は、マルチプロセッ
サシステムにおいて、それぞれのプロセッサが実行する
タスクを選択するタスクスケジューラとして、それぞれ
異なるアルゴリズムを持つ複数のタスクスケジューラを
用意し、マルチプロセッサの各プロセッサを、複数のタ
スクスケジューラのいずれかに割り当てるようにしたこ
とである。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.
以下、本発明の一実施例について図面により説明する。 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.
本発明によれば、マルチプロセッサシステムを構成する
各プロセッサごとに比較的単純なアルゴリズムによるタ
スクスケジューラを割り当てることで、システム全体で
は高度なタスクスケジュール機能が実現できるため、オ
ーバヘッドの増大を防ぎつつ、効率的なマルチプロセッ
サシステムが実現できる。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.
第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)
される主記憶装置と、該主記憶装置上に存在する複数の
タスクから、それぞれのプロセッサが実行するタスクを
選択するタスクスケジューラとからなるマルチプロセッ
サシステムにおいて、 前記タスクスケジューラとして、それぞれ異なるアルゴ
リズムを持つ複数のタスクスケジューラを用意し、各プ
ロセッサを前記複数のタスクスケジューラのいずれかに
割り当てることを特徴とするマルチプロセッサシステム
のタスクスケジュール方式。(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.
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)
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 |
-
1990
- 1990-06-29 JP JP17162090A patent/JPH0460843A/en active Pending
Cited By (9)
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 |