JP2002509629A - 離散イベントシミュレーションを分散するシステムアーキテクチャ - Google Patents

離散イベントシミュレーションを分散するシステムアーキテクチャ

Info

Publication number
JP2002509629A
JP2002509629A JP50733699A JP50733699A JP2002509629A JP 2002509629 A JP2002509629 A JP 2002509629A JP 50733699 A JP50733699 A JP 50733699A JP 50733699 A JP50733699 A JP 50733699A JP 2002509629 A JP2002509629 A JP 2002509629A
Authority
JP
Japan
Prior art keywords
event
events
head
list
calculated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP50733699A
Other languages
English (en)
Inventor
コーエン,アレイン.
Original Assignee
オプネット テクノロジーズ インコーポレイテッド
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 オプネット テクノロジーズ インコーポレイテッド filed Critical オプネット テクノロジーズ インコーポレイテッド
Publication of JP2002509629A publication Critical patent/JP2002509629A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

(57)【要約】 離散イベントシミュレーションを実行する方法、装置、およびコンピュータ読取り可能媒体は、イベントを含むイベントリストを使用する。イベントリストでは、1つのイベントがヘッドイベントとして示され、各イベントは未計算イベント、計算済みイベント、または計算中イベントとして示される。未計算イベントは、選択され、少なくとも1つのイベント事前計算プロセスのうちの1つに転送される。イベント事前計算プロセスは、選択された未計算イベントの計算を行う。未計算ヘッドイベントは実行され、計算済みヘッドイベントは検証される。

Description

【発明の詳細な説明】 離散イベントシミュレーションを分散するシステムアーキテクチャ 関連出願の相互参照 本出願は、1997年7月1日に出願され、参照により関連付けられる米国仮 特許出願第60/052,778号の特典として特許請求する。 発明の分野 本発明は、全般的には離散イベントシミュレーション(DES)および並列処 理に関する。 発明の背景 DESの一般的なモデルについて説明するが、特定のシミュレーションアプリ ケーション・ドメインを対象とするわけではない。DESをそのオブジェクトお よびイベント、イベント入力およびイベント出力、時間およびイベントの実行に 関して論じる。 オブジェクトおよびイベント DESは、指定されたシステムのふるまいを状態変化のシーケンスに分解する ことによって、このふるまいを予測または再現することを試みる。システムの各 状態変化と、状態変化が起こる可能性のある各瞬間とを「イベント」と呼ぶ。 一般に、シミュレートされるシステムは、「オブジェクト」と呼ばれるシステ ム要素の集合からなる。オブジェクトは、静的エンティティ(永久的であり定義 済みである)でも、あるいは動的エンティティ(必要に応じて作成され破壊され る)でもよい。各オブジェクトはそれ自体のプライベートな状態を維持すること ができる。これを「オブジェクトローカル状態」と呼ぶ。また、システムは、特 定のオブジェクトに属しない状態を有することができる。これを「システムグロ ーバル状態」と呼ぶ。 一般的に言えば、イベントは通常、特定のオブジェクトに関連付けられる。特 にDESアプリケーションで、複数のオブジェクトに関連付けられた単一のイベ ントを有することが可能である場合、このようなイベントを個々のオブジェクト に関する一連のイベントに分解することによって、このシステムを一般的なモデ ルに変換することができる。また、特定のオブジェクトに関連付けられないイベ ントを有することが可能である場合、そのようなイベントの受容体となる特殊な 「グローバルオブジェクト」が作成される。したがって、DESの一般的なモデ ルの下では、イベントに応答して1つのオブジェクトのみが「アクティブ」にな るとみなされる。このオブジェクトを「アクティブオブジェクト」と呼ぶ。 イベント入力およびイベント出力 イベントの間、システムの新しい状態がDESの状態のあるサブセットの関数 として算出される。この新しい状態をイベントの「入力」と呼ぶ。イベントは単 一のオブジェクトに関連付けられるが、イベントの計算が行われている間にシス テムの状態の任意の部分を調べることができる。この任意の部分には、表1に示 すように、このオブジェクトおよびその他のオブジェクトのオブジェクトローカ ル状態と、システムグローバル状態およびその他の情報が含まれる。 用語「イベントの詳細」は、生じるイベントを記述した情報の集合を指す。イ ベントの詳細には、たとえば、イベントと共に「供給される」データを含めるこ とができ、あるいはイベントの詳細はイベント自体の性質を表わすことができる 。因果関係を有するDESのみが考慮されることに留意されたい。このことは、 将来のイベントに含まれる情報ではイベント計算に影響を及ぼすことができず、 し たがって、将来のイベントの詳細は、イベント入力として許容されないことを意 味する。 イベントの間に、システムの状態はいくつかの方法で変化する。変化のプライ マリーエージェントはアクティブオブジェクトであり、アクティブオブジェクト は「アクション」を実行することができる。また、オブジェクトおよびシミュレ ーショングローバル状態を管理するDESの部分も同様に状態変化を生じさせる ことができる。DESのこれらの部分を集合的に「シミュレーションカーネル」 と呼ぶ。シミュレーションカーネルは基本的にDESのインフラストラクチャで あり、通常、シミュレートされている特定のシステムに特有のものではない。た だし、専用シミュレーションの場合は特定のシステムに特有のものでよい。 すべてのシステム状態変化を「イベント出力」と呼ぶ。イベント出力のリスト を表2に与える。これらのイベント出力は基本的に、イベントを実行した場合の 有意の結果である。将来行われる新しいイベントの挿入および削除がイベント出 力とみなされることに留意されたい。新しいイベントの挿入は、DESに新しい 仕事を与え、それによってDESが将来も引き続き実行することを可能にするメ カニズムである。将来のイベントの集合は、それがすべてのDESのコア状態要 素であるので、システムグローバル状態の特殊なサブセットと考えられると明確 に言える。 時間およびイベントの実行 DES内のイベントは、「イベントリスト」と呼ばれる構造に格納される。イ ベントリストは外部的には、イベントがシーケンスE[0]、E[1]、... E[n]を形成するという意味でリストとして働く。しかし、実際の基本的なイ ンプリメンテーションは、効率を向上させるためにより複雑なデータ構造に依存 することができる。イベントが起こるかあるいは「実行される」ことが予定され たシミュレーション時間がイベントにタグ付けされ、イベントは、単調増加する シミュレーション時間の順にイベントリストから抽出することができる。概念的 には、イベントリストは表3に類似している。 シミュレーションの開始時には、イベントリストに特殊な「初期イベント」が 挿入される。イベントが実行されるにつれて、アクティブオブジェクトは、0個 、1個、あるいはそれよりも多くの追加のイベントをイベントリストに挿入させ るか、あるいは「スケジューリングさせる」ことができる。アクティブオブジェ クトは、現在のイベントとまったく同じシミュレーション時間の特殊な場合を含 め、将来の任意の時間に新しいイベントをスケジューリングすることができる。 1つのイベントしか残っておらず、このイベントが追加のイベントを生成しな い場合、イベントリストが空になることが可能である。これは、DESを終了さ せるいくつかの条件のうちの1つである。 シミュレーション時間は、現在実行されているイベントの時間として定義され る。したがって、図1の時間軸上に示すように、シミュレーション時間は、シミ ュレーション全体にわたって通常は不規則な間隔で「ジャンプ」する。いくつか のDESは、「時間ステップ」と呼ばれる範疇に分類され、「時間ステップ」は 、すべてのイベントが時間軸上で均等に分離されることを意味する(すなわち、 E[n+1]−E[n]が一定である)。これは、イベント同士の間の任意の間 隔を許容する前述のより一般的な「イベントスケジューリング」手法の特殊な場 合に過ぎない。 DES内のイベントは従来、順次に実行される。DESを実行する従来型のア ーキテクチャは、イベントへのリスト式アクセスを実現する構造の中でイベント を維持する。イベントは、実行される場合にリストから一度に1つずつ削除され る。このイベントが完了するまで、すべての利用可能な計算資源がこのイベント の計算に使用され、完了した時点で、次のイベントの処理を開始することができ る。イベントは通常、新しい実行を開始する時間になったときに最も早いイベン トへの定時アクセスを可能にするように順序付けられた状態に維持される。この ような従来型のシステムを「逐次イベント実行」(SEE)DESと呼ぶ。この ような従来型のシステムにおける有意の計算源を表4にリストする。 表4の定義が与えられた場合、SEE DESでイベントを完全に処理するた めに必要な平均時間は、 X=d+c+(n・i) で表わされ、上式で、dは平均dであり、cは平均cであり、nは平均nであり 、 iは平均iである。 定常常態では、イベントリストが安定なサイズを有するので、各イベントの間 にイベントリストに挿入される新しいイベントの平均数は1である。したがって 、Xはd、c、およびiの単純な和になる。リストを順序付けることができるの で、dは基本的に、リストのヘッドイベントを削除し、このヘッドイベント用の 適切なハンドラを呼び出すのに必要な非常に短い一定の時間である。さらに、c は主として、シミュレートされているイベントの複雑さに依存し、特定の種類の シミュレーション問題に関して所与の値であると仮定することができる。 さらに、iは、イベントリスト構造での順序付けられた配置を必要とするので、 イベントリストを管理するために使用されるストラティジー(strategy) の関数である。 dおよびiの最適化は単純な問題であり、これらの変数に関しては大部分の従 来型のDESが効率的である。したがって、シミュレーション実行時間を改善す るには、cを短縮することに注目しなければならない。cを短縮する場合、プロ グラマはイベントの計算をできるだけ効率的に実施しなければならない。イベン トの計算をできるだけ効率的に行った後で、SEEパラダイムの下でシミュレー ションを加速するためにできることは、より高速のプロセッサを使用することを 除いてほとんどない。 したがって、所与の問題領域内および所与のプロセッサ上で、SEE DES はそのイベントスループットに対する固有の限界を有する。さらなる向上を図る には、イベントスループットを増大しなければならない。一般に、SEEのすべ ての代替形態は、同時処理、すなわち、複数のイベントを複数のプロセッサに分 散することによってそれらのイベントを並行して処理することに依存する。これ を行うためにいくつかの手法が提案されており、実験または商業製品として実施 されている。各手法は利点を有し、したがって特定の種類のシミュレーション問 題に適用できるが、これらの手法のうちで、一般的な場合にイベントスループッ トを大幅に増大することのできる手法はなく、各手法は、インプリメンテーショ ンおよび実行面で欠点および難点を有する。発明の概要 本発明の目的は、単一のイベントリストを使用してDESのイベントスループ ットを増大することである。 本発明の他の目的は、特定のコンピュータハードウェアインプリメンテーショ ンと共に使用できる並列シミュレーションを実施するアーキテクチャを提供する ことである。 本発明の他の目的は、複数のプロセッサを並行して使用することによってDE Sの実行を加速する技法を提供することである。 本発明の他の目的は、シミュレーションプログラマまたはユーザがDESの基 本的なイベント処理アーキテクチャを意識しないDESを提供することである。 たとえば、シミュレーションプログラマまたはユーザは、利用可能なプロセッサ に小部分を割り付けるにはDESシステムを物理的にどのように区画すればよい かを考える必要がなくなる。その代わり、本発明は、追加のプロセッサを利用す るように自動的にスケーリングし、1つのプロセッサしか利用できないときには 従来型のDESになる。 本発明は、方法、コンピュータシステムを備える装置、およびコンピュータプ ログラムを実現するコンピュータ読取り可能媒体を含むがこれらに限らない、い くつかの方法で実現することができる。 方法で実現される本発明は、ヘッドイベントを有する離散イベントシミュレー ション用のイベントリストを維持すること、ヘッドイベントが未計算であるか、 それとも計算中であるか、あるいはそれとも計算済みであるかを判定することを 含む、離散イベントシミュレーションのイベントスループットを増大する方法を 含む。ヘッドイベントは、未計算であると判定された場合には実行される。ヘッ ドイベントは、計算中であると判定された場合には、このヘッドイベントの計算 が完了したときに計算済みとして示される。ヘッドイベントが計算済みであると 判定された場合には、このヘッドイベントの計算が有効であるか、それとも無効 であるかが判定される。ヘッドイベントの計算が有効であると判定された場合は 、このヘッドイベントの計算が適用され、ヘッドイベントの計算が無効であると 判定された場合は、ヘッドイベントが実行される。 方法の場合、離散イベントシミュレーションは現在のシステム状態を有し、ヘ ッドイベントの計算を適用することは、ヘッドイベントの計算に基づいて現在の システム状態を変更することを含む。さらに、ヘッドイベントの計算が有効であ るか、それとも無効であるかの判定では、入力不変性を使用することができる。 さらにイベントリストは、イベントの順序付けられた集合でよい。また、イベン トリストは、複数のイベントと、未計算イベントとして示された少なくとも1つ のイベントとを含み、この方法はさらに、イベントリストから未計算イベントを 選択すること、および未計算イベントの計算を実行することを含む。 他の方法で実現される本発明は、複数のイベントと、未計算イベントとして示 された少なくとも1つのイベントとを有する離散イベントシミュレーション用の イベントリストを維持すること、未計算イベントとして示されたイベントをイベ ントリストから選択すること、選択されたイベントをイベント事前計算プロセス に割り当てること、イベントリスト内の選択されたイベントを計算中イベントと して示すこと、イベント事前計算プロセスを使用して、選択されたイベントの計 算を行うこと、イベント事前計算プロセスから計算を受け取ること、イベントリ スト内の選択されたイベントを計算済みイベントとして示すことを含む、離散イ ベントシミュレーションのイベントスループットを増大する方法を含む。 この方法では、イベント事前計算プロセスを使用して選択されたイベントの計 算を行うことは、イベント事前計算プロセスにイベント入力を与えること、選択 されたイベントおよびイベント入力に基づいてシステム状態の変化を判定するこ とを含む。イベント事前計算プロセスから計算を受け取ることは、イベント入力 とシステム状態の変化とをイベント事前計算プロセスから受け取ることを含み、 イベントリスト内の選択されたイベントを計算済みイベントとして示すことは、 イベント入力とシステム状態の変化とを選択されたイベントに関連付けることを 含む。 さらに、この方法はさらに、選択されたイベントをイベントリスト内の計算済 みヘッドイベントとして示すこと、およびヘッドイベントに関連するイベント入 力と現在のシステム状態を比較することによって、ヘッドイベントを検証し、ヘ ッドイベントが有効であるか、それとも無効であるかを判定することを含む。ヘ ッドイベントが有効である場合、ヘッドイベントに関連するシステム状態の変化 を使用して現在のシステム状態を更新することによってヘッドイベントの計算が 適用される。 他の方法で実現される本発明は、計算済みイベントとして示された複数のイベ ントを有する離散イベントシミュレーション用のイベントリストを維持すること 、計算済みイベントとして示された複数のイベントをイベントリストから選択す ること、および選択されたイベントが有効であるか、それとも無効であるかを判 定することを含む、離散イベントシミュレーションのイベントスループットを増 大する方法を含む。選択されたイベントが無効である場合、この選択されたイベ ントがイベント事前計算プロセスに割り当てられ、イベントリスト内のこの選択 されたイベントが計算中イベントとして示され、イベント計算プロセスを使用し て、選択されたイベントの計算が行われ、イベント事前計算プロセスからこの計 算が受け取られ、イベントリスト内のこの選択されたイベントが計算済みイベン トとして示される。 装置で実現される本発明は、1つのイベントがヘッドイベントとして示され、 各イベントが未計算イベント、計算中イベント、または計算済みイベントとして 示される複数のイベントを含むイベントリストを維持する手段と、未計算イベン トの計算を行う少なくとも1つのイベント事前計算プロセスを実行する手段と、 未計算イベントを選択し、この未計算イベントを1つのイベント事前計算プロセ スに転送する手段と、未計算イベントを実行し計算済みイベントを検証する手段 とを備える、離散イベントシミュレーションを実行するコンピュータシステムを 備える。 この装置では、少なくとも1つのプロセッサは、イベントリストを維持する手 段と、未計算イベントを選択しこの未計算イベントを転送する手段と、未計算イ ベントを実行し計算済みイベントを検証する手段とを実装することができる。さ らに、複数のプロセッサが、未計算イベントの計算を行う手段を実装することが できる。 本発明では、コンピュータシステムは、ネットワークと介して接続された1つ または複数のコンピュータを備える。さらに、コンピュータシステム内の各コン ピュータは、1つまたは複数のプロセッサを有することができる。 製造品で実現される本発明は、離散イベントシミュレーションを実行するコー ドセグメントを実現するコンピュータ読取り可能媒体を備える。コードセグメン トは、各イベントが未計算イベント、計算中イベント、または計算済みイベント として示される、ヘッドイベントを含む複数のイベントを含むイベントリストを 維持するコードセグメントと、未計算イベントの計算を行う少なくとも1つのイ ベント事前計算プロセスのそれぞれ用のコードセグメントと、イベントリストを スキャンし、未計算イベントを選択し、1つのイベント事前計算プロセスにこの 未計算イベントを割り当て、イベント事前計算プロセス用のコードセグメントに 従って計算を行わせるイベントリストスキャンプロセス用のコードセグメントと 、未計算イベントを実行し計算済みイベントを検証するイベントリストマネージ ャ用のコードセグメントとを備える。 本発明では、コンピュータプログラムを実現するコンピュータ読取り可能媒体 は、1つまたは複数のプロセッサを本発明を実行するように制御するコードセグ メントを備える。「コンピュータ読取り可能媒体」の非制限的な例には、磁気ハ ードディスクや、フロッピィディスクや、光ディスクや、磁気テープや、メモリ チップや、電子メールを送受信するか、あるいはインタネットなどの電子データ ネットワークにアクセスする際に使用されるような電子データを保持するために 使用される搬送波が含まれる。さらに、「コードセグメント」の非制限的な例に は、ソフトウェアや、命令や、コンピュータプログラムや、1つまたは複数のプ ロセッサを制御する手段が含まれる。 図面の簡単な説明 本発明の実施形態は図面を介して詳しく説明される。 図1は、時間軸に沿ったDESの不規則なイベント間隔を示す図である。 図2は、本発明のイベントアーキテクチャの選択的な事前計算を使用するイベ ント処理を示す図である。 発明の詳細な説明 本発明は、単一のイベントリストのパラダイム内で働く加速メカニズムとして イベントの選択的な事前計算(SPE)を使用する。本発明を用いた場合、イベ ントの管理は、1つのプロセッサを用いて集中化され、イベントの実行は他の利 用可能なプロセッサに分散される。 SPEは、従来型のイベントリストを使用し、リスト内のイベントを実行する ために、「イベントリストマネージャ」(ELM)と呼ばれる単一のプロセスま たはスレッドに依存する。(用語「プロセス」は、1つまたは複数のプロセッサ 上で実行される1つまたは複数のプログラムを指す。)SPEは、イベントスル ープットを増大することが可能なときには、イベントを「事前計算」するために 、他のプロセッサ上で実行することのできる追加のプロセスにも依存する。この ようなプロセスを「イベント事前計算プロセス」(EPP)と呼ぶ。本発明の一 実施形態では、各EPPは別々のプロセッサ上で実行される。SPEの目的は、 できるだけ多くの将来のイベントを自由なプロセッサに割り当て並行して実行し 、かつイベントの実際のシミュレーション時間に達したときに、これらのプロセ ッサによって実行された「仕事」または計算が依然として有効でかつ使用可能で あるように、この仕事を記憶することである。 標準イベント処理アーキテクチャの場合と同様に、通常のイベントは本発明の イベントリストに入り、実行を待つ。イベントリストは、事前計算すべきある種 のイベントを選択する「イベントリストスキャンプロセス」(ESP)によって スキャンされる。ESPは、たとえばELMのサブタスクとして実施することが できる。イベントは、任意の時間に未計算イベント(UCE)、計算中イベント (ICE)、および計算済みイベント(PCE)の3つの範疇の1つに入ること ができる。関連する仕事が実際の実行時間まで有効なままであるPCEを使用可 能計算済みイベント(UPCE)と呼ぶ。この4種類のイベントを表5に定義す る。 図2は、本発明のSPEアーキテクチャを使用するイベント処理を示す。ES Pは、イベントリストをスキャンしてUCEがあるかどうかを調べる。UCEが 見つかった場合、ESPがそのUCEを処理のためにEPPへ送り、イベントリ スト内のUCEの表示がUCEからICEに変更される。EPPが終了すると、 結果として得られたPCEが出力され、イベントリスト内のICEがPCEに変 更される。 すべてのイベントは、その状態にかかわらず、実行されるまで引き続きイベン トリスト内に表わされる。イベントを実行することができるのは、そのイベント がイベントリストのヘッド部に到達し、ヘッドイベントと呼ばれるようになった ときだけある。この時点で、イベントの処理はイベントの状態に依存する。図2 で、ヘッドイベントは、イベントリストの1番下に示され、PCEであるイベン トとして示されている。 図2に示すように、ヘッドイベントには3つの可能な状態がある。第1に、ヘ ッドイベントは、UCEである場合には、SEEアーキテクチャの場合と同様に 、イベントリストを管理する責任を負うプロセスによって処理される。 第2に、ヘッドイベントがICEである場合、このヘッドイベントがPCEに なるまで、ELMによる追加のイベント実行は進行することができない。ELM が進行した場合、イベント同士の間の因果関係が損なわれる可能性がある。EL Mは、事前計算が完了するまで他の処理をブロックするか、あるいはイベントリ ストをスキャンするための時間を使用して、事前計算すべき他のイベントを選択 することができる。 第3に、ヘッドイベントが(図2に示されている)PCEである場合、ELM は、事前計算が依然として有効であること(すなわち、ヘッドイベントがUPC Eでもあること)を検証しなければならない。ヘッドイベントがUPCEである 場合、イベント実行は、記憶されている結果の「適用」のみからなる。言い換え れば、記録されているイベント出力を使用してシステム状態が修正される。 イベント計算の入力 イベントがSPEアーキテクチャ内のEPPによって事前計算されるか、それ ともELMによって直接計算されるかにかかわらず、イベントの計算が行われる とき、イベントは同じ1組の「イベント入力」に依存する。用語「イベント入力 」は、イベント計算中に分析することのできるDESの部分に記憶される状態情 報のすべての要素の集合を指す。 本発明は、ELMにイベントを計算させるのではなく、EPPにより計算され るELM確認イベントを持つことによって、DESのスループットを増大する。 本発明を用いた場合、DESのイベントスループットは、単一のプロセッサがど れだけ高速にイベントを完全に計算できるかではなく、単一のプロセッサがどれ だけ高速にイベントを確認できるかの関数である。より高い性能を実現する本発 明の条件は、イベントの確認がイベントの完全な計算よりも簡単であるというこ とである。したがって、PCE確認メカニズムはSPEアーキテクチャの重要な 部分である。 事前計算が、ELMによるイベントの直接実行と比較したときに同一の結果を 生成するかどうかを判定するには、イベントの事前計算中にどの入力が使用され たかについての知識が必要である。このような入力が変化すると、イベントの計 算が異なるものになる可能性があり、保守的な見方により、このような変化は事 前計算を無効化するとみなすべきである。入力の介入的な修正を行うことを不要 にすることは、SPEベースのシステムが計算済みイベントを確認するための簡 単な手法である。この手法を「入力不変性(input invariance) 」と呼ぶ。イベントが実行を開始すると、一般に、どの入力がアクセスされるか を事前に判定することは不可能である。このことは、条件付き制御フローを含め 、イベントの間に一般的な命令をサポートするシステムで特にそうである。した がって、入力不変性を実施するには、事前計算中にどの入力が使用されたかを検 出し保持するある種の方法が必要である。 イベントの入力の変化の性質と、入力を使用する方法とに応じて、イベントは 変化にかかわらず厳密に展開することが可能である。したがって、入力不変性は 、SPE DESで確認を実施する保守的な手法である。より高度な確認方式は 、イベント入力の使用に関するより詳細な情報を考慮し、したがって、確認に必 要な条件を緩和することができる。 イベント計算の出力 イベントの実行中に、多数の異なるアクションを行うことができる。ある種の アクションは、イベントの完全に内部のアクションであり、他のイベントに対す る影響を有さないものとみなすことができる。内部アクションは、たとえば、ロ ーカル計算で使用される一時変数を修正したアクションでよい。内部アクション は他のイベントに影響を与えないので、このような内部アクションは、それが行 われたことを「記憶する」必要なしに事前計算の一部として実行することができ る。 イベントには、外部効果を有するアクションを含めることができる。このよう な外部アクションまたはイベント出力は、他の進行中のイベント計算または将来 のイベント計算に干渉しないように行わなければならない。この問題に対するS PE手法は、本発明を他の従来型のシミュレーションアーキテクチャと区別する いくつかの要因のうちの1つである。 各イベント出力は、DESの状態に1つまたは複数の変化を生じさせることが できる。イベントEがPCEとして算出された場合に、このような変化を生じさ せると、他の進行中のイベント計算によって認識されるシステム状態のビューが 修正される。さらに、変化を生じさせることによって、イベントEの最初の実行 と最後の実行との間に行われるPCE計算によって認識されるシステム状態が修 正される。 本発明のSPEアーキテクチャでは、イベント出力は基本的に、実際のシステ ム状態に安全に適用できるようなときまで「バッファされる」。このことは、変 化が起こった場合でも、最後のイベント実行の時間までこの変化がシステム状態 に影響を及ぼすことが許可されないことを示す。前述のように、入力不変性など の基準に従ってPCEが無効であると判定された場合、すべての変化が破棄され る。したがって、変化は、2つの要件を満たすように特別なコンテキストで起こ る。 第1に、実行時に出力を同様に再生できるように出力に関する十分な情報を記 録しなければならない。検証が成功した場合、図2に示すように、アクションが 実際に実施されるのは「結果の適用」フェーズの間である。 第2に、イベントの事前計算中にシミュレーション状態の一貫したビューを与 えるために、出力の実際の適用を一時的にエミュレートしなければならない。た とえば、オブジェクトがオブジェクトの1つの属性を修正し、次いで同じイベン ト(および任意選択で後続のPCE)の間にこの属性の値を問い合わせた場合、 この問合せから、新たに割り当てられた値が得られる。したがって、各オブジェ クトに関連するイベント処理メソッドは、それが事前計算のために実行されるの か、それとも直接計算のために実行されるのかを知る必要がなくなる。 第2の要件が与えられた場合、システム状態の2つの異なるビュー(またはシ ステム状態のサブセット)が一時的に共存する。一方のビューは、当該のPCE のコンテキストで有効であり、他方のビューはELMによる最後のイベント実行 のコンテキストで有効である。しかし、この場合、この2つの時間の間に起こる イベントにはこれらのビューのどちらが有効であるかという問題が残る。最後の イベント実行で使用される確認メカニズムによって、イベントを計算するときに 適切なシステム状態が使用されるので、2つのビューのどちらを使用しても正し い解決策を与えることができる。各手法は異なる性能を有し、DES用にどの手 法を選択するかは、特定のDESまたはDES環境に関して検討すべきである。 イベントのディスパッチおよび検索 本発明のSPEアーキテクチャを効率的に実施するうえでの1つの重要なキー ファクターは、イベントの制御をEPPに転送するために使用されるメカニズム である。イベントの最後の実行に関わるELMをサポートする同じプロセッサ上 でこのタスクを実行する場合、一度に確認して実行の適用フェーズを通過させる ことのできるイベントは1つだけなので、EPPのオーバヘッドによって総イベ ントスループットが低減する。したがって、イベントリスト情報にアクセスする 独立のプロセッサを使用してイベントディスパッチを実行するか、あるいは効率 に留意してイベントディスパッチを実施すべきである。 UCEであるイベントEに対するイベントディスパッチの目的は、EPPがイ ベントEをPCEにするのに必要なすべての状態情報をEPPに供給することで ある。イベントEを事前計算した後、何らかの方法でこのイベントの出力を最後 の実行までにELMに戻さなければならない。このメカニズムを「イベント出力 検索」と呼ぶ。 イベントEをEPPにディスパッチした後、イベントEのすべての入力がEP Pにアクセスできなければならない。上記で指摘したように、イベントEを実際 に計算する前にイベントEがどの入力を必要とするかを知っておくことは困難で ある。したがって、EPPにすべての可能な入力情報を供給しなければならず、 あるいはEPPが必要に応じてこの情報にアクセスできなければならない。 多数の異なるインプリメンテーションが可能であり、これらのメカニズムの効 率はサポートするハードウェアの基本アーキテクチャに強く依存する。たとえば 、すべてのプロセッサが、UCEに関する情報を転送するのではなく、単一のメ モリ空間を共用できる場合、UCEをEPPにディスパッチする際にEPPに転 送する必要があるのはUCEの参照だけである。高度にスケーリングできるハー ドウェアアーキテクチャはこの機能を実現できないので、SPEアーキテクチャ のいくつかのインプリメンテーションはメッセージベースのディスパッチ検索メ カニズムを必要とする。 SPEアーキテクチャの変形形態 当業者には認識されるように、本発明のSPEアーキテクチャを実施するため の多数のオプションが可能である。特定のDESおよび特定のハードウェアの特 定の態様を利用して重要な効率上の利益を実現することができる。すでに前節で 論じた点だけでなく、インプリメンテーションに特有の以下の3つの点を、可能 な効率上の利得について分析すべきであり、これらは現行の技術を使用して実施 することができる。 第1に、イベントの選択を検討すべきである。ESPがイベントリストから事 前計算すべきイベントを選択する際、ESPは、それがイベントに出会う順にイ ベントを選択する必要はない。その代わり、ESPは、SPEアーキテクチャの 利得を最大にすることを試みるヒューリスティクスに基づいてイベントをインテ リジェントに選択することができる。この場合の重要な点は、PCEが、イベン トの種類や関連するオブジェクトなどの情報に基づいて、有効なままでありUP CEになる可能性が高いことである。また、イベントのディスパッチおよび検索 に関するオーバヘッドが等しい場合、より計算を多用するある種のイベントが事 前計算に有利である可能性がある。イベント選択ヒューリスティクスは、複雑で 、かつDESに関する特定の知識に強く依存することがある。 第2に、プロセスの割当てを検討すべきである。単一のプロセスまたは独立の プロセスがELMとESPの両方を実施することができる。ELMおよびESP は、単一のプロセッサまたは別々のプロセッサ上で実行されるように実施するこ とができる。図2に示すように、追加のプロセッサを検証フェーズ、適用フェー ズ、および完全実行フェーズに使用することができる。 第3に、状態情報の動的分散を検討すべきである。システムの状態を記憶する ときに中央に集中された共用メモリに依存しないイベントディスパッチ手法を使 用する場合、イベント入力にアクセスする効率を向上させるために様々な技法を 使用することができる。たとえば、オブジェクトまたはDESの状態の他の部分 が特定のプロセッサに関連付けられた後、このプロセッサの専用メモリ内にこの 情報を保持し、このオブジェクトに関するイベントを同じプロセッサに優先順位 に基づいてディスパッチすることが最も効率的である可能性がある。このような 手法は、ある種のDESに関する通信オーバヘッドを低減することができる。シ ミュレーションが行われている間、利用可能なプロセッサにシステムの状態を動 的に分散することができる。このような技法の適用性は、DESの性質とサポー トするハードウェアのアーキテクチャとに強く依存する。 SPEアーキテクチャの変形形態として、ESPの代替形態を使用することが できる。たとえば、ESPに、UCEをEPPに割り当てさせるのでなく、EP Pがイベントリストにアクセスし、EPP自体が、事前計算すべきUCEを選択 することができる。別の例として、ELMは、ESPの機能を実行することがで き、EPPがELMをUCEについてポーリングした後、ELMはEPPにUL Eを供給することができる。一般に、本発明では、UCEがEPPに転送され、 これを様々な方法で行うことができる。 SPEアーキテクチャの変形形態として、未処理、処理中、および処理済みな ど他のラベルを用いてイベントリスト内のイベントを示すことができる。さらに 、イベントリストは、本明細書で説明した3種類のイベントのみに限らず、DE Sのインプリメンテーションの必要に応じて他の種類のイベントを含むことがで きる。 SPEアーキテクチャの他の変形形態として、イベントリストは複数のヘッド イベントを有することができる。複数のイベントリストを未計算イベントリスト 、計算中イベントリスト、または計算済みイベントリストとして示すことができ る。複数のヘッドイベントは、「互いに十分に独立した」イベントである場合、 1つまたは複数のELMによって並行して確認または実行することができる。互 いに十分に独立させるには、各ヘッドイベントの出力が他のヘッドイベントの計 算にそれほど影響を与えないようにすべきである。たとえば、複数のイベントが 同じシミュレーション時間を用いて示され(表1と同様に、イベントE[1]と イベントE[2]が同じ時間0.1を有する)、イベントリストのヘッド部に到 着する場合、これらの複数のイベントは、複数のヘッドイベントとみなすことが でき、並行して確認または実行されるほど互いに独立したイベントである。一般 に、複数のヘッドイベントを使用すると、イベントがいつ互いに十分に独立した イベントになるかに関してアプリケーション特有の決定が下され、性能上の十分 な利得を得ることができる。 SPEアーキテクチャの改良形態として、ELMは、イベントリストをスキャ ンしてPCEがあるかどうかを調べ、ヘッドイベントであるPCEの場合と同じ 方法をイベントリスト内のPCEに適用することができる。イベントリスト内の 各PCEについて、ELMは、PCEの事前計算が依然として有効であるかどう かを判定する。イベントリスト内の検証すべきPCEを選択する場合、ELM、 あるいはおそらく他のプロセスがイベントリストを周期的または非周期的にスキ ャンすることができる。PCEを選択した後、ELM、あるいはおそらく他のプ ロセスがイベントリスト内のPCEを検証する。PCEの事前計算が有効である 場合、ELMはPCEを修正しない。PCEの事前計算が無効である場合、EL MはPCEをICEとして示し、1つのEPPを選択し、新たに示されたICE の計算を再開する。計算を再開するこの方法は、上記でICEの計算を行う場合 に論じた方法と同じである。 ELMのスキャンによってイベントリストからPCEが選択された直後にこの PCEを検証することの代替形態として、ELMは、PCEを検証する前にまず 、そのPCEが最近検証されたかどうかを判定することができる。この場合、た とえば、各PCEは検証時間インディケータを含むことができる。検証時間イン ディケータは最初、イベントリスト内のイベントの表示がICEからPCEに変 更される時間に設定される。ELMは、検証すべきPCEを選択した後、現在時 間とこのPCEについての検証時間インディケータとの間の差としきい値を比較 することによって、このPCEが最近検証されたかどうかを検査する。この差が しきい値よりも小さい場合、このPCEは、最近検証されているので検証されな い。差がしきい値以上である場合、このPCEは、最近検証されておらず、前述 の検証方法を使用して検証される。PCEが検証された後、検証時間インディケ ータは現在時間に変更される。各PCEについての検証時間は最初、そのイベン トがPCEとして示された時間に設定される。 本発明をDES向けに実施することの代替形態として、本発明は、複数のプロ セッサを用いて実施されるコンピュータプログラムのタスクスループットを増大 するように実施することができる。この代替実施形態では、イベントはタスクま たはサブタスクと等価である。言い換えれば、タスクおよびサブタスクで構成さ れたコンピュータプログラムの実行速度を、複数のプロセッサおよび上記の方法 を使用して高めることができる。 さらに、本発明は、ある程度の独立性を有する一連の演算からなるプログラム に適用することができる。当業者には自明なように、これらの演算が互いに独立 である程度は、実現できる性能の向上を決定する1つの要因である。多くの実際 的な場合に、DESは、本発明の手法を利用できるほど互いに独立したイベント に分解することができる。 本発明を好ましい実施形態に関して詳しく説明したが、当業者には、上記のこ とから、本発明の広義の態様において本発明から逸脱せずに変更および修正を加 えられることが明らかであろう。したがって、本発明は、添付の請求の範囲で定 義されるように、本発明の真の趣旨の範囲内に入るすべてのこのような変更およ び修正をカバーするものである。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),CA,JP

Claims (1)

  1. 【特許請求の範囲】 1.離散イベントシミュレーションのイベントスループットを増大する方法で あって、 ヘッドイベントを含む離散イベントシミュレーション用のイベントリストを維 持するステップと、 ヘッドイベントが未計算であるか、それとも計算中であるか、あるいはそれと も計算済みであるかを判定するステップと、 ヘッドイベントが未計算であると判定された場合に、ヘッドイベントを実行す るステップと、 ヘッドイベントが計算中であると判定された場合に、ヘッドイベントの計算が 完了したときにヘッドイベントを計算済みとして示すステップと、 ヘッドイベントが計算済みであると判定された場合に、さらに、ヘッドイベン トの計算が有効であるか、それとも無効であるかを判定し、 ヘッドイベントの計算が有効であると判定された場合に、ヘッドイベントの 計算を適用し、 ヘッドイベントの計算が無効であると判定された場合に、ヘッドイベントを 実行するステップとを含むことを特徴とする方法。 2.離散イベントシミュレーションが現在のシステム状態を有し、ヘッドイベ ントの計算が有効である場合にヘッドイベントの計算を適用するステップが、ヘ ッドイベントの計算に基づいて現在のシステム状態を変更することを含むことを 特徴とする請求項1に記載の方法。 3.ヘッドイベントの計算が有効であるか、それとも無効であるかを判定する ステップが、入力不変性を使用することを特徴とする請求項1に記載の方法。 4.イベントリストが、イベントの順序付けられた集合であることを特徴とす る請求項1に記載の方法。 5.イベントリストがさらに、複数のイベントと、未計算イベントとして示さ れた少なくとも1つのイベントとを含み、前記方法がさらに、 イベントリストから1つの未計算イベントを選択すること、および 選択された未計算イベントの計算を実行することを含むことを特徴とする請求 項1に記載の方法。 6.さらに、 イベントリスト内の複数のイベントをヘッドイベントとして示すステップと、 各ヘッドイベントが未計算であるか、それとも計算中であるか、それとも計算 済みであるかを並行して判定するステップとを含むことを特徴とする請求項1に 記載の方法。 7.さらに、イベントリスト内の複数のイベントをヘッドイベントとして示す ステップの前に、 イベントリスト内の複数のイベントが、ヘッドイベントとして示されるほど互 いに独立しているかどうかを判定するステップを含むことを特徴とする請求項6 に記載の方法。 8.離散イベントシミュレーションのイベントスループットを増大する方法で あって、 複数のイベントと、未計算イベントとして示された少なくとも1つのイベント とを備える離散イベントシミュレーション用のイベントリストを維持するステッ プと、 未計算イベントとして示されたイベントをイベントリストから選択するステッ プと、 選択されたイベントをイベント事前計算プロセスに転送するステップと、 イベントリスト内の選択されたイベントを計算中イベントとして示すステップ と、 イベント事前計算プロセスを使用して、選択されたイベントの計算を行うステ ップと、 イベント事前計算プロセスから計算を受け取るステップと、 イベントリスト内の選択されたイベントを計算済みイベントとして示すステッ プとを含むことを特徴とする方法。 9.未計算イベントとして示されたイベントをイベントリストから選択するこ とが、イベントリストをスキャンして、未計算イベントとして示されたイベント があるかどうかを調べることを含むことを特徴とする請求項8に記載の方法。 10.イベント事前計算プロセスがイベントリストからイベントを選択するこ とを特徴とする請求項8に記載の方法。 11.選択されたイベントをイベント事前計算プロセスに転送することが、選 択されたイベントをイベント事前計算プロセスに割り当てることを含むことを特 徴とする請求項8に記載の方法。 12.さらに、 複数の計算済みイベントをイベントリストの計算済みヘッドイベントとして示 すステップと、 各ヘッドイベントを並行して検証し、ヘッドイベントが有効であるか、それと も無効であるかを判定し、 ヘッドイベントが有効である場合に、ヘッドイベントの計算を適用し、 ヘッドイベントが無効である場合に、ヘッドイベントを実行するステップと を含むことを特徴とする請求項8に記載の方法。 13.離散イベントシミュレーションが、更新される現在のシステム状態を有 し、イベント事前計算プロセスを使用して選択されたイベントの計算を行うステ ップが、 イベント事前計算プロセスにイベント入力を与えるステップと、 選択されたイベントおよびイベント入力に基づいてシステム状態の変化を判定 するステップとを含み、 イベント事前計算プロセスから計算を受け取るステップが、イベント入力とシ ステム状態の変化とをイベント事前計算プロセスから受け取ることを含み、 イベントリスト内の選択されたイベントを計算済みイベントとして示すステッ プが、イベント入力とシステム状態の変化とを選択されたイベントに関連付ける ことを含むことを特徴とする請求項8に記載の方法。 14.さらに、 選択された計算済みイベントをイベントリスト内の計算済みヘッドイベントと して示すステップと、 ヘッドイベントを検証し、ヘッドイベントが有効であるか、それとも無効であ るかを判定し、 ヘッドイベントが有効である場合に、ヘッドイベントの計算を適用し、 ヘッドイベントが無効である場合に、ヘッドイベントを実行するステップと を含むことを特徴とする請求項13に記載の方法。 15.ヘッドイベントを検証するステップが、ヘッドイベントに関連するイベ ント入力と現在のシステム状態を比較することを含み、 ヘッドイベントの計算を適用するステップが、ヘッドイベントに関連するシス テム状態の変化を使用して現在のシステム状態を更新することを含むことを特徴 とする請求項14に記載の方法。 16.ヘッドイベントを検証し、ヘッドイベントが有効であるか、それとも無 効であるかを判定するステップが、入力不変性を使用することを特徴とする請求 項14に記載の方法。 17.離散イベントシミュレーションのイベントスループットを増大する方法 であって、 計算済みイベントとして示された複数のイベントを有する離散イベントシミュ レーション用のイベントリストを維持すること、 計算済みイベントとして示されたイベントをイベントリストから選択すること 、 選択されたイベントが有効であるか、それとも無効であるかを判定し、 選択されたイベントが無効である場合に、 選択されたイベントをイベント事前計算プロセスに割り当て、 イベントリスト内のこの選択されたイベントを計算中イベントとして示し 、 イベント計算プロセスを使用して、選択されたイベントの計算を行い、 イベント事前計算プロセスからこの計算を受け取り、 イベントリスト内のこの選択されたイベントを計算済みイベントとして示 すことを含むことを特徴とする方法。 18.イベントリストが、関連する計算を用いて事前に計算されたイベントと して示されたヘッドイベントを有し、前記方法がさらに、 ヘッドイベントを検証し、ヘッドイベントが有効であるか、それとも無効であ るかを判定し、 ヘッドイベントが有効である場合に、ヘッドイベントの計算を適用し、 ヘッドイベントが無効である場合に、ヘッドイベントを実行するステップと を含むことを特徴とする請求項17に記載の方法。 19.離散イベントシミュレーションを実行するコンピュータシステムであっ て、 1つのイベントがヘッドイベントとして示され、各イベントが未計算イベント 、計算中イベント、または計算済みイベントとして示される複数のイベントを含 むイベントリストを維持する手段と、 未計算イベントの計算を行う少なくとも1つのイベント事前計算プロセスを実 行する手段と、 未計算イベントを選択し、この未計算イベントを1つのイベント事前計算プロ セスに転送する手段と、 未計算イベントを実行し計算済みヘッドイベントを検証する手段とを備えるこ とを特徴とするコンピュータシステム。 20.少なくとも1つのプロセッサが、イベントリストを維持する手段と、未 計算イベントを選択しこの未計算イベントを転送する手段と、未計算イベントを 実行し計算済みイベントを検証する手段とを実装することを特徴とする請求項1 9に記載のコンピュータシステム。 21.複数のプロセッサが、未計算イベントの計算を行う手段を実装すること を特徴とする請求項19に記載のコンピュータシステム。 22.離散イベントシミュレーションを実行するコードセグメントを実現する コンピュータ読取り可能媒体であって、コードセグメントが、 1つのイベントがヘッドイベントとして示され、各イベントが未計算イベント 、計算中イベント、または計算済みイベントとして示される複数のイベントを含 むイベントリストを維持するコードセグメントと、 未計算イベントの計算を行う少なくとも1つのイベント事前計算プロセスのそ れぞれ用のコードセグメントと、 未計算イベントを選択し、1つのイベント事前計算プロセスにこの未計算イベ ントを転送し、イベント事前計算プロセスに従って計算を行わせるコードセグメ ントと、 未計算イベントを実行し計算済みヘッドイベントを検証するコードセグメント とを備えることを特徴とするコンピュータ読取り可能媒体。
JP50733699A 1997-07-01 1998-07-01 離散イベントシミュレーションを分散するシステムアーキテクチャ Pending JP2002509629A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US5277897P 1997-07-01 1997-07-01
US88640297A 1997-07-01 1997-07-01
US60/052,778 1997-07-01
US08/886,402 1997-07-01
PCT/US1998/013696 WO1999001816A1 (en) 1997-07-01 1998-07-01 System architecture for distribution of discrete-event simulations

Publications (1)

Publication Number Publication Date
JP2002509629A true JP2002509629A (ja) 2002-03-26

Family

ID=26731065

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50733699A Pending JP2002509629A (ja) 1997-07-01 1998-07-01 離散イベントシミュレーションを分散するシステムアーキテクチャ

Country Status (4)

Country Link
EP (1) EP1010071A1 (ja)
JP (1) JP2002509629A (ja)
CA (1) CA2295983A1 (ja)
WO (1) WO1999001816A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6708329B1 (en) 2000-05-26 2004-03-16 Itt Manufacturing Enterprises, Inc. Method and apparatus for producing modules compatible with a target system platform from simulation system modules utilized to model target system behavior

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4901260A (en) * 1987-10-28 1990-02-13 American Telephone And Telegraph Company At&T Bell Laboratories Bounded lag distributed discrete event simulation method and apparatus
JPH0464164A (ja) * 1990-07-03 1992-02-28 Internatl Business Mach Corp <Ibm> シミユレーシヨン方法及び装置
US5701439A (en) * 1992-03-30 1997-12-23 Boeing North American, Inc. Combined discrete-event and continuous model simulation and analysis tool
US5694579A (en) * 1993-02-18 1997-12-02 Digital Equipment Corporation Using pre-analysis and a 2-state optimistic model to reduce computation in transistor circuit simulation
US5655107A (en) * 1994-11-30 1997-08-05 International Business Machines Corporation Digital logic wire delay simulation
US5790829A (en) * 1996-07-01 1998-08-04 Sun Microsystems, Inc. Event synchronization mechanism

Also Published As

Publication number Publication date
CA2295983A1 (en) 1999-01-14
WO1999001816A1 (en) 1999-01-14
EP1010071A1 (en) 2000-06-21

Similar Documents

Publication Publication Date Title
US6278963B1 (en) System architecture for distribution of discrete-event simulations
Chang et al. Scheduling in mapreduce-like systems for fast completion time
US9747086B2 (en) Transmission point pattern extraction from executable code in message passing environments
US20200219028A1 (en) Systems, methods, and media for distributing database queries across a metered virtual network
Hamidzadeh et al. Dynamic task scheduling using online optimization
US20040015973A1 (en) Resource reservation for large-scale job scheduling
CN109857535B (zh) 面向Spark JDBC的任务优先级控制的实现方法及装置
JPH05274162A (ja) マルチメディア・コンピュータ・オペレーティング・システム及び方法
KR20140080434A (ko) 맵리듀스 프레임워크에서 데이터 프로세싱의 최적화를 위한 디바이스 및 방법
CN100492282C (zh) 处理***、通信***及在处理***中处理作业的方法
US6418517B1 (en) Optimized function execution for a multiprocessor computer system
EP1131704B1 (en) Processing system scheduling
Mohamed et al. Hadoop-MapReduce job scheduling algorithms survey
Thomas et al. Survey on MapReduce scheduling algorithms
CN110262896A (zh) 一种面向Spark***的数据处理加速方法
US20210224117A1 (en) Os optimized workflow allocation
Radulescu et al. LLB: A fast and effective scheduling algorithm for distributed-memory systems
Radulescu et al. FLB: Fast load balancing for distributed-memory machines
Fu et al. Run-time compilation for parallel sparse matrix computations
Tang et al. A network load perception based task scheduler for parallel distributed data processing systems
JP2002509629A (ja) 離散イベントシミュレーションを分散するシステムアーキテクチャ
Audsley et al. Integrating unbounded software components into hard real-time systems
JPH05216844A (ja) マルチプロセッサデータ処理システムにおける改良されたタスク分散のための方法および装置
JP2002157386A (ja) ワークフロー管理方法および装置並びにその処理プログラム並びにその処理プログラムを格納した記録媒体
US20240012645A1 (en) Multi-user in-memory queue for multi-treaded and/or multi-process computing architecture