JP2009129219A - マルチプロセッサシステム - Google Patents

マルチプロセッサシステム Download PDF

Info

Publication number
JP2009129219A
JP2009129219A JP2007303969A JP2007303969A JP2009129219A JP 2009129219 A JP2009129219 A JP 2009129219A JP 2007303969 A JP2007303969 A JP 2007303969A JP 2007303969 A JP2007303969 A JP 2007303969A JP 2009129219 A JP2009129219 A JP 2009129219A
Authority
JP
Japan
Prior art keywords
processor
information
execution
processing
processors
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.)
Withdrawn
Application number
JP2007303969A
Other languages
English (en)
Inventor
Masato Yasuda
真人 安田
Kiyohisa Ichino
清久 市野
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2007303969A priority Critical patent/JP2009129219A/ja
Publication of JP2009129219A publication Critical patent/JP2009129219A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】 複数のプロセッサ間でコマンド情報を転送することによりシーケンシャル処理を実行することができるマルチプロセッサシステムを提供する。
【解決手段】 プロセッサ情報管理部からマルチプロセッサへ送出されるコマンド情報に、シーケンシャル処理経路リストフィールドD2を設ける。シーケンシャル処理経路情報には、有効/無効フラグD211、実行プロセッサ番号D212及び実行タグD213を含むプロセッサ実行エントリが含まれる。マルチプロセッサの各プロセッサは、コマンド情報を受信すると、割り当てられた処理を実行し、その後、コマンド情報を更新して、シーケンシャル処理経路リストに含まれる実行プロセッサ番号に基づいて、コマンド情報を順次転送する。
【選択図】 図3

Description

本発明は、複数のプロセッサを有するマルチプロセッサシステムに関し、特に、複数のステージに分割可能な要求処理を複数のプロセッサがシーケンシャルに実行するマルチプロセッサシステムの効率化に関する。
関連するマルチプロセッサシステムは、並列動作可能な複数のプロセッサを有し、優先順位制約のあるタスクを含む複数のタスクを処理するよう構成されている(例えば、特許文献1参照)。
ここで、優先順位制約のあるタスクを処理するには、即ちシーケンシャル処理を行うには、優先順位の高いタスクを処理するプロセッサと優先順位の低いタスクを処理するプロセッサとの間で稼動タイミングを制御する必要がある。このような制御は、ホストプロセッサ(例えば、特許文献2)やトークン管理装置(例えば、特許文献3)などにより行われている。
特開平6−202882号公報 特開平11−272623号公報 特開平10−91597号公報
関連するマルチプロセッサシステムでは、タスクを処理する複数のプロセッサとは別に各プロセッサの稼働を制御する制御装置が必要である。そして、関連するマルチプロセッサシステムには、このような制御装置の負荷が大きいという問題点がある。
制御装置の負荷を低減する方法として、シーケンシャル処理を実行するプロセッサ間でコマンド情報を転送させることが考えられる。
プロセッサ間でコマンドを転送させる関連する方法としては、特開2006−216075号公報に記載された方法がある。この方法は、分散共有メモリ型マルチプロセッサシステムにおいて、キャッシュを効率的に使用するために、他プロセッサに対して複数の宛先情報が入ったバスコマンドを転送するというものである。以下、図15を参照して詳述する。
図15のマルチプロセッサシステムは、第1〜第3のプロセッサシステム10−1,10−2,10−3を有している。各プロセッサシステムは、複数のプロセッサ16、キャッシュユニット18及びスヌープユニット20の組と、メモリ管理ユニット26及びキャッシュ変化部80を有するプロトコル管理ユニット24と、これらの間を接続する第1共通バス22と、ローカル記憶部28と、ディレクトリ記憶部30と、バス接続ユニット32と、第2共通バス12とを有している。
共有システムバスとして動作する第2共通バス12は複数のプロセッサシステム10−1,10−2,10−3のバス接続ユニット32と図示しないバスアービタ(バス調停ユニット)とを結合する。この第2共通バス12を介して複数のプロセッサモジュールの間でスプリット型パケット転送によりバスコマンドの転送が行われる。バスコマンドは、アクセス要求元(ソースID)と示すソースフィールド、第1のアクセス要求先(第1宛先ID)を示す第1宛先フィールド、及び第2のアクセス要求先(第2宛先ID)を示す第2宛先フィールドの3つのフィールドを備える。
続いて図15のマルチプロセッサシステムの動作について説明する。
第1プロセッサモジュール10−1は自己のリード要求の対象データが第2プロセッサモジュール10―2の主記憶に存在する場合、バスコマンドのソースフィールドに10−1を指定し、第1宛先フィールドに第2プロセッサモジュール10−2を指定した第1バスコマンドを送出する。第1バスコマンドを受信した第2プロセッサモジュール10−2は、リード要求の最新データが主記憶に存在せずに第3プロセッサモジュールのキャッシュユニットに存在する場合、前記ソースフィールドに10−2を指定し、第1宛先フィールドに第3プロセッサモジュール10−3を指定し、第2宛先フィールドに第1プロセッサモジュール10−1を指定した第2バスコマンドを送出する。第2バスコマンドを受信した第3プロセッサモジュール10−3はソースフィールドに10−3を指定し、第1宛先フィールドに第2プロセッサモジュール10−2を、第2宛先フィールドに第1プロセッサモジュール10−1をそれぞれ指定したリプライコマンドを送出する。こうして、第3のプロセッサモジュールは、第1及び第2のプロセッサモジュールに対して同時にリードデータ応答をする。
しかしながら、このコマンド情報の転送方法は、キャッシュコヒーレンスを維持するためのものであるため、そのままシーケンシャル処理の実現に用いることはできない。
そこで、本発明は、複数のプロセッサ間でコマンド情報を転送することによりシーケンシャル処理を実行することができるマルチプロセッサシステムを提供することを目的とする。
本発明の第一の態様によれば、コマンド情報を生成するプロセッサ情報管理手段と、前記コマンド情報を受信し、受信したコマンド情報に基づいて動作する複数のプロセッサ手段とを備え、前記コマンド情報に、転送経路情報又は転送経路探索指令を含ませることにより、前記複数のプロセッサ手段のうちの2以上のプロセッサ手段の間で当該コマンド情報を順次転送させてシーケンシャル処理を実行するようにしたことを特徴とするマルチプロセッサシステムが得られる。
また、本発明の第二の態様によれば、処理要求/応答受信部と、プロセッサ管理部と、プロセッサタスク管理メモリと、複数のプロセッサを含むマルチプロセッサと、を備え、前記処理要求/応答受信部は外部から供給される複数のステージに分割可能なプロセッシング処理要求を受信して実行ステージ数と処理内容を決定し、前記プロセッサ管理部は前記プロセッサタスク管理メモリを用いて空きプロセッサ情報を管理し、前記プロセッサタスク管理メモリから前記空きプロセッサ情報を読み出して前記複数のステージの処理をそれぞれ実行するプロセッサを決定し、各ステージの実行処理内容を示す実行タグとそれを実行するプロセッサを示す実行プロセッサ番号と有効/無効フラグとを含むシーケンシャル処理経路リストを作成し、当該シーケンシャル処理経路リストと各ステージの処理を実行するのに必要な情報が入った実行情報フィールドとを含むコマンド情報を生成し、当該コマンド情報を前記シーケンシャル処理経路リストの先頭のエントリに含まれる実行プロセッサ番号が示すプロセッサ宛に送出し、前記複数のプロセッサの各々は、前記コマンド情報を受信した場合に、受信したコマンド情報に含まれる前記シーケンシャル処理経路リストのうち、前記有効/無効フラグが有効を示している最も前方のエントリに含まれる実行タグの処理を実行し、その後、当該エントリの前記有効/無効フラグを無効にし、前記有効/無効フラグが有効を示す次のエントリがあれば当該エントリに含まれる前記実行プロセッサ番号が示すプロセッサ宛に当該コマンド情報を転送し、前記複数のプロセッサのうち2以上のプロセッサによるシーケンシャル処理を実行するようにしたことを特徴とするマルチプロセッサシステムが得られる。
また、本発明の第三の態様によれば、処理要求/応答受信部と、プロセッサ管理部と、プロセッサタスク管理メモリと、複数のプロセッサを含むマルチプロセッサと、を備え、前記処理要求/応答受信部は外部から供給される複数のステージに分割可能なプロセッシング処理要求を受信して実行ステージ数と処理内容を決定し、前記プロセッサタスク管理メモリは、前記プロセッサ管理部及び前記複数のプロセッサからアクセス可能に設けられ、かつ空きプロセッサ情報を管理するために用いられ、前記プロセッサ管理部は、前記プロセッサタスク管理メモリから前記空きプロセッサ情報を読み出して前記複数のステージのうち最初のステージの処理を実行するプロセッサを決定し、各ステージの実行処理内容を示す実行タグと有効/無効フラグを含むシーケンシャル処理経路リストを作成し、当該シーケンシャル処理経路リストと各ステージの処理を実行するのに必要な情報が入った実行情報フィールドとを含むコマンド情報を生成し、当該コマンド情報を決定したプロセッサに送出し、前記複数のプロセッサの各々は、前記コマンド情報を受信した場合に、受信したコマンド情報に含まれる前記シーケンシャル処理経路リストのうち、前記有効/無効フラグが有効を示している最も前方のエントリに含まれる実行タグの処理を実行し、その後、当該エントリの前記有効/無効フラグを無効にし、その後前記プロセッサタスク管理メモリの前記空きプロセッサ情報を参照して空きプロセッサの一つを特定し、特定したプロセッサ宛に当該コマンド情報を転送し、前記複数のプロセッサのうち2以上のプロセッサによるシーケンシャル処理を実行するようにしたことを特徴とするマルチプロセッサシステムが得られる。
さらに、本発明の第四の形態によれば、処理要求/応答受信部と、プロセッサ管理部と、プロセッサタスク管理メモリと、複数のプロセッサを含むマルチプロセッサと、を備え、前記処理要求/応答受信部は外部から供給される複数のステージに分割可能なプロセッシング処理要求を受信して実行ステージ数と処理内容を決定し、前記プロセッサタスク管理メモリは前記プロセッサ管理部及び前記複数のプロセッサからアクセス可能に設けられ、かつ空きプロセッサ情報と各ステージの実行処理内容を示す実行タグを含むシーケンシャル処理リストとを管理するために用いられ、前記プロセッサ管理部は、前記プロセッサタスク管理メモリの前記空きプロセッサ情報に基づいて最初のステージの処理を実行するプロセッサを決定取得し、前記シーケンシャル処理経路リストを生成して前記プロセッサタスク管理メモリに格納し、各ステージの処理を実行するのに必要な情報が入った実行情報フィールドと前記プロセッサ管理メモリ上のシーケンシャル処理経路リストの先頭のエントリのアドレスを指し示すシーケンシャル情報ポインタとを含むコマンド情報を生成し、当該コマンド情報を決定したプロセッサ宛に送出し、前記複数のプロセッサの各々は、前記コマンド情報を受信した場合に、受信したコマンド情報に含まれる前記シーケンシャル情報ポインタが示す前記プロセッサタスク管理メモリのアドレスに格納されたエントリを読み出して読み出したエントリに含まれる実行タグの処理を実行し、その後、前記コマンド情報の前記シーケンシャル情報ポインタを次のエントリのアドレスに更新し、続いて前記プロセッサタスク管理メモリの空きプロセッサ情報を参照して空きプロセッサを一つ特定し、特定したプロセッサ番号宛に当該コマンド情報を転送し、
前記複数のプロセッサのうち2以上のプロセッサによるシーケンシャル処理を実行するようにしたことを特徴とするマルチプロセッサシステムが得られる。
本発明によれば、プロセッサ情報管理手段において生成されたコマンド情報を複数のプロセッサ間で順次転送させてシーケンシャル処理を実行させるようにしたことにより、プロセッサ情報管理手段での複数のプロセッサを管理に要する負荷を軽減することができる。
以下、本発明の実施の形態について図面を参照して詳細に説明する。
図1を参照すると、本発明の第一の実施の形態としてのマルチプロセッサシステムが示されている。本システムは、処理要求/応答受信部1、プロセッサ情報管理部2、プロセッサタスク管理メモリ21及びマルチプロセッサ3を含む。
処理要求/応答受信部1は、図示しない外部ブロックからの処理要求を受信し、マルチプロセッサ3で処理した結果を外部ブロックへ返す。
プロセッサ情報管理部2は、マルチプロセッサ3に含まれる複数(N個)のプロセッサ301−1〜301−Nの稼動状況を把握し、空きプロセッサリストを作成してプロセッサタスク管理メモリ21に格納し、随時更新する。また、プロセッサ情報管理部2は、空きプロセッサリストを参照して、処理要求/応答受信部1が受信した処理供給を実行する1以上のプロセッサ(シーケンシャル処理経路)を決定する。
プロセッサタスク管理メモリ21は、プロセッサ情報管理部2に接続され、空きプロセッサリストを始め、動作に必要な情報を記憶する。
マルチプロセッサ3は、並列動作可能なN個のプロセッサ301−1〜301−Nを含む。プロセッサの数Nは特に限定されない。これらのプロセッサは、互いにバス接続され、相互にデータ転送が可能である。これにより、これらプロセッサは、処理順序の定められた複数のタスクを順番に処理するシーケンシャル処理を行うことができる。プロセッサ間の接続形態は、クロスバーやリングバスなどでもよい。
次に、図1に示したマルチプロセッサシステムの動作について、図2のフローチャートを参照して説明する。
図2のフローチャートは、実行フローのうち処理要求/応答受信部1の処理U1、プロセッサ情報管理部2の処理(前半)U2、プロセッサ情報管理部2の処理(後半)U3を示している。
詳述すると、処理要求/応答受信部1は、外部ブロックからの処理要求パケットを受信すると(ステップA1)、受信したパケットに含まれるシーケンシャル処理内容を取得する(ステップA2)。そして、処理要求/応答受信部1は、取得したシーケンシャル処理内容を複数のステージに分割する。換言すると、処理要求/応答受信部1は、取得したシーケンシャル処理内容を実行するのに必要なステージ数と各ステージの処理内容とを決定する(ステップA3)。決定したステージ数と各ステージの処理内容とは、プロセッサ情報管理部2へ通知される。
プロセッサ情報管理部2は、処理要求/応答受信部1からの通知を受けて、プロセッサタスク管理メモリ21から空きプロセッサリストを読み出す(ステップA4)。そして、プロセッサ情報管理部2は、シーケンシャル処理内容を実行するのに必要な数(ステージ数)の空きプロセッサが存在するか否か判定する(ステップA5)。必要な数の空きプロセッサが存在しない場合(ステップA5でNo)、プロセッサ情報管理部2は、必要な数の空きプロセッサが揃うまで待機する(ステップA6)。
必要な数の空きプロセッサ存在する場合(ステップA5でYes)、プロセッサ情報管理部2は、空きプロセッサの中から各ステージの処理を実行させるプロセッサ(シーケンシャル処理経路)を決定する(ステップA7)。また、プロセッサ情報管理部2は、決定したプロセッサに関して空きプロセッサリストを更新する(ステップA8)。更に、プロセッサ情報管理部2は、決定されたプロセッサにシーケンシャル処理内容を実行させるためのコマンド情報を生成し(ステップA9)、最初のステージの処理を実行するプロセッサへ送出する(ステップA10)。
プロセッサ情報管理部2から送出されるコマンド情報のフォーマットの一例を図3に示す。
図3のコマンド情報は、内部情報フィールドD1と、シーケンシャル処理経路リストフィールドD2と、実行情報フィールドD3とを含む。
内部情報フィールドD1には、このコマンド情報の全体長や各フィールドの先頭からのバイト位置を示す情報が格納される。シーケンシャル処理経路リストフィールドD2には、シーケンシャル処理経路リストが格納される。実行情報フィールドD3には、シーケンシャル処理内容を実行するために必要な実行情報が格納される。
シーケンシャル処理経路リストフィールドD2に格納されるシーケンシャル処理経路リストは、各ステージに対応するプロセッサ実行エントリD21を実行順序に従って並べたものである。各プロセッサ実行エントリD21は、該当エントリが有効であるか否か示す有効/無効フラグD211と、当該エントリに対応するステージの処理を実行するプロセッサを示す実行プロセッサ番号D212と、実行すべき処理の内容を示す実行タグD213とを含む。実行順に並べられた実行プロセッサ番号D212が転送経路情報としての役割を果たす。実行タグD213は、実行する処理の内容を一意に示すものであればよく、実行内容を示す番号や、実行タスクの開始アドレス等を使用することができる。
次に、プロセッサ301−1〜301−Nの動作について、図4のフローチャートを参照して説明する。プロセッサ301−1〜301−Nは全て同一プログラムをロードしており、同一の動作を行う。したがって、以下では、一つのプロセッサ301について説明する。
プロセッサ301は、コマンド情報を受信するまで待機する(ステップB1でNo)。ここで、コマンド情報は、上述したプロセッサ情報管理部2から送出されたもののみならず、後述の説明から明らかなように、他のプロセッサから送出されたものもある。
プロセッサ301は、自プロセッサ宛のコマンド情報を受信するまで待機する(ステップB1でNo)。プロセッサ301は、自プロセッサ宛のコマンド情報を受信すると(ステップB1でYes)、受信したコマンド情報の中で有効/無効フラグが有効を示すエントリのうち最も先頭のプロセッサ実行エントリD21を抽出する(ステップB2)。それから、プロセッサ301は、コマンド情報の実行情報フィールドD3から実行情報を抽出する(ステップB3)。抽出した実行情報は、後にシーケンシャル処理を実行する際に使用される。
次に、プロセッサ301は、抽出したプロセッサ実行エントリD21から実行タグを取得する(ステップB4)。そして、取得した実行タグと先に抽出した実行情報とに基づいて実行すべきシーケンシャル処理の内容(割り当てられたステージの処理の内容)を決定する(ステップB5〜B8)。
図4の例では、予めM個(M>0)の条件分岐が規定されている。実行タグがタグAの場合、プロセッサ301は、タグAに該当するシーケンシャル処理を実行する(ステップB5,B6)。実行タグがタグBの場合、プロセッサ301は、タグBに該当するシーケンシャル処理を実行する(ステップB5,B7)。実行タグがタグMの場合、プロセッサ301は、タグMに該当するシーケンシャル処理を実行する(ステップB5,B8)。これらのシーケンシャル処理の実行により、実行情報は更新される。
プロセッサ301は、シーケンシャル処理を完了した後、実行したプロセッサ実行エントリD21の有効/無効フラグを無効とする(ステップB9)。また、プロセッサ301は、実行したプロセッサ実行エントリD21がシーケンシャル処理経路リストの最後のエントリであるか否か判断する(ステップB10)。
実行したプロセッサ実行エントリD21がシーケンシャル処理経路リストの最後のエントリでない場合(ステップB10でNo)、プロセッサ301は、コマンド情報を転送するため、実行情報フィールドに更新された実行情報を格納する(ステップB11)。そして、プロセッサ301は、実行したプロセッサ実行エントリD21の次のプロセッサ実行エントリに含まれる実行プロセッサ番号に対応するプロセッサに対して更新したコマンド情報を転送する(ステップB12)。
実行したプロセッサ実行エントリD21がシーケンシャル処理経路リストの最後のエントリであった場合(ステップB10でYes)、プロセッサ301は、必要な後処理を行う(ステップB13)。また、プロセッサ301は、シーケンシャル処理を実行することにより更新された実行情報をコマンド情報に格納して、あるいはコマンド情報とは別に、処理要求/応答受信部1のセッション管理部(図示せず)へ送付する(ステップB14)。さらに、プロセッサ301は、シーケンシャル処理リストに含まれる実行プロセッサ番号に対応する全てのプロセッサが空き状態になったことを示すプロセッサの空きリスト通知を、プロセッサ情報管理部2へ送付する(ステップB15)。
処理要求/応答受信部1への更新された実行情報の送付と、プロセッサ情報管理部2へのプロセッサの空きリスト通知の送付は、同一のフレームを用いて行われてもよい。その場合、プロセッサ情報管理部2は、受信したフレームからプロセッサの空きリスト通知を抽出した後、実行情報を同一フレームから抽出して処理要求/応答受信部1へ転送する。
以上のようにしてコマンド情報の転送又はプロセッサの空きリスト通知の送付を行ったプロセッサ301は、次のコマンド情報の受信を待つ待機状態に戻る。
次に、図5を参照して、プロセッサ301からプロセッサの空きリスト通知を受け取ったプロセッサ情報管理部2の動作について説明する。
プロセッサ情報管理部2は、プロセッサタスク管理メモリ21に格納された空きプロセッサリストを管理している。このため、プロセッサ情報管理部2は、図2に示すフローとは別に、図5に示すフローに従い動作する。即ち、プロセッサ情報管理部2は、プロセッサ301から送出されたプロセッサの空きリスト通知を受信して(ステップC1)、空きプロセッサリストを更新する(ステップC2)。
次に図1乃至図5に加えて図6乃至図8を参照して、本実施の形態に係るマルチプロセッサシステムの動作についてさらに説明する。
図6は、マルチプロセッサ3に含まれる12個(N=12の場合)のプロセッサ301−1〜301−12の動作状況を示す図である。プロセッサ301−1及び301−2からなる組E1は、2段のステージを含むシーケンシャル処理A1を実行している。プロセッサ301−4のみからなる組E3は、1段のステージを含むシーケンシャル処理Bを実行している。プロセッサ301−5〜301−7からなる組E2は、3段のステージを含むシーケンシャル処理C1を実行している。プロセッサ301−10及び301−11からなる組E4は、2段のステージを含むシーケンシャル処理A2を実行している。プロセッサ301−3,301−8,301−9及び301−12は、空きプロセッサである。
図6に示す動作状況において、処理要求/応答受信部1が新たに3段のステージに分割可能なシーケンシャル処理C2という要求を受信したとする。
プロセッサ情報管理部2は、処理要求/応答受信部1からの通知を受け、プロセッサタスク管理メモリ21を参照して、3つのプロセッサを選択する。この選択は例えば、番号の若い順に選択したり、空き時間の長いプロセッサから順に選択したりすることができる。図6では、プロセッサ301−3,301−8及び301−9が選択され、組E5を構成している。
プロセッサ情報管理部2は、プロセッサ301−3,301−8及び301−9を選択した後、プロセッサタスク管理メモリ21の空きプロセッサリストを更新する。即ち、プロセッサ301−3,301−8及び301−9が使用中であるという情報を空きプロセッサリストに加える。また、プロセッサ情報管理部2は、プロセッサ301−3,301−8及び301−9に要求されたシーケンス処理を実行させるべく、図7に示すようなコマンド情報を生成し、最初のステージを実行するプロセッサ301−3へ送付する。
図7のコマンド情報について詳細に説明する。
内部ヘッダフィールドG1には本コマンド情報の最大長および各フィールドのバイト位置などを示す内部情報が入っている。
シーケンシャル処理経路リストフィールドG2〜G4にはシーケンシャル処理経路リストが格納されている。このリストでは、全てのエントリの有効/無効フラグが有効を示す“1”となっている。また、シーケンシャル処理がプロセッサ301−3→プロセッサ301−8→プロセッサ301−9の順で行われることが示されている。さらに、これらのプロセッサが処理すべき内容が、処理C2の一段目のステージ〜三段目のステージであることが示されている。
また、実行情報フィールドG5にはシーケンシャル処理の実行に必要な実行情報が格納されている。
このコマンド情報をプロセッサ301−3からプロセッサ301−8へ、プロセッサ301−8からプロセッサ301−9へと、更新を行いながら転送することにより、プロセッサ301−3に処理C2のステージ1を、プロセッサ301−8に処理C2のステージ2を、プロセッサ301−9に処理C2の処理ステージ3を実行させることができる。
図8は、プロセッサ301−3,301−8及び301−9が3段のステージを含むシーケンシャル処理C2を実行している様子を示すイメージ図である。シーケンシャル処理の物理トポロジは、図6に示すような形であるが、論理的には図8のような処理イメージとなる。
プロセッサ301−3の入力前の点F1では、コマンド情報に含まれるシーケンシャル処理経路リストの有効/無効フラグは全て“1”となっている。
プロセッサ301−3(処理F2)において、ステージ1のシーケンシャル処理が実行されると、シーケンシャル処理経路リストフィールドG2の有効/無効フラグが落とされる(“0”とされる)。これにより、プロセッサ301−8の入力前の点F3では、シーケンシャル処理経路リストフィールドG3のエントリが、有効/無効フラグが“1”である最も先頭よりのエントリとなる。また、処理F2により、実行情報フィールドG5の実行情報は書き換えられる。
次に、コマンド情報を受け取ったプロセッサ301−8(処理F4)においても、ステージ2のシーケンシャル処理が実行されると、シーケンシャル処理経路リストフィールドG3の有効/無効フラグが落とされる(“0”とされる)。これにより、プロセッサ301−9の入力前の点F5では、シーケンシャル処理経路リストフィールドG4のエントリが、有効/無効フラグが“1”である最も先頭よりのエントリとなる。また、処理F4により、実行情報フィールドG5の実行情報は書き換えられる。
さらに、コマンド情報を受け取ったプロセッサ301−9(処理F6)においても、ステージ3のシーケンシャル処理が実行されると、シーケンシャル処理経路リストフィールドG4の有効/無効フラグが落とされる(“0”とされる)。これにより、点F7では、全ての有効/無効フラグが落とされる。また、処理F6により、実行情報フィールドG5の実行情報は全てのシーケンシャル処理情報を実行した後の状態に書き換えられる。
こうして得られたコマンド情報がプロセッサの空きリスト通知及び更新された実行情報として処理要求/応答受信部1及びプロセッサ情報管理部2へ送られる。
プロセッサ情報管理部2は、プロセッサの空きリスト通知を受信すると、プロセッサ301−3,プロセッサ301−8及びプロセッサ301−9が空きプロセッサであるとして、プロセッサタスク管理メモリ21に格納されている空きプロセッサリストに追加する。
以上のように、本実施の形態に係るマルチプロセッサによれば、空きプロセッサを効率的に使用する動的なシーケンシャル処理の処理内容及び処理経路の割り当てを実施することができる。
また、本実施の形態に係るマルチプロセッサによれば、シーケンシャル処理を実行するプロセッサ間でコマンド情報を転送するようにしたことで、各プロセッサが空きプロセッサ情報を管理するプロセッサ情報管理部2にアクセスすることなく、シーケンシャル処理を実行することができる。これにより、プロセッサ情報管理部2の負荷を軽減することができるとともに、ボトルネックになりがちなプロセッサ間のデータ転送量を削減することができる。
次に、本発明の第二の実施の形態に係るマルチプロセッサシステムについて説明する。
第一の実施の形態に係るマルチプロセッサシステムでは、最後のステージの処理を実行したプロセッサから、シーケンシャル処理に携わった全てのプロセッサが空き状態になったことをプロセッサ情報管理部へ通知する。このため、既に処理を終えたプロセッサであっても、プロセッサタスク管理メモリ21の空きプロセッサリストに登録されておらず、最後のステージの処理が終了するまで再利用することができない。そこで、本実施の形態では、各プロセッサが割り当てられたステージの処理を終了するごとに空き状態となったことをプロセッサ情報管理部へ通知する。これにより第一の実施の形態のマルチプロセッサシステムに比べ、本実施の形態のマルチプロセッサシステムは、空きプロセッサにより効率良くタスクを割り当てることができる。
本実施の形態に係るマルチプロセッサシステムの構成及び動作は、第一の実施の形態に係るマルチプロセッサシステムとほとんど同じである。ただし、各プロセッサの動作が一部異なる。
図9に第二の実施の形態に係るマルチプロセッサシステムの各プロセッサの動作を説明するためのフローチャートを示す。図9のフローチャートが図4のフローチャートと異なる点は、ステップB15に代えてステップB21を有している点である。
図3のフローチャートでは、実行したエントリがシーケンシャル処理経路リストの最後のエントリであった場合に、プロセッサ301が、プロセッサの空きリスト通知をプロセッサ情報管理部2に送付する(ステップB15)。これに対し、図9のフローチャートでは、実行したエントリがシーケンシャル処理経路リストの最後のエントリであったか否かにかかわらず、各プロセッサが空き状態となったこと示す空き通知をプロセッサ情報管理部2に送付する(ステップB21)。
図8の例では、最後のシーケンシャル処理を行ったプロセッサ301−9のみがプロセッサ情報管理部2にプロセッサの空きリスト通知を送付する。これに対し、本実施の形態では、プロセッサ301−3,301−8及び301−9のそれぞれが、各ステージの処理を終えたあと、個別に自プロセッサが空き状態となったことを示す空きプロセッサ通知を作成してプロセッサ情報管理部2に送付する。つまり、第一の実施の形態では、点Fにてプロセッサの空きリスト通知を送付していたものを、第二の実施の形態では点F3,F5及びF7のそれぞれにおいて個別に空きプロセッサ通知を送信する。これにより本実施の形態では、空きプロセッサの発生をより迅速に把握することができるので、第一の実施の形態と比較して、より効率的に空きプロセッサにタスクを割り当てることができる。
次に、本発明の第三の実施の形態に係るマルチプロセッサシステムついて説明する。
第一及び第二の実施の形態に係るマルチプロセッサシステムでは、空きプロセッサの情報をプロセッサ情報管理部2にて一括管理している。これに対し、本実施の形態に係るマルチプロセッサシステムでは、全てのプロセッサからプロセッサタスク管理メモリ21へアクセスすることができる。これにより、プロセッサタスク管理メモリ21の空きプロセッサリストをどのプロセッサからも更新することができる。
図10に、本実施の形態に係るマルチプロセッサシステムの構成を示す。図1の構成と異なる点は、プロセッサタスク管理メモリ21がプロセッサ情報管理部2ではなく、マルチプロセッサ3からもアクセス可能な直結バスに接続されている点である。このような配置により、プロセッサタスク管理メモリ21は、プロセッサ情報管理部2からもマルチプロセッサ3内のプロセッサ301−1〜301−Nのいずれからも直接読み書きすることができる。
次に、図10のマルチプロセッサシステムの動作について説明する。
処理要求/応答受信部1は、第一の実施の形態と同様に動作する。また、プロセッサ情報管理部2は、第一の実施の形態と同様にコマンド情報を生成し送出する。ただし、プロセッサ情報管理部2は、シーケンシャル処理の最初のステージの処理を実行するプロセッサのみを決定し、後続するステージの処理を実行するプロセッサについてはその決定を行わない。
本実施の形態におけるコマンド情報のフォーマットは、図11に示すようになる。
図示のように本実施の形態のコマンド情報は、内部情報フィールドD1、シーケンシャル処理経路リストフィールドD2及び実行情報フィールドD3を有している点で、図3のコマンド情報と同じである。しかしながら、このコマンド情報では、シーケンシャル処理経路リストフィールドD2に格納されるシーケンシャル処理経路リストの各プロセッサ実行エントリD21が、実行プロセッサ番号D212を持たない。つまり、このコマンド情報は、各プロセッサ実行エントリD21として、有効/無効フラグD211と実行タグD213のみを有している。このように、本実施の形態では、転送経路情報として実行プロセッサ番号D212が存在しないので、それを補うため実行タグD213に転送経路探索指令が含まれる。
次に、図12を参照してプロセッサ301の動作について説明する。図12のフローチャートを第二の実施の形態における図9のフローチャートと比較すると、ステップB12に代えて、ステップB15″〜ステップB18″を有している点で異なっている。
本実施の形態では、コマンド情報に実行プロセッサ番号D212が含まれていないので、第二の実施の形態のように、シーケンシャル処理経路リストに基づいてコマンド情報の転送先を決定することができない。そこで、本実施の形態では、シーケンシャル処理を実行したプロセッサ301が、転送経路探索指令に従い、直接プロセッサタスク管理メモリ21にアクセスし転送先を決定する。
即ち、プロセッサ301は、プロセッサタスク管理メモリ21に格納されている空きプロセッサリストを取得する(ステップB31)。そして、プロセッサ301は、取得した空きプロセッサリストに基づき、空きプロセッサが存在するか否か判定する(ステップB32)。
空きプロセッサが存在しない場合(ステップB32でNo)、プロセッサ301は、空きプロセッサが生じるまで待機する(ステップB33)。一方、空きプロセッサが存在する場合は(ステップB32でYes)、そのうちの一つを選択し、選択したプロセッサへコマンド情報を転送する(ステップB34)。
第一及び第二の実施の形態では、プロセッサ情報管理部2においてコマンド情報を作成する際に、シーケンシャル処理の実行に必要な数(ステージ数)の空きプロセッサが存在しなければならない。即ち、これらの実施の形態では、シーケンシャル処理を実行に必要な数の空きプロセッサが存在しなければ、そのシーケンシャル処理を開始することができない。これに対し、本実施の形態では、少なくとも一つの空きプロセッサが存在すれば、シーケンシャル処理を開始することができる。
次に、本発明の第四の実施の形態に係るマルチプロセッサシステムについて説明する。
上述した第一乃至第三の実施の形態では、コマンド情報にシーケンシャル処理経路リストフィールドを含ませていたが、本実施の形態では、シーケンシャル処理経路リストフィールドに代えてシーケンシャル情報ポインタフィールドを設けている。即ち、本実施の形態では、シーケンシャル処理経路リストをプロセッサタスク管理メモリ内に置き、コマンド情報には、シーケンシャル処理経路リストのいずれかのエントリの格納位置を指し示すポインタを含ませる。これにより、より簡潔なコマンド情報の転送でシーケンシャル処理を実現することができる。
本実施の形態に係るマルチプロセッサシステムは、図10に示す第三の実施の形態と同様に構成される。ただし、プロセッサタスク管理メモリ21には、図13に示すように、空きプロセッサリストの保存領域D52に加えて、シーケンシャル処理経路リスト保存領域D51が設けられている。
図13に示すように、コマンド情報に含まれるシーケンシャル情報ポインタフィールドD4には、プロセッサタスク管理メモリ12に格納されたシーケンシャル処理経路リストのいずれかのプロセッサ実行エントリD21の格納位置を示すシーケンシャル情報ポインタが格納される。
次に、本実施の形態に係るマルチプロセッサシステムの動作について説明する。
処理要求/応答受信部1の動作は、第一の実施の形態と同様である。プロセッサ情報管理部2は、第一の実施の形態とほぼ同様に動作する。ただし、図2のステップA8において、プロセッサタスク管理メモリ21に対して、空きプロセッサリストの更新とともに、作成したシーケンシャル処理経路リストをプロセッサタスク管理メモリ21に格納する。また、ステップA9では、コマンド情報の作成に当たり、シーケンシャル処理経路リストではなく、シーケンシャル情報ポインタを含ませる。
次に図14のフローチャートを参照して本実施の形態におけるプロセッサ301の動作について説明する。
図14のフローチャートは、図12のフローチャートと比べると、ステップB2に代えてステップB41及びB42を有し、また、ステップB10に代えてステップB43を有している点で異なる。
本実施の形態では、プロセッサ301は、自プロセッサ宛のコマンド情報を受信すると(ステップB1でYes)、受信したコマンド情報からシーケンシャル情報ポインタを抽出する(ステップB41)。そしてプロセッサ301は、プロセッサタスク管理メモリ21にアクセスし、抽出したシーケンシャル情報ポインタが指し示すアドレスに格納されたプロセッサ実行エントリを取得する(ステップB42)。
この後、プロセッサ301は、第一乃至第三の実施の形態と同様に、シーケンシャル処理の割り当てられたステージの処理を実行し(ステップB3〜B8)、プロセッサ実行エントリの有効/無効フラグを更新する(ステップB9)。
次に、プロセッサ301は、プロセッサタスク管理メモリ21を参照して、コマンド情報に含まれていたシーケンシャル情報ポインタが指し示すアドレス上のプロセッサ実行エントリがシーケンシャル処理経路リストの最後のエントリであるか否か判定する(ステップB43)。
その後、プロセッサ301は、判定結果に従って第三の実施の形態の場合と同様に動作する。ただし、この場合、プロセッサタスク管理メモリ21上のシーケンシャル処理経路リストには、図13に示す実行プロセッサ番号D212は含まれていない。
プロセッサタスク管理メモリ21上のシーケンシャル処理経路リストに実行プロセッサ番号D212が含まれる場合は、プロセッサ301は、第一又は第二の実施の形態の場合と同様に動作する。
コマンド情報にシーケンシャル経路情報リストが含まれている場合、シーケンシャル処理のステージ数の増大に伴い、コマンド情報の処理オーバーヘッドが増大するおそれがある。これに対し、本実施の形態では、シーケンシャル情報ポインタという一定サイズの単一エントリを用いることで、コマンド情報の処理オーバーヘッドを低減することができる。
以上、本発明についていくつかの実施の形態に即して説明したが、本発明は上記実施の形態に限定されず、種々の変形が可能である。
本発明の第一の実施の形態に係るマルチプロセッサシステムの概略構成を示すブロック図である。 図1のマルチプロセッサシステムにおける処理要求/応答受信部及びプロセッサ情報管理部の動作を説明するためのフローチャートである。 図1のマルチプロセッサシステムにおけるプロセッサ情報管理部から送出されるコマンド情報のフォーマット図である。 図1のマルチプロセッサシステムにおけるプロセッサの動作を説明するためのフローチャートである。 図1のマルチプロセッサシステムにおけるプロセッサ情報管理部の空きプロセッサリスト受信動作を説明するためのフローチャートである。 図1のマルチプロセッサシステムにおけるプロセッサアレイのシーケンシャル割り当ての例を説明するための図である。 図1のマルチプロセッサシステムにおけるコマンド情報の具体例を示す図である。 図6のシーケンシャル割り当て例によるプロセッサアレイのシーケンシャル動作を説明するための図である。 本発明の第二の実施の形態に係るマルチプロセッサシステムにおけるプロセッサの動作を説明するためのフローチャートである。 本発明の第三の実施の形態に係るマルチプロセッサシステムの概略構成を示すブロック図である。 図10のマルチプロセッサシステムにおいて使用されるコマンド情報のフォーマット図である。 図10のマルチプロセッサシステムにおけるプロセッサの動作を説明するためのフローチャートである。 本発明の第四の実施の形態に係るマルチプロセッサシステムにおけるコマンド情報とプロセッサタスク管理メモリに格納される情報とを説明するための図である。 本発明の第四の実施の形態に係るマルチプロセッサシステムにおけるプロセッサの動作を説明するためのフローチャートである。 本発明に関連するマルチプロセッサシステムを説明するためのブロック図である。
符号の説明
1 処理要求/応答受信部
2 プロセッサ情報管理部
21 プロセッサタスク管理メモリ
3 マルチプロセッサ
301−1〜301−N プロセッサ

Claims (18)

  1. コマンド情報を生成するプロセッサ情報管理手段と、
    前記コマンド情報を受信し、受信したコマンド情報に基づいて動作する複数のプロセッサ手段とを備え、
    前記コマンド情報に、転送経路情報又は転送経路探索指令を含ませることにより、前記複数のプロセッサ手段のうちの2以上のプロセッサ手段の間で当該コマンド情報を順次転送させてシーケンシャル処理を実行するようにしたことを特徴とするマルチプロセッサシステム。
  2. 前記コマンド情報が、前記転送経路情報と、実行順序が定められている複数の処理ステージに関するタグ情報と、前記複数の処理ステージの各々が実行されたか否かを示すフラグ情報とを含み、
    前記複数のプロセッサ手段の各々が、前記コマンド情報を受信した場合に、前記フラグ情報が未実行を示している処理ステージの中で最も実行順序が先の処理ステージを実行し、前記フラグ情報を更新し、前記転送経路情報に基づいて更新されたコマンド情報を他のプロセッサ手段へ転送するようにしたことを特徴とする請求項1に記載のマルチプロセッサシステム。
  3. 前記コマンド情報が、前記転送経路情報、前記タグ情報及び前記フラグ情報に代えてこれらの情報の所在を示す所在情報を含み、
    前記複数のプロセッサ手段の各々が、前記コマンド情報を受信した場合に、前記所在情報に基づいて前記タグ情報、前記フラグ情報及び前記転送経路情報を得るようにしたことを特徴とする請求項2に記載のマルチプロセッサシステム。
  4. 前記複数のプロセッサ手段の稼働状況を示す稼動情報を格納する記憶手段をさらに備え、
    前記プロセッサ情報管理手段が、前記記憶手段に格納された前記稼動情報を参照して、前記複数の処理ステージをそれぞれ実行する複数のプロセッサを決定し、決定された複数のプロセッサを表すプロセッサ番号情報を生成し、生成したプロセッサ番号情報を前記転送経路情報とすることを特徴とする請求項2又は3に記載のマルチプロセッサシステム。
  5. 前記コマンド情報が、前記経路探索指令と、実行順序が定められている複数の処理ステージに関するタグ情報と、前記複数の処理ステージの各々が実行されたか否かを示すフラグ情報とを含み、
    前記複数のプロセッサ手段の各々が、前記コマンド情報を受信した場合に、前記フラグ情報が未実行を示している処理ステージの中で最も実行順序が先の処理ステージを実行し、前記フラグ情報を更新し、前記経路探索指令に基づいて更新されたコマンド情報を転送すべき他のプロセッサ手段を特定し、特定した他のプロセッサ手段へ前記更新されたコマンド情報を転送するようにしたことを特徴とする請求項1に記載のマルチプロセッサシステム。
  6. 前記コマンド情報が、前記タグ情報及び前記フラグ情報に代えてこれらの情報の所在を示す所在情報を含み、
    前記複数のプロセッサ手段の各々が、前記コマンド情報を受信した場合に、前記所在情報に基づいて前記タグ情報及び前記フラグ情報を得るようにしたことを特徴とする請求項5に記載のマルチプロセッサシステム。
  7. 前記複数のプロセッサ手段の稼働状況を示す稼動情報を格納する記憶手段をさらに備え、
    前記複数のプロセッサ手段の各々が、前記記憶手段に格納された前記稼動情報を参照して、前記更新されたコマンド情報を転送すべき他のプロセッサ手段を特定することを特徴とする請求項5又は6に記載のマルチプロセッサシステム。
  8. 前記複数のプロセッサ手段の各々が、前記コマンド情報を転送した後、空き状態に移行したことを前記プロセッサ情報管理手段に通知し、前記プロセッサ情報管理手段が、前記記憶手段に格納された前記稼動情報を更新することを特徴とする請求項4又は7に記載のマルチプロセッサシステム。
  9. 処理要求/応答受信部と、プロセッサ管理部と、プロセッサタスク管理メモリと、複数のプロセッサを含むマルチプロセッサとを備え、
    前記処理要求/応答受信部は外部から供給される複数のステージに分割可能なプロセッシング処理要求を受信して実行ステージ数と処理内容を決定し、
    前記プロセッサ管理部は前記プロセッサタスク管理メモリを用いて空きプロセッサ情報を管理し、前記プロセッサタスク管理メモリから前記空きプロセッサ情報を読み出して前記複数のステージの処理をそれぞれ実行するプロセッサを決定し、各ステージの実行処理内容を示す実行タグとそれを実行するプロセッサを示す実行プロセッサ番号と有効/無効フラグとを含むシーケンシャル処理経路リストを作成し、当該シーケンシャル処理経路リストと各ステージの処理を実行するのに必要な情報が入った実行情報フィールドとを含むコマンド情報を生成し、当該コマンド情報を前記シーケンシャル処理経路リストの先頭のエントリに含まれる実行プロセッサ番号が示すプロセッサ宛に送出し、
    前記複数のプロセッサの各々は、前記コマンド情報を受信した場合に、受信したコマンド情報に含まれる前記シーケンシャル処理経路リストのうち、前記有効/無効フラグが有効を示している最も前方のエントリに含まれる実行タグの処理を実行し、その後、当該エントリの前記有効/無効フラグを無効にし、前記有効/無効フラグが有効を示す次のエントリがあれば当該エントリに含まれる前記実行プロセッサ番号が示すプロセッサ宛に当該コマンド情報を転送し、
    前記複数のプロセッサのうち2以上のプロセッサによるシーケンシャル処理を実行するようにしたことを特徴とするマルチプロセッサシステム。
  10. 前記複数のプロセッサの各々は、前記シーケンシャル処理経路リストの最後のエントリに含まれる実行タグを処理した場合、前記実行情報フィールドを更新して更新された実行情報フィールドを含むコマンド情報を前記処理要求/応答受信部へ送出することを特徴とする請求項8に記載のマルチプロセッサシステム。
  11. 前記複数のプロセッサの各々は、前記シーケンシャル処理経路リストの最後のエントリに含まれる実行タグを処理した場合、前記シーケンシャル処理経路リストに含まれるプロセッサ番号のリストを作成し、空きプロセッサリストとして前記プロセッサ情報管理部に送出することを特徴とする請求項8に記載のマルチプロセッサシステム。
  12. 前記複数のプロセッサの各々は、前記コマンド情報を転送する際、自身の番号を空きプロセッサ番号として前記プロセッサ情報管理部に送出することを特徴とする請求項9に記載のマルチプロセッサシステム。
  13. 処理要求/応答受信部と、プロセッサ管理部と、プロセッサタスク管理メモリと、複数のプロセッサを含むマルチプロセッサとを備え、
    前記処理要求/応答受信部は外部から供給される複数のステージに分割可能なプロセッシング処理要求を受信して実行ステージ数と処理内容を決定し、
    前記プロセッサタスク管理メモリは、前記プロセッサ管理部及び前記複数のプロセッサからアクセス可能に設けられ、かつ空きプロセッサ情報を管理するために用いられ、
    前記プロセッサ管理部は、前記プロセッサタスク管理メモリから前記空きプロセッサ情報を読み出して前記複数のステージのうち最初のステージの処理を実行するプロセッサを決定し、各ステージの実行処理内容を示す実行タグと有効/無効フラグを含むシーケンシャル処理経路リストを作成し、当該シーケンシャル処理経路リストと各ステージの処理を実行するのに必要な情報が入った実行情報フィールドとを含むコマンド情報を生成し、当該コマンド情報を決定したプロセッサに送出し、
    前記複数のプロセッサの各々は、前記コマンド情報を受信した場合に、受信したコマンド情報に含まれる前記シーケンシャル処理経路リストのうち、前記有効/無効フラグが有効を示している最も前方のエントリに含まれる実行タグの処理を実行し、その後、当該エントリの前記有効/無効フラグを無効にし、その後前記プロセッサタスク管理メモリの前記空きプロセッサ情報を参照して空きプロセッサの一つを特定し、特定したプロセッサ宛に当該コマンド情報を転送し、
    前記複数のプロセッサのうち2以上のプロセッサによるシーケンシャル処理を実行するようにしたことを特徴とするマルチプロセッサシステム。
  14. 前記複数のプロセッサの各々は、前記シーケンシャル処理経路リストの最後のエントリに含まれる実行タグを処理した場合、前記実行情報フィールドを更新して更新された実行情報フィールドを含むコマンド情報を前記処理要求/応答受信部へ送出することを特徴とする請求項13に記載のマルチプロセッサシステム。
  15. 前記前記複数のプロセッサの各々は、前記コマンド情報を転送する際、自身の番号を空きプロセッサ番号として前記プロセッサタスク管理メモリの空きプロセッサ情報に反映させることを特徴とする請求項13記載のマルチプロセッサシーケンシャル処理経路通知方式。
  16. 処理要求/応答受信部と、プロセッサ管理部と、プロセッサタスク管理メモリと、複数のプロセッサを含むマルチプロセッサとを備え、
    前記処理要求/応答受信部は外部から供給される複数のステージに分割可能なプロセッシング処理要求を受信して実行ステージ数と処理内容を決定し、
    前記プロセッサタスク管理メモリは前記プロセッサ管理部及び前記複数のプロセッサからアクセス可能に設けられ、かつ空きプロセッサ情報と各ステージの実行処理内容を示す実行タグを含むシーケンシャル処理リストとを管理するために用いられ、
    前記プロセッサ管理部は、前記プロセッサタスク管理メモリの前記空きプロセッサ情報に基づいて最初のステージの処理を実行するプロセッサを決定取得し、前記シーケンシャル処理経路リストを生成して前記プロセッサタスク管理メモリに格納し、各ステージの処理を実行するのに必要な情報が入った実行情報フィールドと前記プロセッサ管理メモリ上のシーケンシャル処理経路リストの先頭のエントリのアドレスを指し示すシーケンシャル情報ポインタとを含むコマンド情報を生成し、当該コマンド情報を決定したプロセッサ宛に送出し、
    前記複数のプロセッサの各々は、前記コマンド情報を受信した場合に、受信したコマンド情報に含まれる前記シーケンシャル情報ポインタが示す前記プロセッサタスク管理メモリのアドレスに格納されたエントリを読み出して読み出したエントリに含まれる実行タグの処理を実行し、その後、前記コマンド情報の前記シーケンシャル情報ポインタを次のエントリのアドレスに更新し、続いて前記プロセッサタスク管理メモリの空きプロセッサ情報を参照して空きプロセッサを一つ特定し、特定したプロセッサ番号宛に当該コマンド情報を転送し、
    前記複数のプロセッサのうち2以上のプロセッサによるシーケンシャル処理を実行するようにしたことを特徴とするマルチプロセッサシステム。
  17. 前記複数のプロセッサの各々は、前記シーケンシャル処理経路リストの最後のエントリに含まれる実行タグを処理した場合、前記実行情報フィールドを更新して更新された実行情報フィールドを含むコマンド情報を前記処理要求/応答受信部へ送出することを特徴とする請求項16に記載のマルチプロセッサシステム。
  18. 前記前記複数のプロセッサの各々は、前記コマンド情報を転送する際、自身の番号を空きプロセッサ番号として前記プロセッサタスク管理メモリの未稼動プロセッサ情報に反映させることを特徴とする請求項16に記載のマルチプロセッサシステム。
JP2007303969A 2007-11-26 2007-11-26 マルチプロセッサシステム Withdrawn JP2009129219A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007303969A JP2009129219A (ja) 2007-11-26 2007-11-26 マルチプロセッサシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007303969A JP2009129219A (ja) 2007-11-26 2007-11-26 マルチプロセッサシステム

Publications (1)

Publication Number Publication Date
JP2009129219A true JP2009129219A (ja) 2009-06-11

Family

ID=40820064

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007303969A Withdrawn JP2009129219A (ja) 2007-11-26 2007-11-26 マルチプロセッサシステム

Country Status (1)

Country Link
JP (1) JP2009129219A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111526172A (zh) * 2019-02-03 2020-08-11 上海登临科技有限公司 一种多设备管理方法和管理系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111526172A (zh) * 2019-02-03 2020-08-11 上海登临科技有限公司 一种多设备管理方法和管理系统
CN111526172B (zh) * 2019-02-03 2022-11-29 杭州登临瀚海科技有限公司 一种多设备管理方法和管理系统

Similar Documents

Publication Publication Date Title
US7689694B2 (en) Process management apparatus, computer systems, distributed processing method, and computer program for avoiding overhead in a process management device
US8068109B2 (en) Processor task and data management
CN1728118B (zh) 资源分配管理方法和设备
JPWO2017131187A1 (ja) アクセラレータ制御装置、アクセラレータ制御方法およびプログラム
JP5769093B2 (ja) ダイレクトメモリアクセスコントローラ、その方法およびコンピュータプログラム
JP2000181878A (ja) 共有メモリ型ベクトル処理システムとその制御方法及びベクトル処理の制御プログラムを格納する記憶媒体
EP2530598B1 (en) Data supply device, cache device, data supply method, and cache method
EP1768024B1 (en) Processing management device, computer system, distributed processing method, and computer program
JP2005346168A (ja) キャッシュメモリ、システムおよびデータ格納方法
JP2007034392A (ja) 情報処理装置及びデータ処理方法
US20130024488A1 (en) Semiconductor device
US20210255866A1 (en) Acceleration unit, system-on-chip, server, data center, and related method
JP5650441B2 (ja) 演算装置、キャッシュ装置、その制御方法及びコンピュータプログラム
JP2008065478A (ja) 情報処理装置、データ転送方法及びプログラム
JP2009129219A (ja) マルチプロセッサシステム
JP5419134B2 (ja) ベクトルプロセッサ及びベクトル命令発行方法
JP2006520044A (ja) データフローアプリケーションを処理するために最適化されるキャッシュを備えるデータ処理システム
JP5307796B2 (ja) 処理装置、処理システム、データ共有処理方法、及びデータ共有処理用集積回路
US9588928B1 (en) Unique packet multicast packet ready command
JP6817827B2 (ja) アクセラレータ処理管理装置、ホスト装置、アクセラレータ処理実行システム、方法およびプログラム
JP6115455B2 (ja) 並列計算機システム、並列計算機システムの制御方法、情報処理装置、演算処理装置および通信制御装置
JP2007152623A (ja) 描画制御装置、描画制御方法、記憶媒体およびプログラム
US9727512B1 (en) Identical packet multicast packet ready command
JPH08292932A (ja) マルチプロセッサシステムおよびマルチプロセッサシステムにおいてタスクを実行する方法
JP2009199384A (ja) データ処理装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20110201