マルチプロセッサ

概要と主要な概念

マルチプロセッサは、順番に並べ替えられたオペレーションでフローアイテムの処理をシミュレーションするために使用されます。ユーザーは、マルチプロセッサオブジェクトごとに一連の処理を定義します。入る各フローアイテムは、順番に処理されます。マルチプロセッサは、処理ステップ中にオペレーターを呼び出すことができます。

マルチプロセッサは固定リソースです。1つのフローアイテムを受け取り、そのフローアイテムに一連の処理を実行してから、フローアイテムをリリースします。フローアイテムはマルチプロセッサから出ると、別のフローアイテムを受け取って再度処理されます。一度にマルチプロセッサ内に存在するフローアイテムは1つだけです。

定義する処理ごとに、処理の名前、処理時間、処理に使用するオペレーターの数、オペレーターに送信するタスクの優先度とプリエンプト値、オペレータータスクを送信するオペレーターまたはディスパッチャーを指定できます。各処理の開始時に、マルチプロセッサはprocess timeフィールドを呼び出して、その状態を処理の名前に設定し、オペレーター値が0より大きい場合はオペレーターを呼び出します。処理が終了すると、マルチプロセッサは処理のために呼び出されたすべてのオペレーターをリリースし、処理完了トリガーを呼び出します。また、処理番号をparval(2)として処理完了トリガーに渡します。

マルチプロセッサを使用するタイミング

1つのステーションに処理時間やリソースが異なる複数のオペレーションが含まれている場合は、マルチプロセッサを使用します。また、さまざまなタイプのオペレーションの共有ステーションとしてマルチプロセッサを使用することもできます。たとえば、アイテムタイプ1はオペレーションA、B、C、Dを実行する必要があり、アイテムタイプ2はオペレーションE、F、G、Hを実行する必要がありますが、どちらのアイテムタイプも処理のために1つのステーションを共有する必要があります。マルチプロセッサに8つの処理A~Hを指定します。この場合、itemtype 1では処理E~Hの処理時間を0にし、item type 2では処理A~Dの処理時間を0にします。

イベント

イベントの詳細については、「イベントリスニング」ページを参照してください。

キューは、すべての固定リソースに共通の標準イベントを使用します。これらのイベントの説明については、「固定リソース - イベント」を参照してください。

コンバイナには追加イベントがありません。

状態

統計的な目的で、マルチプロセッサは、シミュレーション実行中、さまざまな時点で次のいずれかの状態になります。オブジェクトをクリックし、[クイックプロパティ]の[統計]ペインを表示すると、現在の状態を表示できます。

アイドル

処理中のフローアイテムはありません。

ユーザー定義の状態

これらはユーザーが定義した状態であり、処理ごとに1つずつあります。

ブロックされました

マルチプロセッサはフローアイテムのすべての処理を終了してリリースしていますが、それを受け取る準備が完了している下流のオブジェクトはありません。

オペレーター待ち

マルチプロセッサは、処理を開始するためにオペレーターが到着するのを待っています。

輸送待ち

マルチプロセッサはフローアイテムのすべての処理を終了してリリースし、下流オブジェクトでそれを受け取る準備が完了していますが、フローアイテムはまだTaskExecuterによってピックアップされていません。

統計

マルチプロセッサは、すべての固定リソースに共通の標準統計を使用します。これらの統計情報については、「固定リソース - 統計」を参照してください。

プロパティ

マルチプロセッサオブジェクトには、さまざまなプロパティを持つ6つのタブがあります。最後の4つのタブは、すべての固定リソースで共通する標準タブです。これらのタブのプロパティの詳細については、以下を参照してください。

[故障]タブは、プロセッサ、コンバイナ、セパレータ、マルチプロセッサで使用できます。詳細については、次を参照してください。

[マルチプロセッサ]タブのみがコンバイナオブジェクトに固有です。このタブのプロパティについては、この先のセクションで詳しく説明します。

処理リスト

処理リストには、このマルチプロセッサの各処理が含まれています。処理を編集するには、リストで処理を強調表示し、名前を変更してプロパティを編集します(処理リストの右側)。

アイコン 説明
処理リストに新しい処理を追加するには、このボタンをクリックします。
処理リストから処理を削除するには、このボタンをクリックします。
選択した処理を処理リスト内で上または下に移動するには、このボタンをクリックします。

処理名

[処理名]フィールドでモデラーは各処理の名前を定義できます。この名前はマルチプロセッサの状態レポートで使用されます。

処理時間

このピックリストで、プロセッサが1つのフローアイテムの処理に費やす時間を決定します。

オペレーター数

この数値で、オブジェクトが処理時間中に使用するオペレーターの数を決定します。

オペレーターを選択

このピックリストは、所定の処理中にオブジェクトが使用しているオペレーターまたはディスパッチャーへの参照を返します。

優先度

この値で、オペレーターに送信されるタスクシーケンスの優先度を設定します。通常、オペレーターはタスクシーケンスを並べ替えて、優先度の高いシーケンスが最初に実行されるようにします。優先度が同じタスクシーケンスは、受信した順に実行されます。

プリエンプト

呼び出し側オペレーターのプリエンプト値を設定します。