JP2008123135A - マルチプロセッサシステム、その制御方法、プログラム及び情報記憶媒体 - Google Patents

マルチプロセッサシステム、その制御方法、プログラム及び情報記憶媒体 Download PDF

Info

Publication number
JP2008123135A
JP2008123135A JP2006304559A JP2006304559A JP2008123135A JP 2008123135 A JP2008123135 A JP 2008123135A JP 2006304559 A JP2006304559 A JP 2006304559A JP 2006304559 A JP2006304559 A JP 2006304559A JP 2008123135 A JP2008123135 A JP 2008123135A
Authority
JP
Japan
Prior art keywords
processor
processors
sub
faulty
multiprocessor system
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.)
Granted
Application number
JP2006304559A
Other languages
English (en)
Other versions
JP2008123135A5 (ja
JP4421593B2 (ja
Inventor
Tsutomu Horikawa
勉 堀川
Yasukichi Okawa
保吉 大川
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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
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 Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority to JP2006304559A priority Critical patent/JP4421593B2/ja
Priority to US12/444,747 priority patent/US8266476B2/en
Priority to CN2007800401077A priority patent/CN101529387B/zh
Priority to EP07807867.2A priority patent/EP2085885B1/en
Priority to PCT/JP2007/068651 priority patent/WO2008056489A1/ja
Publication of JP2008123135A publication Critical patent/JP2008123135A/ja
Publication of JP2008123135A5 publication Critical patent/JP2008123135A5/ja
Application granted granted Critical
Publication of JP4421593B2 publication Critical patent/JP4421593B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • G06F11/0724Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)

Abstract

【課題】複数のプロセッサの中のどのプロセッサに障害があっても、プログラムの実行環境に変化が生じにくいマルチプロセッサシステムを提供する。
【解決手段】複数のプロセッサのうち、障害を有する障害プロセッサを特定し、一部のプロセッサと、当該一部のプロセッサのいずれかをそれぞれ指定するプロセッサ指定情報と、を関連づけるテーブルを、障害プロセッサのリング型バスに対する接続位置に応じて各プロセッサ指定情報が障害プロセッサを除くいずれかのプロセッサを指定するように生成し、当該一部のプロセッサのそれぞれは、複数の所定処理がそれぞれプロセッサ指定情報のいずれかに関連づけられてなるアプリケーションプログラム、及び生成されたテーブルに基づいて、当該プロセッサを指定するプロセッサ指定情報に関連づけられた所定処理を実行するマルチプロセッサシステムである。
【選択図】図2

Description

本発明は、リング型バスを介して相互にデータ通信可能な複数のプロセッサを備えるマルチプロセッサシステム、その制御方法、プログラム及び情報記憶媒体に関する。
複数のプロセッサを備え、これらのプロセッサがそれぞれ情報処理を実行可能なマルチプロセッサシステムがある。このようなマルチプロセッサシステムの中には、各プロセッサ、メモリモジュール、GPU(Graphics Processing Unit)等の各種の処理モジュールが、リング型バスを介して相互にデータ通信可能に接続されているものがある。さらにこのようなマルチプロセッサシステムは、プロセッサに障害がある場合に備えて、アプリケーションプログラムの実行に必要な数よりも多くのプロセッサを含んで構成される場合がある。
上記説明したマルチプロセッサシステムは、一部のプロセッサが障害によって使用できない場合であっても、アプリケーションプログラムを実行することができる。しかしながら、一部のプロセッサに障害がある場合、障害を有するプロセッサを除く他のプロセッサに任意に処理が割り当てられると、各プロセッサが実行する処理の内容が変化し、その結果としてリング型バスを介して伝送されるデータの伝送方向や伝送距離にも変化が生じる。そのため、同じプログラムを同じ構成のマルチプロセッサシステムで実行させる場合であっても、どのプロセッサに障害があるかによってプログラムの実行環境に変化が生じてしまい、プログラムの処理速度等にも差が生じる場合がある。
本発明は上記実情に鑑みてなされたものであって、その目的の一つは、複数のプロセッサの中のどのプロセッサに障害があっても、プログラムの実行環境に変化が生じにくいマルチプロセッサシステム、その制御方法、プログラム、及び情報記憶媒体を提供することにある。
上記課題を解決するための本発明に係るマルチプロセッサシステムは、複数のプロセッサを含む複数の処理モジュールと、当該各処理モジュール相互のデータ通信を中継するリング型バスと、を備えるマルチプロセッサシステムであって、前記複数のプロセッサのうちの一部のプロセッサと、当該一部のプロセッサのいずれかをそれぞれ指定する複数のプロセッサ指定情報と、を関連づけるテーブルを記憶するテーブル記憶手段と、前記複数のプロセッサのうち、障害を有する少なくとも一つの障害プロセッサを特定する障害プロセッサ特定手段と、前記障害プロセッサの前記リング型バスに対する接続位置に応じて、前記各プロセッサ指定情報が前記障害プロセッサを除く前記複数のプロセッサのうちのいずれかのプロセッサを指定するように、前記テーブルを生成するテーブル生成手段と、を含み、前記一部のプロセッサのそれぞれは、複数の所定処理を含むとともに、当該各所定処理がそれぞれ前記プロセッサ指定情報のいずれかに関連づけられてなるアプリケーションプログラム、及び前記生成されたテーブルに基づいて、当該プロセッサを指定する前記プロセッサ指定情報に関連づけられた前記所定処理を実行することを特徴とする。
また、本発明に係るマルチプロセッサシステムの制御方法は、複数のプロセッサを含む複数の処理モジュールと、当該各処理モジュール相互のデータ通信を中継するリング型バスと、を備えるマルチプロセッサシステムの制御方法であって、前記複数のプロセッサのうち、障害を有する少なくとも一つの障害プロセッサを特定するステップと、前記複数のプロセッサのうちの一部のプロセッサと、当該一部のプロセッサのいずれかをそれぞれ指定する複数のプロセッサ指定情報と、を関連づけるテーブルを、前記障害プロセッサの前記リング型バスに対する接続位置に応じて、前記各プロセッサ指定情報が前記障害プロセッサを除く前記複数のプロセッサのうちのいずれかのプロセッサを指定するように生成するステップと、を含み、前記一部のプロセッサのそれぞれは、複数の所定処理を含むとともに、当該各所定処理がそれぞれ前記プロセッサ指定情報のいずれかに関連づけられてなるアプリケーションプログラム、及び前記生成されたテーブルに基づいて、当該プロセッサを指定する前記プロセッサ指定情報に関連づけられた前記所定処理を実行することを特徴とする。
また、本発明に係るプログラムは、複数のプロセッサを含む複数の処理モジュールと、当該各処理モジュール相互のデータ通信を中継するリング型バスと、を備えるマルチプロセッサシステムにより実行されるプログラムであって、前記複数のプロセッサのうち、障害を有する少なくとも一つの障害プロセッサを特定する障害プロセッサ特定手段、及び前記複数のプロセッサのうちの一部のプロセッサと、当該一部のプロセッサのいずれかをそれぞれ指定する複数のプロセッサ指定情報と、を関連づけるテーブルを、前記障害プロセッサの前記リング型バスに対する接続位置に応じて、前記各プロセッサ指定情報が前記障害プロセッサを除く前記複数のプロセッサのうちのいずれかのプロセッサを指定するように生成するテーブル生成手段、として前記マルチプロセッサシステムを機能させ、前記一部のプロセッサのそれぞれは、複数の所定処理を含むとともに、当該各所定処理がそれぞれ前記プロセッサ指定情報のいずれかに関連づけられてなるアプリケーションプログラム、及び前記生成されたテーブルに基づいて、当該プロセッサを指定する前記プロセッサ指定情報に関連づけられた前記所定処理を実行することを特徴とするプログラムである。このプログラムは、コンピュータ読み取り可能な情報記憶媒体に記憶されてよい。
以下、本発明の一実施形態について、図面を参照しながら説明する。
図1は、本実施形態に係るマルチプロセッサシステムのハードウェア構成を示す図である。同図に示すように、マルチプロセッサシステム10は、MPU(Micro Processing Unit)11と、メインメモリ20と、画像処理部24と、モニタ26と、入出力処理部28と、音声処理部30と、スピーカ32と、光ディスク読み取り部34と、ハードディスク38と、インタフェース(I/F)40,44と、操作デバイス42と、カメラユニット46と、ネットワークインタフェース48と、を含んで構成されるコンピュータシステムである。
図2は、MPU11の構成を示す図である。同図に示すように、MPU11は、メインプロセッサ12と、サブプロセッサ14a,14b,14c,14d,14e,14f,14g,14hと、バス16と、バスコントローラ17と、を含んで構成される。
なお、マルチプロセッサシステム10の構成要素のうち、バス16を介して相互にデータ通信を行うものを以下では処理モジュールという。すなわち、本実施形態に係るマルチプロセッサシステムは、複数のプロセッサを含む複数の処理モジュールと、当該各処理モジュール相互のデータ通信を中継するバスと、を含んで構成される。具体的に本実施形態においては、図2に示すように、メインプロセッサ12、サブプロセッサ14a乃至14h、メインメモリ20、画像処理部24、及び入出力処理部28の12個の処理モジュールが、バス16を介して相互にデータ通信可能に接続されている。
メインプロセッサ12は、図示しないROM(Read Only Memory)に記憶されるオペレーティングシステムや、例えばDVD(Digital Versatile Disk)−ROM等の光ディスク36から読み出されるプログラム及びデータ、通信ネットワークを介して供給されるプログラム及びデータ等に基づいて、各種情報処理を行ったり、サブプロセッサ14a乃至14hに対する制御を行ったりする。
サブプロセッサ14a乃至14hは、メインプロセッサ12からの指示に従い、例えばDVD−ROM等の光ディスク36から読み出されるプログラム及びデータ、通信ネットワークを介して供給されるプログラム及びデータ等に基づいて、各種の情報処理を行う。
ここで、各サブプロセッサの構成について、サブプロセッサ14aを例として説明する。なお、他のサブプロセッサの構成についても、サブプロセッサ14aと同様である。図3は、サブプロセッサ14aの概略の構成を示す図である。同図に示すように、サブプロセッサ14aは、サブプロセッサユニット15a,ローカルメモリ15b及びバスインタフェースユニット15cを含んで構成される。サブプロセッサユニット15aは、サブプロセッサ14aに割り当てられたプログラムを実行することにより、演算処理等の情報処理を行う。ローカルメモリ15bは、サブプロセッサ14aに割り当てられたプログラムやデータの少なくとも一部を格納し、サブプロセッサユニット15aのワークメモリとして動作する。
また、バスインタフェースユニット15cは、サブプロセッサユニット15aからのアクセス要求等に応じて、他の処理モジュールとの間でデータの送受信を行う。すなわち、バスインタフェースユニット15cは、サブプロセッサ14aと他の処理モジュールとの間のデータ通信を中継する。具体例として、バスインタフェースユニット15cは、サブプロセッサユニット15aから所与のメモリ空間上のアドレス(論理アドレス)に対するアクセス要求(データ書き込み要求又はデータ読み出し要求)があった場合に、予め保持しているメモリアドレス変換テーブルを用いて要求された論理アドレスを物理アドレスに変換する。ここで物理アドレスは、メインメモリ20内のメモリアドレスや各サブプロセッサのローカルメモリ内のメモリアドレス等、各処理モジュールの物理的なメモリ位置を示すアドレスである。さらにバスインタフェースユニット15cは、変換された物理アドレスによって示される処理モジュールに対してサブプロセッサユニット15aが出力するデータを送信したり、逆に変換された物理アドレスによって示される処理モジュールに対してデータ送信要求を送信して、当該処理モジュールからデータを受信したりする。
また、バスインタフェースユニット15cは、他の処理モジュールからバス16を介してローカルメモリ15b内のメモリアドレスを指定したアクセス要求があった場合、当該アクセス要求に応じてローカルメモリ15b内にデータを書き込んだり、指定されたローカルメモリ15b内のデータをアクセス要求元の処理モジュールに送信したりする。これにより、サブプロセッサ14aは、バス16を介して他の処理モジュールとの間でデータの送受信が可能となる。
バス16は、各処理モジュールの要求に応じて、各処理モジュール間で各種のデータを伝送する。具体的に、本実施形態においては、バス16は双方向のリング型バスであり、計4本のデータ伝送路16a,16b,16c及び16dを含んで構成されている。このうち、データ伝送路16a及び16bは常に時計回りでデータを伝送し、これとは逆にデータ伝送路16c及び16dは反時計回りでデータを伝送する。ここで、各処理モジュール間の通信に4本のデータ伝送路のうちのどのデータ伝送路が使用されるかは、バスコントローラ17によって決定される。また、バス16は、接続される処理モジュールと同じ数の接続ポートを含んでおり、各処理モジュールはそれぞれ対応する接続ポートの位置でバス16に接続されている。すなわち、各処理モジュールは、対応する接続ポートを介してバス16に対するデータの送信及びバス16からのデータの受信を行う。
バスコントローラ17は、各処理モジュール間のバス16を介したデータ通信を制御する。具体例として、バスコントローラ17は、各処理モジュールからデータ送信の要求があると、まず送信元の処理モジュールのバス16に対する接続位置及び送信先の処理モジュールのバス16に対する接続位置に基づいて、時計回りのデータ伝送路と反時計回りのデータ伝送路のいずれを用いてデータ伝送を行うかを決定する。ここで、バスコントローラ17は、送信元の処理モジュールの接続位置と送信先の処理モジュールの接続位置との間におけるバス16に接続される処理モジュールの個数が少なくなる向きにデータが伝送されるように、データ伝送路を決定する。すなわち、例えばサブプロセッサ14aが送信元の処理モジュールである場合、メインプロセッサ12、メインメモリ20、サブプロセッサ14b、サブプロセッサ14d、又はサブプロセッサ14fのいずれかが送信先の処理モジュールであれば、図2に示されるように、時計回りのデータ伝送路の方がデータ伝送の経路上において接続される処理モジュールの数が少なくなる。そこで、バスコントローラ17は、データ伝送路16a又は16bのいずれかを使用するよう決定する。逆に、送信元の処理モジュールがサブプロセッサ14aであり、送信先の処理モジュールが、サブプロセッサ14c、サブプロセッサ14e、サブプロセッサ14g、入出力処理部28、又は画像処理部24のいずれかである場合、バスコントローラ17は反時計回りでデータを伝送することとし、デー伝送路16c又は16dを使用するデータ伝送路として決定する。
さらにバスコントローラ17は、同じ方向の2本のデータ伝送路のいずれを使用するかを、データ送信の要求があった時点における各データ伝送路の使用状況等に応じて決定する。また、送信元から送信先までのデータ伝送の経路上において接続される処理モジュールの数が時計回りと反時計回りのいずれも同じである場合(例えばサブプロセッサ14aからサブプロセッサ14hへのデータ伝送の場合)、時計回り及び反時計回りのいずれのデータ伝送路が使用されてもよい。すなわち、バスコントローラ17は4本全てのデータ伝送路の中から使用状況等において使用するデータ伝送路を決定する。このバスコントローラ17の決定に従って、各処理モジュールは、それぞれいずれかのデータ伝送路を用いて他の処理モジュールとの間でデータ通信を行う。
メインメモリ20は、RAM等のメモリ素子と、当該メモリ素子及びバス16の間のデータ通信を中継するメモリコントローラと、を含んで構成される。メインメモリ20には、光ディスク36やハードディスク38から読み出されたプログラム及びデータや、通信ネットワークを介して供給されたプログラム及びデータが必要に応じて書き込まれる。また、メインメモリ20はメインプロセッサ12やサブプロセッサ14a乃至14hの作業用としても用いられる。
画像処理部24は、GPU(Graphics Processing Unit)とフレームバッファとを含んで構成される。GPUは、メインプロセッサ12やサブプロセッサ14a乃至14hから送信されるデータに基づいてフレームバッファに各種画面を描画する。フレームバッファに形成された画面は、所定のタイミングでビデオ信号に変換されてモニタ26に出力される。なお、モニタ26には例えば家庭用テレビ受像機が用いられる。
入出力処理部28には、音声処理部30、光ディスク読み取り部34、ハードディスク38、インタフェース40及び44、並びにネットワークインタフェース48が接続される。入出力処理部28は、メインプロセッサ12及びサブプロセッサ14a乃至14hと、音声処理部30、光ディスク読み取り部34、ハードディスク38、インタフェース(I/F)40及び44、ネットワークインタフェース48と、の間のデータ授受を制御する。
音声処理部30は、SPU(Sound Processing Unit)とサウンドバッファとを含んで構成される。サウンドバッファには、光ディスク36やハードディスク38から読み出されたゲーム音楽、ゲーム効果音やメッセージなどの各種音声データが記憶される。SPUは、これらの各種音声データを再生してスピーカ32から出力させる。なお、スピーカ32には例えば家庭用テレビ受像機の内蔵スピーカが用いられる。
光ディスク読み取り部34は、メインプロセッサ12及びサブプロセッサ14a乃至14hからの指示に従って、光ディスク36に記憶されたプログラムやデータを読み取る。なお、マルチプロセッサシステム10は、光ディスク36以外の他のコンピュータ読み取り可能な情報記憶媒体に記憶されたプログラムやデータを読み取り可能に構成されてもよい。
光ディスク36は例えばDVD−ROM等の一般的な光ディスク(コンピュータ読み取り可能な情報記憶媒体)である。また、ハードディスク38は一般的なハードディスク装置である。光ディスク36やハードディスク38には各種プログラムやデータがコンピュータ読み取り可能に記憶される。
インタフェース(I/F)40,44は、操作デバイス42やカメラユニット46等の各種周辺機器を接続するためのインタフェースである。このようなインタフェースとしては、例えばUSB(Universal Serial Bus)インタフェースが用いられる。また、例えばBluetooth(登録商標)規格などによる無線通信インタフェースが用いられてもよい。
操作デバイス42は汎用操作入力手段であり、ユーザが各種操作(例えばゲーム操作)を入力するために用いられる。入出力処理部28は、所定時間(例えば1/60秒)ごとに操作デバイス42の各部の状態をスキャンし、その結果を表す操作信号をメインプロセッサ12やサブプロセッサ14a乃至14hに供給する。メインプロセッサ12やサブプロセッサ14a乃至14hは、ユーザによって行われた操作の内容をその操作信号に基づいて判断する。なお、マルチプロセッサシステム10は複数の操作デバイス42を接続可能に構成されており、各操作デバイス42から入力される操作信号に基づいて、メインプロセッサ12やサブプロセッサ14a乃至14hが各種処理を実行するようになっている。
カメラユニット46は、例えば公知のデジタルカメラを含んで構成され、白黒、グレイスケール又はカラーの撮影画像を所定時間(例えば1/60秒)ごとに入力する。本実施の形態におけるカメラユニット46は、撮影画像をJPEG(Joint Photographic Experts Group)形式の画像データとして入力するようになっている。また、カメラユニット46は、例えばレンズをユーザに向けた状態でモニタ26の上に設置され、ケーブルを介してインタフェース44に接続される。ネットワークインタフェース48は入出力処理部28と通信ネットワークとに接続されており、マルチプロセッサシステム10による通信ネットワークを介した他の情報装置との間のデータ通信を中継するようになっている。
以下では、サブプロセッサ14a乃至14hのいずれかが障害を有する場合に、上記構成を有するマルチプロセッサシステム10が実現する機能について、説明する。マルチプロセッサシステム10は、機能的に、図4に示すように、障害プロセッサ特定部50と、通信制限プロセッサ選択部52と、通信制限部54と、テーブル生成部56と、処理実行制御部58と、を含んで構成される。これらの機能は、例えばMPU11が図示しないROMやメインメモリ20等に格納されたプログラムを実行することによって実現できる。このプログラムは、光ディスク36等のコンピュータ読み取り可能な情報記憶媒体に格納されて提供されてもよいし、インターネット等の通信ネットワークを介して提供されてもよい。
障害プロセッサ特定部50は、サブプロセッサ14a乃至14hのうち、障害を有する少なくとも一つのサブプロセッサ(以下、障害プロセッサという)を特定する。ここで障害プロセッサは、MPU11の製造時に不具合が判明したサブプロセッサであってもよいし、マルチプロセッサシステム10の使用中に故障等の不具合が発生して正常動作できなくなったサブプロセッサであってもよいし、例えば装置の出荷時等において予めその使用を制限するものとして設定されたサブプロセッサであってもよい。具体例として、例えば本実施形態に係るマルチプロセッサシステム10は、図示しない不揮発性メモリ内に予め障害プロセッサを特定する障害プロセッサ識別情報を保持してもよい。障害プロセッサ特定部50は、この不揮発性メモリ内に保持された障害プロセッサ識別情報を読み出すことによって、障害プロセッサを特定する。また、例えば障害プロセッサ特定部50は、マルチプロセッサシステム10の電源が投入された時点などにおいて、所定のハードウェア診断プログラムを実行することによって、障害プロセッサを特定してもよい。あるいは、障害プロセッサ特定部50は、このような診断プログラムの実行結果等に応じて前述した不揮発性メモリ内の障害プロセッサ識別情報を更新し、更新された障害プロセッサ識別情報に基づいて障害プロセッサを特定してもよい。
通信制限プロセッサ選択部52は、障害プロセッサ特定部50が特定した障害プロセッサに応じて、サブプロセッサ14a乃至14hの中から通信制限の対象となるサブプロセッサ(以下、通信制限プロセッサという)を選択する。具体的に、通信制限プロセッサ選択部52は、障害プロセッサのバス16に対する接続位置に対応する位置においてバス16に接続された少なくとも一つのサブプロセッサを、通信制限プロセッサとして選択する。
ここで、通信制限プロセッサとして選択されるサブプロセッサの数は、マルチプロセッサシステム10が備えるサブプロセッサの数(8個)と、マルチプロセッサシステム10がアプリケーションプログラムの実行の際に使用するサブプロセッサの数と、障害プロセッサの数と、に応じて決定されてよい。例えばアプリケーションプログラムが使用するサブプロセッサの数が6個で、障害プロセッサの数が1個であれば、マルチプロセッサシステム10が備えるサブプロセッサの数からこれらの数を減算して得られる数である1(=8−6−1)が、通信制限プロセッサとして選択されるサブプロセッサの数になる。また、通信制限プロセッサの数は、障害プロセッサの数と通信制限プロセッサの数との和が所定の数になるように決定されてもよい。
以下、通信制限プロセッサ選択部52が、サブプロセッサ14a乃至14hの中から通信制限プロセッサを選択する選択方法の具体例について、説明する。
一例として、通信制限プロセッサ選択部52は、障害プロセッサのバス16に対する接続位置と通信制限プロセッサのバス16に対する接続位置との間における、バス16に対して接続される処理モジュールの個数の差が小さくなるように、通信制限プロセッサを選択する。すなわち、例えば障害プロセッサ及び通信制限プロセッサがそれぞれ一つずつの場合、バス16の経路上において障害プロセッサの接続位置から最も離れた位置(リングの反対側にあたる位置)に接続されたサブプロセッサが、通信制限プロセッサとして選択される。具体的に、図2の例においては、障害プロセッサがサブプロセッサ14aであればサブプロセッサ14hが、サブプロセッサ14bであればサブプロセッサ14gが、サブプロセッサ14cであればサブプロセッサ14fが、サブプロセッサ14dであればサブプロセッサ14eが、それぞれ通信制限プロセッサとして選択される。また、これらの障害プロセッサと通信制限プロセッサとの組み合わせは、障害プロセッサと通信制限プロセッサが逆の場合にも成り立つ。すなわち、例えば障害プロセッサがサブプロセッサ14hであればサブプロセッサ14aが通信制限プロセッサとして選択される。
このように通信制限プロセッサを選択すれば、障害プロセッサのバス16に対する接続位置と通信制限プロセッサのバス16に対する接続位置との間における、バス16に接続される処理モジュールの個数は、時計回りの場合も反時計回りの場合も5個になり、その差は0になる。なお、バス16に接続される処理モジュールの個数が奇数の場合や、通信制限プロセッサが複数選択される場合等であっても、同様に障害プロセッサ及び通信制限プロセッサのバス16に対する接続位置の間におけるバス16に接続される処理モジュールの個数の差が小さくなるように通信制限プロセッサを選択することによって、障害プロセッサ及び通信制限プロセッサは互いに離れた位置においてバス16に接続することとなる。これにより、バス16を介したデータ通信を行わない障害プロセッサ及びデータ通信を制限された通信制限プロセッサのバス16に対する接続位置を分散させることができ、これらのサブプロセッサを除いた各処理モジュールによるリング型バスを介したデータ通信を均一化させることができる。
また、通信制限プロセッサ選択部52は、マルチプロセッサシステム10に含まれる複数の処理モジュールのうちの所定の処理モジュール(以下では、注目処理モジュールという)のバス16に対する接続位置に基づいて、通信制限プロセッサを選択してもよい。具体例として、通信制限プロセッサ選択部52は、バス16を構成する複数のデータ伝送路のうち、障害プロセッサから注目処理モジュールへのデータ通信に用いられるデータ伝送路とは異なるデータ伝送路を用いて注目処理モジュールへのデータ通信を行うサブプロセッサを、通信制限プロセッサとして選択する。
例えば注目処理モジュールは、メインメモリ20や画像処理部24など、各サブプロセッサとのデータ通信が多いと想定される処理モジュールである。ここでは具体例として、メインメモリ20が注目処理モジュールである場合について、説明する。前述したように、サブプロセッサ14a,14c,14e及び14gからメインメモリ20へのデータ通信には、時計回りのデータ伝送路16a又は16bが用いられる。以下では、これら4個のサブプロセッサを併せて第1サブプロセッサ群という。また、サブプロセッサ14b,14d,14f及び14hからメインメモリ20へのデータ通信には、反時計回りのデータ伝送路16c又は16dが用いられる。以下では、これら4個のサブプロセッサを併せて第2サブプロセッサ群という。
ここで、メインメモリ20が注目処理モジュールで、かつ障害プロセッサ及び通信制限プロセッサがそれぞれ一つずつの場合、通信制限プロセッサ選択部52は、第1サブプロセッサ群の中に障害プロセッサがあれば、第2サブプロセッサ群から通信制限プロセッサを選択する。また、第2サブプロセッサ群の中に障害プロセッサがあれば、逆に第1サブプロセッサ群から通信制限プロセッサを選択する。結果として、障害プロセッサ及び通信制限プロセッサを除いた6個のサブプロセッサのうち、第1サブプロセッサ群に属するサブプロセッサの数と第2サブプロセッサ群に属するサブプロセッサの数とはいずれも3個で等しくなる。こうすれば、後述するように通信制限プロセッサによるバス16を介したデータ通信を制限することによって、注目処理モジュールであるメインメモリ20と、障害プロセッサ及び通信制限プロセッサを除いた各サブプロセッサと、の間のデータ通信を複数のデータ伝送路間で分散させることができ、いずれかのデータ伝送路にデータ通信が偏りにくくすることができる。なお、前述した例におけるバス16の経路上において障害プロセッサの接続位置から最も離れた位置に接続された通信制限プロセッサは、同時に、障害プロセッサが属するサブプロセッサ群とは別のサブプロセッサ群に属するサブプロセッサにもなっている。
また、障害プロセッサ又は通信制限プロセッサが複数となる場合、通信制限プロセッサ選択部52は、これら障害プロセッサと通信制限プロセッサとを除いたサブプロセッサのうち、第1サブプロセッサ群に属するサブプロセッサの数と第2サブプロセッサ群に属するサブプロセッサの数との差が小さくなるように、通信制限プロセッサを選択することとしてもよい。
なお、以上の説明においては、障害プロセッサが存在する場合に、当該障害プロセッサのバス16に対する接続位置に応じて通信制限プロセッサを選択する場合の例について説明したが、通信制限プロセッサ選択部52は、障害プロセッサ特定部50によって特定される障害プロセッサが存在しない場合にも、通信制限プロセッサを選択することとしてもよい。この場合の通信制限プロセッサの数は、マルチプロセッサシステム10が備えるサブプロセッサの数と、マルチプロセッサシステム10がアプリケーションプログラムの実行の際に使用するサブプロセッサの数と、に応じて決定されてよい。また、この場合に通信制限プロセッサとして選択されるサブプロセッサは、所定のものであってよい。具体例として、通信制限プロセッサ選択部52は、例えば回路配置上マルチプロセッサシステム10の使用時に温度が上昇しやすいサブプロセッサ等、マルチプロセッサシステム10の使用環境に応じて決定される所定のサブプロセッサを、通信制限プロセッサとして選択する。
通信制限部54は、通信制限プロセッサ選択部52が選択した通信制限プロセッサによる、バス16を介したデータ通信を制限する。具体例として、通信制限部54は、通信制限プロセッサによるプログラムの実行を制限することで、通信制限プロセッサによるデータ通信を制限してもよい。この場合、通信制限プロセッサは、障害プロセッサと同様に他の処理モジュールとの間のデータ通信を行わないこととなる。また、通信制限部54は、通信制限プロセッサにアプリケーションプログラムを実行させつつ、通信制限プロセッサ内のバスインタフェースユニット15cによるバス16との間のデータ通信の帯域を所定値以下に制限することで、データ通信を制限してもよい。
あるいは通信制限部54は、通信制限プロセッサに所定のプログラム(以下では、システムプログラムという)を実行させることによって、通信制限プロセッサによるデータ通信を制限してもよい。この場合のシステムプログラムは、例えば予めマルチプロセッサシステム10内のROM等に記憶された、他のサブプロセッサによって実行されるアプリケーションプログラムとは異なる種類のプログラムである。また、このシステムプログラムは、当該システムプログラムを実行するサブプロセッサが他の処理モジュールとの間で送受信するデータの量が、アプリケーションプログラムの場合と比較して少ないプログラムである。特にこのシステムプログラムが他のアプリケーションプログラムと独立したプログラムであれば、当該システムプログラムを実行する通信制限プロセッサは他のサブプロセッサとの間でデータ通信を行う必要はなくなる。通信制限部54は、このようなシステムプログラムを通信制限プロセッサに実行させることによって、通信制限プロセッサによるデータ通信を制限できる。なお、このシステムプログラムは、オペレーティングシステムから直接起動され、オペレーティングシステムの制御に基づいて実行されるプログラムであってよい。こうすれば、アプリケーションプログラムの場合と比較して、システムプログラムを実行するサブプロセッサが行うデータ通信の通信量を制御しやすくできる。
以上説明したように、障害プロセッサのバス16に対する接続位置に対応する位置においてバス16に接続されたサブプロセッサを通信制限プロセッサとして選択し、当該通信制限プロセッサのバス16を介したデータ通信を制限することによって、マルチプロセッサシステム10は、バス16内のデータ伝送による負荷を均一化させ、障害プロセッサのバス16に対する接続位置によるデータ通信効率への影響を生じにくくさせることができる。
テーブル生成部56は、プロセッサ対応テーブルを生成する。ここでプロセッサ対応テーブルは、サブプロセッサ14a乃至14hのうちの一部のサブプロセッサと、当該一部のサブプロセッサのいずれかをそれぞれ指定する複数のプロセッサ指定情報と、を関連づけるテーブルである。なお、プロセッサ対応テーブルはマルチプロセッサシステム10内のメインメモリ20等に予め記憶され、テーブル生成部56は当該記憶されたプロセッサ対応テーブルを更新することとしてもよい。プロセッサ指定情報は、マルチプロセッサシステム10内のいずれかのサブプロセッサを指定するための情報であって、例えば0以上の整数による論理プロセッサ番号として表される。この場合において、プロセッサ指定情報の数は、アプリケーションプログラムの実行の際に使用されるサブプロセッサの数に対応し、マルチプロセッサシステム10が備えるサブプロセッサの数(8個)より少ない数である。図5は、このようなプロセッサ対応テーブルの一例を示す図である。図5の例においては、0から5までの6個の論理プロセッサ番号が、それぞれいずれかのサブプロセッサに関連づけられており、これによって各論理プロセッサ番号はいずれかのサブプロセッサを指定している。
テーブル生成部56は、このプロセッサ対応テーブルを、障害プロセッサのバス16に対する接続位置に応じて、各プロセッサ指定情報が障害プロセッサを除く複数のサブプロセッサのうちのいずれかのサブプロセッサを指定するように生成する。また、通信制限プロセッサ選択部52がいずれかのサブプロセッサを通信制限プロセッサとして選択している場合、テーブル生成部56は、障害プロセッサ及び通信制限プロセッサのバス16に対する接続位置に応じて、各プロセッサ指定情報が障害プロセッサ及び通信制限プロセッサを除く複数のサブプロセッサのうちのいずれかのサブプロセッサを指定するように、プロセッサ対応テーブルを生成してもよい。また、例えば前述した例のように通信制限プロセッサに所定のシステムプログラムを実行させる場合などにおいては、複数のプロセッサ指定情報のうち、予め定められた特定のプロセッサ指定情報が通信制限プロセッサを指定するように、プロセッサ対応テーブルを生成してもよい。
具体例として、テーブル生成部56は、障害プロセッサを除く各サブプロセッサのバス16に対する接続位置に応じて、障害プロセッサを除く複数のサブプロセッサの中から各プロセッサ指定情報が指定するサブプロセッサを決定する。例えば前述した第1サブプロセッサ群の中に障害プロセッサがある場合、論理プロセッサ番号0によって指定されるサブプロセッサをサブプロセッサ14bとし、以下、各論理プロセッサ番号によって指定されるサブプロセッサのバス16に対する接続位置が順に時計回りに並ぶように、各論理プロセッサ番号が指定するサブプロセッサを決定する。また、第2サブプロセッサ群の中に障害プロセッサがある場合、論理プロセッサ番号0によって指定されるサブプロセッサをサブプロセッサ14aとし、以下、各論理プロセッサ番号によって指定されるサブプロセッサのバス16に対する接続位置が順に反時計回りに並ぶように、各論理プロセッサ番号が指定するサブプロセッサを決定する。
図6及び図7は、このように決定された各論理プロセッサ番号によって指定されるサブプロセッサの位置関係を示す説明図である。これらの図においては、図2に示す各処理モジュールのバス16に対する接続位置の位置関係が、簡略化して示されている。なお、図6及び図7においては、プロセッサ指定情報は0から5までの6個の論理プロセッサ番号によって表されることとし、論理プロセッサ番号nによって指定されるサブプロセッサはサブプロセッサ(n)と表記されている。図6は、サブプロセッサ14aが障害プロセッサであり、サブプロセッサ14hが通信制限プロセッサとして選択されている場合の例について示している。また、図7は、サブプロセッサ14dが障害プロセッサであり、サブプロセッサ14eが通信制限プロセッサとして選択されている場合の例について示している。
このように、各サブプロセッサの接続位置に応じて各論理プロセッサ番号が指定するサブプロセッサが決定されることによって、ある論理プロセッサ番号によって指定されるサブプロセッサから見た他のサブプロセッサの接続位置は、どのサブプロセッサが障害プロセッサである場合でも、同様の位置関係にあるようにすることができる。具体的に、例えば図6において、サブプロセッサ(0)から他の論理プロセッサ番号によって指定されるサブプロセッサにデータが送信される場合、サブプロセッサ(1)及びサブプロセッサ(2)に対するデータ送信には時計回りのデータ伝送路が使用される。また、サブプロセッサ(5)及びサブプロセッサ(4)に対するデータ送信には反時計回りのデータ伝送路が使用され、サブプロセッサ(3)に対するデータ送信にはいずれの向きのデータ伝送路も使用されうる。一方、図7の場合におけるサブプロセッサ(0)から他の論理プロセッサ番号によって指定されるサブプロセッサに対するデータ送信については、サブプロセッサ(1)及びサブプロセッサ(2)に対しては反時計回りのデータ伝送路が使用され、サブプロセッサ(5)及びサブプロセッサ(4)に対しては時計回りのデータ伝送路が使用される。そして、サブプロセッサ(3)に対するデータ送信には図6の場合と同様にいずれの向きのデータ伝送路も使用されうる。このように、データ伝送路の向きが逆になるものの、図6の場合も図7の場合も同じ方向のデータ伝送路によってデータが送信されるサブプロセッサの組み合わせは一致する。こうすれば、後述するようにアプリケーションプログラムに含まれる所定処理の実行を論理プロセッサ番号に応じて各サブプロセッサに割り当てることによって、どのサブプロセッサに障害があっても、アプリケーションプログラムを実行する各サブプロセッサ間のデータ伝送の環境に変化が生じないようにすることができる。
さらに、テーブル生成部56は、障害プロセッサを除く各サブプロセッサのバス16に対する接続位置と、複数の処理モジュールのうちの所定の処理モジュールのバス16に対する接続位置と、の位置関係に応じて、障害プロセッサを除く複数のサブプロセッサの中から各プロセッサ指定情報が指定するサブプロセッサを決定してもよい。この場合における所定の処理モジュールは、前述した通信制限プロセッサ選択部52による通信制限プロセッサの選択に用いられた注目処理モジュールと同じ処理モジュールであってよい。
この場合の具体例として、例えば注目処理モジュールがメインメモリ20の場合、テーブル生成部56は、メインメモリ20のバス16に対する接続位置から開始して、各論理プロセッサ番号によって指定されるサブプロセッサのバス16に対する接続位置が順に反時計回りに並ぶように、各論理プロセッサ番号が指定するサブプロセッサを決定する。図8は、図6と同様にサブプロセッサ14aが障害プロセッサであり、サブプロセッサ14hが通信制限プロセッサとして選択されている場合に、このように決定された各論理プロセッサ番号によって指定されるサブプロセッサの位置関係を示す説明図である。
このように、各サブプロセッサの接続位置と注目処理モジュールの接続位置との位置関係に応じて各論理プロセッサ番号が指定するサブプロセッサを決定することによって、注目処理モジュールから各論理プロセッサ番号が指定するサブプロセッサへのデータ通信の向きは、どのサブプロセサが障害プロセッサである場合でも、変化しないこととなる。例えば図8の例においては、メインメモリ20からサブプロセッサ(0)、サブプロセッサ(1)及びサブプロセッサ(2)に対するデータ送信には反時計回りのデータ伝送路が使用される。また、メインメモリ20からサブプロセッサ(5)、サブプロセッサ(4)及びサブプロセッサ(3)に対するデータ送信には時計回りのデータ伝送路が使用される。そして、これらの対応関係は、どのサブプロセッサに障害がある場合であっても、変化しない。
また、各論理プロセッサ番号が指定するサブプロセッサの、注目処理モジュールからデータを送信する場合のデータ伝送距離の順序も、障害サブプロセッサの接続位置に関わらず変化しないこととなる。例えば図8の例においては、メインメモリ20から時計回りのデータ伝送路によってデータが送信される各サブプロセッサのうち、最も近い位置に接続されているのはサブプロセッサ(0)であり、次いでサブプロセッサ(1)、サブプロセッサ(2)の順にバス16内のデータ伝送距離が長くなる。この順序は、どのサブプロセッサに障害がある場合でも、同様である。これにより、障害プロセッサの位置による、注目処理モジュールとアプリケーションプログラムを実行する各サブプロセッサとの間のデータ伝送量への影響を少なくすることができる。
処理実行制御部58は、例えば光ディスク36やハードディスク38等から読み出されてメインメモリ20に格納されたアプリケーションプログラムと、テーブル生成部56によって生成されたプロセッサ対応テーブルと、に基づいて、各プロセッサ指定情報が指定するサブプロセッサのそれぞれに、アプリケーションプログラムの一部の所定処理を実行させる制御を行う。この場合におけるアプリケーションプログラムは、複数の所定処理を含んでおり、当該各所定処理がそれぞれプロセッサ指定情報のいずれかに関連づけられていることとする。この複数の所定処理は、互いに異なるサブプロセッサに割り当てられ、並行して実行されるプログラムの実行単位である。各プロセッサ指定情報によって指定されるサブプロセッサのそれぞれは、処理実行制御部58の制御に基づいて、当該サブプロセッサを指定するプロセッサ指定情報に関連づけられた所定処理を実行する。
具体例として、処理実行制御部58は、論理プロセッサ番号に対応して予め定められた論理アドレスを、当該論理プロセッサ番号によって指定されるサブプロセッサのメモリ位置を示す物理アドレスに対応づけるメモリアドレス変換テーブルを生成する。そして、生成したメモリアドレス変換テーブルを各サブプロセッサ内のバスインタフェースユニット15cに対して配信する。これにより、各サブプロセッサは、論理プロセッサ番号を用いて当該論理プロセッサ番号が指定するサブプロセッサにアクセスすることができる。また、メインメモリ20は、当該メモリ変換テーブルを用いて、各論理プロセッサ番号によって指定されるサブプロセッサに対して、それぞれのサブプロセッサに実行させる所定処理のプログラムデータを送信することができる。
以上説明したように、マルチプロセッサシステム10は、障害プロセッサのバス16に対する接続位置に応じて各プロセッサ指定情報が指定するサブプロセッサを決定し、これらのサブプロセッサが当該サブプロセッサを指定するプロセッサ指定情報に関連づけられた所定処理を実行する。こうすれば、障害プロセッサの接続位置の違いによって、各所定処理が実行されるサブプロセッサの位置関係が大きく変化することを防ぐことができる。これによって、プログラムの実行環境の変化を生じにくくすることができ、装置の個体差によるプログラムの処理速度等の違いを少なくすることができる。
ここで、マルチプロセッサシステム10が実行する処理の流れの一例について、図9のフロー図に基づいて説明する。この図に示される処理は、例えばマルチプロセッサシステム10の電源投入時などに実行される。
まず、マルチプロセッサシステム10は、不揮発性メモリに格納された障害プロセッサ識別情報を読み出して、障害プロセッサを特定する(S1)。そして、障害プロセッサが存在する場合には、障害プロセッサの接続位置に応じて通信制限プロセッサを選択する(S2)。ここでは、バス16の経路上において障害プロセッサの接続位置から最も離れた位置に接続された1個のサブプロセッサが、通信制限プロセッサとして選択されることとする。一方、障害プロセッサが存在しない場合には、所定のサブプロセッサを通信制限プロセッサとして選択する(S3)。
次にマルチプロセッサシステム10は、S1で特定された障害プロセッサ及びS2又はS3で選択された通信制限プロセッサに応じて、プロセッサ対応テーブルを生成する(S4)。さらに、S3で選択された通信制限プロセッサと、S4で生成されたプロセッサ対応テーブルと、に基づいて、メモリアドレス変換テーブルを生成し(S5)、生成したメモリアドレス変換テーブルを各サブプロセッサのバスインタフェースユニット15cに対して配信する(S6)。なお,S1〜S6に関する処理は、マルチプロセッサシステム10上で走行するオペレーティングシステムによって実行されてもよい。
この場合において、S5で生成されるメモリアドレス変換テーブルは、論理プロセッサ番号に対応する論理アドレスを、当該論理プロセッサ番号によって指定されるサブプロセッサを示す物理アドレスに対応づけるとともに、所定のシステムプログラムの読み出し先として予め定められた論理アドレスを、通信制限プロセッサを示す物理アドレスに対応づけるアドレス変換テーブルである。このメモリアドレス変換テーブルが各サブプロセッサのバスインタフェースユニット15cに配信されることによって、通信制限プロセッサはシステムプログラムを実行し、論理プロセッサ番号によって指定された各サブプロセッサは当該論理プロセッサ番号に関連づけられたアプリケーションプログラムの一部の所定処理を実行することができる。
なお、本発明は上記実施形態に限定されるものではなく、種々の変形実施が可能である。例えば、複数のプロセッサがリング型バス以外のバスで接続されている場合であっても、当該バスが複数のデータ伝送路を含んで構成されていれば、それぞれのデータ伝送路を介して注目処理モジュールとデータ通信を行うプロセッサの数の差が小さくなるように、通信制限プロセッサを選択することとしてもよい。これにより、複数のデータ伝送路間でデータ通信量の偏りをなくし、データ伝送の効率を向上させることができる。また、本発明の実施の形態に係るマルチプロセッサシステムは、同種プロセッサを複数備える各種の情報処理装置であってよい。
また、通信制限プロセッサ選択部52は、障害プロセッサ特定部50が特定した障害プロセッサの数に応じて、通信制限プロセッサとして選択するプロセッサの数を決定してもよい。例えば通信制限プロセッサ選択部52は、通信制限プロセッサの数が障害プロセッサの数と同じになるように、通信制限プロセッサを選択する。この場合において、例えば前述したように各サブプロセッサを注目処理モジュールとのデータ通信に使用するデータ伝送路によって複数のサブプロセッサ群に分類した場合、通信制限プロセッサ選択部52は、各サブプロセッサ群に含まれる障害プロセッサ及び通信制限プロセッサを除いたサブプロセッサの数が等しくなるように、通信制限プロセッサを選択してもよい。また、各障害プロセッサの接続位置に対応して、それぞれの障害プロセッサとリング型バスの反対側の位置において接続されるサブプロセッサを、通信制限プロセッサとして選択してもよい。
本発明の実施の形態に係るマルチプロセッサシステムのハードウェア構成図である。 バスに接続された複数の処理モジュールを示す構成図である。 サブプロセッサの概略の構成を示す図である。 本発明の実施の形態に係るマルチプロセッサシステムの機能例を示す機能ブロック図である。 プロセッサ対応テーブルの一例を示す図である。 プロセッサ指定情報によって指定されるサブプロセッサの位置関係の一例を示す説明図である。 プロセッサ指定情報によって指定されるサブプロセッサの位置関係の別の例を示す説明図である。 プロセッサ指定情報によって指定されるサブプロセッサの位置関係の別の例を示す説明図である。 本発明の実施の形態に係るマルチプロセッサシステムによって実行される処理の一例を示すフロー図である。
符号の説明
10 マルチプロセッサシステム、11 MPU、12 メインプロセッサ、14a〜14h サブプロセッサ、16 バス、17 バスコントローラ、20 メインメモリ、24 画像処理部、26 モニタ、28 入出力処理部、30 音声処理部、32 スピーカ、34 光ディスク読み取り部、36 光ディスク、38 ハードディスク、40,44 インタフェース、42 操作デバイス、46 カメラユニット、48 ネットワークインタフェース、50 障害プロセッサ特定部、52 通信制限プロセッサ選択部、54 通信制限部、56 テーブル生成部、58 処理実行制御部。

Claims (6)

  1. 複数のプロセッサを含む複数の処理モジュールと、当該各処理モジュール相互のデータ通信を中継するリング型バスと、を備えるマルチプロセッサシステムであって、
    前記複数のプロセッサのうちの一部のプロセッサと、当該一部のプロセッサのいずれかをそれぞれ指定する複数のプロセッサ指定情報と、を関連づけるテーブルを記憶するテーブル記憶手段と、
    前記複数のプロセッサのうち、障害を有する少なくとも一つの障害プロセッサを特定する障害プロセッサ特定手段と、
    前記障害プロセッサの前記リング型バスに対する接続位置に応じて、前記各プロセッサ指定情報が前記障害プロセッサを除く前記複数のプロセッサのうちのいずれかのプロセッサを指定するように、前記テーブルを生成するテーブル生成手段と、
    を含み、
    前記一部のプロセッサのそれぞれは、複数の所定処理を含むとともに、当該各所定処理がそれぞれ前記プロセッサ指定情報のいずれかに関連づけられてなるアプリケーションプログラム、及び前記生成されたテーブルに基づいて、当該プロセッサを指定する前記プロセッサ指定情報に関連づけられた前記所定処理を実行する
    ことを特徴とするマルチプロセッサシステム。
  2. 請求項1に記載のマルチプロセッサシステムにおいて、
    前記テーブル生成手段は、前記障害プロセッサを除く前記各プロセッサの前記リング型バスに対する接続位置に応じて、前記障害プロセッサを除く前記複数のプロセッサの中から前記各プロセッサ指定情報が指定するプロセッサを決定する
    ことを特徴とするマルチプロセッサシステム。
  3. 請求項2に記載のマルチプロセッサシステムにおいて、
    前記テーブル生成手段は、前記障害プロセッサを除く前記各プロセッサの前記リング型バスに対する接続位置と、前記複数の処理モジュールのうちの所定の処理モジュールの前記リング型バスに対する接続位置と、の位置関係に応じて、前記障害プロセッサを除く前記複数のプロセッサの中から前記各プロセッサ指定情報が指定するプロセッサを決定する
    ことを特徴とするマルチプロセッサシステム。
  4. 複数のプロセッサを含む複数の処理モジュールと、当該各処理モジュール相互のデータ通信を中継するリング型バスと、を備えるマルチプロセッサシステムの制御方法であって、
    前記複数のプロセッサのうち、障害を有する少なくとも一つの障害プロセッサを特定するステップと、
    前記複数のプロセッサのうちの一部のプロセッサと、当該一部のプロセッサのいずれかをそれぞれ指定する複数のプロセッサ指定情報と、を関連づけるテーブルを、前記障害プロセッサの前記リング型バスに対する接続位置に応じて、前記各プロセッサ指定情報が前記障害プロセッサを除く前記複数のプロセッサのうちのいずれかのプロセッサを指定するように生成するステップと、
    を含み、
    前記一部のプロセッサのそれぞれは、複数の所定処理を含むとともに、当該各所定処理がそれぞれ前記プロセッサ指定情報のいずれかに関連づけられてなるアプリケーションプログラム、及び前記生成されたテーブルに基づいて、当該プロセッサを指定する前記プロセッサ指定情報に関連づけられた前記所定処理を実行する
    ことを特徴とするマルチプロセッサシステムの制御方法。
  5. 複数のプロセッサを含む複数の処理モジュールと、当該各処理モジュール相互のデータ通信を中継するリング型バスと、を備えるマルチプロセッサシステムにより実行されるプログラムであって、
    前記複数のプロセッサのうち、障害を有する少なくとも一つの障害プロセッサを特定する障害プロセッサ特定手段、及び
    前記複数のプロセッサのうちの一部のプロセッサと、当該一部のプロセッサのいずれかをそれぞれ指定する複数のプロセッサ指定情報と、を関連づけるテーブルを、前記障害プロセッサの前記リング型バスに対する接続位置に応じて、前記各プロセッサ指定情報が前記障害プロセッサを除く前記複数のプロセッサのうちのいずれかのプロセッサを指定するように生成するテーブル生成手段、
    として前記マルチプロセッサシステムを機能させ、
    前記一部のプロセッサのそれぞれは、複数の所定処理を含むとともに、当該各所定処理がそれぞれ前記プロセッサ指定情報のいずれかに関連づけられてなるアプリケーションプログラム、及び前記生成されたテーブルに基づいて、当該プロセッサを指定する前記プロセッサ指定情報に関連づけられた前記所定処理を実行する
    ことを特徴とするプログラム。
  6. 請求項5に記載のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
JP2006304559A 2006-11-09 2006-11-09 マルチプロセッサシステム、その制御方法、プログラム及び情報記憶媒体 Active JP4421593B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2006304559A JP4421593B2 (ja) 2006-11-09 2006-11-09 マルチプロセッサシステム、その制御方法、プログラム及び情報記憶媒体
US12/444,747 US8266476B2 (en) 2006-11-09 2007-09-26 Multiprocessor system, its control method, and information recording medium
CN2007800401077A CN101529387B (zh) 2006-11-09 2007-09-26 多处理器系统、其控制方法和信息存储介质
EP07807867.2A EP2085885B1 (en) 2006-11-09 2007-09-26 Multiprocessor system, its control method, and information recording medium
PCT/JP2007/068651 WO2008056489A1 (fr) 2006-11-09 2007-09-26 Système à processeurs multiples, son procédé de commande et support d'enregistrement d'informations

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006304559A JP4421593B2 (ja) 2006-11-09 2006-11-09 マルチプロセッサシステム、その制御方法、プログラム及び情報記憶媒体

Publications (3)

Publication Number Publication Date
JP2008123135A true JP2008123135A (ja) 2008-05-29
JP2008123135A5 JP2008123135A5 (ja) 2009-12-03
JP4421593B2 JP4421593B2 (ja) 2010-02-24

Family

ID=39507846

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006304559A Active JP4421593B2 (ja) 2006-11-09 2006-11-09 マルチプロセッサシステム、その制御方法、プログラム及び情報記憶媒体

Country Status (1)

Country Link
JP (1) JP4421593B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012504835A (ja) * 2008-10-03 2012-02-23 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 多重プロセッサアーキテクチャ及び方法
JP2018022205A (ja) * 2016-08-01 2018-02-08 キヤノン株式会社 情報処理装置、及び情報処理装置の制御方法
US9977756B2 (en) 2008-10-03 2018-05-22 Advanced Micro Devices, Inc. Internal bus architecture and method in multi-processor systems

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012504835A (ja) * 2008-10-03 2012-02-23 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 多重プロセッサアーキテクチャ及び方法
US9977756B2 (en) 2008-10-03 2018-05-22 Advanced Micro Devices, Inc. Internal bus architecture and method in multi-processor systems
JP2018022205A (ja) * 2016-08-01 2018-02-08 キヤノン株式会社 情報処理装置、及び情報処理装置の制御方法
US11418384B2 (en) 2016-08-01 2022-08-16 Canon Kabushiki Kaisha Information processing apparatus and method for controlling the same

Also Published As

Publication number Publication date
JP4421593B2 (ja) 2010-02-24

Similar Documents

Publication Publication Date Title
US20160210159A1 (en) User Mode Driver Extension and Preprocessing
KR101713009B1 (ko) 스케일가능한 컴퓨트 패브릭
US8661440B2 (en) Method and apparatus for performing related tasks on multi-core processor
JP2017068345A (ja) バスシステム
US8266476B2 (en) Multiprocessor system, its control method, and information recording medium
JP4421593B2 (ja) マルチプロセッサシステム、その制御方法、プログラム及び情報記憶媒体
JP4421592B2 (ja) マルチプロセッサシステム、その制御方法、プログラム及び情報記憶媒体
JP2010244580A (ja) 外部デバイスアクセス装置
JP7277592B2 (ja) 家庭用ゲームコンソール及びクラウドゲーム用のスケーラブルなゲームコンソールcpu/gpu設計
CN112218140A (zh) 视频同步播放方法、装置、系统和存储介质
JP4011082B2 (ja) 情報処理装置、グラフィックプロセッサ、制御用プロセッサおよび情報処理方法
JP6106986B2 (ja) 演算処理装置、情報処理装置及び割込制御方法
JP4446968B2 (ja) データ処理装置
JP2007206255A (ja) 表示制御装置及び負荷分散方法
JP6056363B2 (ja) 処理装置及び処理装置の制御方法
JP2007109109A (ja) メディア処理装置
JP2005190487A (ja) グラフィックスプロセッサ
US20100299682A1 (en) Method and apparatus for executing java application
KR20140112860A (ko) 시스템 온-칩 및 이의 동작 방법
JP2007241922A (ja) 共有資源利用のための調停方法及びその調停装置
WO2014020745A1 (ja) 情報処理装置およびその制御方法
JP4560398B2 (ja) データ処理回路
JPWO2014045500A1 (ja) Lsi及びlsi製造方法
JP5390316B2 (ja) 画像処理装置および画像処理方法
JP2007272358A (ja) 情報処理装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091020

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091020

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091201

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091202

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121211

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4421593

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121211

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131211

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250