JP2010262439A - 情報処理装置、情報処理方法およびプログラム - Google Patents

情報処理装置、情報処理方法およびプログラム Download PDF

Info

Publication number
JP2010262439A
JP2010262439A JP2009112053A JP2009112053A JP2010262439A JP 2010262439 A JP2010262439 A JP 2010262439A JP 2009112053 A JP2009112053 A JP 2009112053A JP 2009112053 A JP2009112053 A JP 2009112053A JP 2010262439 A JP2010262439 A JP 2010262439A
Authority
JP
Japan
Prior art keywords
data
processing
amount
input
ring bus
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
JP2009112053A
Other languages
English (en)
Other versions
JP5534711B2 (ja
JP2010262439A5 (ja
Inventor
Daiji Kirihata
大二 切畑
Takashi Ishikawa
尚 石川
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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP2009112053A priority Critical patent/JP5534711B2/ja
Priority to US12/769,125 priority patent/US8954633B2/en
Publication of JP2010262439A publication Critical patent/JP2010262439A/ja
Publication of JP2010262439A5 publication Critical patent/JP2010262439A5/ja
Application granted granted Critical
Publication of JP5534711B2 publication Critical patent/JP5534711B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17337Direct connection machines, e.g. completely connected computers, point to point communication networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4637Interconnected ring systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/13Flow control; Congestion control in a LAN segment, e.g. ring or bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multi Processors (AREA)

Abstract

【課題】 リングバスに接続された処理モジュールにおいて予め設定された順序でデータ処理を行う情報処理装置において、入力するデータによって生じるリングバスに生じるデータ量を考慮しないと、リングバス上の処理モジュールが保持可能なデータ量を超えてしまい、データの衝突が頻繁に発生し、リングバスの処理効率が低下する。
【解決手段】 処理に用いる処理部がリングバスに対して出力するデータ量の総和が、リングバス上の処理モジュールが保持を許容される最大のデータ量を超えないようにリングバスに入力するデータ量を制御する。
【選択図】 図1

Description

本発明は複数の処理モジュールがリング状のバスに接続された情報処理装置ならびに情報処理方法、プログラムに関する。
従来、リング状にバスで接続されている複数の処理モジュールを用いた情報処理装置において、バスのトラフィックを調節する種々の方法がある。例えば、バス上に段数可変のFIFOを配置し、処理モジュールで出力データとリング上のデータの競合が起きた場合に、FIFOの段数を伸ばして空きスロットを生成し、システム全体の性能が著しく低下する状況を回避する方法がある(特許文献1)。
また、複数のノードを持つローカルエリアネットワークの輻輳制御について、各ノードのネットワークの利用状況をノード毎に共有し、通信するノードが各ノードの利用状況からネットワークに余裕が有るかを判断してから通信を行う方法がある(特許文献2)。
特許第2522952号公報 特許第3034405号公報
ここで、複数の処理回路(処理モジュール)をバスで数珠繋ぎにすることでリング状に接続し、リング型のデータバス(以下、リングバスと称す)を形成する情報処理装置について考える。リングバスを用いる処理装置で構成を簡単にする為にデータをリングバスの一方向にのみ周回する様に制御をした場合、リングバス上の各処理モジュールが保持可能なデータ量を考慮しないと、データの衝突が頻繁に発生し、リングバスの処理効率が低下してしまう。
本発明は上述した課題を解決するものであり、簡易な構成でリングバスのトラフィック量を適切に調節する情報処理装置、その情報処理方法およびプログラムを提供することを目的とする。
上記課題を達成するために、本発明に係る情報処理装置は、複数の処理モジュールと、前記複数のモジュールをリング状に接続し一方向にデータを周回させるリングバスと、前記リングバスに入力するデータによって前記複数の処理モジュールの保持することになるデータ量が、前記複数の処理モジュールが保持することを許容するデータ量以下になるようにデータを前記リングバスに入力する入力手段とを有することを特徴とする。
本発明によれば、処理に利用する処理モジュールの処理性能から、リングバスに投入するデータによって各処理モジュールが保持することになるデータ量を、バスに接続される処理モジュールが保持可能なデータ量以下になるようにして入力する。これによりリングバスの処理効率の低下を抑制できる。
情報処理装置の概略構成を示すブロック図である。 データ入出力部又は処理部に接続された通信部概略構成を示すブロック図である。 リングバスを流れるデータパケットの構成を示す概略図である。 データ入出力部101の概略構成を示すブロック図である。 制御装置の概略構成を示すブロック図である。 情報処理装置の概略構成を示す図である。 制御処理部による情報処理部の設定および起動を行う処理のフローチャートである。 制御処理部による情報処理部の設定処理の詳細を示すフローチャートである。 制御処理部による情報処理部の設定および起動を行う処理のフローチャートである。 制御処理部による画像処理部の設定処理を示すフローチャートである。
<実施例1>
図6は、実施例1のシステムの概略構成を示す図である。制御処理部601はCPUやMPUなどの処理回路である。画像処理部602は、リングバスで接続されている複数のモジュールを有する画像処理部である。
RAM603は、処理する前の入力画像データや処理後の出力画像データ、又は、画像処理部602の設定パラメータに関するデータなどを格納する読み書き可能なメモリである。ROM604は、制御処理部601や画像処理部602の処理手順や、設定パラメータ等の定数などを保持可能な読み出し可能なメモリである。また、システムバス605は制御処理部601、画像処理部602、RAM603、画像処理部602を通信可能に接続するバスである。
制御処理部601において、ROM604から読み出されたプログラムにしたがって、システムの制御ならびに画像処理部602への指示等を行う。画像処理部602は、制御処理部601からの指示に従って画像処理を実行する。例えば、RAM603にあらかじめ格納されている入力画像データを読み出して処理を行い、処理結果を再びRAM603に書き込む。
図10に制御処理部601による画像処理部602の設定処理の処理手順を示す。
画像処理制御が開始されると、以下のステップに従って処理を実行する。ステップS1101で制御処理部601は、ROM604から画像処理部602の処理部の処理順番を読み出す。ステップS1102で制御処理部601は、ROMから処理部に与える処理パラメータを読み出す。ステップS1103で制御処理部601は、読み出したデータ処理順番及び処理パラメータを用いて画像処理部602の制御パラメータを算出する処理を行う。
ステップS1104で制御処理部601は、ステップS1103で算出した制御パラメータを用いて、画像処理部602に対する設定処理を行うステップS1105で制御処理部601は、画像処理部602に対して処理開始の指示を行う。ステップS1106で制御処理部601は、画像処理部602の設定の完了を確認し、
ステップS1107において、設定処理が完了したと判断した場合には、処理を終了する。ここで、処理が未終了であった場合には、再びステップS1106へ戻り、終了確認処理を継続する。
図1は本発明の一実施例である実施例1における画像処理部の概略構成を示すブロック図である。矢印はデータ(又はパケット)が送信される方向を示しており、データ入出力部101は、外部記憶装置(ROM、RAM、HDD)から処理対象のデータを受信しリングバスに入力し、また処理が終わったデータを外部記憶装置へ出力する。
通信部102−1〜102−mはバスによって数珠繋ぎに接続されリングバス104を形成している。また、処理部103−1〜103−mは通信部102−1〜102−mの少なくとも1つと夫々一対一で接続され、入力されたデータに対して所定の処理を行う。また、通信部102は、リングバス104上で、特定の方向にある通信部から受信するデータを他方の通信部へ流す。従って、リングバス104では総じて、所定の一方向をデータ転送方向とした際に転送方向の上流から下流へとデータが周回するように流れる。
また、通信部102は少なくとも1つの処理部103もしくはデータ入出力部101(データ入力部でもよい)との間でデータを送受信できるように前述のバスとは別に直接接続されている。通信部102はバスを通して入力されたデータを識別して、直接接続されている処理部又はデータ入出力部に送信すべきデータを、この処理部又はデータ入出力部へ送信する。一方で、通信部102は、直接接続されている処理部又はデータ入出力部に送信すべきではないデータについては、データ転送方向下流側の通信部にそのまま送信する。通信部102の詳細については後述する。なお、通信部102と処理部103との対を本明細書では処理モジュール(又は処理回路)と称する。
リングバス104は通信部を数珠繋ぎに連結するバスである。
図3は通信部102の概略構成を示すものである。入力データ受信部301は、リングバス上を流れるパケットを受信する。入力データ識別部302は、入力されたパケットの制御情報を確認し、入力されたデータが、自ノードにおいて処理すべきデータかどうかを識別する。
処理データ出力部303は、入力データ識別部302において自ノードにおいて処理すべきデータであると判断されたデータを、処理部に対して送出する。入力データ識別部302で判定するデータがパケット化されているものであるなら、処理データ出力部は処理部で処理すべきデータをパケットから抽出するとよい。処理済みデータ入力部304は、自ノードの処理部(バスを介さずに直接接続されている処理部)において処理済のデータの入力を受け取る。
出力データ生成部305は、有効なデータを含んでいないと判断された空パケットと入力部104から送られるデータとから、出力データ(出力用のパケット)を生成する。出力データ送信部306は、出力データ生成部305が生成した出力データをバスに出力する。
図2(a),(b)は、このようなデータ通信処理部において送受信されるデータパケットとコマンドパケットのデータ構造を示したものである。
フィールド201は、データの処理順番を示すカウンタである。本実施例のリングバスにおいては、未処理データを含むデータパケット群の一部がリング内を周回することがあるので、通信処理部が受信するデータが、必ずしも対応するデータ処理部で最初に処理されるべきデータであるとは限らない。よって、このようなカウンタをデータに付随して持たせることで、入力された順など、正しい処理順番に従って処理を実行させる事が可能となる。なお、対応するデータ処理部とは、通信処理部がリングバスを介さずに直接通信可能なデータ処理部の事を指すものとする。
フィールド202はこのデータパケットが保持しているデータが処理されるべき有効データであることを示すフラグである。これはすなわち、パケットが現在使用中であるかどうかを示すフラグと同じ意味を持つ。以下、このフラグをバリッドビットと呼称する。フィールド203は、このパケットが保持しているデータが何らかの理由で、処理すべきデータ処理部によって受け取られなかったことを示すフラグである。通常のパイプライン接続における、前段へのデータ供給停止要求ビット(disable信号)と同じ意味を持つ。以下、このフラグをストールビットと呼称する。
フィールド204は、このデータを最後に処理したデータ処理部のIDである。データ通信処理部では、あらかじめ外部から設定された待ち受けIDと、このデータパケット上のIDとを比較し、一致した際に処理を行う。通常、待ち受けIDは各処理部に固有の値であるとする。またフィールド205は、データを格納する。
概念的にはリングバスを流れるパケットの総数はほぼ一定である、即ち、空のパケットと有効なパケットの和はほぼ一定であり、この一定数のパケットがリングバスを周回し続けている。空のパケットは格納するデータが無効とされたパケットであり、有効なパケットはデータやコマンドを格納しているパケットである。本実施例において1データパケットは1画素データを割り当てることとする。
図4は画像処理部のデータ入出力部の概略構成を示す。外部データ受信部401は、外部記憶装置からデータを受信する。処理対象データ送信部402は外部データ受信部401の受信したデータをリングバス上の通信部に送信する。データ入力量制御部403は、処理対象データ送信部402が通信部に送信するデータの量(又はパケットの間隔)を決める。ここで、データの量は処理対象データ送信部402が通信部に送信する一連のデータを複数回に分けて送信する場合の1回あたりに送信するデータの量としてもよい。処理済データ受信部404は、通信部から処理済みのデータを受信する。外部データ送信部405は、処理済データ受信部の受信したデータを外部記憶装置に送信する。
図5は制御処理部601の機能構成を示す概略図である。処理内容保持部501は、画像処理部の各処理部の処理内容(例えば、変倍やフィルタ等の画像処理)や、処理に用いるパラメータおよびデータ、各処理部が処理をする順番などを示す情報を保持している。位置関係算出部502は、一連のデータフロー(パイプライン処理など)において、処理上で連続して用いる2つの処理部の位置関係を示す値を算出する。最大データ量算出部503(第2の算出手段)は、リング状のバスに接続されている複数の処理モジュールが保持することを許容する最大のデータ量を算出する。制御量算出部504(第3の算出手段)は、処理内容保持部501、位置関係算出部502および最大データ量算出部503の保持する情報より、データ入力量制御部に設定する制御量を算出する。データ入力量設定部505は、制御量算出部504にて算出された制御量をデータ入力量制御部403に設定する。また、トラフィック予測部506(第1の算出手段)はリングバスに入力するデータによって、実際にリングバスを流れるデータ量(各処理モジュールが保持することになるデータ量の総和に相当する)を予測する。
次に、前述した構成の画像処理部602で1つのパケットに格納されるデータを、処理部B→処理部D→処理部Aの順序で処理するときの動作例を、図1を用いて説明する。
まず、B→D→Aのデータフローを決定するために画像処理部602の初期設定をする際に、通信部102−1〜6に順にnode ID1〜6を設定し、更に待ち受けID(wID)を設定する。待ち受けIDの設定として、通信部102−1に[wID=2]、通信部102−2に[wID=5]、通信部102−3に[wID=1]、通信部102−5に[wID=3]を設定する。ここで、待ち受けIDは通信部102がデータを抽出すべきパケットであるかを識別するためのものであり、初期設定時に各通信部が有するレジスタに設定される。また、各通信部はカウンタを有しており、画像処理部602の初期設定時に全て0に初期化される。
まず、データ入出力部101は入力端子151から受信したデータを通信部102−1に入力する。そして、通信部102−1は入力されたデータとnode IDとして(1)とを格納するパケットにパケット化しリングバス104の下流に出力する。図2のフォーマットによると〔Count=0、Valid=1、Stall=0、ID=1〕が格納される。出力した後に、通信部102−1のカウンタを0から1へカウントアップして、次のパケットには〔Count=1〕を格納するように待機する。
通信部102−2の入力データ識別部302が、バスから受信するパケットについて、
○バスから受信するパケットのnode IDと自身のwIDが一致する。
○パケットのカウンタと自身のカウンタの値が一致する。
という2つの条件を満たすかどうかを判定する。今回の例では通信部102−2にwIDは設定されておらず、一致しないので自ノードの処理部Aで処理すべきパケットではないと判断して、そのままリングバスの下流側に出力する。
次に、通信部102−3の入力データ識別部302もバスから受信するパケットについて上記の2つの条件を満たすかどうかを判定する。今回の例では上記の2つの条件を満たすので、処理部Bで処理すべきパケットであると判定し、このパケットからデータを抽出する。データを抽出したパケットについては少なくとも〔Valid=0〕にクリアして空パケットにして出力データ送信部306から、リングバス104のデータ転送方向下流側に出力する。通信部102−2が抽出したデータは処理データ出力部303から処理部Bに送られ、処理部Bはこのデータを処理した後に処理済データを通信処理部102−3の処理済データ入力部304に送信する。
通信部102−3の出力データ生成部305は、処理済データ入力部304が保持している処理済データがある場合に空パケットを取得するとパケットに処理済のデータを格納する処理をする。詳細には、この空パケットに処理済みデータと自ノードのID〔ID=3〕および自ノードのカウンタの値〔Count=0〕、を格納し、バリッドを有効〔Valid=1〕にする。そして、自ノードのカウントを0から1へ1つカウントアップして次に処理すべきデータを待ち受ける。
以降の処理も基本的には上述の通信部102−2又は通信部102−3の処理とほぼ同様であり、同様な処理についてはその説明を省略する。
通信部102−2の出力データ生成部によって出力用に生成されたパケットは出力データ送信部306からバスに出力される。次に、このパケットは通信部102−2と同様に通信部102−4をそのまま通過する。そして、通信部102−5にパケットが到達したら通信処理部102−3と同様に処理し、処理部Dにて処理したデータと自ノードのID〔ID=5〕を格納する。そして、処理Dの処理したデータを格納するパケットは、通信部102−6、通信部102−1を順に通過し通信部102−2で通信部102−3と同様に処理される。処理部Aで処理されたデータを格納しているパケットは〔ID=2〕の情報を格納しているので、通信部102−3〜6を通過し、通信部102−1でデータを抽出されて、更にデータ入出力部から画像処理部の外部に出力される。
以上のように画像処理部602が動作することで、パケットはリングバス上を一方向に絶えず周回するものの、wIDの設定に基づいたデータフローを実現することができる。また、wIDの設定を変更する事で所望のデータフローに切り換えることもできる。
ここで、データ入出力部101が通信部102−1にデータを入力する間隔は、制御処理部601のデータ入力量設定部によって設定される。ここで設定される間隔は静的な値であり、画像処理部602によって処理が開始される前に制御処理部601が算出し、画像処理部602に設定する。また、間隔は、あるデータ通信処理部にパケットが入力され、パケットに対して処理が行われ、パケットを出力するまでの時間を1単位(単位時間)とする。また、各データ通信処理部は同期を取っており、すべてのデータ通信処理部はパケットが入力されてから出力するまでの処理を同じ時間で行うものとする。
ここで、データ入出力部が通信部にデータ入力を行う回数は、処理したい画像のサイズによって決まる。例えば縦20、横100ピクセルの画像処理であれば、データ入力回数は2000回となる。このようなケースの場合、各処理部において並列にデータ処理が行われ、リングバス上を流れるパケットのデータ量は平衡状態となる。
制御処理部601では、ある間隔でデータ入出力部が通信部にデータを入力したときの、平衡状態におけるリングバス上の処理モジュールの保持するデータ量を予測し、予測したデータ量がリングバス上の処理モジュールの保持できるデータ量以下になる間隔を設定する。
図7は、画像処理部602によって画像処理が行われるまでの制御処理部601の処理を説明するフローチャートである。ステップS701で前記間隔をφで設定すると仮定したときに、処理に用いる処理部それぞれがリング状のバスに流すデータ量を求め、φを設定したときにリング状のバスに流れるデータ量ρを算出する。ステップS702では、ステップS701にて算出したデータ量ρとリングバス上の処理モジュールが保持を許容される最大のデータ量ρmaxを比較し、ρmaxを超えないρを満たす中で最小のφを算出する。そして、ステップS701とステップS702を繰り返すことで前記間隔を算出する。さらに、ステップS703でステップS702において算出した間隔を画像処理部602に設定し、ステップS704において画像処理部602を起動してデータ処理を行う。
図8は、制御処理部601によって行われる、画像処理部602に設定する設定値の算出および画像処理部602への設定処理を示すフローチャートである。ステップS801において、予め設定された処理内容を元に、処理部それぞれの処理性能Fiを算出する。ここで、Fは処理部に入力されるデータの間隔φと、処理部が出力するφi+1の関係を表す式で、Fは処理内容を元に一次式で近似される。
また、一次式の形は1/φi+1=A(1/φ−B)となり、A、Bは処理内容により求まる固定の数値である。ステップS802において、予め設定された処理順序により、処理を行う処理部間の位置関係Pを算出する。ここで、Pはi番目に処理を行う処理部の位置を表し、データ入出力部を基準として、データ入出力部から処理部にデータを転送するときにパケットが通過する通信部の個数である。
ステップS803において、リングを構成する通信部の構成と数により、リングバス上の処理モジュールが保持を許容される最大データ量ρmaxを算出する。ここで、リングバス上のパケットは一律に64ビット分のデータ量を有している場合を想定すると、最大データ量ρmaxは64ビットに通信部の数を掛け合わせた値となる。ステップS804において、データ入出力部でのデータ入力間隔Fの初期値を予め設定された値にする。
ステップS805において、予め設定された処理順序により、処理に用いる処理部の区間数Nを設定する。ここで、区間数Nとは、データがデータ入出力部からリング状のバスに入力された後、このデータについて処理が行われる処理部とデータ入出力部の数である。例えば、図6のユースケ−スにおける区関数Nは4となる。ステップS806において、累積データ保持量ρを0に初期化する。ステップS807において、区間カウンタiを0に設定する。ステップS808において、すべての区間に対して算出が終了したかの確認を行う。ここで、区間カウンタiが処理部間の区間数N未満の場合はステップS809へ、iがN以上の場合はステップS813へと処理が移る。
ステップS809において、予め設定された処理順序において、i番目の処理部からi+1番目の処理部までの区間数dをPより算出する。ここで、0番目の処理部、およびN番目の処理部は入出力部である。ステップS810において、前記区間数dと、予め設定された処理順序においてi番目の処理部の性能値Fとから、区間iにおけるデータ保持量ρを算出する。ステップS811において、累積データ保持量ρにρを加算する。ステップS812において、区間カウンタのインクリメントを行う。ステップS812を終了すると、ステップS808へと処理が移る。ステップS813において、累積データ保持量ρと最大データ量ρmaxの比較を行う。ここで、ρがρmaxを超えている場合はステップS814へ、ρがρmax以下の場合はステップS815へと処理が移る。ステップS814において、データ入出力部でのデータ入力間隔Fを予め予め設定された数値ΔF分減算する。ステップS815において、この時点でのデータ入出力部でのデータ入力間隔Fを設定値とし、データ入力量制御部403へ設定を行う。
以上のように実施例1は、投入するデータによって平衡状態のリングバスに流れるデータ量を予測値として算出し、この予測値がリングバス上の複数の処理モジュールが保持を許容されるデータ量以下になるようにリングバスに入力するデータ量を調節する。これによって、リングバスの処理効率の低下を抑制できる。なお、リングバス上の複数の処理モジュールが保持を許容されるデータ量は、リングバスの処理効率を低下させない最大トラフィックに相当することになる。
また、上述の説明では図1の入出力部101のようにリングバスへの入力とリングバスからの出力とを兼ねている構成を用いたが、入力と出力の構成は別にしてもよい。
また、コマンドパケットとデータパケットの両方をリングバスで扱う場合は、図2(b)に示すコマンドパケットのデータ量が無視できるくらいに小さければ、図2(a)に示すデータパケット同士の間隔だけに着目してもよい。コマンドパケットとデータパケットの両方をリングバスで扱えるようにすると、単純に配線数が少なくすることができるため、回路規模を小さくすることもできる。
また、データをリングバスに入力することによって、リングバス上の処理モジュールが保持することになるデータ量は、リングバスを周回するパケットを考慮するとよい。その中でも特に処理内容によってストールビットを有するパケット(リングバスを1周以上周回する)がどれくらい発生するかも考慮に入れるとよい。この場合は、入力するデータ量によって発生するストールパケットの相関を算出すればよい。
<実施例2>
実施例1と同一機能を有する構成や工程には同一符号を付すとともに、構成的、機能的にかわらないものについてはその説明を省略する。
図9は、制御処理部601によって画像処理部602の制御が行われ、画像処理部602によって画像処理が行われるまでのステップである。ステップS901において、画像処理部602に設定する設定値を算出する。ステップS902において、算出した間隔を情報処理装置に設定し、ステップS903において画像処理部602を起動してデータ処理を行う。実施例1ではステップS701とS702を繰り返すことで設定する間隔を算出するが、実施例2は、実施例1と異なりステップS901で設定する間隔を一意に求める。そして、ステップS902でステップS901において算出した間隔を情報処理装置に設定し、ステップS903において画像処理部602を起動してデータ処理を行う。
式(1),(2)は、ステップS901において、データ入出力部に設定する間隔を算出するために用いる方程式であり、単位時間に前記処理モジュールに入力されるデータ量と、前記単位時間に該処理モジュールが出力するデータ量の相関を示す。ここで、φはデータ入出力部から通信部にデータを入力する間隔である。また、A、Bはそれぞれ予め設定された処理順序においてi番目の処理部の性能値である。さらに、予め設定された処理順序においてi番目の処理部へ入力されるデータの間隔をφ,予め設定された処理順序においてi番目の処理部が出力するデータの間隔をφi+1とすると、1/φi+1=A(1/φ−B)の関係がある。dは予め設定された処理順序において、i番目の処理部からi+1番目の処理部までの区間である。ρmaxはリングバス上の処理モジュールが保持を許容される最大のデータ量で、δは算出する式において、算出による誤差を考慮した誤差値である。ステップS901において、図10の2式を満たす中で最小の整数をφ1として求める。
以上のように、実施例2によると、予め設定された式を用いて設定値を一意に算出することで、計算コストをさらに下げることができる。
前述の各実施例で説明した構成の他に、外部から取得するデータはリングバスで扱うパケットの形式でそのまま入力してもよい。さらに、処理部はパケットを解釈しパケットのまま処理できるようにしてもよい。
また、前述の各実施例は画像処理装置を例に挙げたが、各処理モジュールに処理を割り当てる事ができる一般的な情報処理においても本発明は適用できる。
また、前述の各実施例の処理は、複数のハードウェアとソフトウエアの協同によって実現するようにしてもよい。この場合、ネットワーク又は各種記憶媒体を介して取得したソフトウエア(プログラム)をコンピュータ等の処理装置(CPU、プロセッサ)にて実行することで実現できる。
また、本発明は前述した実施例の機能をコンピュータに実現させるプログラムを記憶した記憶媒体を、システム或いは装置に供給することによって実現してもよい。
101 入出力部
102 通信部
103 処理部
104 リングバス

Claims (13)

  1. 複数の処理モジュールと、
    前記複数のモジュールをリング状に接続し一方向にデータを周回させるリングバスと、
    前記リングバスに入力するデータによって前記複数の処理モジュールの保持することになるデータ量が、前記複数の処理モジュールが保持することを許容するデータ量以下になるようにデータを前記リングバスに入力する入力手段と
    を有することを特徴とする情報処理装置。
  2. 各処理モジュールの処理内容を示す情報に基づいて、入力するデータによって前記複数の処理モジュールが保持することになるデータ量を予測する第1の算出手段を更に有することを特徴とする請求項1に記載の情報処理装置。
  3. 前記処理モジュールは、前記リングバスの上流側から受信するデータを前記リングバスの下流側へ送信する通信手段と、前記通信手段と一対一で接続され、当該通信手段の受信するデータを処理する処理手段とを有し、
    前記第1の算出手段は、前記複数の処理モジュールが保持することになるデータ量を、前記通信手段が保持することになるデータ量に基づいて予測することを特徴とする請求項2に記載の情報処理装置。
  4. 一連の処理において、処理上で連続する処理モジュールの位置関係を示す情報に基づいて前記複数の処理モジュールが保持することを許容されるデータ量を算出する第2の算出手段を更に有することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. 前記位置関係を示す情報は、前記一連の処理において連続してデータを処理する2つの処理モジュールの間にある処理モジュールの個数を示すことを特徴とする請求項4に記載の情報処理装置。
  6. 前記第2の算出手段は、各処理モジュールの性能を示す情報に基づいて前記複数の処理モジュールが保持することを許容されるデータ量を算出することを特徴とする請求項4又は5に記載の情報処理装置。
  7. 前記性能を示す情報は、単位時間に前記処理モジュールに入力されるデータ量と、前記単位時間に該処理モジュールが出力するデータ量の相関を示すことを特徴とする請求項6に記載の情報処理装置。
  8. 前記入力手段はデータを入力する間隔を調節することでリングバスに入力するデータ量を制御することを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。
  9. 前記入力手段は1回あたりに入力するデータの量を調節することでリングバスに入力するデータ量を制御することを特徴とする請求項1乃至7のいずれか1項に記載の情報処理装置。
  10. 前記入力手段は制御量に基づいて前記リングバスに入力するデータ量を制御し、
    仮定の制御量と前記リングバス上の処理モジュールが保持することになるデータ量との相関を示す情報を求め、当該相関を示す情報と前記リングバス上の処理モジュールが保持することを許容されるデータ量から、前記入力手段に設定する制御量を求める第3の算出手段を更に有することを特徴とする請求項1乃至9のいずれか1項に記載の情報処理装置。
  11. 前記入力手段は前記制御量を格納するレジスタを更に有することを特徴とする請求項10に記載の情報処理装置。
  12. 複数の処理モジュールと、前記複数のモジュールをリング状に接続し一方向にデータを周回させるリングバスとを有する情報処理装置に動作させるプログラムであって、
    前記リングバスに入力するデータによって前記複数の処理モジュールの保持することになるデータ量が、前記複数の処理モジュールが保持することを許容するデータ量以下になるように、データを前記リングバスに入力する入力工程を実行させることを特徴とするプログラム。
  13. 複数の処理モジュールと、前記複数のモジュールをリング状に接続し一方向にデータを周回させるリングバスとを有する情報処理装置における情報処理方法であって、
    前記リングバスに入力するデータによって前記複数の処理モジュールの保持することになるデータ量が、前記複数の処理モジュールが保持することを許容するデータ量以下になるように、入力手段がデータを前記リングバスに入力する入力工程を有することを特徴とする情報処理方法。
JP2009112053A 2009-05-01 2009-05-01 情報処理装置、情報処理方法およびプログラム Expired - Fee Related JP5534711B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009112053A JP5534711B2 (ja) 2009-05-01 2009-05-01 情報処理装置、情報処理方法およびプログラム
US12/769,125 US8954633B2 (en) 2009-05-01 2010-04-28 Information processing apparatus, information processing method, and computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009112053A JP5534711B2 (ja) 2009-05-01 2009-05-01 情報処理装置、情報処理方法およびプログラム

Publications (3)

Publication Number Publication Date
JP2010262439A true JP2010262439A (ja) 2010-11-18
JP2010262439A5 JP2010262439A5 (ja) 2012-06-07
JP5534711B2 JP5534711B2 (ja) 2014-07-02

Family

ID=43031270

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009112053A Expired - Fee Related JP5534711B2 (ja) 2009-05-01 2009-05-01 情報処理装置、情報処理方法およびプログラム

Country Status (2)

Country Link
US (1) US8954633B2 (ja)
JP (1) JP5534711B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5835942B2 (ja) * 2010-06-25 2015-12-24 キヤノン株式会社 画像処理装置、その制御方法及びプログラム
JP5784664B2 (ja) * 2013-03-21 2015-09-24 株式会社東芝 多眼撮像装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10228445A (ja) * 1997-02-13 1998-08-25 Mitsubishi Electric Corp リングバス入出力制御装置
JP3034405B2 (ja) * 1993-09-03 2000-04-17 三菱電機株式会社 ローカルエリアネットワーク装置
JP2006295690A (ja) * 2005-04-13 2006-10-26 Canon Inc 情報処理装置
JP2007148753A (ja) * 2005-11-28 2007-06-14 Seiko Epson Corp マルチプロセッサシステム
JP2007259318A (ja) * 2006-03-24 2007-10-04 Fujitsu Ltd 通信制御装置および通信制御方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11167560A (ja) * 1997-12-03 1999-06-22 Nec Corp データ転送システム、このシステムに用いるスイッチング回路、アダプタ及びこのシステムを有する集積回路並びにデータ転送方法
US6970424B2 (en) * 1998-11-10 2005-11-29 Extreme Networks Method and apparatus to minimize congestion in a packet switched network
AU2001286691A1 (en) * 2000-08-24 2002-03-04 Ocular Networks Apparatus and method for facilitating data packet transportation
JP4041944B2 (ja) * 2001-10-18 2008-02-06 日本電気株式会社 ネットワークの混雑制御システムと混雑制御ノード、及び混雑制御プログラム
US7551561B2 (en) * 2003-05-15 2009-06-23 Panasonic Corporation Packet communication terminal
US7948881B2 (en) * 2005-04-15 2011-05-24 New Jersey Institute Of Technology Distributed bandwidth allocation for resilient packet ring networks
JP4906317B2 (ja) * 2005-11-10 2012-03-28 キヤノン株式会社 情報処理装置及び方法
JP5590849B2 (ja) * 2009-10-08 2014-09-17 キヤノン株式会社 複数の処理モジュールを有する並列処理回路を備えるデータ処理装置、その制御装置、およびその制御方法、プログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3034405B2 (ja) * 1993-09-03 2000-04-17 三菱電機株式会社 ローカルエリアネットワーク装置
JPH10228445A (ja) * 1997-02-13 1998-08-25 Mitsubishi Electric Corp リングバス入出力制御装置
JP2006295690A (ja) * 2005-04-13 2006-10-26 Canon Inc 情報処理装置
JP2007148753A (ja) * 2005-11-28 2007-06-14 Seiko Epson Corp マルチプロセッサシステム
JP2007259318A (ja) * 2006-03-24 2007-10-04 Fujitsu Ltd 通信制御装置および通信制御方法

Also Published As

Publication number Publication date
US8954633B2 (en) 2015-02-10
US20100281237A1 (en) 2010-11-04
JP5534711B2 (ja) 2014-07-02

Similar Documents

Publication Publication Date Title
EP3116166B1 (en) Control system, control device, and control method
JP4376862B2 (ja) 通信メッセージ変換装置及び通信メッセージ変換方法
JP4612094B2 (ja) バス間でのメッセージの自動ルーティングのためのゲートウェイ
EP2455832B1 (en) Programmable controller
KR100981461B1 (ko) 통신 칩 및 메시지 관리자에 의한 통신 칩의 메시지 메모리의 데이터에 대한 액세스 제어 방법
US8754896B2 (en) Data processing apparatus having a parallel processing circuit including a plurality of processing modules, and method for controlling the same
JP2008306648A (ja) データ中継装置及びデータ中継方法並びに通信ネットワークシステム
KR20070039937A (ko) 메시지 메모리 내에서 메시지를 저장하기 위한 방법 및상응하는 메시지 메모리
JP5534711B2 (ja) 情報処理装置、情報処理方法およびプログラム
JP2006217494A (ja) 通信システム及び通信方法
JP2010218253A (ja) 情報処理装置、情報処理方法およびプログラム
JP2010198226A (ja) データ処理装置、データ処理方法およびプログラム
JP5432587B2 (ja) データ処理装置、その制御方法およびプログラム
JP5117432B2 (ja) リング型ネットワークシステム
JP2016082363A (ja) 通信装置、情報処理装置、情報処理システム及び通信装置の制御方法
WO2021131724A1 (ja) 通信装置、通信システム、通信制御方法、及びプログラム
JP4708901B2 (ja) データ処理モジュール及びそのメッセージの送信準備方法
JP2006229883A (ja) 通信制御方法、通信ノード、及び通信システム
JP6235259B2 (ja) 通信制御装置、通信制御方法及び通信制御システム
JP2012038260A (ja) バス転送システム
WO2022019014A1 (ja) 通信装置、通信システム、通信制御方法、及びプログラム
JP5223582B2 (ja) メッセージ伝送装置及びメッセージ伝送方法
JP2006005646A (ja) ネットワーク通信方法
JP2006115315A (ja) データ転送方法及びデータ転送装置
JP2005286380A (ja) リング接続による通信システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120424

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120424

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130730

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130930

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20131022

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140122

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20140129

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: 20140325

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140422

R151 Written notification of patent or utility model registration

Ref document number: 5534711

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees