JP3414520B2 - マルチプロセッサ・システムにおけるタスク・スケジューリング方法 - Google Patents

マルチプロセッサ・システムにおけるタスク・スケジューリング方法

Info

Publication number
JP3414520B2
JP3414520B2 JP23470294A JP23470294A JP3414520B2 JP 3414520 B2 JP3414520 B2 JP 3414520B2 JP 23470294 A JP23470294 A JP 23470294A JP 23470294 A JP23470294 A JP 23470294A JP 3414520 B2 JP3414520 B2 JP 3414520B2
Authority
JP
Japan
Prior art keywords
task
complex
processor
tasks
job
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.)
Expired - Fee Related
Application number
JP23470294A
Other languages
English (en)
Other versions
JPH07182185A (ja
Inventor
ジョエル・レオナルド・ウルフ
フィリップ・シ−ラン・ユ
ジョン・ジョゼフ・エドワード・チュレック
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH07182185A publication Critical patent/JPH07182185A/ja
Application granted granted Critical
Publication of JP3414520B2 publication Critical patent/JP3414520B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5033Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering data affinity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/483Multiproc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5017Task decomposition

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は一般にマルチタスキン
グ、マルチプロセッサ・システムにおいて使用されるタ
スク・スケジューラに関し、特に並列データベース照会
または他の並列オペレーションの実行に使用されるタス
ク・スケジューラに関する。更に詳しくは、本発明は密
結合プロセッサ・コンプレックス(複合体)のシステム
における、複数の独立のタスクから成るジョブの実時間
スケジューリングに関し、ジョブ内のタスクが負荷平衡
化され、ジョブ優先度が尊重され、ジョブが不当に処理
時間を枯渇されないようにスケジューリングされる方法
に関する。
【0002】
【従来の技術】複数のタスクから成るコンプレックス照
会の応答時間は、その照会内の最後のタスクの実行時間
により決定される。問題は個々の照会の応答時間を最小
化する負荷平衡化アルゴリズムを用い、実時間により独
立のタスクから成る複数のこうした照会をスケジュール
する一方で、同時に外部照会優先度を尊重し、システム
における任意の照会の不当な処理時間の枯渇を回避する
ことである。
【0003】複数の密結合中央プロセッサ・コンプレッ
クス(CPC)または中央電子コンプレックス(CE
C)から成る環境が想定される。こうした環境では、タ
スクは一度特定のコンプレックスにスケジュールされる
と、その再割当ては不可能である。タスクは予測実行時
間を有するが、これらの予測は完全ではないものとす
る。また個々のタスク実行時間は、それらが割当てられ
るコンプレックスの選択、及びそれらが活動状態である
時間間隔により影響される。しかしながら、こうした影
響は定性的にのみ知られており、定量的には知られてい
ないものと仮定する。初期タスクの完了がユーザにとっ
て有益であるとわかっている照会については、そのタス
クを早い時期に完了するように試みられる(例として、
ユーザに最初のタプルを戻すタスクが識別される場合、
このタスクがそれに相当する)。
【0004】
【発明が解決しようとする課題】
【課題を解決するための手段】1態様によれば、本発明
は各々が1個以上のタスクを含む複数のジョブが同時に
実行されるマルチタスキング・システムにおいて、タス
クをスケジューリングする方法に関する。同時タスク活
動の目標レベルが、各ジョブに対して定義される。各ジ
ョブに対する同時タスク活動の実際のレベルもまた決定
される。ジョブは待機タスクの実行のために、各ジョブ
に対する同時タスク活動の目標レベルと、同時タスク活
動の実際レベルとの間の相違に従い、優先順序化され
る。待機タスクは、タスクを含むジョブの優先順序化に
従いその実行がスケジュールされ、具体的には、同時タ
スク活動の目標レベルと実際レベルとの差が最も大きい
ジョブから優先的にスケジュールされる。
【0005】同時タスク活動の目標レベルと実際レベル
は、同時に実行されるタスクの目標数と実際の数にそれ
ぞれ対応する。代わりに、これらのレベルは全てのジョ
ブに対応して同時に実行されるタスクの数に対する、任
意のジョブにおいて同時に実行されるタスクの数の目標
比率及び実際比率にそれぞれ対応してもよい。同時タス
ク活動の実際レベルは、好適には、例えばジョブがシス
テムに存在した時間間隔などに渡って平均化される。
【0006】ジョブは各ジョブの同時タスク活動の目標
レベルと実際レベルとの差、或いはこれらの2つのレベ
ルの比率に従い、優先順序化される。
【0007】任意のジョブに対して定義される同時タス
ク活動の目標レベルは、同時に実行されるジョブの数に
逆比例し、そのジョブに割当てられる外部優先順位によ
り部分的に決定される。好適には、各ジョブはそのジョ
ブに対応する外部優先順位に従い重みが割当てられ、ジ
ョブに対して定義される同時タスク活動の目標レベル
は、そのジョブに割当てられる重みの比率、及び全ての
ジョブに割当てられる合計の重みに比例する。
【0008】好適には、各ジョブのタスクが互いに優先
順序化され、こうした優先順序化に従い実行がスケジュ
ールされる。任意のジョブのタスクが、好適には、予測
実行時間の降順において優先順序化される。しかしなが
ら、選択的には少なくとも1つのタスクが、その予測実
行時間には無関係に同じジョブの残りのジョブの上位に
優先順序化され、そのジョブの残りのタスクが予測実行
時間の降順により優先順序化されてもよい。
【0009】本発明の別の態様は、各々が1個以上のタ
スクを含むジョブが、各々が1個以上のプロセッサを含
む複数のプロセッサ・コンプレックスにより同時に実行
されるマルチタスキング・システムにおける、タスクの
スケジューリング方法に関する。同時タスク活動の目標
レベルが、各プロセッサ・コンプレックスにより定義さ
れる。各プロセッサ・コンプレックスの同時タスク活動
の実際レベルもまた定義される。待機タスクは同時タス
ク活動の目標レベルが同時タスク活動の実際レベルを上
回る選択プロセッサ・コンプレックスにだけ割当てられ
る。同時タスク活動の通常の目標レベル以下の低い目標
レベルが、選択プロセッサ・コンプレックスに対して定
義され、それにより選択コンプレックスに対する新たな
タスクの割当てを禁止することにより、その選択プロセ
ッサ・コンプレックス上で実行されるタスクの実行を早
める。
【0010】同時タスク活動の目標レベル及び実際レベ
ルは、同時に実行されるタスクの目標数及び実際の数に
それぞれ対応する。同時タスク活動の低減目標レベル
は、好適には選択プロセッサ・コンプレックスに対する
新たなタスクの割当てを禁止する所望の効果を達成する
ために、そのコンプレックス上の同時タスク活動の実際
レベル以下にセットされる。
【0011】本発明の別の態様は、複数のタスクが複数
のプロセッサ・コンプレックス上で同時に実行されるマ
ルチタスキング、マルチプロセッサ・システムにおい
て、タスクをスケジューリングする方法に関し、各タス
クは各コンプレックスに対して親密関係(affinity)、
中立関係(neutrality)または無縁関係(disaffinit
y)を定義される。現在実行を待機中のタスクが、コン
プレックスの1つと親密関係を有するかどうかが判断さ
れる。現在実行を待機中のタスクがコンプレックスの1
つと親密関係を有すると判断されると、そのタスクがそ
のコンプレックスに割当てられる。判断結果が否定の場
合、現在実行を待機中のタスクが、コンプレックスの1
つと中立関係を有するかどうかが判断される。現在実行
を待機中のタスクがコンプレックスの1つと中立関係を
有すると判断されると、そのタスクがそのコンプレック
スに割当てられる。判断結果が否定の場合、スケジュー
ラがタスクをコンプレックスに割当てることなく終了す
る。
【0012】スケジューラはまたタスクをプロセッサ・
コンプレックスに割当てた後にも終了する。好適には、
タスクは所定の方法により互いに優先順序化され、コン
プレックスに対する親密関係を決定するために、そうし
た方法により順次的に走査される。好適にはプロセッサ
・コンプレックスもまた、所定の方法により互いに優先
順序化され、コンプレックスに対するタスクの親密関係
を決定するために、そうした方法により各タスクに対し
て順次的に走査される。
【0013】好適には、スケジューラは、現在実行を待
機中のタスクがコンプレックスの1つと親密関係または
中立関係を有するかどうかを判断するために、タスク−
コンプレックスの組合わせを順次的に走査する。走査さ
れるタスク−コンプレックスの組合わせのタスクが、そ
の組合わせのコンプレックスと親密関係を有すると、タ
スクがコンプレックスに割当てられ走査が終了する。走
査されるタスク−コンプレックスの組合わせのタスク
が、その組合わせのコンプレックスと中立関係を有する
と、第1のそうした組合わせのタスク及びコンプレック
スがマークされ、走査が継続される。走査がプロセッサ
と親密関係を有するタスクを見い出すことなく完了し、
タスク及びコンプレックスが互いに中立関係を有するよ
うにマークされている場合には、マークされたタスクが
マークされたコンプレックスに割当てられる。それ以外
の場合には、スケジュールがタスクをコンプレックスに
割当てることなく終了する。
【0014】
【実施例】図1を参照すると、本発明が組込まれるマル
チプロセッサ・システム100は、P個の中央処理コン
プレックス(CPC)または中央電子コンプレックス
(CEC)102を含む。CEC102は適切な接続手
段104により、D個の直接アクセス記憶装置(DAS
D)106に接続される。DASDはシステム100に
おいては磁気ディスクである。各CEC102は好適に
は複数のプロセッサ110(例えば1CEC当たり6個
のプロセッサ)を含み、これらは主メモリ112を共用
する意味で、互いに"密結合(tightly coupled)" され
る。しかしながら、コンプレックス102は密結合プロ
セッサ・コンプレックスを含む必要はなく、代わりに単
一プロセッサを含んでもよい。コンプレックス102は
装置106を共用するが(すなわち任意のコンプレック
スが任意の装置をアクセスできる)、主メモリを共用し
ない意味で互いに"疎結合(loosely coupled)" され
る。DASD106に接続される他に、CEC102は
適切な相互接続手段108を介して、互いに相互接続さ
れる。
【0015】本発明の目的のために、各プロセッサ・コ
ンプレックス102は不可分のユニットと見なされる。
個々のプロセッサ110による、コンプレックス102
に割当てられるタスクの同時実行を制御するために適切
な手段が使用される。しかしながら、こうした手段は本
発明に含まれるものではない。
【0016】CEC102はp=1乃至Pに指標化され
る。DASD106はd=1乃至Dに指標化される。C
ECの指標pが図1に示されるが、これらは後述のよう
に静的ではなく、動的に割当てられる。従って、任意の
コンプレックス102は異なる時間において異なる指標
番号を有する可能性がある。
【0017】プロセッサ・コンプレックス102は、後
述のように、データベース照会などのジョブを構成する
タスクの同時並列実行用に使用される。ジョブはプロセ
ッサ・コンプレックス102の1つから、或いは別のフ
ロントエンド・プロセッサから生成される。後述される
照会の分割及びスケジューリング・ステップは、追加の
プロセッサ・コンプレックス、またはコンプレックス1
02に類似のコンプレックス(図示せず)により実行さ
れる。すなわち、こうした追加のコンプレックスはタス
クが割当てられるP個のコンプレックスの中にはカウン
トされない。
【0018】図2を参照すると、システム100は1個
以上のジョブ202を同時に実行するために使用され
る。各ジョブは独立のタスク204に区分される。各ジ
ョブはリレーショナル・データベース・マネジャの場合
のように、装置106上に存在するデータの照会を含
む。一方、各タスクはデータが編成されるテーブルまた
はリレーションの特定部分に限定される副照会を含んだ
りする。
【0019】ジョブ202はj=1乃至Jに指標化され
る。ジョブjのタスク204は、i=1乃至T(j)に
指標化される。本実施例では、タスク指標iは後述のよ
うに降順の予測タスク実行時間にもとづき静的に割当て
られ、従って、特定のジョブのタスク1は、最長の予測
実行時間を有するタスクに相当する。一方、ジョブ指標
jは所望のジョブ優先順位にもとづき動的に割当てら
れ、従って、ジョブ1は任意の時間における最高の優先
順位のジョブに相当する。従って、特定のジョブjは処
理の異なるステージにおいて、異なる指標番号を有する
可能性がある。
【0020】任意のジョブj(202)は任意のコンプ
レックスp(102)において、システムに入力する。
この選択はスケジューラの制御によらない。コンプレッ
クスpは各ジョブjに対して同じであったり、同じでな
かったりする。ジョブjの初期作業及び最終作業の両方
がこの特定のコンプレックス上で実行される。
【0021】各ジョブjは、1と特定の最大優先レベル
Kとの間の外部優先レベルP(j)を割当てられる。"
外部"と言う表現により、優先レベルP(j)がスケジ
ューラにより設定されないことが意味される。示される
特定の実施例では、ジョブ202に対して定義される外
部優先レベルP(j)は、合計処理資源の使用権の観点
から、ジョブの相対重みw(j)に反比例する。
【数1】w(j)= 1 / P(j)
【0022】従って、優先レベル1を有するジョブはそ
の相対重みwが1となり、優先レベルKを有するジョブ
は、その相対重みが1/Kとなる。
【0023】タスク204は、それらの間で優先順位が
存在しない意味で独立である。これらのタスクはスケジ
ューラの制御に従う。また、これらは予測実行時間t
(j、1)、...、t(j、T(j))を有するもの
と仮定する。しかしながら、これらの予測は不完全であ
り、あたかもタスクが独立して実行されるように導出さ
れるものとする。換言すると、タスク時間同じジョブ
または他のジョブからの現在実行中の他のタスクにより
引起こされる共働(synergy )または干渉を考慮しな
い。しかしながら、これらの共働または干渉は後述され
るように、コンプレックス102のタスク204の相対
親密関係を決定する際に考慮される。
【0024】タスク204は、各ジョブに合計使用可能
処理資源の重み付け配分(外部優先順位により決定され
る)を授けるようにスケジュールされる。処理資源の重
み付け配分以下を受取るジョブ202は、重み付け配分
以上を受取るジョブよりも上位に優先順序化され(下位
のj指標を前者に動的に再割当てすることにより)、前
者のジョブを構成するタスク204が、使用可能なプロ
セッサ・コンプレックス102に優先的に割当てられ
る。
【0025】図3及び図4を参照すると、典型的な照会
はテーブル300(従業員:EMPLOYEE)及び400(部
門:DEPT)などの2つのデータベース・テーブル(また
はリレーショナル・データベース用語におけるリレーシ
ョン)上で実行される結合オペレーションを含む。テー
ブル300(従業員)は、組織の各従業員に対応する従
業員名(NAME)、従業員の所属する部門(DEPT)、及び
従業員の給料(SALARY)をリストする。テーブル400
は、組織の各部門に対応する部門名(DEPT)、及びその
部門のマネジャ名(MGR )をリストする。各テーブルは
複数の行を含み、これらはレコードまたは組(tuple )
としても参照される。各行は1列または複数列を含み、
これらはフィールドまたは属性としても参照される。リ
レーションの各列は、下層ドメイン(underlying domai
n )として知られる取り得る値のセットと関連付けら
れ、こうしたセットは任意の時間における列内の実際の
値とは無関係である。図示の例では、各列のドメインは
A(1文字)からZZZ...ZZZ(n文字、ここで
nは最大フィールド・サイズ)の間で広がる。システム
100では、テーブル300及び400などのデータベ
ース・テーブルを構成する組が、記憶装置106の間で
分散され、その結果、各テーブルの異なる部分が一般に
異なる装置上に存在することになる。
【0026】この特定の例では、照会は部門別に部門マ
ネジャ名、部門及び部門マネジャの給料を、部門マネジ
ャ名により順序化してリストすることを要求するものと
する。データベース照会において広く使用される言語で
ある構造化照会言語(SQL:Structured Query Langu
age )により表現されることにより、この照会は次の形
式を取る。 1 SELECT NAME、EMPLOYEE.DEPT、SALARY 3 WHERE NAME = MGR 4 ORDER BY NAME
【0027】このタイプの照会は結合(join)として知
られ、テーブル300(従業員)の名前の列、及びテー
ブル400(部門)のマネジャ名の列は、結合列(join
column)として知られる。
【0028】この照会はテーブルの特定部分に限定され
る独立のタスクに区分される。従って、第1のこうした
タスク(タスク1)は、結合列(NANE、MGR )内の値が
文字Aで始まるテーブル300(従業員)及び400
(部門)内の組に限定され、次のように表される。 1 SELECT NAME、EMPLOYEE.DEPT、SALARY 3 WHREE NAME = MGR 3a AND A ≦ NAME < B 3b AND A ≦ MGR < B 4 ORDER BY NAME
【0029】タスク1は、名前(NAME)及びマネージャ
名(MGR )が文字Aで始まる、従業員テーブル300及
び部門テーブル400のサブセット(または区分)上で
実行される元の照会と等価である。
【0030】元の照会から生成される他のタスクは、従
業員テーブル及び部門テーブルの異なる部分に向けられ
る以外は、形式的にタスク1と類似である。タスク2は
次のように表される。 1 SELECT NAME、EMPLOYEE.DEPT、SALARY 3 WHREE NAME = MGR 3a AND B ≦ NAME < C 3b AND B ≦ MGR < C 4 ORDER BY NAME
【0031】以上から、タスク26は次のよう表され
る。 1 SELECT NAME、EMPLOYEE.DEPT、SALARY 3 WHREE NAME = MGR 3a AND NAME ≧ Z 3b AND MGR ≧ Z 4 ORDER BY NAME
【0032】これらのタスクが互いに排他的であり、そ
れらの結果は併合されると、元の区分されていない照会
の実行により得られる結果を再現することが容易に確認
される。
【0033】上述のような元の結合照会は、最初に照会
の1部を形成する各リレーションの結合列ドメインを、
P個の等しいサイズの範囲(ここでPはプロセッサ・コ
ンプレックスの数)に区分することにより、複数の独立
のタスクに区分される。各範囲は次に、次第に減少する
範囲を有するM個のサブ範囲に区分され、それにより次
第に減少する予測タスク時間を有する対応する数のタス
クが生成され、結果的に、元の照会からM×P個のタス
クが生成される。しかしながら、照会を独立のタスクに
分割するために他の区分化方法も使用可能である。また
上述のように、この仕様の主体であるジョブが、データ
ベース照会以外であってもよい。
【0034】各CEC p(102)は、そのCEC上
で同時に実行されるタスク204の数m(p)として定
義される、実際のマルチプログラミング・レベル(MP
L)を有する。CEC pの最大許容MPL、すなわち
そのレベル以上ではタスク204がもはやCECに割当
てられることのないマルチプログラミング・レベルは、
M(p)である。このレベルM(p)は、タスク204
がキューに待機する以前に、同時タスクの最大数に設定
される。しかしながら、あるジョブの残りの活動タスク
204だけが特定のCEC102に存在する場合、その
CECへのタスク割当てを禁止してジョブの速やかな完
了を図るため、そのCECのレベルM(p)が人為的に
動的に低減される。これを達成するために、コンプレッ
クスpにおける目標MPL M(p)が、実際のMPL
m(p)以下に設定され、それによりコンプレックス
pは、プロセッサが割当てられる使用可能なコンプレッ
クスとして考慮されなくなる。
【0035】本発明のタスク・スケジューラは、ジョブ
202を構成する待機タスク204を使用可能なコンプ
レックス102に割当てる。次に示す重要な表記法が、
既に紹介された表記法に加えて使用される。
【0036】スケジューラの現呼出し時刻はTIMEであ
る。スケジューラの最後の呼出し時刻は、OTIME であ
る。
【0037】U(i、j、d)は、ジョブjのタスクi
によりDASD dに対して実行されるアクセス回数で
ある。DASD dのアクセス・レベル(システム内で
現在実行される全てのタスクによるDASD dへのア
クセス回数)はn(d)である。DASD dの最大許
容アクセス・レベルはN(d)である。より正確な情報
が使用可能でない場合、数ある方法の1つにより、タス
クによるDASDへのアクセス回数が近似される。タス
クによるDASDへのアクセス回数の測度の1つは、そ
のDASD上に存在するタスクに関連するテーブルの番
号である。この種の情報は一般に、例えばIBM DATABASE
2(商標)(DB2(登録商標))リレーショナル・デ
ータベース・マネージャなどのデータベース・マネージ
ャにより、スケジューラが使用可能なデータベース・カ
タログ内に維持される。(DATABASE 2は商標であり、I
BM及びDB2はIBMの登録商標である。)
【0038】S(j、i)はジョブjのタスクiの割当
て及び実行ステータスを示す。S(j、i)=p>0
は、ジョブjのタスクiが、現在CEC p上で活動状
態であることを意味する。S(j、i)=−p<0は、
ジョブjのタスクiが以前にCEC p上で活動状態で
あったが、既に実行されたことを意味する。S(j、
i)=0ジョブjのタスクiがまだCECを割当てられ
ていないことを意味する。
【0039】ARRIVE(j)はジョブjの到来時刻であ
る。FRACTION(j)はARRIVE(j)とTIMEとの間に、ジ
ョブjの累積された"活動フラクション(fraction of a
ction)"(以降で定義される同時タスク活動の特定の測
度)である。GOAL (j)はジョブjの現目標活動フラ
クションであり、これは優先順位P(j)と現時刻TIME
との関数である。
【0040】本実施例では、GOAL(j)は優先順位kの
ジョブが1/kに比例する活動フラクション目標を有す
るべきことを仮定して計算される。これは優先順位1の
ジョブが、優先順位kのジョブのk倍の活動を獲得する
こと、及び同一優先順位のジョブが匹敵する量の活動を
獲得することを保証する傾向を示す。この方法は具体化
のために仮定されるが、GOAL(j)を計算する実際の方
法は、スケジューリング・プロシジャ自体とは無関係で
ある点に注意することが重要である。
【0041】スケジューリング・プロシジャは4つのル
ーチン、MAIN、BOOKKEEP、SEARCH及びD_N_A(disa
ffinity/neutrality/affinity )を含む。主ルーチン
(MAIN)は実質的にCECに割当てられるタスクがなく
なるまで、呼出し自体を保持するスイッチとして作用す
る。このルーチンは次のように表される。
【表1】主ルーチン 500 Procedure:MAIN 501 Set SUCCESS = 1 502 While SUCCESS = 1 do { 503 Call BOOKKEEP 504 Call SEARCH 505 } 506 End MAIN
【0042】呼出しに際し、MAINルーチンはフラグSUCC
ESS を1にセットする(ステップ501)。ルーチンは
次に、タスク204のCEC102への割当ての失敗に
より、SUCCESSがSEARCHルーチンにおいて0にリセット
されるまで、交互にBOOKKEEP及びSEARCHルーチンを呼出
す(ステップ503及び504)。こうした事象に際
し、MAINルーチンは中断され(ステップ506)、タス
ク204が実行されるか、或いは新たなジョブ202が
システム100に実行依頼される度に再開される(ステ
ップ500)。
【0043】ブックキーピング・ルーチン(BOOKKEEP)
は、実際のタスク対CEC割当てを実行する探索ルーチ
ンに備えて使用される。ブックキーピング・ルーチンを
次に示す。
【表2】ブックキーピング・ルーチン 600 Procedure:BOOKKEEP 601 Set TOTAL1 = 0 602 Set TOTAL2 = 0 604 Set ACTIVE(j)= 0 606 If S(j、i)> 0 then do { 607 ACTIVE(j)++ 608 TOTAL1++ 609 } 610 } 611 Increment TOTAL2 by 1/P(j) 612 } 614 If TIME = ARRIVE(j)then set FRACTION(j)= 0 615 Else set FRACTION(j)=((OTIME - ARRIVE(j))x FRACTION(j)+(TIME - OTIME)x (ACTIVE(j)/TOTAL1))/(TIME - ARRIVE(j)) 616 Set GOAL(j)= 1/(P(j)x TOTAL2) 617 } 619 Update M(p) 620 } 621 Update S、n、m 622 Set OTIME = TIME 623 Determine the number P_POS of CECs p for which M(p)- m(p)> 0 624 Index these P_POS CECs by decreasing values of M(p)- m(p) 625 Index the J jobs by increasing values of FRACTION(j)- GOAL(j) 627 Index the T(j)tasks in job j by decreasing values of t(j、i) except for that task、if any、required to have index 1 628 } 629 End BOOKKEEP
【0044】呼出しに際し、ブックキーピング・ルーチ
ンは最初にTOTAL1及びTOTAL2、並びに現在実行中の各ジ
ョブのACTIVE(j)を計算する(ステップ601乃至6
12)。このルーチンでは、TOTAL1は現在実行中の全て
のジョブからのタスクの総数を表し、TOTAL2は処理中の
様々なジョブに与えられる結合重みを表し、ACTIVE
(j)は現在実行中のジョブjのタスク数を表す。結合
重みWは次のように表される。
【数2】
【0045】これらの量を計算するために、このルーチ
ンは最初にTOTAL1及びTOTAL2を0に初期化し(ステップ
601乃至602)、その後、各ジョブjに対して繰返
されるループ(ステップ603乃至612)に入力す
る。このループの各繰返しにおいて、ルーチンは最初に
ACTIVE(j)を0にセットする(ステップ604)。ル
ーチンは次にジョブjの各タスクに対する割当て値S
(j、i)を調査し、割当て値S(j、i)>0により
示されるように、現在実行中の各タスクに対するACTIVE
(j)及びTOTAL1を増分する(ステップ607乃至60
8)。最後にループの各繰返しにおいて、ルーチンはジ
ョブjに与えられる重み1/P(j)だけ、TOTAL2を増
分する(ステップ611)。
【0046】ブックキーピング・ルーチンは次に、現在
実行中の各ジョブjにおける現活動フラクションFRACTI
ON(j)及び目標活動フラクションGOAL(j)を再計算
する(ステップ613乃至617)。ジョブがTIME=ARR
IVE (j)において到来すると、累積活動フラクション
FRACTION(j)は0にセットされる(ステップ61
4)。それ以外の場合には、ルーチンはFRACTION(j)
を公式に従い再計算する(ステップ615)。すなわ
ち、
【数3】 FRACTION(j)=((OTIME - ARRIVE(j))x FRACTION(j)+ (TIME - OTIME) x(ACTIVE(j)/TOTAL1))/ (TIME - ARRIVE(j))
【0047】この計算は実質的に、現時間間隔(OTIME-
TIME)に対する活動フラクションの決定、すなわち
【数4】ACTIVE(j)/TOTAL1
【0048】及びそれぞれの時間間隔に従うそのフラク
ション及び(時間間隔ARRIVE(j)-OTIMEに対する)以
前の累積フラクションの重み付けを含む。従って、FRAC
TION(j)は、ジョブjに属する現在実行中の全てのタ
スクのフラクションが、ジョブjがシステム100上に
存在する時間に渡って平均化されることを表す。
【0049】各ジョブjに対し、BOOKKEEPルーチンは次
にステップ616で、活動フラクション目標GOAL(j)
を次の公式に従いセットする。
【数5】GOAL(j)= 1/(P(j)x TOTAL2)
【0050】この公式から明らかなように、ジョブjに
対応する目標活動フラクションGOAL(j)は、そのジョ
ブに割当てられる外部優先順位P(j)の関数であり、
一般には、システム100におけるジョブjの総数に反
比例する(なぜならTOTAL2は一般にジョブjの総数に反
比例するので)。GOAL(j)はジョブjに割当てられる
総使用可能処理資源の重み付け配分(外部優先順位によ
り決定される)を表す。
【0051】ブックキーピング・ルーチンは次に、各C
EC pに対する最大許容MPLM(p)を更新する
(ステップ618乃至620)。この更新はそのCEC
を保護(fence off )するために、選択CEC pに対
する目標MPLの低減を含み、それにより上述のよう
に、そのCEC上で実行されるタスクの完了を早める。
ルーチンはその後、新たに割当てられたタスク及び新た
完了されたタスクを考慮して、S(j、i)、n
(d)及びm(p)を更新し(ステップ621)、OTIM
EをTIME の現在値に等しくセットする(ステップ62
2)。
【0052】ルーチンは次に、最大許容MPL M
(p)よりも小さなMPL m(p)において動作して
いるCEC pの数P_POSを決定する(ステップ6
23)。これらのCECは現在利用度が低く、追加のタ
スクを割当て可能である。ルーチンはM(p)−m
(p)の値の降順により、これらのCECを指標化する
ことにより優先順位化する。従って、(この基準により
測定される)最も利用度の低いCECが指標1を有し、
次に利用度の低いCECが指標2を有する(以下同
様)。そして、利用度の最も高いCECが指標P_PO
Sを有する(ステップ624)。
【0053】ルーチンはその後、FRACTION(j)- GOAL
(j)の値の昇順により、J個の未達成のジョブを優先
順位化する。従って、(この基準により測定される)最
もサービス度の低いジョブが指標1を有し、最もサービ
ス度の高いジョブが指標Jを有する(ステップ62
5)。ルーチンは次に、各ジョブ内のT(j)個のタス
クの予測タスク時間t(j、i)の値の降順により、そ
れらを指標化し、優先順位化する。従って、最大の予測
実行時間を有するタスクが指標1を有し、最小の予測実
行時間を有するタスクが指標T(j)を有する(ステッ
プ626乃至628)。プロシジャのこのステップは、
予測実行時間に無関係に、特定のタスクに対して指標1
を与えるように変更されてもよい。これは例えば、特定
のタスクが最初のタプルを戻すようなデータベース照会
アプリケーションにおいて望ましい。最後にBOOKKEEPル
ーチンは終了し(ステップ629)、MAINルーチンに復
帰する。MAINルーチンはその直後にSEARCHルーチンを呼
出す(ステップ504)。
【0054】探索ルーチン(SEARCH)はCECに対する
実際のタスク割当てを実行する。基本的に、このルーチ
ンはジョブを通じ、利用度の低いCECと親密関係を有
するタスクを探索するか、或いはそのようなタスクがな
場合には、利用度の低いCECと中立の関係を有する
タスクを探索する。探索順序は、ジョブ(最外郭のルー
プ)、ジョブ内のタスク(真中のループ)、及び低利用
度のCEC(最も内側のループ)の順である。探索ルー
チンを次に示す。
【0055】SEARCHルーチンでは、親密関係を有する待
機タスクを見い出すように、或いはそれが失敗の場合に
は、使用可能なCECと少なくとも中立関係を有するタ
スクを見い出すように、全てのジョブがそれらの優先順
位化の順序に従い走査され、またジョブ内の全てのタス
クがそれらの優先順位化の順序に従い走査される。
【0056】各ジョブに対して、そのジョブのタスクを
走査するに先立ち、量BEST_Iが0にセットされる(ステ
ップ702)。BEST_Iは、使用可能なCECと中立関係
を有するタスクが見い出される場合に、こうしたタスク
を識別するために使用されるポインタである。タスクが
走査されるとき、そのタスクが現在CECコンプレック
スへの割当てを待機中かどうかを判断するために、その
タスクに対応する量S(j、i)が最初に調査される
(ステップ703)。タスクが既に割当てられている
(S(j、i)≠0)場合、ルーチンは次のタスクに移
行する。
【0057】代わりに、タスクが割当てを待っている
(S(j、i)=0)場合(ステップ704)、タスク
が親密関係または少なくとも中立関係を有するCECを
見い出そうとうして、(後述のD_N_Aルーチンを呼
出すことにより、)各CEC pに対する親密度値D_
N_A(j、i、p)が優先順位化の順序に従い調査さ
れる。タスクが親密関係を有するCECが見い出される
と、S(j、i)=pとセットすることにより、そのタ
スクがそのCECに割当てられ(ステップ707)、SE
ARCHルーチンが終了する(ステップ708)。タスクが
中立関係を有するCECが見い出され、これが走査され
るジョブの最初のこうしたインスタンスの場合(BEST_I
=0)(ステップ709)、タスク・ポインタBEST_Iがタ
スク番号iにセットされ(ステップ710)、一方、C
ECポインタBEST_PはCEC番号pにセットされて(ス
テップ711)、タスク−CEC対がマークされる。
【0058】使用可能CECと親密関係を有する待機タ
スクを見い出すことなく、任意のジョブの全てのタスク
が走査されると、使用可能CECと中立関係を有する待
機タスクが見い出されたかどうかを判断するために、量
BEST_Iが調査される(ステップ717)。見い出された
場合、そのタスク(BEST_I)が使用可能CEC(BEST_
P)に割当てられ(ステップ718)、SEARCHルーチン
が終了する(ステップ719)。
【0059】使用可能CECと親密関係または中立関係
を有する待機タスクを見い出すことなく、全てのジョブ
が走査されると探索が不成功であったことを示すため
に、変数SUCCESSが0にセットされ(ステップ72
2)、制御はMAIN ルーチンへ復帰する(ステップ72
4)。上述のように、SUCCESSを0にリセットすること
により、MAINルーチンはタスクの実行または新たなジョ
ブjの到来により再開されるまで、中断される。
【0060】無縁関係/中立関係/親密関係(D_N_
A)ルーチンは、ジョブj(202)のタスクi(20
4)がCEC p(102)に対して、親密関係、中立
関係または無縁関係のいずれを有するかを判断するため
に、探索ルーチンにより呼出される(ステップ70
6)。タスクがあるプロセッサに割当てられると、他の
プロセッサに割当てられるよりも多大に高速に実行され
ると期待される場合、タスクはそのプロセッサと親密関
係を有すると言われる。同様にタスクがあるプロセッサ
に割当てられると、他のプロセッサに割当てられるより
も実行が著しく遅れると予想される場合には、タスクは
そのプロセッサと無縁関係を有すると言われる。最後に
タスクがあるプロセッサに割当てられる場合と、他のプ
ロセッサに割当てられる場合とで、ほぼ同じスピードで
実行されると予想される場合には、タスクはそのプロセ
ッサと中立関係を有すると言われる。
【0061】計画入出力競合(projected input/outpu
t contention)、バッファ再使用確率(possibilities
for buffer reuse)、及び他の基準を含む多くの基準の
1つが、CEC102に対するタスク204の相対親密
関係を決定するために使用される。しかしながら、使用
される特定の基準自体は本発明の1部を形成しない。そ
の最も一般的な形式では、D_N_Aルーチンは次のよ
うに表される。
【表4】 D_N_Aルーチン(一般バージョン) 800 Procedure:D_N_A(j、i、p) 801 Set VALUE = 1 if task i in job j has affinity for CEC p 802 Set VALUE = 0 if task i in job j is neutral to CEC p 803 Set VALUE = -1 if task i in job j has disaffinity for CEC p 804 Return(VALUE) 805 End D_N_A
【0062】前記リストから明らかなように、D_N_
Aルーチンはジョブj(202)のタスクi(204)
がCEC p(102)に対して、無縁関係(ステップ
803)、中立関係(ステップ802)または親密関係
(ステップ801)のいずれを有するかに依存して、値
(VALUE )−1、0または1を返却する(ステップ80
4))。
【0063】1例を示すために、D_N_Aルーチンの
特定のバージョンが次のリストにより提供される。
【表5】D_N_Aルーチン(特定バージョン) 900 Procedure:D_N_A(j、i、p) 901 Set VALUE = 0 903 If U(i、j、d)> 0 then do { 904 If n(d)+ U(i、j、d)> N(d)then return(-1) 906 If|S(j、ii)|≠p or U(ii、j、d)= 0 then continue 907 If S(j、ii)= -p then set VALUE = 1 908 } 909 } 910 } 911 Return(VALUE) 912 End D_N_A
【0064】表5のD_N_Aルーチンは、表4の一般
バージョンと同様、タスク204がプロセッサ・コンプ
レックス102に対して、親密関係、中立関係または無
縁関係のいずれを有するかに依存して、値(VALUE )
1、0または−1を戻す。読出しの際に、D_N_Aル
ーチンは最初にVALUE をデフォルト値0にセットする
(ステップ901)。ルーチンは次に、システムの各D
ASD dに対して繰返される外郭の繰返しループ(ス
テップ902乃至910)に入る
【0065】特定のDASD dに対する外郭ループの
各繰返しにおいて、ルーチンは最初にジョブjのタスク
iによるDASD dへのアクセス回数U(i、j、
d)が0より大きいかどうかを判断する(ステップ90
3)。大きい場合、ルーチンは現DASD dに対して
繰返しを継続する(ステップ903乃至909)。そう
でない場合、ルーチンは次のDASDに対する繰返しに
移行する。ルーチンが現繰返しを継続する場合、次にD
ASD dにおける現アクセス・レベルn(d)と、ジ
ョブjのタスクiによるDASD dへのアクセス回数
U(i、j、d)との和が、DASD dにおける最大
許容アクセス・レベルN(d)よりも大きいかどうかを
判断し、肯定の場合、ルーチンはタスクiが無縁関係を
有することを示す値−1を戻す(ステップ904)。
された無縁値−1はタスクiを割当てない。なぜならD
ASD dに対して、過度にアクセスが生じるからであ
る。無縁関係はここでは特定のプロセッサ・コンプレッ
クス102に対するものではなく、システム100全体
に対するものである。なぜならDASD dに対する同
じ過度なアクセスが、タスクが割当てられるプロセッサ
・コンプレックスには無関係に発生するからである。
【0066】DASD dにおける現アクセス・レベル
n(d)とジョブjのタスクiによるDASD dへの
アクセス回数U(i、j、d)との和が、DASD d
における最大許容アクセス・レベルN(d)よりも大き
いと、ルーチンはジョブjの各タスクiiに対して繰返
される内部繰返しループ(ステップ905乃至908)
入る。ジョブjの特定のタスクiiに対する内部ルー
プの各繰返しにおいて、ルーチンは最初にタスクiiが
プロセッサpに割当てられたかどうか、及びタスクii
がDASD dをアクセスするかどうかを判断する(ス
テップ906)。タスクiiがプロセッサpに割当てら
れていない(すなわち|S(j、ii)|≠p)、或い
はタスクiiがDASD dをアクセスしない(すなわ
ちU(i、j、d)=0)場合、ルーチンは次のタスク
に対する繰返しに移行する。
【0067】それ以外では、ルーチンは現タスクに対す
る繰返しを実行し、タスクiiが既にプロセッサpによ
り実行されたかどうかを判断する(ステップ907)。
肯定の場合、ルーチンはVALUE を1にセットし、タスク
iがプロセッサ・コンプレックスpと親密関係を有する
ことを示す。タスクiは同一のジョブjからの別のタス
クiiがプロセッサ・コンプレックスp上で実行を完了
し、それによりバッファ再使用の可能性を生成している
ので、そのコンプレックスpと親密関係を有すると見な
される。上述の無縁関係の場合と異なり、これは正に特
定のプロセッサ・コンプレックスpとの親密関係の場合
に相当し、システム100全体に対する親密関係とは区
別される。しかしながら、ルーチンはこの時点では復帰
せず、次の外郭のループの繰返しに移行する。なぜなら
VALUE が続く外郭のループの繰返し、すなわちステップ
904において、まだ−1にリセットされているかも知
れないからである。
【0068】全てのDASDに対する外郭のループの完
了に際し(ステップ904で早期に終了することがない
ものとする)、D_N_Aルーチンは最終的に決定され
たVALUEをSEARCH ルーチンに戻す(ステップ911)。
要約すると、返却値VALUE は通常0(中立関係)である
が、タスクがDASDを過度にアクセスする場合には−
1(無縁関係)であり、特定のDASDに対する過度な
要求が存在せず、同一ジョブの他のタスクが既に同一プ
ロセッサ・コンプレックス上で完了している場合には、
1(親密関係)である。
【0069】この基本機構には、様々な追加の機構を追
加することが可能である。例えば、様々なシステムに割
当てられる総予測タスク時間を、負荷平衡化条件として
使用することができる。タスク割当てが余りにも負荷平
衡から逸脱するシステム負荷を生じる場合、こうした割
当ては禁止される。同様に処理時間をほとんど受取って
いないジョブの優先順位を上げることにより、ジョブの
処理時間の枯渇を防ぐための類似の機構を使用すること
ができる。
【0070】
【0071】
【0072】
【発明の効果】以上説明したように、本発明によれば、
マルチタスキング、マルチプロセッサ・システムにおい
て使用されるタスク・スケジューリング方法が提供され
る。
【図面の簡単な説明】
【図1】本発明が組込まれるマルチプロセッサ・システ
ムのブロック図である。
【図2】本発明により扱われるジョブ及びタスクを表す
ブロック図である。
【図3】本発明により処理される照会の主体である1対
のデータベース・テーブルを表す図である。
【図4】本発明により処理される照会の主体である1対
のデータベース・テーブルを表す図である。
【符号の説明】
100 マルチプロセッサ・システム 102 中央電子コンプレックス(CEC) 104 接続手段 106 直接アクセス記憶装置(DASD) 108 相互接続手段 110 プロセッサ 112 主メモリ 202 ジョブ 204 タスク 300、400 テーブル
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジョエル・レオナルド・ウルフ アメリカ合衆国10536、ニューヨーク州 カトナ、チェロキー・コート 7 (72)発明者 フィリップ・シ−ラン・ユ アメリカ合衆国10514、ニューヨーク州 チャパクア、ストアナウェイ 18 (72)発明者 ジョン・ジョゼフ・エドワード・チュレ ック アメリカ合衆国10690、ニューヨーク州 ニュアック、ゲスナー・アベニュー 43 (56)参考文献 特開 昭55−23528(JP,A) 特開 平4−157534(JP,A) 特開 平5−242051(JP,A) 特開 昭62−279433(JP,A) 特開 平4−253228(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 9/46

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】各々が1個以上のタスクを含む複数のジョ
    ブが複数のプロセッサ・コンプレックス上で同時に実行
    されるマルチタスキング・システムにおいて、前記タス
    クを選択された前記プロセッサ・コンプレックスに割り
    当てるスケジューリング方法であって、 各前記ジョブの同時タスク活動の目標レベルを定義する
    ステップと、 各前記ジョブの同時タスク活動の実際レベルを決定する
    ステップと、 待機タスクの実行のために、前記目標レベルと前記実際
    レベルとの差に基づいて前記複数のジョブに優先順位を
    設定するステップと、 前記差が最大のジョブから優先的に各前記待機タスクを
    実行のためにいずれか1つの前記プロセッサ・コンプレ
    ックスに割り当ててスケジューリングするステップとを
    含む、スケジューリング方法。
  2. 【請求項2】任意のジョブのタスクが予測実行時間の降
    順により優先順位を設定される、請求項1に記載のスケ
    ジューリング方法。
  3. 【請求項3】各々が各プロセッサ・コンプレックスに対
    して親密関係または中立関係を定義される複数のタスク
    が、複数のプロセッサ・コンプレックス上で同時に実行
    されるマルチタスキング、マルチプロセッサ・システム
    において、前記プロセッサ・コンプレックス上において
    前記タスクをスケジューリングする方法であって、 現在実行を待機中のタスクが実行をスケジューリングさ
    れた場合に、当該マルチプロセッサ・システムに含まれ
    る直接アクセス記憶装置のアクセスが過度になるかどう
    かを判断するステップと、 前記アクセスが過度になる場合は、前記待機中のタスク
    のスケジューリングを禁止するステップと、 前記アクセスが過度にならない場合は、前記待機中のタ
    スクが前記複数のプロセッサ・コンプレックスのうちの
    1つプロセッサ・コンプレックスと親密関係を有するか
    どうかを判断するステップと、 前記親密関係を有すると判断されると、前記待機中のタ
    スクを前記1つのプロセッサ・コンプレックスに割当て
    るステップと、 前記親密関係を有していない場合に、前記待機中のタス
    クが前記複数のプロセッサ・コンプレックスのうちの1
    つのプロセッサ・コンプレックスと中立関係を有するか
    どうかを判断するステップと、 前記中立関係を有すると判断されると、前記待機中タス
    クを前記1つのプロセッサ・コンプレックスに割当てる
    ステップと、 を含むスケジューリング方法。
  4. 【請求項4】前記タスクは優先順位を設定されており、
    該優先順位に従って順次に走査され、前記プロセッサ・
    コンプレックスに対する親密関係を決定する、請求項3
    記載のスケジューリング方法。
  5. 【請求項5】前記プロセッサ・コンプレックスは優先順
    位を設定されており、前記優先順位に従って各前記タス
    クに対して順次に走査され、前記親密関係を決定する、
    請求項4記載のスケジューリング方法。
  6. 【請求項6】複数のタスクが複数のプロセッサ・コンプ
    レックス上で同時に実行されるマルチタスキング、マル
    チプロセッサ・システムにおいて、前記タスク及び前記
    コンプレックスがタスク−コンプレックスの組合わせを
    形成し、各前記組合わせにおいてタスクが組合わせのコ
    ンプレックスに対して親密関係または中立関係を定義さ
    れるものにおいて、前記コンプレックス上において前記
    タスクをスケジューリングする方法であって、 タスク−コンプレックスの組合わせを順次に走査し、現
    在実行を待機中の任意のタスクが、もしスケジューリン
    グされた場合に、当該マルチプロセッサ・システムに含
    まれる直接アクセス記憶装置のアクセスが過度になるか
    どうかを判断し、過度にならなければ、前記コンプレッ
    クスの1つに対して親密関係または中立関係を有するか
    どうかを判断するステップと、 前記アクセスが過度になる場合は、前記タスクのスケジ
    ューリングを禁止するステップと、 走査されるタスク−コンプレックスの組合わせのタスク
    が、その組合わせのコンプレックスに対して親密関係を
    有する場合、そのタスクを前記コンプレックスに割当
    て、走査を終了するステップと、 走査されるタスク−コンプレックスの組合わせのタスク
    が、その組合わせのコンプレックスに対して中立関係を
    有する場合、その最初の組合わせをマークし、走査を継
    続するステップと、 前記親密関係を有するタスクを見い出すことなく走査が
    完了すると、マークされた組合わせがある場合には、そ
    の組合せのタスクを関連するコンプレックスに割当てる
    ステップとを含むスケジューリング方法。
JP23470294A 1993-11-04 1994-09-29 マルチプロセッサ・システムにおけるタスク・スケジューリング方法 Expired - Fee Related JP3414520B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14810893A 1993-11-04 1993-11-04
US148108 1993-11-04

Publications (2)

Publication Number Publication Date
JPH07182185A JPH07182185A (ja) 1995-07-21
JP3414520B2 true JP3414520B2 (ja) 2003-06-09

Family

ID=22524315

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23470294A Expired - Fee Related JP3414520B2 (ja) 1993-11-04 1994-09-29 マルチプロセッサ・システムにおけるタスク・スケジューリング方法

Country Status (3)

Country Link
US (1) US5437032A (ja)
EP (1) EP0652513A1 (ja)
JP (1) JP3414520B2 (ja)

Families Citing this family (222)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06337729A (ja) * 1993-05-27 1994-12-06 Fujitsu Ltd ネットワークサービスシステム
DK0635784T3 (da) * 1993-07-23 2000-03-27 Siemens Ag Multiprocessorsystem.
CA2131406C (en) * 1993-09-21 2002-11-12 David D'souza 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
US5765146A (en) * 1993-11-04 1998-06-09 International Business Machines Corporation Method of performing a parallel relational database query in a multiprocessor environment
US5742806A (en) * 1994-01-31 1998-04-21 Sun Microsystems, Inc. Apparatus and method for decomposing database queries for database management system including multiprocessor digital data processing system
US6704765B1 (en) * 1994-12-14 2004-03-09 International Business Machines Corporation System for allocating resources among agent processes
US5752031A (en) * 1995-04-24 1998-05-12 Microsoft Corporation Queue object for controlling concurrency in a computer system
JPH08328880A (ja) * 1995-05-31 1996-12-13 Mitsubishi Electric Corp 複数のアプリケーションプログラムを同時に実行できるオペレーティングシステムにおける計算機運転管理システム
US5692174A (en) * 1995-10-05 1997-11-25 International Business Machines Corporation Query parallelism in a shared data DBMS system
US5715457A (en) * 1995-10-06 1998-02-03 Matsushita Electtic Industrial Multiprocessor system for determining assignment of task in view of access time to storage resource
US5864842A (en) * 1995-10-23 1999-01-26 Ncr Corporation Optimization of SQL queries using hash star join operations
US5758345A (en) * 1995-11-08 1998-05-26 International Business Machines Corporation Program and method for establishing a physical database layout on a distributed processor system
JP3842319B2 (ja) * 1995-11-08 2006-11-08 富士通株式会社 情報検索システム
US5946463A (en) * 1996-07-22 1999-08-31 International Business Machines Corporation Method and system for automatically performing an operation on multiple computer systems within a cluster
US6269390B1 (en) * 1996-12-17 2001-07-31 Ncr Corporation Affinity scheduling of data within multi-processor computer systems
US6353844B1 (en) * 1996-12-23 2002-03-05 Silicon Graphics, Inc. Guaranteeing completion times for batch jobs without static partitioning
JPH10240551A (ja) * 1996-12-26 1998-09-11 Canon Inc 情報処理システム及びその方法
US5974438A (en) * 1996-12-31 1999-10-26 Compaq Computer Corporation Scoreboard for cached multi-thread processes
JP3742177B2 (ja) * 1997-02-26 2006-02-01 株式会社日立製作所 並列データベースシステムルーチン実行方法
US6192389B1 (en) 1997-03-28 2001-02-20 International Business Machines Corporation Method and apparatus for transferring file descriptors in a multiprocess, multithreaded client/server system
US5974462A (en) * 1997-03-28 1999-10-26 International Business Machines Corporation Method and apparatus for controlling the number of servers in a client/server system
US6085217A (en) * 1997-03-28 2000-07-04 International Business Machines Corporation Method and apparatus for controlling the assignment of units of work to a workload enclave in a client/server system
US6535878B1 (en) * 1997-05-02 2003-03-18 Roxio, Inc. Method and system for providing on-line interactivity over a server-client network
US5968120A (en) * 1997-05-02 1999-10-19 Olivr Corporation Ltd. Method and system for providing on-line interactivity over a server-client network
AU735024B2 (en) * 1997-07-25 2001-06-28 British Telecommunications Public Limited Company Scheduler for a software system
US6014760A (en) * 1997-09-22 2000-01-11 Hewlett-Packard Company Scheduling method and apparatus for a distributed automated testing system
US6356928B1 (en) * 1997-10-09 2002-03-12 At&T Corp. Method for partitioning tasks into stateless elements
GB2334116A (en) * 1998-02-04 1999-08-11 Ibm Scheduling and dispatching queued client requests within a server computer
US6519763B1 (en) * 1998-03-30 2003-02-11 Compuware Corporation Time management and task completion and prediction software
DE19846274A1 (de) 1998-10-08 2000-04-20 Alcatel Sa Verfahren zur Durchführung von kooperativem Multitasking in einem Nachrichtenübertragungsnetz und Netzelement dafür
WO2000029949A2 (en) * 1998-11-18 2000-05-25 The Johns Hopkins University Enhanced virtual executor
US6477535B1 (en) * 1998-11-25 2002-11-05 Computer Associates Think Inc. Method and apparatus for concurrent DBMS table operations
JP3601677B2 (ja) * 1999-06-09 2004-12-15 日本電気株式会社 タスク処理システム
US20030177182A1 (en) * 1999-06-14 2003-09-18 International Business Machines Corporation Ensuring a given transactional unit of work arrives at an appropriate server instance
US6591287B1 (en) * 1999-09-08 2003-07-08 Lucent Technologies Inc. Method to increase the efficiency of job sequencing from sequential storage
US6754690B2 (en) * 1999-09-16 2004-06-22 Honeywell, Inc. Method for time partitioned application scheduling in a computer operating system
US6587938B1 (en) * 1999-09-28 2003-07-01 International Business Machines Corporation Method, system and program products for managing central processing unit resources of a computing environment
US6694345B1 (en) 1999-10-05 2004-02-17 International Business Machines Corporatioin External job scheduling within a distributed processing system having a local job control system
US6976258B1 (en) 1999-11-30 2005-12-13 Ensim Corporation Providing quality of service guarantees to virtual hosts
US7099855B1 (en) 2000-01-13 2006-08-29 International Business Machines Corporation System and method for electronic communication management
US6546403B1 (en) 2000-01-19 2003-04-08 International Business Machines Corporation Mechanism to resubmit queries in a parallel database system
US6529985B1 (en) * 2000-02-04 2003-03-04 Ensim Corporation Selective interception of system calls
US6711607B1 (en) 2000-02-04 2004-03-23 Ensim Corporation Dynamic scheduling of task streams in a multiple-resource system to ensure task stream quality of service
US6560613B1 (en) 2000-02-08 2003-05-06 Ensim Corporation Disambiguating file descriptors
US6754716B1 (en) 2000-02-11 2004-06-22 Ensim Corporation Restricting communication between network devices on a common network
US7343421B1 (en) * 2000-02-14 2008-03-11 Digital Asset Enterprises Llc Restricting communication of selected processes to a set of specific network addresses
US6948003B1 (en) 2000-03-15 2005-09-20 Ensim Corporation Enabling a service provider to provide intranet services
US6985937B1 (en) 2000-05-11 2006-01-10 Ensim Corporation Dynamically modifying the resources of a virtual server
US6907421B1 (en) 2000-05-16 2005-06-14 Ensim Corporation Regulating file access rates according to file type
US8290768B1 (en) 2000-06-21 2012-10-16 International Business Machines Corporation System and method for determining a set of attributes based on content of communications
US6408277B1 (en) * 2000-06-21 2002-06-18 Banter Limited System and method for automatic task prioritization
US9699129B1 (en) 2000-06-21 2017-07-04 International Business Machines Corporation System and method for increasing email productivity
US7143024B1 (en) 2000-07-07 2006-11-28 Ensim Corporation Associating identifiers with virtual processes
US6909691B1 (en) 2000-08-07 2005-06-21 Ensim Corporation Fairly partitioning resources while limiting the maximum fair share
US6732211B1 (en) 2000-09-18 2004-05-04 Ensim Corporation Intercepting I/O multiplexing operations involving cross-domain file descriptor sets
US7689560B2 (en) 2000-10-13 2010-03-30 Miosoft Corporation Persistent data storage techniques
US7587428B2 (en) * 2000-10-13 2009-09-08 Microsoft Corporation Maintaining a relationship between two different items of data
US20020120716A1 (en) * 2000-12-22 2002-08-29 Balaji Raghunathan Server frame work for a database server
US7219354B1 (en) 2000-12-22 2007-05-15 Ensim Corporation Virtualizing super-user privileges for multiple virtual processes
US7644057B2 (en) 2001-01-03 2010-01-05 International Business Machines Corporation System and method for electronic communication management
US7178145B2 (en) * 2001-06-29 2007-02-13 Emc Corporation Queues for soft affinity code threads and hard affinity code threads for allocation of processors to execute the threads in a multi-processor system
US7111301B1 (en) 2001-10-05 2006-09-19 Lsi Logic Corporation Request and completion queue load balancing
US7349995B2 (en) * 2002-03-07 2008-03-25 Intel Corporation Computing device with scalable logic block to respond to data transfer requests
WO2003081429A1 (fr) * 2002-03-22 2003-10-02 Toyota Jidosha Kabushiki Kaisha Procede et dispositif de gestion de taches, procede et dispositif d'evaluation de fonctionnement et programme devant etre evalue
US7178146B1 (en) * 2002-03-26 2007-02-13 Emc Corporation Pizza scheduler
US20030223428A1 (en) * 2002-05-28 2003-12-04 Blanquer Gonzalez Jose Maria Method and apparatus for scheduling aggregated resources
JP4015898B2 (ja) * 2002-07-26 2007-11-28 松下電器産業株式会社 プログラム実行装置
US7243351B2 (en) * 2002-12-17 2007-07-10 International Business Machines Corporation System and method for task scheduling based upon the classification value and probability
JP4505707B2 (ja) * 2003-02-13 2010-07-21 株式会社白子 血管拡張による肩凝り又は冷え症治療用の医薬組成物
US7389230B1 (en) 2003-04-22 2008-06-17 International Business Machines Corporation System and method for classification of voice signals
US8495002B2 (en) 2003-05-06 2013-07-23 International Business Machines Corporation Software tool for training and testing a knowledge base
US20050187913A1 (en) 2003-05-06 2005-08-25 Yoram Nelken Web-based customer service interface
US7461080B1 (en) 2003-05-09 2008-12-02 Sun Microsystems, Inc. System logging within operating system partitions using log device nodes that are access points to a log driver
US7437556B2 (en) * 2003-05-09 2008-10-14 Sun Microsystems, Inc. Global visibility controls for operating system partitions
US8892878B2 (en) * 2003-05-09 2014-11-18 Oracle America, Inc. Fine-grained privileges in operating system partitions
US7389512B2 (en) * 2003-05-09 2008-06-17 Sun Microsystems, Inc. Interprocess communication within operating system partitions
US7337445B1 (en) 2003-05-09 2008-02-26 Sun Microsystems, Inc. Virtual system console for virtual application environment
US7188120B1 (en) 2003-05-09 2007-03-06 Sun Microsystems, Inc. System statistics virtualization for operating systems partitions
US20040226015A1 (en) * 2003-05-09 2004-11-11 Leonard Ozgur C. Multi-level computing resource scheduling control for operating system partitions
US7594228B2 (en) * 2003-09-23 2009-09-22 Lam Siu H Method and apparatus to perform task scheduling
JP4367167B2 (ja) * 2004-02-18 2009-11-18 日本電気株式会社 リアルタイムシステム、QoS適応制御装置及びそれらに用いるQoS適応制御方法並びにそのプログラム
US7162666B2 (en) * 2004-03-26 2007-01-09 Emc Corporation Multi-processor system having a watchdog for interrupting the multiple processors and deferring preemption until release of spinlocks
JP4325466B2 (ja) * 2004-03-31 2009-09-02 トヨタ自動車株式会社 タスク実行システム
US7739287B1 (en) 2004-06-11 2010-06-15 Seisint, Inc. System and method for dynamically creating keys in a database system
US7873650B1 (en) 2004-06-11 2011-01-18 Seisint, Inc. System and method for distributing data in a parallel processing system
US7406461B1 (en) 2004-06-11 2008-07-29 Seisint, Inc. System and method for processing a request to perform an activity associated with a precompiled query
US7693826B1 (en) 2004-06-11 2010-04-06 Seisint, Inc. System and method for pre-compiling a query and pre-keying a database system
US7797333B1 (en) * 2004-06-11 2010-09-14 Seisint, Inc. System and method for returning results of a query from one or more slave nodes to one or more master nodes of a database system
US7778997B1 (en) * 2004-06-11 2010-08-17 Seisint, Inc. System and method for managing throughput in the processing of query requests in a database system
US7917495B1 (en) 2004-06-11 2011-03-29 Seisint, Inc. System and method for processing query requests in a database system
US7801911B1 (en) 2004-06-11 2010-09-21 Seisint, Inc. System and method for using activity identifications in a database system
US8266234B1 (en) 2004-06-11 2012-09-11 Seisint, Inc. System and method for enhancing system reliability using multiple channels and multicast
US7702627B2 (en) * 2004-06-22 2010-04-20 Oracle International Corporation Efficient interaction among cost-based transformations
US20050283471A1 (en) * 2004-06-22 2005-12-22 Oracle International Corporation Multi-tier query processing
US9600216B2 (en) * 2004-07-22 2017-03-21 Ca, Inc. System and method for managing jobs in heterogeneous environments
US7984443B2 (en) * 2004-07-22 2011-07-19 Computer Associates Think, Inc. System and method for normalizing job properties
US8427667B2 (en) * 2004-07-22 2013-04-23 Ca, Inc. System and method for filtering jobs
US8028285B2 (en) * 2004-07-22 2011-09-27 Computer Associates Think, Inc. Heterogeneous job dashboard
US7886296B2 (en) 2004-07-22 2011-02-08 Computer Associates Think, Inc. System and method for providing alerts for heterogeneous jobs
US7814042B2 (en) * 2004-08-17 2010-10-12 Oracle International Corporation Selecting candidate queries
US8181182B1 (en) 2004-11-16 2012-05-15 Oracle America, Inc. Resource allocation brokering in nested containers
US7421616B2 (en) * 2005-03-09 2008-09-02 International Business Machines Corporation Replicated state machine
US20060212422A1 (en) * 2005-03-21 2006-09-21 Anil Khilani Efficiently executing commands against a large set of servers with near real time feedback of execution and presentation of the output of the commands
US7617189B2 (en) * 2005-09-27 2009-11-10 Oracle International Corporation Parallel query processing techniques for minus and intersect operators
US7814091B2 (en) * 2005-09-27 2010-10-12 Oracle International Corporation Multi-tiered query processing techniques for minus and intersect operators
US8938473B2 (en) 2006-02-23 2015-01-20 Oracle America, Inc. Secure windowing for labeled containers
US7882227B2 (en) 2006-02-23 2011-02-01 Oracle America, Inc. Mechanism for implementing file access control across a network using labeled containers
US7885975B2 (en) 2006-02-23 2011-02-08 Oracle America, Inc. Mechanism for implementing file access control using labeled containers
US8938554B2 (en) 2006-03-02 2015-01-20 Oracle America, Inc. Mechanism for enabling a network address to be shared by multiple labeled containers
US7945562B2 (en) * 2006-03-15 2011-05-17 Oracle International Corporation Join predicate push-down optimizations
US8438572B2 (en) * 2006-03-15 2013-05-07 Freescale Semiconductor, Inc. Task scheduling method and apparatus
US7644062B2 (en) * 2006-03-15 2010-01-05 Oracle International Corporation Join factorization of union/union all queries
US7809713B2 (en) * 2006-03-15 2010-10-05 Oracle International Corporation Efficient search space analysis for join factorization
JP2008084009A (ja) * 2006-09-27 2008-04-10 Toshiba Corp マルチプロセッサシステム
US8212805B1 (en) 2007-01-05 2012-07-03 Kenneth Banschick System and method for parametric display of modular aesthetic designs
US8930331B2 (en) 2007-02-21 2015-01-06 Palantir Technologies Providing unique views of data based on changes or rules
US20090025004A1 (en) * 2007-07-16 2009-01-22 Microsoft Corporation Scheduling by Growing and Shrinking Resource Allocation
US8438152B2 (en) * 2007-10-29 2013-05-07 Oracle International Corporation Techniques for bushy tree execution plans for snowstorm schema
US9165032B2 (en) * 2007-11-21 2015-10-20 Hewlett-Packard Development Company, L.P. Allocation of resources for concurrent query execution via adaptive segmentation
JP4466739B2 (ja) * 2008-01-15 2010-05-26 コニカミノルタビジネステクノロジーズ株式会社 画像形成装置
US8230428B2 (en) * 2008-02-20 2012-07-24 International Business Machines Corporation Data management job planning and scheduling with finish time guarantee
US20100064291A1 (en) * 2008-09-05 2010-03-11 Nvidia Corporation System and Method for Reducing Execution Divergence in Parallel Processing Architectures
US9348499B2 (en) 2008-09-15 2016-05-24 Palantir Technologies, Inc. Sharing objects that rely on local resources with outside servers
US9069613B2 (en) * 2008-09-30 2015-06-30 Hewlett-Packard Development Company, L.P. Processing batch database workload while avoiding overload
CN102004670B (zh) * 2009-12-17 2012-12-05 华中科技大学 一种基于MapReduce的自适应作业调度方法
US9547528B1 (en) 2010-03-29 2017-01-17 EMC IP Holding Company LLC Pizza scheduler
US8973000B2 (en) 2010-05-11 2015-03-03 Hewlett-Packard Development Company, L.P. Determining multiprogramming levels
GB2485019B (en) * 2010-08-27 2013-08-14 Mark Henrik Sandstrom Application load adaptive processing resource allocation
US9069610B2 (en) * 2010-10-13 2015-06-30 Microsoft Technology Licensing, Llc Compute cluster with balanced resources
US9043799B1 (en) 2010-12-30 2015-05-26 Iqnavigator, Inc. Managing access to a shared resource by tracking active requestor job requests
US8566831B2 (en) * 2011-01-26 2013-10-22 International Business Machines Corporation Execution of work units in a heterogeneous computing environment
US8533720B2 (en) 2011-02-25 2013-09-10 International Business Machines Corporation Offloading work from one type to another type of processor based on the count of each type of service call instructions in the work unit
WO2012124077A1 (ja) * 2011-03-16 2012-09-20 富士通株式会社 マルチコアプロセッサシステムおよびスケジューリング方法
US9158592B2 (en) 2011-05-02 2015-10-13 Green Hills Software, Inc. System and method for time variant scheduling of affinity groups comprising processor core and address spaces on a synchronized multicore processor
US9547693B1 (en) 2011-06-23 2017-01-17 Palantir Technologies Inc. Periodic database search manager for multiple data sources
US8799240B2 (en) 2011-06-23 2014-08-05 Palantir Technologies, Inc. System and method for investigating large amounts of data
US9092482B2 (en) 2013-03-14 2015-07-28 Palantir Technologies, Inc. Fair scheduling for mixed-query loads
US9575903B2 (en) 2011-08-04 2017-02-21 Elwha Llc Security perimeter
US8930714B2 (en) 2011-07-19 2015-01-06 Elwha Llc Encrypted memory
US9098608B2 (en) * 2011-10-28 2015-08-04 Elwha Llc Processor configured to allocate resources using an entitlement vector
US9170843B2 (en) * 2011-09-24 2015-10-27 Elwha Llc Data handling apparatus adapted for scheduling operations according to resource allocation based on entitlement
US8813085B2 (en) * 2011-07-19 2014-08-19 Elwha Llc Scheduling threads based on priority utilizing entitlement vectors, weight and usage level
US9298918B2 (en) 2011-11-30 2016-03-29 Elwha Llc Taint injection and tracking
US9465657B2 (en) * 2011-07-19 2016-10-11 Elwha Llc Entitlement vector for library usage in managing resource allocation and scheduling based on usage and priority
US8955111B2 (en) 2011-09-24 2015-02-10 Elwha Llc Instruction set adapted for security risk monitoring
US9460290B2 (en) 2011-07-19 2016-10-04 Elwha Llc Conditional security response using taint vector monitoring
US9798873B2 (en) 2011-08-04 2017-10-24 Elwha Llc Processor operable to ensure code integrity
US9471373B2 (en) 2011-09-24 2016-10-18 Elwha Llc Entitlement vector for library usage in managing resource allocation and scheduling based on usage and priority
US9558034B2 (en) 2011-07-19 2017-01-31 Elwha Llc Entitlement vector for managing resource allocation
US9443085B2 (en) 2011-07-19 2016-09-13 Elwha Llc Intrusion detection using taint accumulation
US9280532B2 (en) 2011-08-02 2016-03-08 Palantir Technologies, Inc. System and method for accessing rich objects via spreadsheets
US8732574B2 (en) 2011-08-25 2014-05-20 Palantir Technologies, Inc. System and method for parameterizing documents for automatic workflow generation
US8504542B2 (en) 2011-09-02 2013-08-06 Palantir Technologies, Inc. Multi-row transactions
TWI497419B (zh) * 2011-10-20 2015-08-21 Via Tech Inc 電腦裝置及其中斷任務分配方法
US8869148B2 (en) * 2012-09-21 2014-10-21 International Business Machines Corporation Concurrency identification for processing of multistage workflows
US9348677B2 (en) 2012-10-22 2016-05-24 Palantir Technologies Inc. System and method for batch evaluation programs
US9400682B2 (en) * 2012-12-06 2016-07-26 Hewlett Packard Enterprise Development Lp Ranking and scheduling of monitoring tasks
US8909656B2 (en) 2013-03-15 2014-12-09 Palantir Technologies Inc. Filter chains with associated multipath views for exploring large data sets
US8868486B2 (en) 2013-03-15 2014-10-21 Palantir Technologies Inc. Time-sensitive cube
US9116975B2 (en) 2013-10-18 2015-08-25 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive simultaneous querying of multiple data stores
US9105000B1 (en) 2013-12-10 2015-08-11 Palantir Technologies Inc. Aggregating data from a plurality of data sources
US9870390B2 (en) 2014-02-18 2018-01-16 Oracle International Corporation Selecting from OR-expansion states of a query
US8924429B1 (en) 2014-03-18 2014-12-30 Palantir Technologies Inc. Determining and extracting changed data from a data source
US9535974B1 (en) 2014-06-30 2017-01-03 Palantir Technologies Inc. Systems and methods for identifying key phrase clusters within documents
US9619557B2 (en) 2014-06-30 2017-04-11 Palantir Technologies, Inc. Systems and methods for key phrase characterization of documents
US9419992B2 (en) 2014-08-13 2016-08-16 Palantir Technologies Inc. Unwanted tunneling alert system
US9454281B2 (en) 2014-09-03 2016-09-27 Palantir Technologies Inc. System for providing dynamic linked panels in user interface
US20160078393A1 (en) * 2014-09-17 2016-03-17 David Michonski Method and system for automating the accountability of service professionals via consumer education and rating
US9229952B1 (en) 2014-11-05 2016-01-05 Palantir Technologies, Inc. History preserving data pipeline system and method
US10552994B2 (en) 2014-12-22 2020-02-04 Palantir Technologies Inc. Systems and interactive user interfaces for dynamic retrieval, analysis, and triage of data items
US9348920B1 (en) 2014-12-22 2016-05-24 Palantir Technologies Inc. Concept indexing among database of documents using machine learning techniques
US10452651B1 (en) 2014-12-23 2019-10-22 Palantir Technologies Inc. Searching charts
US9817563B1 (en) 2014-12-29 2017-11-14 Palantir Technologies Inc. System and method of generating data points from one or more data stores of data items for chart creation and manipulation
US10585887B2 (en) 2015-03-30 2020-03-10 Oracle International Corporation Multi-system query execution plan
US11580472B2 (en) 2015-05-14 2023-02-14 Palantir Technologies Inc. Systems and methods for state machine management
US9672257B2 (en) 2015-06-05 2017-06-06 Palantir Technologies Inc. Time-series data storage and processing database system
US9384203B1 (en) 2015-06-09 2016-07-05 Palantir Technologies Inc. Systems and methods for indexing and aggregating data records
US9407652B1 (en) 2015-06-26 2016-08-02 Palantir Technologies Inc. Network anomaly detection
US9996595B2 (en) 2015-08-03 2018-06-12 Palantir Technologies, Inc. Providing full data provenance visualization for versioned datasets
US9537880B1 (en) 2015-08-19 2017-01-03 Palantir Technologies Inc. Anomalous network monitoring, user behavior detection and database system
US9454564B1 (en) 2015-09-09 2016-09-27 Palantir Technologies Inc. Data integrity checks
US9576015B1 (en) 2015-09-09 2017-02-21 Palantir Technologies, Inc. Domain-specific language for dataset transformations
US10044745B1 (en) 2015-10-12 2018-08-07 Palantir Technologies, Inc. Systems for computer network security risk assessment including user compromise analysis associated with a network of devices
US9798787B1 (en) 2015-12-10 2017-10-24 Palantir Technologies Inc. System and user interfaces for searching resources and related documents using data structures
US9542446B1 (en) 2015-12-17 2017-01-10 Palantir Technologies, Inc. Automatic generation of composite datasets based on hierarchical fields
US10726032B2 (en) 2015-12-30 2020-07-28 Palantir Technologies, Inc. Systems and methods for search template generation
US10380522B1 (en) 2015-12-31 2019-08-13 Palantir Technologies Inc. Asset allocation evaluation system
US10832218B1 (en) 2016-04-05 2020-11-10 Palantir Technologies Inc. User interface for visualization of an attrition value
US9753935B1 (en) 2016-08-02 2017-09-05 Palantir Technologies Inc. Time-series data storage and processing database system
US10133588B1 (en) 2016-10-20 2018-11-20 Palantir Technologies Inc. Transforming instructions for collaborative updates
US9805071B1 (en) 2016-11-10 2017-10-31 Palantir Technologies Inc. System and methods for live data migration
US10318630B1 (en) 2016-11-21 2019-06-11 Palantir Technologies Inc. Analysis of large bodies of textual data
US10592280B2 (en) * 2016-11-23 2020-03-17 Amazon Technologies, Inc. Resource allocation and scheduling for batch jobs
US10884875B2 (en) 2016-12-15 2021-01-05 Palantir Technologies Inc. Incremental backup of computer data files
GB201621627D0 (en) 2016-12-19 2017-02-01 Palantir Technologies Inc Task allocation
US10223099B2 (en) 2016-12-21 2019-03-05 Palantir Technologies Inc. Systems and methods for peer-to-peer build sharing
US10896097B1 (en) 2017-05-25 2021-01-19 Palantir Technologies Inc. Approaches for backup and restoration of integrated databases
GB201708818D0 (en) 2017-06-02 2017-07-19 Palantir Technologies Inc Systems and methods for retrieving and processing data
US10530642B1 (en) 2017-06-07 2020-01-07 Palantir Technologies Inc. Remote configuration of a machine
US10956406B2 (en) 2017-06-12 2021-03-23 Palantir Technologies Inc. Propagated deletion of database records and derived data
US10176217B1 (en) 2017-07-06 2019-01-08 Palantir Technologies, Inc. Dynamically performing data processing in a data pipeline system
US10839022B1 (en) 2017-07-24 2020-11-17 Palantir Technologies Inc. System to manage document workflows
US10218574B1 (en) 2017-07-26 2019-02-26 Palantir Technologies Inc. Detecting software misconfiguration at a remote machine
US11334552B2 (en) 2017-07-31 2022-05-17 Palantir Technologies Inc. Lightweight redundancy tool for performing transactions
US10324759B1 (en) 2017-08-03 2019-06-18 Palantir Technologies Inc. Apparatus and method of securely and efficiently interfacing with a cloud computing service
US10417224B2 (en) 2017-08-14 2019-09-17 Palantir Technologies Inc. Time series database processing system
US10216695B1 (en) 2017-09-21 2019-02-26 Palantir Technologies Inc. Database system for time series data storage, processing, and analysis
US11281726B2 (en) 2017-12-01 2022-03-22 Palantir Technologies Inc. System and methods for faster processor comparisons of visual graph features
US10614069B2 (en) 2017-12-01 2020-04-07 Palantir Technologies Inc. Workflow driven database partitioning
US11016986B2 (en) 2017-12-04 2021-05-25 Palantir Technologies Inc. Query-based time-series data display and processing system
US10754822B1 (en) 2018-04-18 2020-08-25 Palantir Technologies Inc. Systems and methods for ontology migration
US11194800B2 (en) * 2018-04-26 2021-12-07 Microsoft Technology Licensing, Llc Parallel search in program synthesis
US10698737B2 (en) * 2018-04-26 2020-06-30 Hewlett Packard Enterprise Development Lp Interoperable neural network operation scheduler
GB201807534D0 (en) 2018-05-09 2018-06-20 Palantir Technologies Inc Systems and methods for indexing and searching
CN111026518B (zh) * 2018-10-10 2022-12-02 上海寒武纪信息科技有限公司 任务调度方法
US11704155B2 (en) 2020-07-01 2023-07-18 International Business Machine Corporation Heterogeneous system on a chip scheduler
US11740933B2 (en) 2020-07-01 2023-08-29 International Business Machines Corporation Heterogeneous system on a chip scheduler with learning agent
US11922161B2 (en) 2022-03-07 2024-03-05 Bank Of America Corporation Scheduling a pausable automated process in a computer network
US12026501B2 (en) 2022-03-07 2024-07-02 Bank Of America Corporation Automated process and system update scheduling in a computer network
US11792135B2 (en) 2022-03-07 2023-10-17 Bank Of America Corporation Automated process scheduling in a computer network
WO2023237205A1 (de) * 2022-06-09 2023-12-14 Siemens Ag Österreich Computer-implementiertes verfahren und system zur anomalie-erkennung beim betrieb eines technischen geräts

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3648253A (en) * 1969-12-10 1972-03-07 Ibm Program scheduler for processing systems
US4318173A (en) * 1980-02-05 1982-03-02 The Bendix Corporation Scheduler for a multiple computer system
EP0052713B1 (en) * 1980-11-20 1988-04-27 International Business Machines Corporation A process management system for scheduling work requests in a data processing system
US4800521A (en) * 1982-09-21 1989-01-24 Xerox Corporation Task control manager
US4633387A (en) * 1983-02-25 1986-12-30 International Business Machines Corporation Load balancing in a multiunit system
JPS6073746A (ja) * 1983-09-30 1985-04-25 Hitachi Ltd 情報処理システムおよびプロセス実行制御方式
US4638427A (en) * 1984-04-16 1987-01-20 International Business Machines Corporation Performance evaluation for an asymmetric multiprocessor system
US4658351A (en) * 1984-10-09 1987-04-14 Wang Laboratories, Inc. Task control means for a multi-tasking data processing system
US4989133A (en) * 1984-11-30 1991-01-29 Inmos Limited System for executing, scheduling, and selectively linking time dependent processes based upon scheduling time thereof
US4642756A (en) * 1985-03-15 1987-02-10 S & H Computer Systems, Inc. Method and apparatus for scheduling the execution of multiple processing tasks in a computer system
JPS61253572A (ja) * 1985-05-02 1986-11-11 Hitachi Ltd 疎結合マルチプロセツサ・システムの負荷配分方式
US4809157A (en) * 1985-09-30 1989-02-28 International Business Machines Corp. Dynamic assignment of affinity for vector tasks
JPS62279433A (ja) * 1986-05-28 1987-12-04 Nec Corp 動的タスク変更方式
JPS6345670A (ja) * 1986-08-13 1988-02-26 Hitachi Ltd プロセツサ間同期装置
DE3741953A1 (de) * 1986-12-19 1988-06-30 Nippon Telegraph & Telephone Multiprozessorsystem und verfahren zur arbeitslastverteilung bei einem solchen
US5241677A (en) * 1986-12-19 1993-08-31 Nippon Telepgraph and Telehone Corporation Multiprocessor system and a method of load balancing thereof
EP0272836B1 (en) * 1986-12-22 1994-03-02 AT&T Corp. Controlled dynamic load balancing for a multiprocessor system
US4805107A (en) * 1987-04-15 1989-02-14 Allied-Signal Inc. Task scheduler for a fault tolerant multiple node processing system
EP0346039A2 (en) * 1988-06-06 1989-12-13 Demax Software, Inc Dynamic load balancing for multi-user computers
US5155858A (en) * 1988-10-27 1992-10-13 At&T Bell Laboratories Twin-threshold load-sharing system with each processor in a multiprocessor ring adjusting its own assigned task list based on workload threshold
US5121494A (en) * 1989-10-05 1992-06-09 Ibm Corporation Joining two database relations on a common field in a parallel relational database field
EP0426323B1 (en) * 1989-10-31 1996-01-10 Hewlett-Packard Company Portable, resource sharing file server using co-routines
US5283897A (en) * 1990-04-30 1994-02-01 International Business Machines Corporation Semi-dynamic load balancer for periodically reassigning new transactions of a transaction type from an overload processor to an under-utilized processor based on the predicted load thereof
US5109512A (en) * 1990-05-31 1992-04-28 International Business Machines Corporation Process for dispatching tasks among multiple information processors
US5247687A (en) * 1990-08-31 1993-09-21 International Business Machines Corp. Method and apparatus for determining and using program paging characteristics to optimize system productive cpu time
US5220653A (en) * 1990-10-26 1993-06-15 International Business Machines Corporation Scheduling input/output operations in multitasking systems
JP2986930B2 (ja) * 1991-01-29 1999-12-06 株式会社東芝 対称型マルチプロセッサのタスクスケジューリング方式
US5640563A (en) * 1992-01-31 1997-06-17 International Business Machines Corporation Multi-media computer operating system and method

Also Published As

Publication number Publication date
EP0652513A1 (en) 1995-05-10
US5437032A (en) 1995-07-25
JPH07182185A (ja) 1995-07-21

Similar Documents

Publication Publication Date Title
JP3414520B2 (ja) マルチプロセッサ・システムにおけるタスク・スケジューリング方法
Abbott et al. Scheduling real-time transactions: A performance evaluation
US9015146B2 (en) Managing access to data in a multi-temperature database
Ulusoy et al. Real-time transaction scheduling in database systems
US6269391B1 (en) Multi-processor scheduling kernel
Carey et al. Priority in DBMS resource scheduling
US5745747A (en) Method and system of lock request management in a data processing system having multiple processes per transaction
Kao et al. An overview of real-time database systems
US6496823B2 (en) Apportioning a work unit to execute in parallel in a heterogeneous environment
US5745778A (en) Apparatus and method for improved CPU affinity in a multiprocessor system
US7093250B1 (en) Priority scheduler for database access
US5333319A (en) Virtual storage data processor with enhanced dispatching priority allocation of CPU resources
US5987492A (en) Method and apparatus for processor sharing
US7650601B2 (en) Operating system kernel-assisted, self-balanced, access-protected library framework in a run-to-completion multi-processor environment
US5325526A (en) Task scheduling in a multicomputer system
US6904483B2 (en) System and method for priority inheritance
JP3689336B2 (ja) データベースにおける並行したトランザクションのストリームを調停するための方法およびシステム
US7890482B2 (en) System for controlling concurrent access to data in a database system
Mehta et al. Dynamic memory allocation for multiple-query workloads
KR980010840A (ko) 자원 관리를 위한 컴퓨터 구현 방법, 컴퓨터 판독 가능 매체 및 컴퓨터 시스템
Ulusoy Research issues in real-time database systems: survey paper
US7007150B2 (en) Memory balancing and optimization services
US20210089534A1 (en) System and method for dynamically reallocating resources among multiple task groups in a database system
Bestavros et al. Value-cognizant admission control for RTDB systems
Shih et al. Performance evaluation of a firm real-time database system

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080404

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees