JPH0460843A - マルチプロセッサシステムにおけるタスクスケジュール方式 - Google Patents
マルチプロセッサシステムにおけるタスクスケジュール方式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
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
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はマルチプロセッサシステムのタスクスケジュー
ル方式に係り、特にマルチプロセッサにおけるタスクス
ケジュールのオーバヘッドの削減に好適なタスクスケジ
ュール方式に関する。
ル方式に係り、特にマルチプロセッサにおけるタスクス
ケジュールのオーバヘッドの削減に好適なタスクスケジ
ュール方式に関する。
従来の密結合マルチプロセッサシステムにおけるタスク
スケジュール方式の概念図を第7図に示す。1は主記憶
装置1であり、複数の実行可能なタスク群101が存在
する。2は主記憶装置1上のタスクの選択を行うタスク
スケジューラ、3a。
スケジュール方式の概念図を第7図に示す。1は主記憶
装置1であり、複数の実行可能なタスク群101が存在
する。2は主記憶装置1上のタスクの選択を行うタスク
スケジューラ、3a。
3b、3cはタスクスケジューラ2で選択されたタスク
を実行するプロセッサである。実際にはタスクスケジュ
ーラ2も主記憶装置1上に用意され、複数のプロセッサ
3a、3b、3a間で排他的に使用される。それぞれの
プロセッサ3a、3b。
を実行するプロセッサである。実際にはタスクスケジュ
ーラ2も主記憶装置1上に用意され、複数のプロセッサ
3a、3b、3a間で排他的に使用される。それぞれの
プロセッサ3a、3b。
3cに割り当てられたタスクでタスクスイッチ要因が発
生すると、タスクスケジューラ2に制御が渡り、該タス
クスケジューラ2は当該プロセッサで次に実行可能なタ
スクを選択する。第8図に、タスクスケジュール2のア
ルゴリズムの構成例を示す。
生すると、タスクスケジューラ2に制御が渡り、該タス
クスケジューラ2は当該プロセッサで次に実行可能なタ
スクを選択する。第8図に、タスクスケジュール2のア
ルゴリズムの構成例を示す。
従来のマルチプロセッサシステムのタスクスケジューラ
は、優先順位による選択、長時間選択されていないタス
クの検出、不当に資源を使用しているタスクの検出等を
、プロセッサ間で共有したシステムに固有のプログラム
によって実現する方式がどれらでいた。
は、優先順位による選択、長時間選択されていないタス
クの検出、不当に資源を使用しているタスクの検出等を
、プロセッサ間で共有したシステムに固有のプログラム
によって実現する方式がどれらでいた。
また、それぞれのプロセッサごとに実行可能なベクトル
演算などの専用命令や、使用可能な入出力命令が異なる
場合には、タスクスケジュール時点に、現在タスクスケ
ジューラを実行中のプロセッサで選択しようとしている
タスクが実行可能か否かを、タスク制御ブロック等に設
定された情報を判定することにより、スケジュールを行
っていた。
演算などの専用命令や、使用可能な入出力命令が異なる
場合には、タスクスケジュール時点に、現在タスクスケ
ジューラを実行中のプロセッサで選択しようとしている
タスクが実行可能か否かを、タスク制御ブロック等に設
定された情報を判定することにより、スケジュールを行
っていた。
なお、この種の密結合マルチプロセッサのタスク制御に
関連するものには、例えば特公昭63−61699号公
報などが挙げられる。
関連するものには、例えば特公昭63−61699号公
報などが挙げられる。
上記従来技術では、タスクスケジュールを行うプログラ
ムは複数のプロセッサ間で共有しているため、汎用のオ
ペレーティングシステムを構築するためには、優先順位
スケジュール、長時間選択されていないタスクの検出、
不当に資源を占有しているタスクの検出等を同時に行う
必要があった。
ムは複数のプロセッサ間で共有しているため、汎用のオ
ペレーティングシステムを構築するためには、優先順位
スケジュール、長時間選択されていないタスクの検出、
不当に資源を占有しているタスクの検出等を同時に行う
必要があった。
また、使用可能なベクトル演算プロセッサや、入出力装
置が、プロセッサごとに異なる様な場合にはタスクスケ
ジュール時点に実行可能か否かを判定する必要があった
。これらのことからタスクスケジュール処理が複雑にな
り、オーバヘッドの増大を招くという問題があった。特
にマルチプロセッサシステムに於いては、タスクスケジ
ュール処理は排他的に実行されるため、そのオーバヘッ
ドの増大は重要な問題であった。
置が、プロセッサごとに異なる様な場合にはタスクスケ
ジュール時点に実行可能か否かを判定する必要があった
。これらのことからタスクスケジュール処理が複雑にな
り、オーバヘッドの増大を招くという問題があった。特
にマルチプロセッサシステムに於いては、タスクスケジ
ュール処理は排他的に実行されるため、そのオーバヘッ
ドの増大は重要な問題であった。
本発明の目的は、上記問題点を解決し、効率の良いマル
チプロセッサシステムを実現するタスクスケジュール方
式を提供することにある。
チプロセッサシステムを実現するタスクスケジュール方
式を提供することにある。
本発明の他の目的は、プロセッサごとのタスクスケジュ
ーラの割り当てを容易に変更できる様にして、柔軟なシ
ステム構成を可能とするタスクスケジュール方式を提供
する。
ーラの割り当てを容易に変更できる様にして、柔軟なシ
ステム構成を可能とするタスクスケジュール方式を提供
する。
上記目的を達成するために、本発明は、マルチプロセッ
サシステムにおいて、それぞれのプロセッサが実行する
タスクを選択するタスクスケジューラとして、それぞれ
異なるアルゴリズムを持つ複数のタスクスケジューラを
用意し、マルチプロセッサの各プロセッサを、複数のタ
スクスケジューラのいずれかに割り当てるようにしたこ
とである。
サシステムにおいて、それぞれのプロセッサが実行する
タスクを選択するタスクスケジューラとして、それぞれ
異なるアルゴリズムを持つ複数のタスクスケジューラを
用意し、マルチプロセッサの各プロセッサを、複数のタ
スクスケジューラのいずれかに割り当てるようにしたこ
とである。
(作 用〕
マルチプロセッサの各プロセッサは、主記憶装置上の実
行可能なタスクのレディキューを、それぞれのプロセッ
サに割り当てられたタスクスケジューラにより逐次処理
していく。各タスクスケジューラは、それぞれ異なるア
ルゴリズムを持ち、且つ、比較的少ない処理ステップか
らなる。したがって、それぞれのタスクスケジューラに
相互に補うアルコリズムを持たせることにより、それぞ
れのタスクスケジューラのオーバーヘッドを小さく抑え
ながら、マルチプロセッサ全体では汎用のタスクスケジ
ュール機能が実現できる。
行可能なタスクのレディキューを、それぞれのプロセッ
サに割り当てられたタスクスケジューラにより逐次処理
していく。各タスクスケジューラは、それぞれ異なるア
ルゴリズムを持ち、且つ、比較的少ない処理ステップか
らなる。したがって、それぞれのタスクスケジューラに
相互に補うアルコリズムを持たせることにより、それぞ
れのタスクスケジューラのオーバーヘッドを小さく抑え
ながら、マルチプロセッサ全体では汎用のタスクスケジ
ュール機能が実現できる。
以下、本発明の一実施例について図面により説明する。
第1図は本発明のタスクスケジュール方式の概念図であ
る。主記憶装置1上には複数の実行可能なタスク群10
1が存在する。タスクスケジューラ2は、マルチプロセ
ッサのそれぞれのプロセッサ3a、3b、3cが実行す
るタスクを選択するが、各プロセッサ3a、3b、3c
ごとに、それぞれ固有のタスクスケジューラ2a、2b
、2cが割り当てられる。なお、タスクスケジューラ2
a、2b、2cは、実際には主記憶装置1上に用意され
るが、ここでは理解を容易にするため、主記憶装置1か
ら抜き出して示しである。
る。主記憶装置1上には複数の実行可能なタスク群10
1が存在する。タスクスケジューラ2は、マルチプロセ
ッサのそれぞれのプロセッサ3a、3b、3cが実行す
るタスクを選択するが、各プロセッサ3a、3b、3c
ごとに、それぞれ固有のタスクスケジューラ2a、2b
、2cが割り当てられる。なお、タスクスケジューラ2
a、2b、2cは、実際には主記憶装置1上に用意され
るが、ここでは理解を容易にするため、主記憶装置1か
ら抜き出して示しである。
各プロセッサ3a、3b、3cは、それぞれのプロセッ
サに割り当てられたタスクスケジューラ2a、2b、2
cにより選択されたタスクを処理する。
サに割り当てられたタスクスケジューラ2a、2b、2
cにより選択されたタスクを処理する。
タスクスケジューラ2a、2b、2cは、第2図に示す
ようにそれぞれ異なるアルゴリズムを持ち、比較的少な
い処理ステップを実行する。ここで、それぞれのタスク
スケジューラ2a、2b。
ようにそれぞれ異なるアルゴリズムを持ち、比較的少な
い処理ステップを実行する。ここで、それぞれのタスク
スケジューラ2a、2b。
2cに、相互に補うアルゴリズムを持たせることにより
、それぞれのタスクスケジューラのオーバヘッドを小さ
く抑えながら、全体では汎用の高度なタスクスケジュー
ル機能が実現できる。
、それぞれのタスクスケジューラのオーバヘッドを小さ
く抑えながら、全体では汎用の高度なタスクスケジュー
ル機能が実現できる。
以下に本発明の具体例について、二、三の例を示す。
第3図は本発明をプリフィクス制御に適用した例である
。第3図において、プロセッサ35,36には、それぞ
れプリフィクスレジスタ37,38が備えられており、
主記憶装置30上のそれぞれのプロセッサに対応するプ
リフィクスエリア(割り込みベクトル等の領域)31.
34をポイントしている。主記憶装置1上のそれぞれの
プロセッサ35.36のプリフィクスエリア31,34
には、それぞれのタスクスケジューラ32,33の番地
が格納されており、制御を渡すことができる。タスクス
ケジューラ32と33はそれぞれ異なったアルゴリズム
で実現されている。効果的なアルゴリズムの例として、
スケジューラ32には絶対プライオリティスケジュール
、スケジューラ33には先着順スケジュールを適用する
事が考えられる。
。第3図において、プロセッサ35,36には、それぞ
れプリフィクスレジスタ37,38が備えられており、
主記憶装置30上のそれぞれのプロセッサに対応するプ
リフィクスエリア(割り込みベクトル等の領域)31.
34をポイントしている。主記憶装置1上のそれぞれの
プロセッサ35.36のプリフィクスエリア31,34
には、それぞれのタスクスケジューラ32,33の番地
が格納されており、制御を渡すことができる。タスクス
ケジューラ32と33はそれぞれ異なったアルゴリズム
で実現されている。効果的なアルゴリズムの例として、
スケジューラ32には絶対プライオリティスケジュール
、スケジューラ33には先着順スケジュールを適用する
事が考えられる。
第4図は本発明を入出力制御に適用した例である。第4
図に於いて、入出力装置44はプロセッサ43に接続さ
れている。この入出力装置44の制御は、主記憶装置4
0上の専用タスク群41により行われる。プロセッサ4
3に対応したタスクスケジューラ46は、入出力制御専
用のタスク群41を最優先に処理する。これにより、入
出力装置44の使用率の向上が図れる。一方、プロセッ
サ45に対応するタスクスケジューラ4−7Lよ、主記
憶装置40上のプロセッサ間に共通のタスク群42から
、メモリ資源の効率を優先する等のアルゴリズムによっ
て所望タスクを選択する。なお、タスクスケジューラ4
6.47は、実際には主記憶装置40上に用意する。
図に於いて、入出力装置44はプロセッサ43に接続さ
れている。この入出力装置44の制御は、主記憶装置4
0上の専用タスク群41により行われる。プロセッサ4
3に対応したタスクスケジューラ46は、入出力制御専
用のタスク群41を最優先に処理する。これにより、入
出力装置44の使用率の向上が図れる。一方、プロセッ
サ45に対応するタスクスケジューラ4−7Lよ、主記
憶装置40上のプロセッサ間に共通のタスク群42から
、メモリ資源の効率を優先する等のアルゴリズムによっ
て所望タスクを選択する。なお、タスクスケジューラ4
6.47は、実際には主記憶装置40上に用意する。
本実施例によると、入出力資源、メモリ資源等、複数の
資源の使用効率向上を、それぞれのプロセッサ43.4
5に対するスケジューラ46.47のオーバヘッドを抑
えつつ実現することができる。
資源の使用効率向上を、それぞれのプロセッサ43.4
5に対するスケジューラ46.47のオーバヘッドを抑
えつつ実現することができる。
第5図はマルチプロセッサのプロセッサ数より少ない数
のタスクスケジューラを有効に使用する例である。第5
図に於いて、マルチプロセッサシステムはプロセッサ4
台からなる。タスクスケジューラ55は、プロセッサ5
0.51に接続され、例えばオンラインシステム等に有
効な絶対プライオリティスケジュールを行う。一方、タ
スクスケジューラ54はプロセッサ52.53に接続さ
れ、例えば、パッチジョブに有効な先着順スケジュール
を行う。
のタスクスケジューラを有効に使用する例である。第5
図に於いて、マルチプロセッサシステムはプロセッサ4
台からなる。タスクスケジューラ55は、プロセッサ5
0.51に接続され、例えばオンラインシステム等に有
効な絶対プライオリティスケジュールを行う。一方、タ
スクスケジューラ54はプロセッサ52.53に接続さ
れ、例えば、パッチジョブに有効な先着順スケジュール
を行う。
第5図の構成に於いて、それぞれのプロセッサ50.5
1,52.53に対するスケジューラ54.55を、シ
ステム起動時もしくは、稼動中にコマンド等によって割
り当て変更することを可能とすることによって、業務内
容に応じた柔軟な運用を実現できる。第6図はその例で
あり、プロセッサ52を、先着順スケジュール用のタス
クスケジューラ54から、絶対プライオリティスケジュ
ール用のタスクスケジューラ55に変更することにより
、システム全体をオンライン優先にすることを示してい
る。
1,52.53に対するスケジューラ54.55を、シ
ステム起動時もしくは、稼動中にコマンド等によって割
り当て変更することを可能とすることによって、業務内
容に応じた柔軟な運用を実現できる。第6図はその例で
あり、プロセッサ52を、先着順スケジュール用のタス
クスケジューラ54から、絶対プライオリティスケジュ
ール用のタスクスケジューラ55に変更することにより
、システム全体をオンライン優先にすることを示してい
る。
本発明によれば、マルチプロセッサシステムを構成する
各プロセッサごとに比較的単純なアルゴリズムによるタ
スクスケジューラを割り当てることで、システム全体で
は高度なタスクスケジュール機能が実現できるため、オ
ーバヘッドの増大を防ぎつつ、効率的なマルチプロセッ
サシステムが実現できる。
各プロセッサごとに比較的単純なアルゴリズムによるタ
スクスケジューラを割り当てることで、システム全体で
は高度なタスクスケジュール機能が実現できるため、オ
ーバヘッドの増大を防ぎつつ、効率的なマルチプロセッ
サシステムが実現できる。
また、それぞれのプロセッサに対するタスクスケジュー
ラの割り当てを変更することが容易となることから、業
務形態に応じた柔軟なシステム運用が実現できる。さら
に、複数のタスクスケジューラをプロセッサごとに分散
させるために、タスクスケジューラの欠陥による危険性
を分散することができ、システムの高信頼化をはかるこ
とができる。
ラの割り当てを変更することが容易となることから、業
務形態に応じた柔軟なシステム運用が実現できる。さら
に、複数のタスクスケジューラをプロセッサごとに分散
させるために、タスクスケジューラの欠陥による危険性
を分散することができ、システムの高信頼化をはかるこ
とができる。
第1図は本発明のタスクスケジュール方式の概念図、第
2図は本発明によるタスクスケジュールアルゴリズムの
概念図、第3図乃至第6図は本発明の具体的適用例を示
す図、第7図は従来のタスクスケジュール方式の概念図
、第8図は従来のタスクスケジュールアルゴリズムの構
成例を示す図である。 1・・・主記憶装置、 101・・・タスクのレディキュー 2a、2b、2c・・・タスクスケジューラ、3a、3
b、3c・・・プロセッサ。
2図は本発明によるタスクスケジュールアルゴリズムの
概念図、第3図乃至第6図は本発明の具体的適用例を示
す図、第7図は従来のタスクスケジュール方式の概念図
、第8図は従来のタスクスケジュールアルゴリズムの構
成例を示す図である。 1・・・主記憶装置、 101・・・タスクのレディキュー 2a、2b、2c・・・タスクスケジューラ、3a、3
b、3c・・・プロセッサ。
Claims (1)
- (1)複数のプロセッサと、これらのプロセッサで共用
される主記憶装置と、該主記憶装置上に存在する複数の
タスクから、それぞれのプロセッサが実行するタスクを
選択するタスクスケジューラとからなるマルチプロセッ
サシステムにおいて、 前記タスクスケジューラとして、それぞれ異なるアルゴ
リズムを持つ複数のタスクスケジューラを用意し、各プ
ロセッサを前記複数のタスクスケジューラのいずれかに
割り当てることを特徴とするマルチプロセッサシステム
のタスクスケジュール方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17162090A JPH0460843A (ja) | 1990-06-29 | 1990-06-29 | マルチプロセッサシステムにおけるタスクスケジュール方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17162090A JPH0460843A (ja) | 1990-06-29 | 1990-06-29 | マルチプロセッサシステムにおけるタスクスケジュール方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0460843A true JPH0460843A (ja) | 1992-02-26 |
Family
ID=15926552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17162090A Pending JPH0460843A (ja) | 1990-06-29 | 1990-06-29 | マルチプロセッサシステムにおけるタスクスケジュール方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0460843A (ja) |
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 (ja) * | 2008-11-06 | 2010-05-20 | Exit-Cube Inc | コンピュータシステム、カーネルスケジューリングシステム、リソース割当方法及びプロセス実行共有方法 |
WO2011117987A1 (ja) | 2010-03-24 | 2011-09-29 | 富士通株式会社 | マルチコアシステムおよび起動方法 |
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/ja 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 (ja) * | 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 (ja) * | 2008-11-06 | 2010-05-20 | Exit-Cube Inc | コンピュータシステム、カーネルスケジューリングシステム、リソース割当方法及びプロセス実行共有方法 |
WO2011117987A1 (ja) | 2010-03-24 | 2011-09-29 | 富士通株式会社 | マルチコアシステムおよび起動方法 |
US9218201B2 (en) | 2010-03-24 | 2015-12-22 | Fujitsu Limited | Multicore system and activating method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101950282B (zh) | 一种多处理器***及其同步引擎 | |
KR20160138878A (ko) | 워프 클러스터링을 수행하는 방법 | |
JPS62229358A (ja) | プロセッサ選択方法 | |
JP2008529119A (ja) | マルチスレッドプロセッサ | |
CN104598304B (zh) | 用于作业执行中的调度的方法和装置 | |
JPH0460843A (ja) | マルチプロセッサシステムにおけるタスクスケジュール方式 | |
Ismail et al. | Program-based static allocation policies for highly parallel computers | |
KR100590764B1 (ko) | 멀티프로세서 시스템에서 스케줄러를 이용한 대규모데이터 처리 방법 | |
JP2902746B2 (ja) | 仮想計算機制御方式 | |
KR20130067100A (ko) | 이종 멀티코어 환경에서의 코어 배정 장치 | |
EP1782583A2 (en) | Accelerated data switching on symmetric multiprocessor systems using port affinity | |
JPH02253440A (ja) | 時分割マルチタスク実行装置 | |
JPH01316830A (ja) | タスク実行制御方式 | |
JPH02245864A (ja) | 多重プロセッサシステム | |
JPH01195562A (ja) | 入出力装置割当て制御方式 | |
JPH11184828A (ja) | マルチプロセッサシステムのテスト方式 | |
JPH0433130A (ja) | マルチチップ構成方法 | |
JP4122212B2 (ja) | マルチプロセッサシステム | |
JPH113235A (ja) | 仮想プロセッサによるタスク制御システム | |
KR100241356B1 (ko) | 분산 시스템에서 동적 동기화를 위한 다단계 스케줄링 구조 및 그 방법 | |
JPH05298271A (ja) | 並列処理システム | |
JPH03127164A (ja) | マルチプロセッサシステム | |
JPH08180112A (ja) | スケジューリング方法 | |
JPH03209530A (ja) | 時分割マルチタスク実行装置 | |
JPH01161444A (ja) | 仮想計算機システム |