JP4727480B2 - 情報処理方法、情報処理システム、情報処理装置、マルチプロセッサ、情報処理プログラム及び情報処理プログラムを記憶したコンピュータ読み取り可能な記憶媒体 - Google Patents

情報処理方法、情報処理システム、情報処理装置、マルチプロセッサ、情報処理プログラム及び情報処理プログラムを記憶したコンピュータ読み取り可能な記憶媒体 Download PDF

Info

Publication number
JP4727480B2
JP4727480B2 JP2006090785A JP2006090785A JP4727480B2 JP 4727480 B2 JP4727480 B2 JP 4727480B2 JP 2006090785 A JP2006090785 A JP 2006090785A JP 2006090785 A JP2006090785 A JP 2006090785A JP 4727480 B2 JP4727480 B2 JP 4727480B2
Authority
JP
Japan
Prior art keywords
file
processing
target
processor
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.)
Expired - Fee Related
Application number
JP2006090785A
Other languages
English (en)
Other versions
JP2007265143A (ja
Inventor
千里 沼岡
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 Interactive Entertainment Inc
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 Interactive Entertainment Inc, Sony Computer Entertainment Inc filed Critical Sony Interactive Entertainment Inc
Priority to JP2006090785A priority Critical patent/JP4727480B2/ja
Publication of JP2007265143A publication Critical patent/JP2007265143A/ja
Application granted granted Critical
Publication of JP4727480B2 publication Critical patent/JP4727480B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、マルチプロセッサを用いて、不揮発性ストレージに記憶されている複数のファイルを処理する情報処理技術に関する。
近年、ハードディスクなどの不揮発性ストレージが安価になり、大容量化している。また、ネットワークを介して音楽ファイルをダウンロードしたり、CD(Compact Disk)に記憶されたデータファイルをリッピングしたり、ディジタルスティルカメラやビデオカメラで撮影された画像ファイルを編集したりすることが普及している。このような状況に伴い、大量のファイルを不揮発性ストレージ内に保持することが一般的になされるようになっている。このようなファイルの利用の増加に伴い、ファイルに対する以下のような処理がますます要求されてきている。例えば、ビデオコーデックやオーディオコーデックが複数存在するために、一つのコーデックから他のコーデックへ変換する処理や、ファイルに対してウィルススキャンを行う処理、ファイルの安全性確保のためにファイルを一括で暗号化する処理などである。
例えば、このような処理を複数のファイルに対して一括して行う方法がある。例えば、マイクロソフト社のWINDOWS(登録商標)などでは、フォルダに含まれる全てのファイルをフォルダ単位で暗号化する手段が提供されている。このような手段としてシングルプロセッサとマルチプロセッサとが挙げられる。前者の場合、1つのプロセッサが、ファイルを不揮発性ストレージから逐次的に読み出し、これを暗号化する処理を行い、暗号化したファイルを不揮発性ストレージに再び書き込む処理を行う。この場合には、シングルプロセッサの処理能力に限界があるため、例えばマルチスレッド技術を用いて処理の並列化を図ったとしても、スイッチング時間などを考慮すると、並列化による処理時間の短縮や処理効率の向上はあまり見込むことはできない。
一方、後者の場合、複数のファイルを不揮発性ストレージから次々と読み出し、これを複数のプロセッサに割り当てて、各プロセッサを並列処理させることができる。この場合、まず、ファイルを読み出しこれをプロセッサに割り当てるという処理が逐次的に行われる。このような処理を行うマルチプロセッサは、例えば、特許文献1に開示されている。
特開2005ー251163号公報
しかしながら、このようなマルチプロセッサにおいては、各ファイルを不揮発性ストレージから読み出す間、プロセッサを同期待ち合わせさせる必要がある。このような同期待ち合わせが頻繁に発生することにより、処理効率の低下や処理時間の延長を招く恐れがある。また、複数のプロセッサが不揮発性ストレージを共用する構成のマルチプロセッサにおいては、各プロセッサによる並列処理が行われる際に、不揮発性ストレージを同期させる必要がある。このため、ボトルネックがかなり生じることにより、処理効率の低下や処理時間の延長を招く恐れがある。
従って、マルチプロセッサを用いて複数のファイルに対して並列処理を行ったとしても、その並列処理性を有効に活かせず、処理時間の短縮や処理時間の向上を図ることは困難であった。
そこで、本発明は上述の課題に鑑みてなされたものであり、マルチプロセッサによる並列処理性をより有効に活かして、複数のファイルを処理する際の処理時間の短縮や処理効率の向上が可能な情報処理技術を提供することを目的とする。
本発明では、メインメモリと複数のプロセッサとを備えるマルチプロセッサが、当該マルチプロセッサに接続される不揮発性ストレージに記憶された複数の処理対象ファイルに対して所定の処理を行う場合、前記プロセッサのうち1つのプロセッサが、前記複数の処理対象ファイルを複数のファイル群に分け、分けた各ファイル群を、前記複数のプロセッサのうち少なくとも1つ以上の対象プロセッサに割り当て、各ファイル群に各々対応する読み出し用バッファを前記メインメモリに設定する。また、前記1つのプロセッサが、前記ファイル群を割り当てた対象プロセッサに対し、前記所定の処理を行うための処理プログラムの起動を指示し、前記不揮発性ストレージに対するデータの読み出し及び書き込みを制御するストレージコントローラに対し、前記不揮発性ストレージに記憶された前記処理対象ファイルを、当該処理対象ファイルが属するファイル群に対応付けられて前記メインメモリに設定された読み出し用バッファに各々読み出すことを指示する。
尚、前記処理対象ファイルをファイル群に分ける数は、前記マルチプロセッサの有するプロセッサの数と同じであっても良いし、前記プロセッサの数より多くても少なくても良い。
また、前記ファイル群を割り当てる対象プロセッサとして、前記複数の処理対象ファイルを複数のファイル群に分けた前記1つのプロセッサを含んでも良いし、含まなくても良い。
また、前記1つのプロセッサは、メインプロセッサとして機能させるプロセッサであり、前記対象プロセッサは、サブプロセッサとして機能させるプロセッサであっても良い。
本発明によれば、不揮発性ストレージに記憶された複数の処理対象ファイルを読み出す際の時間を短縮することができ、処理時間の短縮や、処理効率の向上を図ることができる。
以下、図面を参照して本発明の実施例について説明する。なお、各図において共通する部分には、同一の符号が付されている。また、かかる実施例は本発明の一態様を示すものであり、この発明を限定するものではなく、本発明の範囲で任意に変更可能である。
[実施例1]
(1)構成
<情報処理装置の構成>
図1は、本実施例に係る情報処理装置1の内部構成を例示するブロック図である。
情報処理装置1は、ワンチップマルチプロセッサ2と、メインメモリとして用いるRAM(Random Access Memory)16と、サウスブリッジ18と、ネットワークインタフェース19と、フラッシュメモリ20と、フラッシュメモリコントローラ31と、DVD(Digital Versatile Disk)ドライバ21と、USB(Universal Serial Bus)22と、グラフィックカード24と、ADC(analog digital converter)27と、RF(Radio Frequency)処理部28とから構成される。また、図示しないが、ユーザからの指示が入力される入力装置が情報処理装置1に接続される。
フラッシュメモリコントローラ31は、フラッシュメモリ20に対するデータの読み出し及びデータの書き込みを制御する。フラッシュメモリ20には、オペレーティングシステムや、後述する暗号化プログラムなど各種プログラムや、各種ファイルが記憶されている。
RAM16には、ワンチップマルチプロセッサ2によって実行される各種プログラムや、各種プログラムの実行時に用いられる各種データや、後述する各種テーブルが記憶される。
グラフィックカード24は、画像処理機能を実現させるためのカードであり、フレームメモリ25を内蔵し、モニタ装置26と接続される。グラフィックカード24は、ワンチップマルチプロセッサ2の制御の下、フレームメモリ25に画像を描画し、描画した画像をモニタ装置26に表示させる。
RF処理部28は、ダウンコンバータ29を備え、アンテナ30を介して外部装置との無線通信を制御する。ADC27は、RF処理部28から供給されたアナログ信号をデジタル信号に変換し、これをワンチップマルチプロセッサ2に供給する。
DVDドライバ21は、ワンチップマルチプロセッサ2の制御の下、ディスク装着部(図示せず)に装着されたDVD−ROM(Digital Versatile Disk Read Only Memory)やDVD−RAM(Digital Versatile Disk Random Access Memory)などのDVD32に対するデータの読み出し及びデータの書き込みを制御する。
USB22は、ワンチップマルチプロセッサ2の制御の下、コントローラ23を介して各種周辺機器を制御する。コントローラ23には、HD(Hard Disc)33等の各種記憶装置や各種記憶媒体が接続される。コントローラ23は、ハードディスクコントローラとして機能し、HD33に対するデータの読み出し及びデータの書き込みを制御する。HD33には、後述する暗号化処理の対象となるファイルが記憶されている。各ファイルには、これらを一意に識別可能なファイルIDが割り当てられている。尚、各ファイルは、例えばテキストファイルや、音楽ファイル、画像ファイルなどの任意の様々なファイルであって良い。
ネットワークインタフェース19は、ワンチップマルチプロセッサ2の制御の下、インターネットやLANなどのネットワークを介したデータ通信を制御する。
<ワンチップマルチプロセッサの構成>
ワンチップマルチプロセッサ2は、メインプロセッサ(PU:Main Processor Unit)8と、8つのサブプロセッサ(SPU:Sub Processor Unit)3a〜3hと、入出力インタフェース(Input/Output Interface)17と、メモリコントローラ(MC:Memory Controller)15とから構成される。これらは、各々リングバス14に接続され、並列動作可能である。
PU8とSPU3a〜3hとは、それぞれ異なる命令セットを有する命令セットアーキテクチャである。PU8は、各SPU3a〜3hの動作を制御し、各SPU3a〜3hは、PU8の制御の下、並列的且つ独立に各種処理を実行する。PU8は、割り込みを全て受け付けるが、SPU3a〜3hは割り込みを受け付けない。SPU3a〜3hに対して割り込みがかけられた場合、PU8がその割り込みに対する処理を行う。これらの各プロセッサには、ワンチップマルチプロセッサ2内で一意に識別可能なプロセッサIDが各々割り当てられている。サブプロセッサ(SPU)のプロセッサIDについては、例えば、図2に示されるように、RAM16のプロセッサ管理テーブル160に各々記憶される。この管理テーブル160では、プロセッサIDは、後述するグループIDと対応付けられて記憶される。尚、ここでは説明の便宜上各プロセッサIDは、各SPU3a〜3hに付与された符号と同一のものを用いる。
PU8は、プロセッサコア(Core)9と、DMAC(Direct Memory Access Controller)13を有するメモリフローコントローラ(MFC:Memory flow Controller)12と、L1キャッシュ10と、L2キャッシュ11とから構成される。
SPU3aは、プロセッサコア4aと、ローカルストレージ(LS:Local Storage)5aと、DMAC7aを内蔵するMFC6aとから構成される。
LS5aは、キャッシュとは異なり、キャッシュ・コヒーレンシー、即ちキャッシュの整合性のサポートを必要としない。LS5aは、DRAM(Dynamic Random Access Memory)として構成されることが好適である。このLS5aには、PU8からの制御命令に従い、各種プログラムがロードされる。
DMAC7aは、SPU3aの制御の下、RAM16に記憶されている各種プログラム及び各種データにアクセスする。即ち、SPU3aは、RAM16にアクセスする際には、PU8を介さず、DMAC7aを有するMFC6aに読み出し又は書き込み命令を出し、MFC6aを介してRAM16から各種プログラム及び各種データの読み出し又は書き込みを行う。読み出し又は書き込み命令には、SPU3aのプロセッサIDと、RAM16上のアクセス要求先のアドレスが含まれる。
尚、SPU3b〜3hについてもSPU3aの構成と略同様であるため、その説明を省略する。以降、SPU3a〜3hについて、区別して記載する必要がない場合には、単に、SPU3と記載する。また、各SPUを区別して記載する必要があり、各SPUの各構成要素について区別して記載する必要がある場合には、各々符号の後ろにa〜hを付記する。
MC15は、RAM16に接続され、PU8及び各SPU3a〜3hのRAM16へのアクセスを仲介する。
入出力インタフェース17は、サウスブリッジ18と、グラフィックスカード24と、RF(Radio Frequency)処理部28に接続されたADC27と接続される。入出力インタフェース17は、PU8やSPU3が外部装置を制御したり、外部装置との間でデータを送受信したりすることを制御する。
サウスブリッジ18は、ネットワークインタフェース19、フラッシュメモリ20に接続されたフラッシュメモリコントロール31と、DVDドライバ21、USB(Universal Serial Bus)22と接続され、これらとの間でデータの中継を行う。
<機能的構成>
次に、ワンチップマルチプロセッサ2の機能的構成について説明する。本実施例においては、フラッシュメモリ20に記憶されたオペレーティングシステムやアプリケーションプログラムをPU8が実行し、この処理の実行過程においてPU8の制御命令に従って各SPU3a〜3hが各種処理を行うことにより、以下の機能が実現される。
PU8は、HD33に記憶されたファイルに対する暗号化処理などの処理命令がなされると、処理対象のファイルをグループ分けする。そして、RAM16にグループ毎の読み出し用バッファ及び書き込み用バッファを割り当てる共に、各グループに各SPU3a〜3hを割り当てる。そして、PU8は、コントローラ23に対し、処理対象の全てのファイルを、各グループに対応する各読み出し用バッファにフラッシュメモリ20から読み出すよう命令を出す。コントローラ23は、当該命令に従い、処理対象の全てのファイルを、各グループに対応する各読み出し用バッファにHD33から読み出す。そして、PU8は、各読み出し用バッファに読み出されたファイルに対する処理を各SPU3a〜3hに行わせると共に、処理後のファイルを各書き込み用バッファに書き込ませる。次いで、PU8は、コントローラ23に対し、各SPU3a〜3hによって書き込み用バッファに書き込まれた処理後のファイルをHD33に書き込むよう命令を出す。コントローラ23は、当該命令に従い、各SPU3a〜3hによって書き込み用バッファに書き込まれた処理後のファイルをHD33に書き込む。
(2)動作
次に、本実施例に係る動作について図3を参照しながら説明する。本実施例においては、不揮発性ストレージの一例としてHD33に記憶された複数のファイルに対し暗号化処理を行う動作について説明する。
尚、情報処理装置1に主電源が投入されると、PU8は、オペレーティングシステム等の各種制御プログラム、および暗号化プログラム等の各種アプリケーションプログラムをRAM16にロードする。プログラムのロード手順としては、PU8は、入出力インタフェース17及びサウスブリッジ18を介してフラッシュメモリコントローラ31に対しプログラムの読出命令を出し、当該命令に従い、フラッシュメモリコントローラ31はフラッシュメモリ20からプログラムを読み出し、次に、PU8は、MC15介して当該プログラムをRAM16に書き込む。PU8は、RAM16にロードされた制御プログラムを実行することにより、情報処理装置1の各部を制御する。また、各種アプリケーションプログラムを実行することにより、各種機能を実現させる。
ここで、PU8がアプリケーションプログラムを実行している際に、HD33に記憶された複数のファイルを一括して暗号化する処理を行う指示が、入力装置を介してユーザから入力された場合、PU8は、当該指示に応じた指示信号を、USB22、サウスブリッジ18、入出力インタフェース17を介して受信する。そして、PU8は、当該指示信号に従い、入出力インタフェース17、サウスブリッジ18を介して暗号化プログラムをフラッシュメモリ20から読み出し、MC15を介して当該プログラムをRAM16にロードする。
そして、図3のステップS1に示されるように、PU8は、まず、処理を行うことが可能なプロセッサの総数を計数する。ここでは、この数は、ワンチップマルチプロセッサ2の有するサブプロセッサの総数である。具体的には、RAM16に記憶されている管理テーブル160を参照し、当該管理テーブル160に記憶されているプロセッサIDに基づき、サブプロセッサの数を計数する。あるいは、レジスタ(図示せず)が、RAM16やフラッシュメモリ20等のメモリの一部に、現在処理を実行可能なサブプロセッサの数を常に記録するように構成し、この数を「処理を行うことが可能なプロセッサの総数」として用いても良い。又、サブプロセッサのスケジューラが、処理を実行可能なサブプロセッサの数を管理するように構成し、この数を「処理を行うことが可能なプロセッサの総数」として用いても良い。次に、PU8は、HD33に記憶された処理対象のファイルを特定し、特定した各ファイルのファイルID及びファイルサイズを検出する。
次いで、PU8は、以下の算式(1)により、処理対象のファイルをグループ分けするグループ数を算出する(ステップS2)。
(グループ数)=MAX(1,FLOOR((処理を行うことが可能なサブプロセッサの総数)÷(処理の並列度)))・・・・・算式(1)
ここで、FLOOR(X)は、”X”を超えない最大の整数を返す関数である。MAX(1,Y)は、”1”と”Y”とのうちいずれか大きい数を返す関数である。「処理の並列度」は、処理の実行が、並列動作可能な複数のプログラムを実行することにより実現される場合、そのプログラムの数を示す。処理の実行が、1つのプログラムを実行することにより実現される場合には、「処理の並列度」は”1”となる。即ち、ステップS2では、処理を行うために実行される処理プログラムの並列実行可能性を考慮して、処理を行うことが可能なサブプロセッサの数を決定し、決定した数のグループに処理対象のファイルを分ける。
本実施例においては、処理を行うことが可能なサブプロセッサは、SPU3a〜3hであるから、「処理を行うことが可能なサブプロセッサの総数」は”8”である。また、上記暗号化処理を行うために実行される暗号化プログラムが1つであり、並列処理を必要としないものとするため、「処理の並列度」は”1”である。
従って、本実施例において「グループ数」は”8”となる。ステップS3では、「グループ数」が”1”より大きいか否かを判定し、”1”より小さい場合には、以下に説明するグループ分けを行わず、ステップS12に進む。ここでは、「グループ数」は”1”より大きいため、ステップS3の判定結果が肯定的となり、PU8は、次にステップS4の処理を行う。ステップS4では、PU8は、処理対象ファイルを8個のグループに分け、各々のファイルに対してグループIDを割り当てる。尚、処理対象ファイルをグループに分ける場合、グループ毎の処理量が略同量となるように、グループ毎の処理量を均等化して、各グループへファイルを配分することが望ましい。具体的には、各グループへのファイルの配分については、ファイルサイズによるものと、ファイル数によるものとがある。ファイルサイズによりファイルを配分する場合、各グループに属するファイルのファイルサイズの合計が略同量となるように、即ちファイルサイズを均等化して配分する。尚、各グループに属するファイルのファイルサイズの合計は必ずしも同量でなくても良い。ファイル数によりファイルを配分する場合、各グループに属するファイルのファイル数の合計が略同量となるように、即ちファイル数を均等化して配分する。尚、各グループに属するファイルのファイル数の合計は必ずしも同量でなくても良い。本願発明においては、いずれの方法で配分しても良い。本実施例においては、ファイル数により配分するものとする。例えば、処理対象のファイルが8個ある場合、各グループには1個ずつファイルを配分する。具体的には、ファイルID”File1”のファイルに対し、グループID”Group1”のグループを割り当て、同様にして、ファイルID”File2”〜”File8”の各ファイルに対し、グループID”Group2”〜”Group8”の各グループを割り当てる。また、PU8は、RAM16に、各グループに属する各ファイルの情報を管理するための領域(以降、ファイル情報エリアという)を設ける。例えば図4に示されるように、PU8は、ファイル情報エリアに、ステップS1で検出したファイルID及びファイルサイズと、ステップS4で割り当てたグループのグループIDとをファイル毎に書き込む。
また、PU8は、このようにしてグループ分けしたグループにサブプロセッサを対応させる(ステップS5)。具体的には、グループ”Group1”のグループに対し、プロセッサID”3a”のSPU3aを対応させ、同様にして、グループ”Group2”〜”Group8”の各グループに対し、プロセッサID”3b”〜”3h”の各SPU3b〜3hを対応させる。そして、PU8は、例えば図2に示されるように、RAM16に記憶されている管理テーブル160に、各サブプロセッサのプロセッサIDに対応する各グループIDを書き込む。
次いで、PU8は、RAM16において、HD33からの読み出し用バッファ及びHD33に対する書き込み用バッファをグループ毎に設定する(ステップS6)。例えば、グループID”Group1”のグループに対し、読み出し用バッファとしてメモリーロケーション”MR1”の領域を割り当て、書き込み用バッファとしてメモリーロケーション”MW1”の領域を割り当てる。同様にして、グループID”Group2”〜”Group8”の各グループに対し、読み出し用バッファとしてメモリーロケーション”MR2”〜”MR8”の各領域を割り当て、書き込み用バッファとしてメモリーロケーション”MW2”〜”MW8”の各領域を割り当てる。また、PU8は、RAM16にバッファ管理エリアを設け、図5に示されるように、当該バッファ管理エリアに、各グループに対して割り当てた各バッファの各メモリロケーションを書き込む。尚、各バッファのサイズは、各グループに属するファイルのファイルサイズの総計に対して十分大きいものとする。言い換えると、割り当て可能なバッファのサイズを超えない程度の数に、一度に処理できるファイル数を制限することが望ましい。
次いで、PU8は、RAM16にロードした暗号処理プログラムの処理スレッドを8個生成し、それぞれの処理スレッドに対し、グループIDを割り当てる(ステップS7)。具体的には、PU8は、各処理スレッドに対し、各グループに対応する各SPU3a〜3hを割り当て、割り当てた各処理スレッドを各SPU3a〜3hのLS5a〜5hに記憶させる。そして、PU8は、各SPUに対し割り当てた各処理スレッドを実行させるよう各SPU3a〜3hに対して命令を出し、各々同期待ち合わせ状態にさせる。
その後、PU8は、コントローラ23に対し、HD33に記憶されている処理対象の全てのファイルの読み出し命令を出す(ステップS8)。具体的には、各ファイルの先頭ブロック、ブロック数、及び各ファイルのグループID毎に割り当てられた読み出し用バッファにおける書き込み位置を指定し、各ファイルをHD33から読み出してこれを各々対応する読み出し用バッファの書き込み位置へ書き込むことを命令する。尚、グループID毎の読み出し用バッファへの書き込み位置は、各読み出し用バッファに対応する各ファイルの読み出しを命令する際に、当該ファイルを読み出す直前に読み出したファイルのファイルサイズ分だけ増加するように更新される。一方、コントローラ23は、PU8からの読み出し命令に従い、HD33に記憶されている処理対象の全てのファイルを、各々対応する読み出し用バッファに読み出す。
また、PU8は、上記読み出し命令と同時に、SPU3a〜3hに対して割り当てられた各処理スレッドの同期待ち合わせ状態を解除し、各SPU3a〜3hに各処理スレッドの実行を開始させる。即ち、PU8は、SPU3a〜3hに一斉に処理スレッドの実行を開始させる。PU8は、アプリケーションプログラムに従い、全ての読み出し命令の実行が完了した時点で、いずれかのSPU3a〜3hからの暗号処理完了通知の同期待ち合わせ状態に入る。
次に、SPU3の動作について図6を参照しながら説明する。各SPU3a〜3hの行う動作は略同じであるため、SPU3aについてのみ説明する。
SPU3aは、自装置に対して割り当てられ且つLS5aに記憶された処理スレッドを実行し(ステップS20)、自装置に対して割り当てられたグループIDに対応する読み出し用バッファからファイルを読み出し(ステップS22)、当該ファイルに対する暗号化処理を開始する(ステップS23)。
具体的には、SPU3aは、DMAC7aを有するMFC6a,MC15を介して、RAM16にアクセスして、ファイル情報エリアに書き込まれた情報を参照し、読み出し用バッファ(ここでは、メモリロケーションが”MR1”の領域である)に記憶されている各ファイルを読み出す。各ファイルを読み出す際には、読み出し用バッファにおいて各ファイルの記憶開始位置(上述した書き込み位置に相当する)から各ファイルのファイルサイズ分のデータを読み出す。読み出し用バッファの記憶開始位置は、ファイルを読み出す毎に、当該ファイルを読み出す直前に読み出したファイルのファイルサイズ分だけ増加するように更新される。これにより、読み出し用バッファ上に記憶されている各ファイルを正確に読み出すことができる。
続いて、SPU3aは、このようにして読み出したファイルに対する暗号化処理を行う。そして、当該ファイルに対する暗号化処理が完了すると、次いで、SPU3aは、DMAC7a,MC15を介してRAM16にアクセスして、暗号化処理を行ったファイル(以下、暗号化ファイルという)を、当該SPU3aに割り当てられたグループIDに対応する書き込み用バッファに書き込む(ステップS24)。そして、図4に示されるようなファイル情報エリアに、当該暗号化ファイルを書き込んだ領域の先頭位置(以下、処理後先頭アドレスという)、ファイルサイズ、並びにプロセッサIDを書き込む(ステップS25)。
以上のようにして、SPU3aはステップS20〜S25の処理をファイル毎に行う。そして、自装置に対して割り当てられた全ての処理対象ファイルに対する暗号化処理が終了すると(ステップS21:YES)、SPU3aは、PU8に対して、暗号化処理の終了を通知する(以下、暗号化処理終了通知という)割り込みを行う(ステップS26)。
また、SPU3aは、暗号化ファイルの書き込みと同時に、SPU3bに対し、書き込み用バッファMW1においてファイルを書き込んだポジションとそのファイルサイズとを引き渡すと同時に、同期待ち合わせ状態を解除させ、処理を開始させる。
他のSPU3b〜3hについても、SPU3aと同様の処理を行う。
次に、図3に戻り、PU8は、各SPU3a〜3hのいずれかから暗号化処理終了通知を受け取ると(ステップS10:YES)、アプリケーションプログラムに従い、ファイル情報エリアを参照して、書き込みの終了している暗号化ファイルの書き込み用バッファ上の開始アドレスと、当該ファイルのファイルサイズとを読み出し、コントローラ23に対し、HD33へファイルを書き込むよう命令を出す(ステップS11)。尚、書き込みの終了している暗号化ファイルの判別は、例えば、ファイル情報エリアの各ファイルに対応するプロセッサIDや処理後のファイルサイズが書き込まれているか否かを判別することにより行うことができる。一方、コントローラ23は、PU8からの書き込み命令に従い、書き込み用バッファに書き込まれた暗号化処理後のファイルをHD33へ書き込む。
また、書込み命令を出す時に、他のSPUからの暗号処理終了通知を受け取った場合、当該通知を受け取る度に、PU8は、ステップS11の処理を行う。書込み命令の実行終了時に、他のSPUからの暗号化処理終了通知を受け取っていない場合には、再び同期待ち合わせ状態とする。そして、ファイル情報エリアにおいて、全てのファイルについて書き込み完了状態になった場合(ステップS9:YES)、PU8は、アプリケーションプログラムに従い、次の処理に移行する。次の処理とは、例えば、暗号化処理が終了した旨を示すメッセージをモニタ26に表示させる等の処理である。
尚、ステップS2において算出した「グループ数」が”1”となった場合(ステップS3:NO)、PU8は、オペレーティングシステムに従い、SPU3a〜3hの中から、処理を行うことが可能なサブプロセッサを選択し、選択したサブプロセッサに対し、上記処理対象の全てのファイルに対する暗号化処理を行わせる(ステップS12)。
また、上述のステップS2でグループ数を算出する際、「処理の並列度」が”1”より大きく且つステップS3の判定結果が肯定的である場合、PU8は、算出したグループ数と同数のサブプロセッサをSPU3a〜3hの中から選択し、選択したサブプロセッサに対し、上述のステップS5〜S11の処理を行う。また、「処理の並列度」が”1”より大きい場合、即ち、処理の実行が、並列動作可能な複数のプログラムを実行することにより実現される場合、PU8は、当該プログラムを実行可能なサブプロセッサに対し当該各プログラムを実行するよう命令を出す。
以上のようにして、メインプロセッサが、処理対象の複数のファイルをグループ分けして、グループ毎に各バッファを割り当てることにより、処理対象の全てのファイルの読み出しを一括して行うことができる。一方、サブプロセッサは、DMACを有することにより、メインプロセッサを介することなく、各バッファへアクセスすることができる。このため、従来のように、メインプロセッサが不揮発性ストレージからファイルを読み出す際に、割り込み命令がなされることなく、従って、従来必要とされていた割り込み時の同期待ち合わせ時間をなくすことが可能となる。この結果、処理時間の短縮、処理効率の向上を図ることができる。
[実施例2]
上述の第1実施例においては、処理対象のファイルが記憶されている不揮発性ストレージが1つである実施形態について説明した。本実施例においては、処理対象のファイルが複数の不揮発性ストレージに記憶されている実施形態について説明する。以下、上記第1実施例と共通する部分については、その説明を省略したり、同一の符号を使用して説明したりする。
(1)構成
本実施例における情報処理装置1Aの電気的な内部構成について、図7を用いて説明する。本実施例においては、情報処理装置1Aは、メインプロセッサとして1つのPU41とサブプロセッサとして2つのSPU42,43とを有するワンチップマルチプロセッサ40と、これとバス44を介して接続されるRAM46と、これらと入出力インタフェース45,ブリッジ47を介して接続される4つの不揮発性ストレージ48〜51と、ストレージコントローラ53とを有する。
ストレージコントローラ53は、不揮発性ストレージ48〜51に対するデータの読み出し及びデータの書き込みを各々制御する。
各不揮発性ストレージ48〜51には、オペレーティングシステムなどの各種制御プログラムや各種アプリケーションプログラムなどの各種プログラムや、暗号化処理の対象となるファイルが各々記憶されている。各不揮発性ストレージ48〜51には、これらを一意に識別可能なメモリIDが各々対応付けられており、各ファイルにはこれらを一意に識別可能なファイルIDが各々対応付けられている。これらの対応関係は、例えば図8に示されるようなファイル前管理テーブル460としてRAM46に記憶されている。ここでは説明の便宜上各メモリIDは、不揮発性ストレージ48〜51に付与された符号と同一のものを用いる。
その他の構成については上述の実施例1と同様であるため、その説明及び図示を省略する。
(2)動作
次に、本実施例に係る動作について説明する。本実施例においては、複数の不揮発性ストレージ48〜51に記憶されている複数のファイルを暗号化する処理について説明する。
PU41は、アプリケーションプログラムを実行している際に、上述の第1実施例と同様にして、暗号化プログラムを不揮発性ストレージ(例えば、不揮発性ストレージ48)から読み出し、これを、処理の実行可能な全てのサブプロセッサの有するローカルストレージ(図示せず)にロードする。そして、PU41は、図3のステップS1〜S2の処理を行い、上述の算出式(1)により、グループ数を算出する。
本実施例においては、処理を行うことが可能なサブプロセッサは、SPU42,43であるから、「処理を行うことが可能なサブプロセッサの総数」は、”2”であり、「処理の並列度」は、上述の第1実施例と同様に、”1”であるとする。この為、「グループ数」は”2”となる。次いで、PU8は、各グループを各SPUに対応付ける。ここでは、グループID”Group1”のグループにSPU42を対応付け、グループID”Group2”のグループにSPU43を対応付ける。
各グループへのファイルの配分については、第1実施例で述べたように、ファイル数によるものと、ファイルサイズによるものとがある。ここでは、ファイル数により配分するものとして説明する。
不揮発性ストレージ48〜51には、各々処理対象のファイルが各々以下の数だけ記憶されているものとする。不揮発性ストレージ48には、20個、不揮発性ストレージ49には、30個、不揮発性ストレージ50には、40個、不揮発性ストレージ51には、50個、である。
この場合、不揮発性ストレージ48〜51に記憶されているファイルの総数を、ステップS2で算出したグループ数で除算すると、”70”となる。そこで、各グループに対して70個ずつファイルを割り当てる。具体的には、不揮発性ストレージ48,49の全てのファイルをグループ1に、不揮発性ストレージ50のファイルのうち20個を”Group1”のグループに、残りの20個を”Group2”のグループに、不揮発性ストレージ51の全てのファイルを”Group2”のグループに割り当てる。
以上のようにして、複数の不揮発性ストレージ48〜51に記憶されているファイルを各グループに割り当てる。
以降は、上述の第1実施例と同様にして、PU41は、ステップS3〜S12の処理を行う。また、SPU42,43も上述の第1実施例と同様にして、図6のステップS20〜S26の処理を行う。
尚、PU41がステップS11の処理を行う際、暗号化ファイルを不揮発性ストレージ48〜51の何れに書き込むかによって並列処理の効率は変化する。最も効率的に書き込みを行うためには、暗号化ファイルを順次不揮発性ストレージ48〜51に割り当てていくことが望ましい。すなわち、1個又は複数個ずつの暗号化ファイルを、不揮発性ストレージ48から順に不揮発性ストレージ49,50,51,48,49・・・と再帰的に割り当てる。つまり、暗号化ファイルが暗号化処理前に記憶されていた不揮発性ストレージとは無関係に、暗号化ファイルを不揮発性ストレージに書き込む。これにより、暗号化ファイルを、各不揮発性ストレージに均等に且つ効率的に書き込むことができる。
本実施例においては、ステップS8における読み出し命令を出す時間又はステップS11における書き込み命令を出す時間が、不揮発性ストレージ48〜51から又は不揮発性ストレージ48〜51へのファイル転送に掛かる時間に比べてほとんど無視できるとすると、4つの不揮発性ストレージ48〜51がほぼ同時にファイル転送を始めることになる。また各不揮発性ストレージ48〜51へのアクセスを中継する入出力インタフェース45からRAM46へのアクセスが、ほぼ平均的に起こるとすると、”Group1”のグループに関しては、当該グループに割り当てられた70個全てのファイルを、当該グループに対応する読み込みバッファへ転送するのに掛かる時間は、最も多くのファイルを転送する不揮発性ストレージ49に記憶されている30個のファイルを転送するのに掛かる時間に略等しい。また、”Group2”のグループに関しては、全ての処理対象ファイルを対応する読み込みバッファへの転送を完了するのに掛かる時間は、最も多くのファイルを転送する不揮発性ストレージ51に記憶されている50個のファイルを転送するのに掛かる時間に略等しい。即ち、グループに割り当てられた複数のファイルが、複数の不揮発性ストレージに分散して記憶されている場合には、各不揮発性ストレージにおけるファイルの転送を非同期に行うことができ、各不揮発性ストレージにおけるファイルの転送を並行して行うことができる。このため、グループに割り当てられた全てのファイルを転送するのに掛かる時間を大幅に短縮することができる。
以上のようにして、本実施例においては、ファイル転送に掛かる時間を大幅に短縮することができることにより、全体の処理時間を短縮することができ、処理効率を大幅に向上させることができる。更に、実行可能な全ての処理を並列に実行することによって効率を向上させることができる。
[実施例3]
上述の各実施例においては、1つのワンチップマルチプロセッサを取り扱った。本実施例においては、複数のワンチップマルチプロセッサが協働して処理を行う実施形態について説明する。以下、上記第1実施例と共通する部分については、その説明を省略したり、同一の符号を使用して説明したりする。
(1)構成
本実施例における情報処理システムSの電気的な内部構成について、図9を用いて説明する。本実施例に係る情報処理システムSにおいては、情報処理装置1B〜1EがスイッチングネットワークNを介して各々接続されている。スイッチングネットワークNは、インターネットやLAN(Local Area Network)などの、複数の情報処理装置を互いに接続させるネットワークである。情報処理装置1Bは、ワンチップマルチプロセッサ60と、RAM61と、これらとブリッジ62を介して接続される不揮発性ストレージ63と、ストレージコントローラ64とを有する。ワンチップマルチプロセッサ60は、メインプロセッサとして1つのPU60aと、サブプロセッサとして6つのSPU60b〜60gとを有する。
情報処理装置1Cは、ワンチップマルチプロセッサ70と、RAM71と、これらとブリッジ72を介して接続される不揮発性ストレージ73と、ストレージコントローラ74とを有する。ワンチップマルチプロセッサ70は、メインプロセッサとして1つのPU70aと、サブプロセッサとして2つのSPU70b〜70cとを有する。
情報処理装置1Dは、ワンチップマルチプロセッサ80と、RAM81と、これらとブリッジ82を介して接続される不揮発性ストレージ83と、ストレージコントローラ84とを有する。ワンチップマルチプロセッサ80は、メインプロセッサとして1つのPU80aと、サブプロセッサとして2つのSPU80b〜80cとを有する。
情報処理装置1Eは、ワンチップマルチプロセッサ90と、RAM91と、これらとブリッジ92を介して接続される3つの不揮発性ストレージ93,94,95と、ストレージコントローラ96とを有する。ワンチップマルチプロセッサ90は、メインプロセッサとして1つのPU90aと、サブプロセッサとして2つのSPU90b〜90cとを有する。
各不揮発性ストレージ63,73,83,93〜95には、オペレーティングシステムなどの各種制御プログラムや各種アプリケーションプログラムなどの各種プログラムや、暗号化処理の対象となるファイルが記憶されている。本実施例におけるオペレーティングシステムなどの各種制御プログラムを各PU60a,70a,80a,90aが実行することにより、スイッチングネットワークNを介して他の情報処理装置に接続するための手続きや、スイッチングネットワークNに接続されている他の情報処理装置を判別すると共に、他の情報処理装置の構成を判別する機能が実現される。具体的には、各情報処理装置の有するPU,SPU及びその数,不揮発性ストレージ及びその数を判別し、例えば図10に示されるようなネットワーク管理テーブルNTTBLを生成する。図10においては説明の便宜上各IDは各装置に付与された符号と同一のものを用いる。ネットワーク管理テーブルNTTBLには、情報処理装置1B〜1E毎に、端末ID、メインプロセッサのプロセッサID、サブプロセッサのプロセッサID、メモリIDとが各々記憶される。端末IDは、各情報処理装置1B〜1Eを一意に識別するための情報である。メインプロセッサIDは各メインプロセッサ60a,70a,80a,90aを一意に識別するための情報である。プロセッサIDは各サブプロセッサ60b〜60g,70b〜70c,80b〜80c,90b〜90cを一意に識別するための情報である。メモリIDは各不揮発性ストレージ63,73,83,93〜95を一意に識別するための情報である。このようなネットワーク管理テーブルNTTBLは、各情報処理装置1B〜1EのRAM61,71,81,91に各々記憶される。
また、各不揮発性ストレージ63,73,83,93〜95と、これらの記憶されたファイルとの対応関係は、上述の第2実施例におけるファイル前管理テーブル460と同様にして、各々メモリIDと各々ファイルIDとの対応関係が各RAM61,71,81,91に記憶されている。
その他の情報処理装置1B〜1Eの構成については上述の実施例1における情報処理装置1と略同様であるため、その説明及び図示を省略する。
(2)動作
次に、本実施例における動作について図3を参照しながら説明する。本実施例においては、6つの不揮発性ストレージ63,73,83,93〜95に記憶されている複数のファイルを、上述の各実施例と同様にして、暗号化する処理について説明する。ここでは、PU60aがアプリケーションプログラムを実行している際に、上述の第1実施例と同様にして、暗号化プログラムを不揮発性ストレージ63から読み出しこれをRAM61にロードする。そして、PU41は、ステップS1〜S2の処理を行い、上述の算出式(1)により、グループ数を算出する。
ステップS1では、PU60aは、上述の第1実施例と同様にして、処理対象のファイルを特定しその総数を計数すると共に、ネットワーク管理テーブルNTTBLを参照して、処理を行うことが可能なサブプロセッサの総数を計数する。ここでは、処理を行うことが可能なサブプロセッサは、SPU60b〜60g,70b〜70c,80b〜80c,90b〜90cであるから、その総数は”12”である。
次いで、ステップS2では、PU60aは、上述の第1実施例と同様にして、算出式(1)を用いてグループ数を算出する。ここでは、処理の並列度は、”1”とする。従って、ここでは、並列処理の対象となるグループ数は、”12”となる。このため、ここでは、ステップS3の判定結果が肯定的となり、ステップS4に進む。
次いで、ステップS4において、PU60aは、6つの不揮発性ストレージに記憶されている処理対象のファイルを12個のグループに分ける。本実施例においても、各グループへのファイルの配分は、ファイル数により行うものとする。また、ここでは、各不揮発性ストレージ63,73,83,93〜95に記憶されている処理対象のファイルの数は、同じであるとする。例えば、50個とする。すると、6個の各不揮発性ストレージ63,73,83,93〜95に50個ずつ記憶されたファイルを12個のグループに分けることになる。このため、各不揮発性ストレージ63,73,83,93〜95に記憶されたファイルを25個ずつ2つのグループに分けることになる。そして、PU60aは、例えば、不揮発性ストレージ63に記憶された25個のファイルに対し、グループID”Group1”を割り当て、残りの25個のファイルに対し、グループID”Group2”を割り当てる。不揮発性ストレージ73に記憶されたファイルに対しても同様にして、25個のファイル毎に、グループID”Group3”,”Group4”を各々割り当てる。同様にして、不揮発性ストレージ83,93〜95に記憶されたファイルに対しても同様にして、25個のファイル毎に、グループID”Group5”〜”Group12”を各々割り当てる。
次いで、ステップS5で、PU8は、各グループID”Group1”〜”Group12”を、SPU60a〜60g,70b〜70c,80b〜80c,90b〜90cに各々対応させる。
つまり、ワンチップマルチプロセッサ60のSPU60bに対し、不揮発性ストレージ63に記憶されグループID”Group1”のファイルを割り当て、SPU60cに対し、不揮発性ストレージ63に記憶されグループID”Group2”のファイルを割り当てる。SPU60d,60eに対しては、不揮発性ストレージ94に記憶されグループID”Group9”,”Group10”の各ファイルを各々割り当てる。SPU60f,60gに対しては、不揮発性ストレージ95に記憶されグループID”Group11”,”Group12”の各ファイルを各々割り当てる。ワンチップマルチプロセッサ70のSPU70b,70cに対しては、不揮発性ストレージ73に記憶されグループI”Group3”,”Group4”の各ファイルを各々割り当てる。ワンチップマルチプロセッサ80のSPU80b,80cに対しては、不揮発性ストレージ83に記憶されグループID”Group5”,”Group6”の各ファイルを各々割り当てる。ワンチップマルチプロセッサ90のSPU90b,90cに対しては、不揮発性ストレージ93に記憶されグループID”Group7”,”Group8”の各ファイルを各々割り当てる。これらの対応関係は例えば図11のように示される。
PU60aは、このようなグループ分けを行い、上述の各実施例と同様に、プロセッサ管理テーブル(図示せず)に情報を書き込む。
次いで、ステップS6では、情報処理装置1BのPU60aは、自装置のSPU60b〜60gに対して割り当てられたグループ毎の読み出し用バッファ及び書き込み用バッファをRAM61上に各々割り当てる。また、PU60aは、他の情報処理装置1C〜1Eの各PU70a,80a,90aに対し、各々自装置の有するRAM71,81,91に、各々自装置の有するSPUに対応する読み出し用バッファ及び書き込み用バッファを割り当てるよう命令を出す。各PU70a,80a,90aは、当該命令に従い、各々自装置の有するRAM71,81,91に、各々自装置の有するSPUに対応する読み出し用バッファ及び書き込み用バッファを割り当てる。また、PU60aは、上述の第1実施例と同様に、割り当てた各バッファのメモリロケーションをバッファ管理エリアに書き込む。更に、PU60aは、RAM61にファイル情報エリアを設け、ファイル情報エリアに、上述と同様に情報を書き込む。
次いで、ステップS7では、PU60aは、暗号処理プログラムの処理スレッドをグループ数と同じ数だけ生成し、それぞれの処理スレッドに対しグループIDを割り当て、各処理スレッドをSPU60b〜60g,70b〜70c,80b〜80c,90b〜90cに各々対応させる。そして、PU60aは、SPU60b〜60gに対応する処理スレッドについては、各SPU60b〜60gに対し、各々対応する処理スレッドを実行するよう命令を出し、各々同期待ち合わせ状態にさせる。また、PU60aは、他の情報処理装置1C〜1EのSPU70b〜70c,80b〜80c,90b〜90cに対応する処理スレッドについては、他の情報処理装置1C〜1Eの各PU70a,80a,90aに対し、各自装置のSPUに各々対応する処理スレッドを実行させるよう命令を出し、各処理スレッドを各々同期待ち合わせ状態にさせるよう命令を出す。この結果、各処理スレッドが、各々対応するSPUの有するローカルストレージ(図示せず)にロードされて各SPUにより実行され、同期待ち合わせ状態となる。
次いで、ステップS8では、PU60aは、ストレージコントローラ64に対し、RAM61に割り当てた上述の読み出し用バッファに、不揮発性ストレージ63に記憶されている処理対象の全てのファイルを読み出すよう命令を出す。また、PU60aは、他の情報処理装置1C〜1Eの各PU70a,80a,90aに対し、各々自装置の有する不揮発性ストレージ73,83,93〜95に記憶されている処理対象の全てのファイルを、RAM61,71,81,91に各々割り当てた上述の読み出し用バッファに読み出すよう命令を出す。他の情報処理装置1C〜1Eの各PU70a,80a,90aは、当該読み出し命令に従い、各々自装置の有するストレージコントローラ74,84,96に対し、各々自装置の有する不揮発性ストレージ73,83,93〜95に記憶されている処理対象の全てのファイルを読み出すよう命令を出す。以上のようにして、PU60aは、他の情報処理装置1C〜1Eに接続されている不揮発性ストレージ73,83,93〜95に記憶されている処理対象ファイルの読み出しを、各情報処理装置1C〜1Eの各PU70a,80a,90aを介して、各不揮発性ストレージ73,83,93〜95に対応するストレージコントローラ74,84,96に対して指示する。一方、各ストレージコントローラ64,74,84,96は、上述の各読み出し命令に従って、各不揮発性ストレージ63,73,83,93〜95に記憶されている処理対象の全てのファイルを各々対応する読み出しバッファに読み出す。
また、PU60aは、上記読み出し命令と同時に、SPU60b〜60gに対して割り当てた各処理スレッドの同期待ち合わせ状態を解除し、各SPUに処理スレッドの実行を開始させる。また、同時に、PU60aは、他の情報処理装置1C〜1Eの有する各SPUに対して割り当てた各処理スレッドについて、他の情報処理装置1C〜1Eの各PU70a,80a,90aを介して、各処理スレッドの同期待ち合わせ状態を解除し、各SPUに処理スレッドの実行を開始させる。以降、上述の第1実施例と同様にステップS9〜S11と同様の処理が行われる。尚、ステップS11において、書き込み用バッファに書き込まれた暗号化ファイルを不揮発性ストレージ63,73,83,93〜95へ書き込ませる際、PU60aは、不揮発性ストレージ63への書き込みについては、ストレージコントローラ64に対して書き込み命令を出し、各不揮発性ストレージ73,83,93〜95への書き込みについては、各々対応するPU70a,80a,90aを介して、各々対応するストレージコントローラ74,84,96に書き込み命令を出す。尚、暗号化ファイルを書き込む不揮発性ストレージの割り当てについては、上述の第2実施例と同様に、暗号化ファイルを順次不揮発性ストレージ73,83,93〜95に割り当るようしても良い。
以上のような構成によって、異なる情報処理装置に各々接続された不揮発性ストレージに記憶されたファイルについても、複数の各情報処理装置のワンチップマルチプロセッサの各サブプロセッサに割り当て、並列処理させることができる。即ち、複数の各情報処理装置のワンチップマルチプロセッサに処理を分散させて、各ワンチップマルチプロセッサのサブプロセッサを並列処理させることが可能となる。この結果、処理時間の大幅な短縮、及び処理効率の大幅な向上が図ることが可能となる。
尚、上述の情報システムSを例えば以下のような環境下で構成することが望ましい。スイッチングネットワークNを介したファイルの転送速度が十分速く、1つの情報処理装置内において不揮発性ストレージとRAMとの間でブリッジを介してファイル転送するのに掛かる時間と、各々別の情報処理装置に接続された不揮発性ストレージとRAMとの間でスイッチングネットワークNを介してファイルを転送するのに掛かる時間とが略同じであるという環境である。このような環境下では、ある情報処理装置のワンチッププロセッサが、他の情報処理装置に接続された不揮発性ストレージに記憶されたファイルに対する処理を行うことに、時間的なロスが殆ど生じないからである。
[変形例]
<変形例1>
上述の第1実施例においては、不揮発性ストレージであるHD33は情報処理装置1の外部に設けるように構成した。また、上述の第2,第3実施例においては、各不揮発性ストレージ48〜51,63,73,83,93〜95は、各情報処理装置の内部であり、各ワンチップマルチプロセッサの外部に設けるように構成した。本発明においては、各不揮発性ストレージは、情報処理装置1の外部又は内部のいずれに設けても良いし、ワンチップマルチプロセッサの外部又は内部のいずれに設けるように構成しても良い。また、不揮発性ストレージとして用いるものは、ハードディスク、フラッシュメモリ、DVDなどの各種記憶装置、記憶媒体であって良い。
また、上述の上述の第1実施例においては、HD33は、USB22を介して情報処理装置1と接続される構成としたが、本発明においてはこれに限らない。
また、上述の第1実施例においては、処理対象ファイルが記憶される不揮発性ストレージとしてHD33を用い、ストレージコントローラとしてコントローラ23を用いた。しかし、本発明においてはこれに限らず、DVDやフラッシュメモリ等の各種記憶装置、各種記憶媒体を、処理対象ファイルが記憶される不揮発性ストレージとして用いても良い。例えば、図1におけるDVD32に上記処理対象のファイルが記憶されている場合は、DVDドライバ21が上述のストレージコントローラとして機能する。即ち、PU8が、ステップS8において、DVDドライバ21に対し、DVD32に記憶されている処理対象のファイルの読み出し命令を出し、ステップS11において、DVDドライバ21に対し、DVD32への処理後ファイルの書き込み命令を出し、DVDドライバ21がこれらの命令に従って、DVD32に対するファイルの読み出し及び書き込みを行う。また、図1におけるフラッシュメモリ20に上記処理対象のファイルが記憶されている場合は、フラッシュメモリコントローラ31が上述のストレージコントローラとして機能する。即ち、PU8が、ステップS8において、フラッシュメモリコントローラ31に対し、フラッシュメモリ20に記憶されている処理対象のファイルの読み出し命令を出し、ステップS11において、フラッシュメモリコントローラ31に対し、HD33への処理後ファイルの書き込み命令を出し、フラッシュメモリコントローラ31がこれらの命令に従って、フラッシュメモリ20に対するファイルの読み出し及び書き込みを行う。
また、上述の各実施例に係る情報処理装置とは異なる他の情報処理装置に不揮発性ストレージを設け、当該他の情報処理装置と上述の各実施例に係る情報処理装置とをネットワークを介して接続し、上述の各実施例に係る情報処理装置の有するワンチップマルチプロセッサが、当該ネットワーク及び当該他の情報処理装置を介して当該不揮発性ストレージにアクセスする構成であっても良い。
また、上述の第2,3実施例においては、ストレージコントローラ53及びストレージコントローラ64,74,84,96が、複数の不揮発性ストレージに対してデータの読み出し及びデータの書き込みを各々制御するよう構成した。しかし、本発明においてはこれに限らず、不揮発性ストレージ1つに対し1つの不揮発性ストレージコントローラを設けるように構成しても良い。この場合、メインプロセッサは、ステップS8において、各不揮発性ストレージに記憶されている処理対象ファイルの読み出し命令を、各不揮発性ストレージに対応する各ストレージコントローラに対して各々出し、ステップS11において、各不揮発性ストレージへの処理後ファイルの書き込み命令を、各不揮発性ストレージに対応する各ストレージコントローラに対して各々出し、各ストレージコントローラがこれらの命令に従って、各々対応する不揮発性ストレージに対するファイルの読み出し及び書き込みを行う。
また、上述の各実施例においては、不揮発性ストレージとストレージコントローラとを別体で設けるように構成したが、これらを一体的に設けるように構成しても良い。
また、上述の各実施例においては、マルチプロセッサとして、ワンチップ内にコアを複数有し、メインプロセッサとサブプロセッサとの構成が異なる非対称型のマルチコアプロセッサを用いた。しかし、本発明においてはこれに限らず、シングルプロセッサを複数有する構成のマルチプロセッサや、シングルコアのマルチプロセッサを用いても良く、例えば、図12(a),(b)に示されるように、同一構成のプロセッサを複数有する対称型のマルチプロセッサを用いても良い。図12(a)に示されるマルチプロセッサ500は、プロセッサ501を2つ備え、これらとバスを介して接続されるメモリコントローラ505′を備える。各プロセッサ501は、CPU502をコアとして備え、L1キャッシュ503,L2キャッシュ504′をキャッシュメモリとして備える。図12(b)に示されるマルチプロセッサ500′は、プロセッサ501′を2つ備え、これらとバスを介して接続されるメモリコントローラ505を備え、各プロセッサ501′が共用するL2キャッシュ504′をキャッシュメモリとして備える。各プロセッサ501′は、CPU502をコアとして備え、L1キャッシュ503をキャッシュメモリとして備える。このような構成を有するマルチプロセッサ500,500′においては、キャッシュメモリ502,503,504,504′のうち少なくとも1つをローカルメモリとして機能させるようにしても構成しても良いし、各プロセッサ501,501′が用いるローカルメモリを別途備えるように構成しても良い。このような同一構成のプロセッサを複数有する対称型のマルチプロセッサを用いた場合、複数のプロセッサのうちいずれか1つを、例えば、上述の第1実施例におけるPU8(メインプロセッサ)として機能させ、他のプロセッサをSPU3(サブプロセッサ)として機能させるようにしても良い。また、複数のプロセッサのうちいずれか1つをメインプロセッサとして機能させる場合であっても、当該1つのプロセッサを、上述の第1実施例におけるステップS4でグループ分けしたグループをステップS5で割り当てる対象のプロセッサとしても良い。
<変形例2>
上述の各実施例においては、複数のファイルに対して暗号化処理を行う構成とした。しかし、本発明においてはこれに限らず、複数のファイルに対して一括して行う処理であれば、例えば、暗号化を解除する復号化処理、コーデック変換処理、画像処理、ウイルススキャン、ファイルの圧縮又は展開処理などの様々な処理であっても良い。
<変形例3>
上述の実施例においては、オペレーティングシステムは、メインプロセッサが実行する構成とした。しかし、本発明においてはこれに限らず、サブプロセッサが、オペレーティングシステムの一部をなすようなプログラム(例えば、デバイスドライバやシステムプログラムの一部)を実行するように構成しても良い。また、オペレーティングシステムとして、サブプロセッサ全体を制御する専用のオペレーティングシステムを備えるように構成しても良い。
<変形例4>
上述の各実施例においては、各SPUに対応するグループに割り当てられたファイルをRAM上の読み出し用バッファに読み出してこれを処理するように構成した。しかし、本発明においてはこれに限らず、各SPUの有するローカルストレージに、当該SPUに割り当てられた処理対象のファイルを記憶させ、これを暗号化処理後にRAM上の書き込み用バッファに書き込むように構成しても良い。
<変形例5>
上述の各実施例においては、各グループへのファイルの配分は、ファイル数又はファイルサイズにより行う構成とした。しかし、本発明においてはこれに限らず、例えば、ファイルの種類や、ファイルの更新日時、ファイルの使用頻度などのファイルの属性情報を用いて行うようにしても良い。
<変形例6>
上述の第3実施例においては、上述の図3に示される各処理をPU60aが行うようにしたが、他のPUが行うようにしても良い。また、上述のステップS14,15では、各SPUと同一情報処理装置内にある各RAMに各グループに対応する読み出し用バッファ及び書き込み用バッファを設けるようにした。しかし、本発明においてはこれに限らず、他の情報処理装置のRAMに他の情報処理装置のSPUに対応する各バッファを設けるようにしても良いし、いずれかのRAM上に各グループに対応する全ての各バッファを設けるように構成しても良い。
また、各ワンチップマルチプロセッサ60,70,80,90は、各々異なる情報処理装置1B〜1Eに備わるように構成したが、1つの情報処理装置内に備わるように構成しても良い。
上述の各実施の形態の説明は本発明の一例である。このため、本発明は上述の各実施の形態に限定されることはなく、本発明に係る技術的思想を逸脱しない範囲であれば、上述の実施の形態以外であっても種々の変更が可能であることは勿論である。
本発明は、マルチプロセッサを用いて、不揮発性ストレージに記憶されている複数のファイルを処理する情報処理技術に用いて好適である。
本発明の一実施例に係る情報処理装置の内部構成を例示するブロック図である。 同実施例に係るプロセッサ管理テーブルを例示する図である。 同実施例に係るメインプロセッサの動作の流れを例示するフローチャートである。 同実施例に係るファイル情報エリアに記憶される情報を例示する図である。 同実施例に係るバッファ管理エリアに記憶される情報を例示する図である。 同実施例に係るサブプロセッサの動作の流れを例示するフローチャートである。 本発明の他の実施例に係る情報処理装置の内部構成を例示するブロック図である。 同実施例に係るファイル前管理テーブルを例示する図である。 本発明の他の実施例に係る情報処理装置の内部構成を例示するブロック図である。 同実施例に係るネットワーク管理テーブルを例示する図である。 同実施例に係るグループ分けしたファイルのファイルIDと、当該ファイルの記憶されている不揮発性ストレージのメモリIDと、サブプロセッサのプロセッサIDと、グループIDとの対応関係を例示する図である。 本発明の他の実施例に係るマルチプロセッサの内部構成を例示するブロック図である。
符号の説明
1,1A,1B,1C,1D,1E・・・情報処理装置、2・・・ワンチップマルチロプロセッサ、3,3a,3b,3c,3d,3e,3f,3g,3h,42,43,60b,60c,60d,60e,60f,60g,70b,70c,80b,80c,90b,90c・・・サブプロセッサ、4,4a,4b,4c,4d,4e,4f,4g,4h,9・・・プロセッサコア、5,5a,5b,5c,5d,5e,5f,5g,5h・・・ローカルストレージ、6,6a,6b,6c,6d,6e,6f,6g,6h,12・・・メモリフローコントローラ、7,7a,7b,7c,7d,7e,7f,7g,7h,13・・・ダイレクト・メモリ・アクセス・コントローラ、8,41,60a,70a,80a,90a・・・メインプロセッサ、10・・・L1キャッシュ、11・・・L2キャッシュ、15・・・メモリコントローラ、16,46,61,71,81,91・・・RAM、17・・・入出力インタフェース、18・・・サウスブリッジ、20・・・フラッシュメモリ、31・・・フラッシュメモリコントローラ,64,74,84,96・・・ストレージコントローラ、32・・・DVD、33・・・HD、48,49,50,51,63,73,83,93,94,95・・・不揮発性ストレージ、47,62,72,82,92・・・ブリッジ、160・・・プロセッサ管理テーブル、460・・・ファイル前管理テーブル、N・・・スイッチングネットワーク、S・・・情報処理システム、NTTBL・・・ネットワーク管理テーブル

Claims (22)

  1. メインメモリと複数のプロセッサとを備えるマルチプロセッサが、当該マルチプロセッサに接続される不揮発性ストレージに記憶された複数の処理対象ファイルに対して所定の処理を行う情報処理方法であって、
    前記プロセッサのうち1つのプロセッサが、前記複数の処理対象ファイルを複数のファイル群に分ける組分ステップと、
    前記1つのプロセッサが、前記組分ステップで分けた各ファイル群を、前記複数のプロセッサのうち少なくとも1つ以上の対象プロセッサに割り当てる割当ステップと、
    前記1つのプロセッサが、前記組分ステップで分けた各ファイル群に各々対応する読み出し用バッファを前記メインメモリに設定する設定ステップと、
    前記1つのプロセッサが、前記割当ステップで前記ファイル群を割り当てた対象プロセッサに対し、前記所定の処理を行うための処理プログラムの起動を指示する起動指示ステップと、
    前記1つのプロセッサが、前記不揮発性ストレージに対するデータの読み出し及び書き込みを制御するストレージコントローラに対し、前記不揮発性ストレージに記憶された前記処理対象ファイルを、前記設定ステップで当該処理対象ファイルが属するファイル群に対応付けられて前記メインメモリに設定された読み出し用バッファに各々読み出すことを指示する読出指示ステップと
    前記ストレージコントローラが、前記読出指示ステップで指示された前記処理対象ファイルを、前記設定ステップで当該処理対象ファイルが属するファイル群に対応付けられて前記メインメモリに設定された読み出し用バッファに各々読み出す読出ステップと、
    前記1つのプロセッサが、前記組分ステップで分けた各ファイル群に各々対応する書き込み用バッファを前記メインメモリに設定する第2設定ステップと、
    前記対象プロセッサが、前記起動指示ステップで指示された前記処理プログラムを当該対象プロセッサの有するローカルメモリに記憶させこれを起動し、当該対象プロセッサに割り当てられたファイル群に対応する前記読み出し用バッファに読み出された処理対象ファイルに対し、前記所定の処理を行い、当該処理後の処理後ファイルを、当該対象プロセッサに割り当てられたファイル群に対応する前記書き込み用バッファに書き込む実行ステップと、を具備し、
    前記組分ステップでは、前記各対象プロセッサが前記実行ステップで前記ファイルに対して所定の処理を行う処理量が各々略同量となるように、前記各ファイルを前記各ファイル群に分ける
    ことを特徴とする情報処理方法。
  2. 前記1つのプロセッサが、前記ストレージコントローラに対し、前記実行ステップで前記書き込み用バッファに書き込まれた前記処理後ファイルを前記不揮発性ストレージに書き込むことを指示する書込指示ステップと、
    前記ストレージコントローラが、前記書込指示ステップで指示された前記処理後ファイルを前記不揮発性ストレージに書き込む書込ステップとを具備する
    ことを特徴とする請求項1に記載の情報処理方法。
  3. 前記対象プロセッサは、前記メインメモリに対するデータの読み出し及び書き込みを制御するダイレクト・メモリ・アクセス・コントローラを有し、
    前記実行ステップでは、前記ダイレクト・メモリ・アクセス・コントローラを介して、当該対象プロセッサに割り当てられたファイル群に対応する前記処理対象ファイルを前記読み出し用バッファから読み出し、前記ダイレクト・メモリ・アクセス・コントローラを介して、当該対象プロセッサに割り当てられたファイル群に対応する前記処理後ファイルを前記書き込み用バッファに書き込む
    ことを特徴とする請求項に記載の情報処理方法。
  4. 前記組分ステップでは、前記複数の処理対象ファイルを、前記プロセッサの数を上限とした数のファイル群に分ける
    ことを特徴とする請求項に記載の情報処理方法。
  5. 前記組分ステップでは、前記プロセッサの数と、前記所定の処理を行うために並行して実行されうる処理プログラムの数とに基づいて前記ファイル群の数を決定し、決定した数のファイル群に前記処理対象の複数のファイルを分け、
    前記割当ステップでは、前記複数のプロセッサのうち、前記組分ステップで分けた各ファイル群の数と同数のプロセッサを前記対象プロセッサとして選択し、選択した各対象プロセッサに当該各ファイル群を割り当てる
    ことを特徴とする請求項に記載の情報処理方法。
  6. 前記組分ステップでは、前記各ファイル群に属する前記ファイルの総数が、各々略同数となるように前記各ファイルを前記各ファイル群に分ける
    ことを特徴とする請求項に記載の情報処理方法。
  7. 前記組分ステップでは、前記各ファイル群に属する全ての前記ファイルの総量が、各々略同量となるように前記各ファイルを前記各ファイル群に分ける
    ことを特徴とする請求項に記載の情報処理方法。
  8. 前記1つのプロセッサは、メインプロセッサであり、
    前記対象プロセッサは、サブプロセッサである
    ことを特徴とする請求項に記載の情報処理方法。
  9. 前記マルチプロセッサに前記不揮発性ストレージが複数接続されており、
    書込ステップでは、前記書込指示ステップで指示された各ファイルにつき、前記書き込み用バッファに書き込まれた順に、前記複数の不揮発性ストレージのうち1つの不揮発性ストレージを選択してこれに書き込み、前記1つの不揮発性ストレージを選択する際、当該ファイルが書き込まれる直前に前記書き込み用バッファに書き込まれたファイルが書き込まれる不揮発性ストレージとは異なる不揮発性ストレージを選択する
    ことを特徴とする請求項に記載の情報処理方法。
  10. 前記不揮発性ストレージ及び前記ストレージコントローラは、ネットワークを介して前記マルチプロセッサに接続される情報処理装置に接続されており、
    前記読出指示ステップでは、前記情報処理装置を介して、前記ストレージコントローラに対し、前記読出指示ステップで指示された前記処理対象ファイルを、前記設定ステップで当該処理対象ファイルが属するファイル群に対応付けられ前記メインメモリに設定された前記読み出し用バッファに各々読み出すことを指示する
    ことを特徴とする請求項1に記載の情報処理方法。
  11. メインプロセッサと、ローカルメモリを有する複数のサブプロセッサとを備えるマルチプロセッサが、当該マルチプロセッサに接続される不揮発性ストレージに記憶された複数の処理対象ファイルに対して所定の処理を行う情報処理方法であって、
    前記メインプロセッサが、前記複数の処理対象ファイルを、複数のファイル群に分ける組分ステップと、
    前記メインプロセッサが、前記組分ステップで分けた各ファイル群を、前記各サブプロセッサに割り当てる割当ステップと、
    前記メインプロセッサが、前記組分ステップで分けた各ファイル群に各々対応する読み出し用バッファを、各ファイル群が割り当てられた前記各サブプロセッサの有する前記ローカルメモリに設定する設定ステップと、
    前記メインプロセッサが、前記割当ステップで前記ファイル群を割り当てたサブプロセッサに対し、前記所定の処理を行うための処理プログラムの起動を指示する起動指示ステップと、
    前記メインプロセッサが、前記不揮発性ストレージに対するデータの読み出し及び書き込みを制御するストレージコントローラに対し、前記不揮発性ストレージに記憶された前記処理対象ファイルを、前記設定ステップで当該処理対象ファイルが属するファイル群に対応付けられて前記ローカルメモリに設定された読み出し用バッファに各々読み出すことを指示する読出指示ステップと、
    前記ストレージコントローラが、前記読出指示ステップで指示された前記処理対象ファイルを、前記設定ステップで当該処理対象ファイルが属するファイル群に対応付けられて前記ローカルメモリに設定された読み出し用バッファに各々読み出す読出ステップと、
    前記メインプロセッサが、前記組分ステップで分けた各ファイル群に各々対応する書き込み用バッファを前記ローカルメモリに設定する第2設定ステップと、
    前記対象プロセッサが、前記起動指示ステップで指示された前記処理プログラムを当該対象プロセッサの有する前記ローカルメモリに記憶させこれを起動し、当該対象プロセッサに割り当てられたファイル群に対応する前記読み出し用バッファに読み出された処理対象ファイルに対し、前記所定の処理を行い、当該処理後の処理後ファイルを、当該対象プロセッサに割り当てられたファイル群に対応する前記書き込み用バッファに書き込む実行ステップと、を具備し、
    前記組分ステップでは、前記各対象プロセッサが前記実行ステップで前記ファイルに対して所定の処理を行う処理量が各々略同量となるように、前記各ファイルを前記各ファイル群に分ける
    ことを特徴とする情報処理方法。
  12. 第1メインメモリと複数の第1プロセッサとを備える第1マルチプロセッサと、第2メインメモリと複数の第2プロセッサとを備える第2マルチプロセッサとがネットワークを介して接続され、当該第1又は第2マルチプロセッサに接続される不揮発性ストレージに記憶された複数の処理対象ファイルに対して所定の処理を行う情報処理方法であって、
    前記複数の第1プロセッサのうち1つの第1プロセッサが、前記処理対象ファイルを複数のファイル群に分ける組分ステップと、
    前記1つの第1プロセッサが、前記組分ステップで分けた各ファイル群を、前記複数の第1プロセッサ及び第2プロセッサのうち少なくとも1つの対象プロセッサに割り当てる割当ステップと、
    前記1つの第1プロセッサが、前記対象プロセッサのうち前記第1プロセッサに割り当てた各ファイル群に各々対応する読み出し用バッファを第1メインメモリに設定すると共に、前記複数の第2プロセッサのうち1つの第2プロセッサに対し、前記対象プロセッサのうち前記第2プロセッサに割り当てた各ファイル群に各々対応する読み出し用バッファを、前記第2メインメモリに設定することを指示する設定ステップと、
    前記1つの第1プロセッサが、前記割当ステップで前記ファイル群を割り当てた対象プロセッサに対し、前記所定の処理を行うための処理プログラムの起動を指示する起動指示ステップと、
    前記1つの第1プロセッサが、前記不揮発性ストレージに対するデータの読み出し及び書き込みを制御するストレージコントローラに対し、前記不揮発性ストレージに記憶された前記処理対象ファイルを、前記設定ステップで当該処理対象ファイルが属するファイル群に対応付けられて前記第1メインメモリ及び前記第2メインメモリのうち少なくとも1つに設定された読み出し用バッファに各々読み出すことを指示する読出指示ステップと、
    前記ストレージコントローラが、前記読出指示ステップで指示された前記処理対象ファイルを、前記設定ステップで当該処理対象ファイルが属するファイル群に対応付けられて前記第1メインメモリ及び前記第2メインメモリのうち少なくとも1つに設定された読み出し用バッファに各々読み出す読出ステップと、
    前記1つの第1プロセッサが、前記対象プロセッサのうち前記第1プロセッサに割り当てた各ファイル群に各々対応する書き込み用バッファを第1メインメモリに設定すると共に、前記複数の第2プロセッサのうち1つの第2プロセッサに対し、前記対象プロセッサのうち前記第2プロセッサに割り当てた各ファイル群に各々対応する書き込み用バッファを、前記第2メインメモリに設定することを指示する第2設定ステップと、
    前記対象プロセッサが、前記起動指示ステップで指示された前記処理プログラムを当該対象プロセッサの有するローカルメモリに記憶させこれを起動し、当該対象プロセッサに割り当てられたファイル群に対応する前記読み出し用バッファに読み出された処理対象ファイルに対し、前記所定の処理を行い、当該処理後の処理後ファイルを、当該対象プロセッサに割り当てられたファイル群に対応する前記書き込み用バッファに書き込む実行ステップと、を具備し、
    前記組分ステップでは、前記各対象プロセッサが前記実行ステップで前記ファイルに対して所定の処理を行う処理量が各々略同量となるように、前記各ファイルを前記各ファイル群に分ける
    ことを特徴とする情報処理方法。
  13. 前記読出指示ステップでは、前記不揮発性ストレージが前記第2マルチプロセッサに接続される場合、前記1つの第2プロセッサを介して、前記ストレージコントローラに対し、前記不揮発性ストレージに記憶された前記処理対象ファイルを、前記設定ステップで当該処理対象ファイルが属するファイル群に対応付けられて前記第1メインメモリ及び前記第2メインメモリのうち少なくとも1つに設定された読み出し用バッファに各々読み出すことを指示する
    ことを特徴とする請求項12に記載の情報処理方法。
  14. メインメモリと複数のプロセッサとを備えるマルチプロセッサが、当該マルチプロセッサに接続される不揮発性ストレージに記憶された複数の処理対象ファイルに対して所定の処理を行う情報処理システムであって、
    前記プロセッサのうち1つのプロセッサは、
    前記複数の処理対象ファイルを複数のファイル群に分ける組分手段と、
    前記組分手段が分けた各ファイル群を、前記複数のプロセッサのうち少なくとも1つ以上の対象プロセッサに割り当てる割当手段と、
    前記組分手段が分けた各ファイル群に各々対応する読み出し用バッファを前記メインメモリに設定する設定手段と、
    前記割当手段が前記ファイル群を割り当てた対象プロセッサに対し、前記所定の処理を行うための処理プログラムの起動を指示する起動指示手段と、
    前記不揮発性ストレージに対するデータの読み出し及び書き込みを制御するストレージコントローラに対し、前記不揮発性ストレージに記憶された前記処理対象ファイルを、前記設定手段で当該処理対象ファイルが属するファイル群に対応付けられて前記メインメモリに設定された読み出し用バッファに各々読み出すことを指示する読出指示手段と、
    前記組分手段が分けた各ファイル群に各々対応する書き込み用バッファを前記メインメモリに設定する第2設定手段とを具備し、
    前記ストレージコントローラは、前記読出指示手段によって指示された前記処理対象ファイルを、前記設定手段によって当該処理対象ファイルが属するファイル群に対応付けられて前記メインメモリに設定された読み出し用バッファに各々読み出し、
    前記対象プロセッサは、前記起動指示手段によって指示された前記処理プログラムを当該対象プロセッサの有するローカルメモリに記憶させこれを起動し、当該対象プロセッサに割り当てられたファイル群に対応する前記読み出し用バッファに読み出された処理対象ファイルに対し、前記所定の処理を行い、当該処理後の処理後ファイルを、当該対象プロセッサに割り当てられたファイル群に対応する前記書き込み用バッファに書き込み、
    前記組分手段は、前記各対象プロセッサが前記ファイルに対して所定の処理を行う処理量が各々略同量となるように、前記各ファイルを前記各ファイル群に分ける
    ことを特徴とする情報処理システム。
  15. 第1メインメモリと複数の第1プロセッサとを備える第1マルチプロセッサと、第2メインメモリと複数の第2プロセッサとを備える第2マルチプロセッサとがネットワークを介して接続され、当該第1又は第2マルチプロセッサに接続される不揮発性ストレージに記憶された複数の処理対象ファイルに対して所定の処理を行う情報処理システムであって、
    前記複数の第1プロセッサのうち1つの第1プロセッサは、
    前記処理対象ファイルを複数のファイル群に分ける組分手段と
    前記組分手段が分けた各ファイル群を、前記複数の第1プロセッサ及び第2プロセッサのうち少なくとも1つの対象プロセッサに割り当てる割当手段と、
    前記対象プロセッサのうち前記第1プロセッサに割り当てた各ファイル群に各々対応する読み出し用バッファを第1メインメモリに設定すると共に、前記複数の第2プロセッサのうち1つの第2プロセッサに対し、前記対象プロセッサのうち前記第2プロセッサに割り当てた各ファイル群に各々対応する読み出し用バッファを、前記第2メインメモリに設定することを指示する設定手段と、
    前記割当手段が前記ファイル群を割り当てた対象プロセッサに対し、前記所定の処理を行うための処理プログラムの起動を指示する起動指示手段と、
    前記不揮発性ストレージに対するデータの読み出し及び書き込みを制御するストレージコントローラに対し、前記不揮発性ストレージに記憶された前記処理対象ファイルを、前記設定手段で当該処理対象ファイルが属するファイル群に対応付けられて前記第1メインメモリ及び前記第2メインメモリのうち少なくとも1つに設定された読み出し用バッファに各々読み出すことを指示する読出指示手段と、
    前記対象プロセッサのうち前記第1プロセッサに割り当てた各ファイル群に各々対応する書き込み用バッファを第1メインメモリに設定すると共に、前記複数の第2プロセッサのうち1つの第2プロセッサに対し、前記対象プロセッサのうち前記第2プロセッサに割り当てた各ファイル群に各々対応する書き込み用バッファを、前記第2メインメモリに設定することを指示する第2設定手段とを具備し、
    前記ストレージコントローラは、前記読出指示手段によって指示された前記処理対象ファイルを、前記設定手段によって当該処理対象ファイルが属するファイル群に対応付けられて前記第1メインメモリ及び前記第2メインメモリの少なくとも1つに設定された読み出し用バッファに各々読み出し、
    前記対象プロセッサは、前記起動指示手段によって指示された前記処理プログラムを当該対象プロセッサの有するローカルメモリに記憶させこれを起動し、当該対象プロセッサに割り当てられたファイル群に対応する前記読み出し用バッファに読み出された処理対象ファイルに対し、前記所定の処理を行い、当該処理後の処理後ファイルを、当該対象プロセッサに割り当てられたファイル群に対応する前記書き込み用バッファに書き込み、
    前記組分手段は、前記各対象プロセッサが前記ファイルに対して所定の処理を行う処理量が各々略同量となるように、前記各ファイルを前記各ファイル群に分ける
    ことを特徴とする情報処理システム。
  16. メインメモリと複数のプロセッサとを備えるマルチプロセッサを具備し、当該マルチプロセッサに接続される不揮発性ストレージに記憶された複数の処理対象ファイルに対して所定の処理を行う情報処理装置であって、
    前記プロセッサのうち1つのプロセッサは、
    前記複数の処理対象ファイルを複数のファイル群に分ける組分手段と、
    前記組分手段が分けた各ファイル群を、前記複数のプロセッサのうち少なくとも1つ以上の対象プロセッサに割り当てる割当手段と、
    前記組分手段が分けた各ファイル群に各々対応する読み出し用バッファを前記メインメモリに設定する設定手段と、
    前記割当手段が前記ファイル群を割り当てた前記対象プロセッサに対し、前記所定の処理を行うための処理プログラムの起動を指示する起動指示手段と、
    前記不揮発性ストレージに対するデータの読み出し及び書き込みを制御するストレージコントローラに対し、前記不揮発性ストレージに記憶された前記処理対象ファイルを、前記設定手段で当該処理対象ファイルが属するファイル群に対応付けられて前記メインメモリに設定された読み出し用バッファに各々読み出すことを指示する読出指示手段と、
    前記組分手段が分けた各ファイル群に各々対応する書き込み用バッファを前記メインメモリに設定する第2設定手段とを具備し、
    前記読出指示手段によって指示された前記処理対象ファイルは、前記設定手段によって当該処理対象ファイルが属するファイル群に対応付けられて前記メインメモリに設定された読み出し用バッファに、前記ストレージコントローラによって各々読み出され、
    前記対象プロセッサは、前記起動指示手段によって指示された前記処理プログラムを当該対象プロセッサの有するローカルメモリに記憶させこれを起動し、当該対象プロセッサに割り当てられたファイル群に対応する前記読み出し用バッファに読み出された処理対象ファイルに対し、前記所定の処理を行い、当該処理後の処理後ファイルを、当該対象プロセッサに割り当てられたファイル群に対応する前記書き込み用バッファに書き込み、
    前記組分手段は、前記各対象プロセッサが前記ファイルに対して所定の処理を行う処理量が各々略同量となるように、前記各ファイルを前記各ファイル群に分ける
    ことを特徴とする情報処理装置。
  17. 第1メインメモリと複数の第1プロセッサとを備える第1マルチプロセッサを具備し、第2メインメモリと複数の第2プロセッサとを備える第2マルチプロセッサを具備する第2情報処理装置とネットワークを介して接続され、第1又は第2マルチプロセッサに接続される不揮発性ストレージに記憶された複数の処理対象ファイルに対して所定の処理を行う情報処理装置であって、
    前記複数の第1プロセッサのうち1つの第1プロセッサは、
    前記処理対象ファイルを複数のファイル群に分ける組分手段と、
    前記組分手段が分けた各ファイル群を、前記複数の第1プロセッサ及び前記複数の第2プロセッサのうち少なくとも1つの対象プロセッサに割り当てる割当手段と、
    前記対象プロセッサのうち前記第1プロセッサに割り当てた各ファイル群に各々対応する読み出し用バッファを第1メインメモリに設定すると共に、前記複数の第2プロセッサのうち1つの第2プロセッサに対し、前記対象プロセッサのうち前記第2プロセッサに割り当てた各ファイル群に各々対応する読み出し用バッファを、前記第2メインメモリに設定することを指示する設定手段と、
    前記割当手段が前記ファイル群を割り当てた対象プロセッサに対し、前記所定の処理を行うための処理プログラムの起動を指示する起動指示手段と、
    前記不揮発性ストレージに対するデータの読み出し及び書き込みを制御するストレージコントローラに対し、前記不揮発性ストレージに記憶された前記処理対象ファイルを、前記設定手段で当該処理対象ファイルが属するファイル群に対応付けられて前記第1メインメモリ及び前記第2メインメモリのうち少なくとも1つに設定された読み出し用バッファに各々読み出すことを指示する読出指示手段と、
    前記対象プロセッサのうち前記第1プロセッサに割り当てた各ファイル群に各々対応する書き込み用バッファを第1メインメモリに設定すると共に、前記複数の第2プロセッサのうち1つの第2プロセッサに対し、前記対象プロセッサのうち前記第2プロセッサに割り当てた各ファイル群に各々対応する書き込み用バッファを、前記第2メインメモリに設定することを指示する第2設定手段とを具備し、
    前記読出指示手段によって指示された前記処理対象ファイルは、前記設定手段によって当該処理対象ファイルが属するファイル群に対応付けられて前記第1メインメモリ及び前記第2メインメモリの少なくとも1つに設定された読み出し用バッファに、前記ストレージコントローラによって各々読み出され、
    前記対象プロセッサは、前記起動指示手段によって指示された前記処理プログラムを当該対象プロセッサの有するローカルメモリに記憶させこれを起動し、当該対象プロセッサに割り当てられたファイル群に対応する前記読み出し用バッファに読み出された処理対象ファイルに対し、前記所定の処理を行い、当該処理後の処理後ファイルを、当該対象プロセッサに割り当てられたファイル群に対応する前記書き込み用バッファに書き込み、
    前記組分手段は、前記各対象プロセッサが前記ファイルに対して所定の処理を行う処理量が各々略同量となるように、前記各ファイルを前記各ファイル群に分ける
    ことを特徴とする情報処理装置。
  18. メインメモリと複数のプロセッサとを備え、当該マルチプロセッサに接続される不揮発性ストレージに記憶された複数の処理対象ファイルに対して所定の処理を行うマルチプロセッサであって、
    前記プロセッサのうち1つのプロセッサは、
    前記複数の処理対象ファイルを複数のファイル群に分ける組分手段と、
    前記組分手段が分けた各ファイル群を、前記複数のプロセッサのうち少なくとも1つ以上の対象プロセッサに割り当てる割当手段と、
    前記組分手段が分けた各ファイル群に各々対応する読み出し用バッファを前記メインメモリに設定する設定手段と、
    前記割当手段が前記ファイル群を割り当てた対象プロセッサに対し、前記所定の処理を行うための処理プログラムの起動を指示する起動指示手段と、
    前記不揮発性ストレージに対するデータの読み出し及び書き込みを制御するストレージコントローラに対し、前記不揮発性ストレージに記憶された前記処理対象ファイルを、前記設定手段で当該処理対象ファイルが属するファイル群に対応付けられて前記メインメモリに設定された読み出し用バッファに各々読み出すことを指示する読出指示手段と、
    前記組分手段が分けた各ファイル群に各々対応する書き込み用バッファを前記メインメモリに設定する第2設定手段とを具備し、
    前記読出指示手段によって指示された前記処理対象ファイルは、前記設定手段によって当該処理対象ファイルが属するファイル群に対応付けられて前記メインメモリに設定された読み出し用バッファに、前記ストレージコントローラによって各々読み出され、
    前記対象プロセッサは、前記起動指示手段によって指示された前記処理プログラムを当該対象プロセッサの有するローカルメモリに記憶させこれを起動し、当該対象プロセッサに割り当てられたファイル群に対応する前記読み出し用バッファに読み出された処理対象ファイルに対し、前記所定の処理を行い、当該処理後の処理後ファイルを、当該対象プロセッサに割り当てられたファイル群に対応する前記書き込み用バッファに書き込み、
    前記組分手段は、前記各対象プロセッサが前記ファイルに対して所定の処理を行う処理量が各々略同量となるように、前記各ファイルを前記各ファイル群に分ける
    ことを特徴とするマルチプロセッサ。
  19. 第1メインメモリと複数の第1プロセッサとを備え、第2メインメモリと複数の第2プロセッサとを備える第2マルチプロセッサとネットワークを介して接続され、当該第1マルチプロセッサ又は第2マルチプロセッサに接続される不揮発性ストレージに記憶された複数の処理対象ファイルに対して所定の処理を行うマルチプロセッサであって、
    前記複数の第1プロセッサのうち1つの第1プロセッサは、
    前記処理対象ファイルを複数のファイル群に分ける組分手段と
    前記組分手段が分けた各ファイル群を、前記複数の第1プロセッサ及び第2プロセッサのうち少なくとも1つの対象プロセッサに割り当てる割当手段と、
    前記対象プロセッサのうち前記第1プロセッサに割り当てた各ファイル群に各々対応する読み出し用バッファを第1メインメモリに設定すると共に、前記複数の第2プロセッサのうち1つの第2プロセッサに対し、前記対象プロセッサのうち前記第2プロセッサに割り当てた各ファイル群に各々対応する読み出し用バッファを、前記第2メインメモリに設定することを指示する設定手段と、
    前記割当手段が前記ファイル群を割り当てた対象プロセッサに対し、前記所定の処理を行うための処理プログラムの起動を指示する起動指示手段と、
    前記不揮発性ストレージに対するデータの読み出し及び書き込みを制御するストレージコントローラに対し、前記不揮発性ストレージに記憶された前記処理対象ファイルを、前記設定手段で当該処理対象ファイルが属するファイル群に対応付けられて前記第1メインメモリ及び前記第2メインメモリのうち少なくとも1つに設定された読み出し用バッファに各々読み出すことを指示する読出指示手段と、
    前記対象プロセッサのうち前記第1プロセッサに割り当てた各ファイル群に各々対応する書き込み用バッファを第1メインメモリに設定すると共に、前記複数の第2プロセッサのうち1つの第2プロセッサに対し、前記対象プロセッサのうち前記第2プロセッサに割り当てた各ファイル群に各々対応する書き込み用バッファを、前記第2メインメモリに設定することを指示する第2設定手段とを具備し、
    前記読出指示手段によって指示された前記処理対象ファイルは、前記設定手段によって当該処理対象ファイルが属するファイル群に対応付けられて前記第1メインメモリ及び前記第2メインメモリの少なくとも1つに設定された読み出し用バッファに、前記ストレージコントローラによって各々読み出され、
    前記対象プロセッサは、前記起動指示手段によって指示された前記処理プログラムを当該対象プロセッサの有するローカルメモリに記憶させこれを起動し、当該対象プロセッサに割り当てられたファイル群に対応する前記読み出し用バッファに読み出された処理対象ファイルに対し、前記所定の処理を行い、当該処理後の処理後ファイルを、当該対象プロセッサに割り当てられたファイル群に対応する前記書き込み用バッファに書き込み、
    前記組分手段は、前記対象プロセッサが前記ファイルに対して所定の処理を行う処理量が各々略同量となるように、前記各ファイルを前記各ファイル群に分ける
    ことを特徴とするマルチプロセッサ。
  20. メインメモリと複数のプロセッサとを備えるマルチプロセッサが、当該マルチプロセッサに接続される不揮発性ストレージに記憶された複数の処理対象ファイルに対して所定の処理を行うように、前記複数のプロセッサのうち1つのプロセッサを、
    前記複数の処理対象ファイルを複数のファイル群に分ける組分手段、
    前記組分手段が分けた各ファイル群を、前記複数のプロセッサのうち少なくとも1つ以上の対象プロセッサに割り当てる割当手段、
    前記組分手段が分けた各ファイル群に各々対応する読み出し用バッファを前記メインメモリに設定する設定手段、
    前記割当手段が前記ファイル群を割り当てた対象プロセッサに対し、前記所定の処理を行うための処理プログラムの起動を指示する起動指示手段、
    前記不揮発性ストレージに対するデータの読み出し及び書き込みを制御するストレージコントローラに対し、前記不揮発性ストレージに記憶された前記処理対象ファイルを、前記設定手段で当該処理対象ファイルが属するファイル群に対応付けられて前記メインメモリに設定された読み出し用バッファに各々読み出すことを指示する読出指示手段、及び
    前記組分手段が分けた各ファイル群に各々対応する書き込み用バッファを前記メインメモリに設定する第2設定手段、
    として機能させる情報処理プログラムであり、
    前記読出指示手段によって指示された前記処理対象ファイルは、前記設定手段によって当該処理対象ファイルが属するファイル群に対応付けられて前記メインメモリに設定された読み出し用バッファに、前記ストレージコントローラによって各々読み出され、
    前記対象プロセッサは、前記起動指示手段によって指示された前記処理プログラムを当該対象プロセッサの有するローカルメモリに記憶させこれを起動し、当該対象プロセッサに割り当てられたファイル群に対応する前記読み出し用バッファに読み出された処理対象ファイルに対し、前記所定の処理を行い、当該処理後の処理後ファイルを、当該対象プロセッサに割り当てられたファイル群に対応する前記書き込み用バッファに書き込み、
    前記組分手段は、前記各対象プロセッサが前記ファイルに対して所定の処理を行う処理量が各々略同量となるように、前記各ファイルを前記各ファイル群に分ける
    ことを特徴とする情報処理プログラム。
  21. 第1メインメモリと複数の第1プロセッサとを備える第1マルチプロセッサと、第2メインメモリと複数の第2プロセッサとを備える第2マルチプロセッサとがネットワークを介して接続されるシステムにおいて、前記第1マルチプロセッサが、前記第1又は第2マルチプロセッサに接続される不揮発性ストレージに記憶された複数の処理対象ファイルに対して所定の処理を行うように、前記複数の第1プロセッサのうち1つの第1プロセッサを、
    前記処理対象ファイルを複数のファイル群に分ける組分手段、
    前記組分手段が分けた各ファイル群を、前記複数の第1プロセッサ及び第2プロセッサのうち少なくとも1つの対象プロセッサに割り当てる割当手段、
    前記対象プロセッサのうち前記第1プロセッサに割り当てた各ファイル群に各々対応する読み出し用バッファを第1メインメモリに設定すると共に、前記複数の第2プロセッサのうち1つの第2プロセッサに対し、前記対象プロセッサのうち前記第2プロセッサに割り当てた各ファイル群に各々対応する読み出し用バッファを、前記第2メインメモリに設定することを指示する設定手段、
    前記割当手段が前記ファイル群を割り当てた対象プロセッサに対し、前記所定の処理を行うための処理プログラムの起動を指示する起動指示手段、
    前記不揮発性ストレージに対するデータの読み出し及び書き込みを制御するストレージコントローラに対し、前記不揮発性ストレージに記憶された前記処理対象ファイルを、前記設定手段で当該処理対象ファイルが属するファイル群に対応付けられて前記第1メインメモリ及び前記第2メインメモリのうち少なくとも1つに設定された読み出し用バッファに各々読み出すことを指示する読出指示手段、及び
    前記対象プロセッサのうち前記第1プロセッサに割り当てた各ファイル群に各々対応する書き込み用バッファを第1メインメモリに設定すると共に、前記複数の第2プロセッサのうち1つの第2プロセッサに対し、前記対象プロセッサのうち前記第2プロセッサに割り当てた各ファイル群に各々対応する書き込み用バッファを、前記第2メインメモリに設定することを指示する第2設定手段、
    として機能させる情報処理プログラムであり、
    前記読出指示手段によって指示された前記処理対象ファイルは、前記設定手段によって当該処理対象ファイルが属するファイル群に対応付けられて前記第1メインメモリ及び前記第2メインメモリの少なくとも1つに設定された読み出し用バッファに、前記ストレージコントローラによって各々読み出され、
    前記対象プロセッサは、前記起動指示手段によって指示された前記処理プログラムを当該対象プロセッサの有するローカルメモリに記憶させこれを起動し、当該対象プロセッサに割り当てられたファイル群に対応する前記読み出し用バッファに読み出された処理対象ファイルに対し、前記所定の処理を行い、当該処理後の処理後ファイルを、当該対象プロセッサに割り当てられたファイル群に対応する前記書き込み用バッファに書き込み、
    前記組分手段は、前記各対象プロセッサが前記ファイルに対して所定の処理を行う処理量が各々略同量となるように、前記各ファイルを前記各ファイル群に分ける
    ことを特徴とする情報処理プログラム。
  22. 請求項20又は請求項21のいずれかに記載の情報処理プログラムを記憶したコンピュータ読み取り可能な記憶媒体。
JP2006090785A 2006-03-29 2006-03-29 情報処理方法、情報処理システム、情報処理装置、マルチプロセッサ、情報処理プログラム及び情報処理プログラムを記憶したコンピュータ読み取り可能な記憶媒体 Expired - Fee Related JP4727480B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006090785A JP4727480B2 (ja) 2006-03-29 2006-03-29 情報処理方法、情報処理システム、情報処理装置、マルチプロセッサ、情報処理プログラム及び情報処理プログラムを記憶したコンピュータ読み取り可能な記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006090785A JP4727480B2 (ja) 2006-03-29 2006-03-29 情報処理方法、情報処理システム、情報処理装置、マルチプロセッサ、情報処理プログラム及び情報処理プログラムを記憶したコンピュータ読み取り可能な記憶媒体

Publications (2)

Publication Number Publication Date
JP2007265143A JP2007265143A (ja) 2007-10-11
JP4727480B2 true JP4727480B2 (ja) 2011-07-20

Family

ID=38638052

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006090785A Expired - Fee Related JP4727480B2 (ja) 2006-03-29 2006-03-29 情報処理方法、情報処理システム、情報処理装置、マルチプロセッサ、情報処理プログラム及び情報処理プログラムを記憶したコンピュータ読み取り可能な記憶媒体

Country Status (1)

Country Link
JP (1) JP4727480B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5439753B2 (ja) * 2008-06-20 2014-03-12 富士ゼロックス株式会社 粒子挙動解析装置
JP5417865B2 (ja) 2009-01-28 2014-02-19 富士ゼロックス株式会社 粒子挙動解析装置およびプログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005251163A (ja) * 2004-02-03 2005-09-15 Sony Corp 情報処理装置、情報処理方法、情報処理システムおよび情報処理用プログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3444671B2 (ja) * 1994-11-08 2003-09-08 富士通株式会社 並列コード変換処理方法とそのシステム
JP2959525B2 (ja) * 1997-06-02 1999-10-06 日本電気株式会社 データ処理装置および方法、情報記憶媒体

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005251163A (ja) * 2004-02-03 2005-09-15 Sony Corp 情報処理装置、情報処理方法、情報処理システムおよび情報処理用プログラム

Also Published As

Publication number Publication date
JP2007265143A (ja) 2007-10-11

Similar Documents

Publication Publication Date Title
US9135060B2 (en) Method and apparatus for migrating task in multicore platform
JP5243711B2 (ja) プロセッサ
WO2015169145A1 (zh) 内存管理方法和设备
JP6368434B2 (ja) Pld管理方法及びpld管理システム
JP5526697B2 (ja) ストレージ装置およびメモリシステム
US20080270736A1 (en) Information processing apparatus and access control method
JP2008269282A (ja) 情報処理装置および方法、並びにプログラム
JP4996519B2 (ja) 仮想マルチプロセッサ、システムlsi、携帯電話機器、及び仮想マルチプロセッサの制御方法
US9229765B2 (en) Guarantee real time processing of soft real-time operating system by instructing core to enter a waiting period prior to transferring a high priority task
JP6231899B2 (ja) 半導体装置、プロセッサシステム、及びその制御方法
JP2018063505A (ja) メモリ管理制御装置、メモリ管理制御方法、及びメモリ管理制御プログラム
JP4727480B2 (ja) 情報処理方法、情報処理システム、情報処理装置、マルチプロセッサ、情報処理プログラム及び情報処理プログラムを記憶したコンピュータ読み取り可能な記憶媒体
JP2012059152A (ja) データ処理を行うシステムおよびメモリを割り当てる方法
JP6311365B2 (ja) 記憶領域管理装置、記憶領域管理方法及び記憶領域管理プログラム
JPWO2007099659A1 (ja) データ転送装置及びデータ転送方法
JP4559958B2 (ja) マルチコアプロセッサにおけるマルチコア制御方法
JPWO2008149657A1 (ja) 入出力制御システム、入出力制御方法、及び、入出力制御プログラム
WO2014188642A1 (ja) スケジュールシステム、スケジュール方法、及び、記録媒体
JP2014078214A (ja) スケジュールシステム、スケジュール方法、スケジュールプログラム、及び、オペレーティングシステム
WO2013021441A1 (ja) データ処理システム、およびデータ処理方法
JP2016103112A (ja) データ転送制御装置、情報処理装置、画像形成装置
WO2007049543A1 (ja) 演算装置
JP6251417B2 (ja) ストレージシステム、及び、記憶制御方法
JP7080698B2 (ja) 情報処理装置
JP6395203B2 (ja) データ制御システム、データ制御方法およびデータ制御用プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090318

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101105

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101119

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20101125

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110105

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110117

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110401

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140422

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees