(57)【要約】【課題】複数のプロセッサコアを有する情報処理装置において、同一バスを使用してコア間通信とメモリアクセスを行なうことに伴う処理効率低下を抑制する。【解決手段】計算負荷が異なるよう処理対象データを分割し、マルチコアＣＰＵの各プロセッサコアに投入する。たとえば、各プロセッサコアへ割り当てる粒子数を変える。複数種類の粒子を対象とするときには粒子種類の割合を異ならせる。各プロセッサコアは、キャリア粒子の割当数は同じであるのでキャリア粒子に関する計算時間は同じであるが、トナー粒子の割当数が異なるのでトナー粒子に関する計算時間が異なる。そのため、各プロセッサコアは、それぞれ異なるタイミングで計算処理が完了し、他のプロセッサコアと通信し得るタイミングも異なる。各コア間通信およびメモリアクセス用のバスを共有する構成でも、コア間通信とメモリアクセスの競合が緩和・解消される。【選択図】図６
2010218500.tif 000002
【特許請求の範囲】
【請求項１】
解析対象範囲内の粒子に関する計算情報を記憶する記憶部と、
予め決められた分割法に従って前記記憶部との間で計算情報の入出力を行ないながら粒子挙動計算を行なう複数の粒子挙動計算部と、
解析対象範囲内の粒子を、通信線で接続された複数の粒子挙動計算部のそれぞれに割り当てる解析負荷分散処理部と、
を備え、
複数の前記粒子挙動計算部が同一筐体に収容されており、
前記通信線は、前記記憶部と前記複数の粒子挙動計算部との間で情報の入出力と各粒子挙動計算部間の情報通信に共用されるものであり、
前記解析負荷分散処理部は、前記複数の粒子挙動計算部で並列計算処理を実行する際の計算負荷が異なるように、前記粒子を各粒子挙動計算部に割り当てる
粒子挙動解析装置。
【請求項２】
前記解析負荷分散処理部は、各粒子挙動計算部に割り当てる前記粒子の数を異ならせることで、前記計算負荷が異なるようにする
請求項１に記載の粒子挙動解析装置。
【請求項３】
前記解析負荷分散処理部は、前記粒子に作用する作用力の種類や前記粒子の種類に基づいて、計算負荷が異なるように、前記粒子を各粒子挙動計算部に割り当てる
請求項１に記載の粒子挙動解析装置。
【請求項４】
前記解析負荷分散処理部は、各粒子挙動計算部に割り当てる前記粒子の数を同じにし、かつ、各粒子挙動計算部に割り当てる粒子種類の割合を異ならせることで、前記計算負荷が異なるようにする
請求項３に記載の粒子挙動解析装置。
【請求項５】
前記解析負荷分散処理部は、何れかの筐体に前記複数の粒子挙動計算部のそれぞれに割り当てられた粒子に関する計算情報が投入され、当該筐体に収容された前記複数の粒子挙動計算部で計算情報が全て使用された後、他の筐体に前記複数の粒子挙動計算部のそれぞれに割り当てられた粒子に関する計算情報が投入されるように、計算情報の投入を順に制御する
請求項１〜４の内の何れか一項に記載の粒子挙動解析装置。
【請求項６】
前記複数の粒子挙動計算部を収容する筐体を複数備え、
前記解析負荷分散処理部は、各筐体に収容された前記複数の粒子挙動計算部の合計の前記計算負荷が同じになるようにする
請求項５に記載の粒子挙動解析装置。
【請求項７】
解析対象範囲内の粒子に関する計算情報を記憶する記憶部との間で、予め決められた分割法に従って計算情報の入出力を行ないながら粒子挙動計算を行なう複数の粒子挙動計算部と、
解析対象範囲内の粒子を、通信線で接続された複数の粒子挙動計算部のそれぞれに割り当て、かつ、前記複数の粒子挙動計算部で並列計算処理を実行する際の計算負荷が異なるように、前記粒子を各粒子挙動計算部に割り当てる解析負荷分散処理部と、
してコンピュータを機能させるプログラム。
【請求項８】
計算情報を記憶する記憶部と、
前記記憶部との間で計算情報の入出力を行ないながら情報処理計算を行なう複数の計算部と、
計算情報を、通信線で接続された複数の計算部のそれぞれに割り当てる解析負荷分散処理部と、
を備え、
複数の前記計算部が同一筐体に収容されており、
前記通信線は、前記記憶部と前記複数の計算部との間で情報の入出力と各計算部間の情報通信に共用されるものであり、
前記解析負荷分散処理部は、前記複数の計算部で並列情報処理計算を実行する際の計算負荷が異なるように、前記計算情報を各計算部に割り当てる
情報処理装置。
【請求項９】
計算情報を記憶する記憶部との間で、計算情報の入出力を行ないながら情報処理計算を行なう複数の計算部と、
計算情報を通信線で接続された複数の計算部のそれぞれに割り当て、かつ、前記複数の計算部で並列情報処理計算を実行する際の計算負荷が異なるように、前記計算情報を各計算部に割り当てる解析負荷分散処理部と、
してコンピュータを機能させるプログラム。
【請求項１０】
解析対象範囲内の粒子に関する計算情報を記憶する記憶部と、
予め決められた分割法に従って前記記憶部との間で計算情報の入出力を行ないながら粒子挙動計算を行なう複数の粒子挙動計算部と、
解析対象範囲内の粒子を、通信線で接続された複数の粒子挙動計算部のそれぞれに割り当てる解析負荷分散処理部と、
を備え、
複数の前記粒子挙動計算部が同一筐体に収容されており、
前記通信線は、前記記憶部と前記複数の粒子挙動計算部との間で情報の入出力と各粒子挙動計算部間の情報通信に共用されるものであり、
同一筐体内の前記複数の粒子挙動計算部によるそれぞれの前記通信線への情報の入出力時刻をずらすように制御する
粒子挙動解析装置。
【請求項１１】
計算情報を記憶する記憶部との間で、計算情報の入出力を行ないながら情報処理計算を行なう複数の計算部と、
計算情報を通信線で接続された複数の計算部のそれぞれに割り当てる解析負荷分散処理部と、
してコンピュータを機能させ、
同一筐体内の前記複数の粒子挙動計算部によるそれぞれの前記通信線への情報の入出力時刻をずらすように制御する
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、粒子挙動解析装置および情報処理装置とプログラムに関する。
【背景技術】
【０００２】
デジタル処理を行なう情報処理装置において、複数のプロセッサコアやメモリを搭載するものが知られている（特許文献１を参照）。以下では、このような情報処理装置をマルチプロセッサ装置と称する。
【０００３】
特許文献１では、マルチプロセッサ装置において、メモリを共有する構成を採った場合、複数のプロセッサコア間でメモリアクセスの調停が行なわれることから、プロセッサコアにおける処理が待機状態となる期間が発生し期待される性能が実現できないという問題を解決する仕組みが提案されている。その実現手段としては、たとえば、デュアルポートメモリである共有メモリを用いて改善することが提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２８５７２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、通信線を介して行なわれるプロセッサコア同士の通信（プロセッサコア間通信）と共有メモリへの情報の入出力の競合による処理効率低下を抑制することのできる仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００６】
請求項１に記載の発明は、解析対象範囲内の粒子に関する計算情報を記憶する記憶部と、予め決められた分割法に従って前記記憶部との間で計算情報の入出力を行ないながら粒子挙動計算を行なう複数の粒子挙動計算部と、解析対象範囲内の粒子を、通信線で接続された複数の粒子挙動計算部のそれぞれに割り当てる解析負荷分散処理部と、を備え、複数の前記粒子挙動計算部が同一筐体に収容されており、前記通信線は、前記記憶部と前記複数の粒子挙動計算部との間で情報の入出力と各粒子挙動計算部間の情報通信に共用されるものであり、前記解析負荷分散処理部は、前記複数の粒子挙動計算部で並列計算処理を実行する際の計算負荷が異なるように、前記粒子を各粒子挙動計算部に割り当てる粒子挙動解析装置である。
【０００７】
請求項２に記載の発明は、請求項１に記載の発明において、前記解析負荷分散処理部は、各粒子挙動計算部に割り当てる前記粒子の数を異ならせることで、前記計算負荷が異なるようにする。
【０００８】
請求項３に記載の発明は、請求項１に記載の発明において、前記解析負荷分散処理部は、前記粒子に作用する作用力の種類や前記粒子の種類に基づいて、計算負荷が異なるように、前記粒子を各粒子挙動計算部に割り当てる。
【０００９】
請求項４に記載の発明は、請求項３に記載の発明において、前記解析負荷分散処理部は、各粒子挙動計算部に割り当てる前記粒子の数を同じにし、かつ、各粒子挙動計算部に割り当てる粒子種類の割合を異ならせることで、前記計算負荷が異なるようにする。
【００１０】
請求項５に記載の発明は、請求項１〜４の内の何れか一項に記載の発明において、前記解析負荷分散処理部は、何れかの筐体に前記複数の粒子挙動計算部のそれぞれに割り当てられた粒子に関する計算情報が投入され、当該筐体に収容された前記複数の粒子挙動計算部で計算情報が全て使用された後、他の筐体に前記複数の粒子挙動計算部のそれぞれに割り当てられた粒子に関する計算情報が投入されるように、計算情報の投入を順に制御する。
【００１１】
請求項６に記載の発明は、請求項５に記載の発明において、前記複数の粒子挙動計算部を収容する筐体を複数備え、前記解析負荷分散処理部は、各筐体に収容された前記複数の粒子挙動計算部の合計の前記計算負荷が同じになるようにする。
【００１２】
請求項７に記載の発明は、解析対象範囲内の粒子に関する計算情報を記憶する記憶部との間で、予め決められた分割法に従って計算情報の入出力を行ないながら粒子挙動計算を行なう複数の粒子挙動計算部と、解析対象範囲内の粒子を、通信線で接続された複数の粒子挙動計算部のそれぞれに割り当て、かつ、前記複数の粒子挙動計算部で並列計算処理を実行する際の計算負荷が異なるように、前記粒子を各粒子挙動計算部に割り当てる解析負荷分散処理部と、してコンピュータを機能させるプログラムである。
【００１３】
請求項８に記載の発明は、計算情報を記憶する記憶部と、前記記憶部との間で計算情報の入出力を行ないながら情報処理計算を行なう複数の計算部と、計算情報を、通信線で接続された複数の計算部のそれぞれに割り当てる解析負荷分散処理部と、を備え、複数の前記計算部が同一筐体に収容されており、前記通信線は、前記記憶部と前記複数の計算部との間で情報の入出力と各計算部間の情報通信に共用されるものであり、前記解析負荷分散処理部は、前記複数の計算部で並列情報処理計算を実行する際の計算負荷が異なるように、前記計算情報を各計算部に割り当てる情報処理装置である。
【００１４】
請求項９に記載の発明は、計算情報を記憶する記憶部との間で、計算情報の入出力を行ないながら情報処理計算を行なう複数の計算部と、計算情報を通信線で接続された複数の計算部のそれぞれに割り当て、かつ、前記複数の計算部で並列情報処理計算を実行する際の計算負荷が異なるように、前記計算情報を各計算部に割り当てる解析負荷分散処理部と、してコンピュータを機能させるプログラムである。
【００１５】
請求項１０に記載の発明は、解析対象範囲内の粒子に関する計算情報を記憶する記憶部と、予め決められた分割法に従って前記記憶部との間で計算情報の入出力を行ないながら粒子挙動計算を行なう複数の粒子挙動計算部と、解析対象範囲内の粒子を、通信線で接続された複数の粒子挙動計算部のそれぞれに割り当てる解析負荷分散処理部と、を備え、複数の前記粒子挙動計算部が同一筐体に収容されており、前記通信線は、前記記憶部と前記複数の粒子挙動計算部との間で情報の入出力と各粒子挙動計算部間の情報通信に共用されるものであり、同一筐体内の前記複数の粒子挙動計算部によるそれぞれの前記通信線への情報の入出力時刻をずらすように制御する粒子挙動解析装置である。
【００１６】
請求項１１に記載の発明は、計算情報を記憶する記憶部との間で、計算情報の入出力を行ないながら情報処理計算を行なう複数の計算部と、計算情報を通信線で接続された複数の計算部のそれぞれに割り当てる解析負荷分散処理部と、してコンピュータを機能させ、同一筐体内の前記複数の粒子挙動計算部によるそれぞれの前記通信線への情報の入出力時刻をずらすように制御するプログラムである。
【発明の効果】
【００１７】
請求項１，７，８，９，１０，１１に記載の発明によれば、請求項１に係る発明の構成を有さない場合と比較して、通信線の使用競合による処理効率低下を抑制することができる。
【００１８】
請求項２に記載の発明によれば、各粒子挙動計算部に割り当てる粒子の数を異ならせることで、計算負荷を異なるようにしない場合と比べて、通信線の使用競合による処理効率低下を抑制することができる。
【００１９】
請求項３に記載の発明によれば、前記解析負荷分散処理部は、前記粒子に作用する作用力の種類や前記粒子の種類に基づいて、計算負荷が異なるように、前記粒子を各粒子挙動計算部に割り当てない場合に比べて、通信線の使用競合による処理効率低下を抑制することができる。
【００２０】
請求項４に記載の発明によれば、本構成を有さない場合に比べて、通信線の使用競合による処理効率低下を抑制することができる。
【００２１】
請求項５に記載の発明によれば、本構成を有さない場合に比べて、複数の粒子挙動計算部を収容する筐体を複数備えた構成において、通信線の使用競合による処理効率低下を抑制することができる。
【００２２】
請求項６に記載の発明によれば、本構成を有さない場合に比べて、通信線の使用競合による処理効率低下の抑制効果を大きくすることができる。
【図面の簡単な説明】
【００２３】
【図１】電子写真方式の画像形成装置の一構成例を示す図である。
【図２】比較例の粒子挙動解析システムを示すブロック図である。
【図２Ａ】粒子挙動解析システムの第１構成例を示すブロック図である。
【図２Ｂ】粒子挙動解析システムの第２構成例を示すブロック図である。
【図３】粒子挙動解析装置の第１構成例を説明する図（主粒子挙動解析装置に着目）である。
【図３Ａ】粒子挙動解析装置の第１構成例を説明する図（副粒子挙動解析装置に着目）である。
【図３Ｂ】粒子挙動解析装置の第１構成例が適用される場合の粒子挙動解析システムにおける外部記憶装置に対するメモリアクセスに着目したシステム構成図である。
【図４】粒子挙動解析装置の第２構成例を説明する図（主粒子挙動解析装置に着目）である。
【図４Ａ】粒子挙動解析装置の第２構成例を説明する図（副粒子挙動解析装置に着目）である。
【図４Ｂ】粒子挙動解析装置の第２構成例が適用される場合の粒子挙動解析システムにおける外部記憶装置に対するメモリアクセスに着目したシステム構成図である。
【図５】粒子挙動解析装置の第３構成例を説明する図（主粒子挙動解析装置に着目）である。
【図５Ａ】粒子挙動解析装置の第３構成例を説明する図（グループを代表する副粒子挙動解析装置に着目）である。
【図５Ｂ】粒子挙動解析装置の第３構成例を説明する図（グループを代表しない副粒子挙動解析装置に着目）である。
【図５Ｃ】粒子挙動解析装置の第３構成例が適用される場合の粒子挙動解析システムにおける外部記憶装置に対するメモリアクセスに着目したシステム構成図である。
【図６】バスアクセス制御の第１実施形態を処理負荷面から説明する図である。
【図６Ａ】バスアクセス制御の第１実施形態をタイミング面から説明する図である。
【図７】バスアクセス制御の第２実施形態を処理負荷面から説明する図である。
【図７Ａ】バスアクセス制御の第２実施形態をタイミング面から説明する図である。
【図７Ｂ】バスアクセス制御の第２実施形態（変形例）を処理負荷面から説明する図である。
【図７Ｃ】バスアクセス制御の第２実施形態（変形例）をタイミング面から説明する図である。
【発明を実施するための形態】
【００２４】
以下、図面を参照して本発明の実施形態について詳細に説明する。なお、以下においては、情報処理装置が適用される具体例として、粒子挙動解析装置を例に説明する。粒子挙動解析装置の解析対象粒子が存在する装置としては、たとえば、プリンタ装置、ファクシミリ装置、またはそれらの機能を有する複合機などの画像形成装置を例に説明する。
【００２５】
解析対象粒子との関係においては、トナー粒子のみまたはキャリア粒子とトナー粒子からなる現像剤を用いる電子写真方式による画像形成装置の現像装置における現像剤挙動解析に着目する。ただしこれは一例であって、解析対象粒子が存在する装置は画像形成装置に限定されない。
【００２６】
＜画像形成装置の概要＞
図１は、印刷装置（プリンタ）や複写装置（コピー機）などの電子写真方式の画像形成装置の一構成例を示す図である。図示のように、画像形成装置１は、感光体１０を中心として、その近傍に配された直流電源２２、交流バイアス電源２４、および帯電部２６を具備した帯電装置２０と、レーザ光源３２やポリゴンミラー３４やモータ３６を具備した露光装置３０と、図示しない攪拌機構を備えた現像装置４０と、転写電源５２および転写部５４を具備した転写装置５０と、ブレード機構を持つクリーニング装置６０と、用紙搬送路上の後流側の予め決められた位置に配されたロール機構を具備した定着装置７０とを備えている。
【００２７】
現像装置４０には、現像剤粒子１０２が充填されている。図では、１つの現像剤粒子１０２を便宜的に１つの丸で示している。実際には、現像剤粒子１０２はたとえば、それぞれ物性や粒径の異なる磁性体から構成されたキャリア粒子と非磁性のトナー粒子（たとえば各色のトナー粒子）を主成分として含有する２成分方式のものである。キャリア粒子とトナー粒子の対によって、全体として磁性粉体が形成されるようにしている。トナー粒子は、キャリア粒子に静電力により互いに吸着されている。一般的には、キャリア粒子の粒径の方がトナー粒子の粒径よりも大きい。なお、トナー粒子としては、磁性トナーを使用してもよい。現像剤粒子１０２は、実際にはさらに、キャリア粒子およびトナー粒子の他に外添剤などの他の粒子も含む。
【００２８】
現像装置４０は、収納容器１０１内に、表面に現像剤粒子１０２を担持する担持ロールの一例である現像ロール１４０（マグロール、マグネットローラ、磁気搬送ローラとも言われる）を、周面が開口部１０１ａから少し突き出すように備える。現像ロール１４０内には、その内周縁に沿って、予め決められた間隔で予め決められた数のマグネット１４２が配置されている。
【００２９】
また、現像装置４０は、現像ロール１４０の近傍に、高さ規制部材や層形成部材として機能する規制ブレード１５０を備え、マグネット１４２による磁力線に沿ってできた現像剤粒子１０２の磁気ブラシ（穂立ち）の高さを規制するようになっている。
【００３０】
現像ロール１４０は、矢印Ｘ方向に回転される感光体１０とともに、感光体１０と対向する側のその表面の回転移動方向が、感光体１０の移動方向Ｘと同じ向き（矢印Ｙ方向）に回転される。感光体１０の移動方向Ｘと逆向きに回転駆動するようにしてもよい。
【００３１】
現像剤粒子１０２は、攪拌機能を持つ攪拌搬送ロール（図示せず）により攪拌され摩擦帯電されつつ現像ロール１４０側に搬送される。規制ブレード１５０によって現像剤粒子１０２の現像ロール１４０への吸着量が規制され一定の高さで現像ロール１４０の周縁に現像剤粒子１０２が付着する。キャリア粒子は、現像ロール１４０に内蔵されたマグネット１４２からの磁場により磁気ブラシを構成する。トナー粒子はキャリア粒子とともに、感光体１０に対向する部分まで搬送される。
【００３２】
画像形成装置１を複写装置として構成する場合、帯電装置２０によって、直流電源２２からの直流電圧に交流バイアス電源２４からの交流バイアス電圧を重畳させて帯電電位（初期電位）を生成し、この帯電電位で、感光体１０の表面を一様な表面電位に帯電させる。
【００３３】
この後、原稿を図示しない読取装置によってスキャンして得た画像データに従って感光体１０の表面に露光装置３０に備えられるレーザ光源３２から発せられるレーザ・ビームをモータ３６により回転駆動されるポリゴンミラー３４でスキャンすることによって、感光体１０表面を露光して潜像電位からなる静電潜像を形成する。
【００３４】
続いて、現像装置４０は、図示しない攪拌機構において出力色のトナー粒子やキャリア粒子などでなる現像剤粒子１０２を混合しながら、その現像剤粒子１０２中のトナー粒子を感光体１０の表面に形成されている静電潜像に重畳することでトナー像を感光体１０の表面に形成させる。
【００３５】
すなわち、現像ロール１４０は、感光体１０に対向して設けられており、現像ロール１４０に吸着された現像剤粒子１０２のうちトナー粒子は、帯電されており、静電気力により感光体１０に吸着される。このとき、感光体１０の表面は、記録画像に応じて露光されることで静電潜像が形成されており、トナー粒子は、感光体１０に形成された静電潜像に応じて吸着される。これによって、感光体１０の表面に形成された潜像は現像化される。現像処理後のキャリア粒子と、感光体１０側に飛翔されなかったトナー粒子とは、収納容器１０１内に回収される。
【００３６】
この後、転写装置５０は、感光体１０の表面に形成されているトナー像を、外部から搬送されてきた印刷用紙上に転写する。感光体１０と転写部５４とが対向する予め決められた範囲を転写領域と称する。
【００３７】
転写済の用紙は定着装置７０側に搬送され、定着装置７０にて加熱溶融・圧着作用によりトナー像を転写体としての印刷用紙上に定着する。定着済の用紙は、図示しない排出装置によって、画像形成装置１の外に排紙される。
【００３８】
一方、クリーニング装置６０は、転写装置５０による転写後の感光体１０の表面に残留する残留トナーを除去する。清掃後の感光体１０の表面には残留電位が残っているが、帯電装置２０で初期電位を印加してから次の電子写真プロセスに利用される。
【００３９】
なお、カラー画像形成用の画像形成装置１を構成する場合、画像形成に関わる主要部の構成としては、たとえば転写装置５０にて直接に用紙に感光体１０のトナー像を転写体である用紙に転写させるのではなく、たとえば、Ｋ（黒），Ｙ（イエロー），Ｍ（マゼンタ），Ｃ（シアン）の出力色に対応する複数のエンジンを、たとえばＫ→Ｙ→Ｍ→Ｃの順にインライン状に配列し、Ｋ，Ｙ，Ｍ，Ｃの画像を４つのエンジンで並列的（同時進行的）に処理する、すなわち配置位置に応じた時間を隔てて、１色ずつ中間転写ベルトに感光体１０のトナー像を転写（特に１次転写という）させ、その後、中間転写ベルト上のトナー像を用紙に転写（特に２次転写という）させるように構成したタンデム型のカラー画像形成装置にしてもよい。
【００４０】
このような電子写真プロセスでは、感光体１０に対する帯電、スキャンした原稿イメージの露光、現像すなわち感光体１０へのトナー重畳、用紙へのトナー転写およびトナー定着、感光体１０のクリーニングという複数の工程からなる。電子写真プロセスでは、たとえば、攪拌、現像、転写などの各プロセスにおいて粉体挙動解析シミュレーションを適用することで、現実に画像形成実験を行なうことなく、形成される画像を予測し評価する。キャリア粒子およびトナー粒子の挙動の解析が、電子写真装置本体や現像装置４０の開発にとって重要な要素となる。
【００４１】
たとえば、現像装置４０の解析では、攪拌プロセスや現像プロセスなどが解析対象となる。たとえば、規制ブレード１５０の攪拌搬送ロール側の予め決められた範囲領域を層形成領域と称し、現像剤粒子１０２についての粒子挙動解析では、磁場および重力場の作用を考慮する。攪拌搬送ロールにより攪拌・搬送される予め決められた範囲領域を攪拌搬送領域と称し、現像剤粒子１０２についての粒子挙動解析では、重力場の作用を考慮する。
【００４２】
攪拌搬送領域と層形成領域との間の現像剤粒子１０２が現像ロール１４０に磁気吸着される予め決められた範囲領域をピックアップ領域と称し、現像剤粒子１０２についての粒子挙動解析では、磁場および重力場の作用を考慮する。
【００４３】
感光体１０と現像ロール１４０の各周縁が対向し現像作用の行なわれる範囲領域を現像ニップ領域と称し、現像剤粒子１０２についての粒子挙動解析では、電場、磁場、重力場の作用を考慮する。現像剤粒子１０２の回収される予め決められた範囲領域をピックオフ領域と称し、現像剤粒子１０２についての粒子挙動解析では、磁場および重力場の作用を考慮する。
【００４４】
感光体１０の表面は、記録画像に応じた静電潜像が形成されており、トナー粒子は、静電力により感光体１０の表面に飛翔する。感光体１０の表面には、飛翔したトナー粒子が付着し、記録画像に応じたトナー像が形成される。このとき、トナー粒子の感光体１０への吸着のされ方によって、記録画像の画質が左右される。トナー粒子は、キャリア粒子により感光体１０に搬送されているので、トナー粒子の感光体１０への吸着のされ方は、現像ロール１４０と感光体１０との間の現像ニップ領域でのキャリア粒子およびトナー粒子の挙動により決定される。
【００４５】
また、転写装置５０における転写プロセスでは、感光体表面粗さや、感光体・中間転写ベルトや用紙などの転写体間の速度差、転写体の接触幅などの転写プロセスにおける条件パラメータを変更しながら、粉体挙動解析シミュレーションを繰り返し行なっていくことで、転写プロセスを再現しながら形成される画質の評価を行なう。因みに、転写プロセスについての粒子挙動解析では、現像剤粒子１０２（特にトナー粒子）に作用する電場および重力場を考慮する。
【００４６】
＜粒子挙動解析システム＞
図２〜図２Ｂは、本実施形態の粒子挙動解析システムの構成例を説明する図である。ここで、図２は比較例の粒子挙動解析システムを示すブロック図である。図２Ａは、本実施形態の粒子挙動解析システムの第１構成例を示すブロック図である。図２Ｂは、本実施形態の粒子挙動解析システムの第２構成例を示すブロック図である。
【００４７】
粒子挙動解析システムにおいては、各相互作用の解析を行なう際、粒子分割法や力分割法を用いて解析する。以下では、特段の断りのない限り、力分割法を適用した粒子挙動解析を行なうものとして説明する。
【００４８】
比較例の粒子挙動解析システム２００Ｃは、力分割法により粒子の挙動を解析する際に当該行以外の各計算ノードとの間で情報通信を行なう主通信線とは別に、力マトリクスにおける行方向の各計算ノードとの間で情報通信を行なう副通信線を行ごとに設けている。具体的には、粒子挙動解析システム２００Ｃは、それぞれ粒子挙動解析機能を有する複数台の粒子挙動解析装置２０２が副通信線の一例であるサブネットワーク２０９_1（外部バス）にてネットワーク（バス）接続されて並列型計算装置として構成されている複数の粒子挙動解析システム２００が、さらに、主通信線の一例であるメインネットワーク２０９_2（外部バス）で接続されて構成されている。構成的には、事実上の並列型計算装置をネットワーク接続してなるグリッド型計算装置に近いものである。
【００４９】
サブネットワーク２０９_1は、通信状態がルーティング機能を持つネットワーク管理装置２０８_1で管理されるようになっている。メインネットワーク２０９_2は、通信状態がルーティング機能を持つネットワーク管理装置２０８_2で管理されるようになっている。
【００５０】
なお、図では便宜的に、ネットワーク管理装置２０８_2から１本のネットワーク線を出し、そのネットワーク線上に主粒子挙動解析システム２００ａおよび副粒子挙動解析システム２００ｂ（詳細にはネットワーク管理装置２０８_1）を接続する態様で示しているが、実際には、ネットワーク管理装置２０８_2に備えられる個別のポートに各粒子挙動解析システム２００のネットワーク管理装置２０８_1が接続され、各粒子挙動解析システム２００間の通信は、ネットワーク管理装置２０８_2を介してなされるようになっている。
【００５１】
ネットワーク２０９（サブネットワーク２０９_1とメインネットワーク２０９_2）の通信仕様は不問とする。たとえば、通信プロトコルが同じものでもよいし異なるものでもよい。また、通信速度は、同じものでもよいし、異なるものでもよい。
【００５２】
図示した例では、粒子挙動解析システム２００Ｃを構成する各粒子挙動解析システム２００のうちの１つ（１つの並列計算装置）が全体を統括する主粒子挙動解析システム２００ａとして機能するようになっており、この主粒子挙動解析システム２００ａに対して残りの粒子挙動解析システム２００が、主粒子挙動解析システム２００ａにより制御される副粒子挙動解析システム２００ｂ１，２００ｂ２，…としてメインネットワーク２０９_2で接続されている。粒子挙動解析システム２００ａ，２００ｂ１，２００ｂ２，…は、各相互作用の解析を行なう際、力分割法を用いて解析する。
【００５３】
また、主粒子挙動解析システム２００ａの各粒子挙動解析装置２０２の内の１台が全体を統括する計算管理ノードの機能を持つ主粒子挙動解析装置２０２ａとして機能するようになっている。主粒子挙動解析装置２０２ａに対して残りの粒子挙動解析装置２０２が、主粒子挙動解析装置２０２ａにより制御される副粒子挙動解析装置２０２ｂとしてネットワーク接続されている。一方、各副粒子挙動解析システム２００ｂは、全てが副粒子挙動解析装置２０２ｂで構成されている。
【００５４】
各粒子挙動解析装置２０２は、一例として、一般の電子計算機と同様のもので構成する。ここで、比較例の粒子挙動解析システム２００Ｃでは、各粒子挙動解析装置２０２は、本実施形態の構成の場合とは異なり、計算処理を行なうコア部分（いわゆるＣＰＵの部分）が１つのシングルコアのものである。
【００５５】
粒子挙動解析システム２００Ｃは、主要の処理データを相互にサブネットワーク２０９_1およびメインネットワーク２０９_2を介して伝達し合い、粒子挙動解析処理を並列的に実行する。ここで、サブネットワーク２０９_1が、力マトリクスとの行方向のデータ通信の他、行方向のファイル出力処理に寄与するように、計算ノードを割り当てる。基本的な考え方は、粒子挙動解析システム２００ａ，２００ｂ１，２００ｂ２，…に属する各計算ノードは、力マトリクスの行方向に、同一位置のものとなるように割り当てる。たとえば、３２粒子を１６個のプロセッサで並列計算する場合は、１行分の計算ノードは４つになるので、２つの粒子挙動解析システム２００（２００ａ，２００ｂ１，２００ｂ２，２００ｂ３）で粒子挙動解析システム２００Ｃを構成し、各粒子挙動解析システム２００ａ，２００ｂ１，２００ｂ２，２００ｂ３を力マトリクスの行方向に割り当てる。
【００５６】
一方、本実施形態の粒子挙動解析システム２００Ｄ，２００Ｅは、比較例に対する変形例である。具体的には、比較例の粒子挙動解析システム２００ａ，２００ｂ１，２００ｂ２，…のそれぞれを、複数のコア部分（いわゆるＣＰＵの部分）を１つの筐体（半導体チップ）に収容したマルチコアを有する粒子挙動解析装置２０２に置き換えて構成している。よって、サブネットワーク２０９_1の部分は筐体外部に出ることはなく、事実上、同一の筐体に収容された内部配線２０９_3（内部バス）となっている。
【００５７】
たとえば、第１構成例の粒子挙動解析システム２００Ｄの場合において、３２粒子を１６個のプロセッサで並列計算する場合は、１行分の計算ノードは４つになるので、同一の筐体に４つのＣＰＵを収容したクワッドコア（Quad Core ：４コア）ＣＰＵを有する粒子挙動解析装置２０２を４台使用し、各粒子挙動解析装置２０２（つまりクワッドコアＣＰＵ＃０〜＃３）を力マトリクスの行方向に割り当てる。その他の点に関しては、比較例と同様である。
【００５８】
一方、第２構成例の粒子挙動解析システム２００Ｅは、第１構成例の主粒子挙動解析システム２００ａのみで構成したものである。３２粒子を１６個のプロセッサで並列計算する場合は、１行分の計算ノードは４つになるが、計算ノードごとに粒子挙動解析装置２０２を割り当てるのではなく、同一筐体内で４つ計算ノードの機能を持つように構成する。一例として、クワッドコアＣＰＵを４個配置し、各クワッドコアＣＰＵ＃０〜＃３を力マトリクスの行方向に割り当てる。その他の点に関しては、比較例と同様である。
【００５９】
つまり、第１構成例は、各クワッドコアを別筐体（別の計算装置）に配置しそれらをネットワーク接続する（外部バスで接続する）構成である。一方、第２構成例は、各クワッドコアを同一筐体（１つの計算装置）に配置して、それらを内部バスのみで接続する構成である。
【００６０】
＜粒子挙動解析装置：第１構成例＞
図３〜図３Ｂは、粒子挙動解析装置２０２の第１構成例を説明する図である。ここで、図３は、特に計算管理ノードの機能を具備した主粒子挙動解析装置２０２ａに着目したブロック図である。図３Ａは、一般ノードの機能を具備した副粒子挙動解析装置２０２ｂに着目したブロック図である。主粒子挙動解析装置２０２ａは、副粒子挙動解析装置２０２ｂを含んで構成されている。図３Ｂは、粒子挙動解析装置２０２の第１構成例が適用される場合の粒子挙動解析システム２００Ｄ，２００Ｅにおける外部記憶装置に対するメモリアクセスに着目したシステム構成図である。
【００６１】
粒子挙動解析装置２０２の第１構成例は、後述するバスアクセス制御の第１実施形態に適用されるものである。
【００６２】
図３に示すように、主粒子挙動解析装置２０２ａは、指示入力装置２１０などを利用して処理対象データを取り込むデータ入力部２２０と、粒子挙動解析処理を行なうデータ処理部２３０と、処理結果を表示装置２１２などを利用して操作者に提示する情報提示部２４０とを備えている。データ入力部２２０と情報提示部２４０とは、主粒子挙動解析装置２０２ａの計算管理ノードに相当する部分に設けられている。図３Ａにも示すように、副粒子挙動解析装置２０２ｂは、このデータ処理部２３０のみで構成すればよい。
【００６３】
また、主粒子挙動解析装置２０２ａの計算管理ノード側の筐体内に、処理対象要素を力分割法により分割するに当たり、それぞれ計算装置で構成され力分割法による粒子挙動解析を行なう各計算システム（プロセッサとも称する：図１では粒子挙動解析装置２０２）に各分割部分を割り当てる分割処理部２５０を備えている。
【００６４】
データ入力部２２０は、指示入力装置２１０を構成するキーボードやマウスを介して操作者より入力されるコマンドやデータを受け付け、データ処理部２３０、分割処理部２５０にそれぞれで必要とされるデータを渡す。
【００６５】
分割処理部２５０は、縦Ｎ・横Ｎの力マトリクスを使用するように設定し、各力マトリクスに解析対象粒子を割り当てる。
【００６６】
なお、分割処理部２５０は、各ノードでの計算負荷が概ね均等となるようにすることも考慮するのがよい。たとえば、処理対象要素を予め決められた分割法により分割するに当たり、それぞれ複数の計算装置で構成された各計算システム（粒子挙動解析システム２００）における同一範囲時点での計算時間（ステップ当たりの計算時間）が同等となるように解析対象要素を配分する解析負荷分散処理部を具備する構成とする。この解析負荷分散処理部は、分割処理部２５０が兼用する構成（解析負荷分散処理部２５０ａと記す）としてもよいし、分割処理部２５０とは別の機能要素として設けてもよい。
【００６７】
解析負荷分散処理部２５０ａは、静電相互作用、磁気相互作用、機械的相互作用（接触力）、または付着力などの複数種類の粒子間相互作用を考慮する場合や、現像剤１０２を構成する物性の異なる複数種類の粒子（本例ではキャリア粒子、トナー粒子、外添剤）を解析対象とする場合においても、並列解析処理時の各マルチコア部２３９間の計算時間差が確実に小さくなるように、解析対象の作用力の相違や粒子種の相違を勘案して解析対象要素を配分する分割処理を行なう。
【００６８】
また解析負荷分散処理部２５０ａは、粒子挙動解析システム２００を構成する各粒子挙動解析装置２０２や、粒子挙動解析システム２０１を構成する各粒子挙動解析システム２００の処理性能（計算能力）をも勘案して、解析対象要素を配分するのがよい。そして、解析負荷分散処理部２５０ａは、分割担当領域や分割担当粒子（のグループ）をそれぞれ複数の計算装置（粒子挙動解析装置２０２）で構成された計算システム（粒子挙動解析システム２００）に割り当てる。データ処理部２３０では、他の分割部分に関しての処理を担当する他の各マルチコア部２３９（そこに属する各数値演算処理部２３４）との間でデータ通信を行ないつつ、分割された担当する分割部分について、力分割法による粒子挙動解析を行なう。
【００６９】
力分割法を適用したデータ処理時には、粒子間距離と相互作用力との関係（相互作用力の距離依存性）を考慮して、解析対象粒子種を複数とする複数成分粒子系の解析時には複数のカットオフを設定してもよい。たとえば、解析対象の相互作用力が距離の近い粒子との相互作用についてのみ着目すればよい相互作用力（近距離力もしくは短距離力と称する）であるときにはカットオフを小さく設定し、距離の近い粒子とだけでなく距離の離れた粒子との相互作用についても着目する必要のある相互作用力（遠距離力もしくは長距離力と称する）であるときにはカットオフを大きく設定する。
【００７０】
データ処理部２３０は、データ入力部２２０から入力されたデータに基づいて粒子挙動解析処理を行なう。そのため、データ処理部２３０は、データ受付部２３２、解析負荷分散処理部２３３、メモリアクセス制御部２３７、データ記憶部２３８、複数の数値演算処理部２３４および一時記憶部２３８ａを同一パッケージ（筐体）に具備するマルチコア部２３９を有している。
【００７１】
メモリアクセス制御部２３７は、粒子挙動解析装置２０２ａの計算管理ノード側の筐体内に設けられている。メモリアクセス制御部２３７は、粒子挙動解析システム２００Ｄ，２００Ｅを構成する全ての粒子挙動解析装置２０２の外部記憶装置２３８ｂへのメモリアクセスを管理する。
【００７２】
マルチコア部２３９は、数値演算処理を行なう複数のプロセッサコア（単に「コア」とも称する）とキャッシュメモリと称される内蔵メモリを具備したマルチコアＣＰＵで構成されるものである。ここでは一例として４個のプロセッサコアを具備するクアッドコアＣＰＵの例で示す。
【００７３】
マルチコア部２３９は、各プロセッサコアが機能する４つの数値演算処理部２３４（２３４_1，２３４_2，２３４_3，２３４_4）、２つの数値演算処理部２３４ごとに設けられた出力データ処理部として機能するバスインタフェース部２３５（２３５_1，２３５_2）、２つの数値演算処理部２３４ごとに設けられた一時記憶部２３８ａ（２３８ａ_1，２３８ａ_2）を有する。
【００７４】
数値演算処理部２３４は、分割処理部２５０による分割処理により割り当てられた分割部分について、決められた分割法に従ってデータ記憶部２３８との間でデータ（情報）の入出力（メモリアクセス）を行ないながら計算を行なう粒子挙動計算部として機能する。
【００７５】
なお、この例では、２つの数値演算処理部２３４ごとにバスインタフェース部２３５（２３５_1，２３５_2）を設けているがこのことは必須ではなく、数値演算処理部２３４ごとに設けてもよいし、データ処理部２３０内の全ての数値演算処理部２３４に対して１つのバスインタフェース部２３５を設けてもよい。
【００７６】
データ記憶部２３８は、相互作用を計算するためのパラメータ表のデータを記憶する装置であり、メモリバスを介して数値演算処理部２３４に接続される。ここで、データ記憶部２３８は、粒子挙動解析装置２０２ごとに設けられる一時記憶部２３８ａおよび外部記憶装置２３８ｂで構成される。
【００７７】
一時記憶部２３８ａは、マルチコア部２３９が具備するＣＰＵと同一の半導体基板上に内蔵されるいわゆるキャッシュメモリ（Cache Memory）である。外部記憶装置２３８ｂは、いわゆるメインメモリとも称される外部の半導体製の記憶媒体（たとえば数１００ＭＢ〜数ＧＢ程度の容量のもの）、およびメインメモリより大容量（数１００ＧＢ以上）のハードディスク装置（ＨＤＤ）などである。周知のように、ＣＰＵのアクセスは、メインメモリよりもキャッシュメモリの方が高速である。
【００７８】
マルチコア部２３９は、外部記憶装置２３８ｂと各数値演算処理部２３４との間でデータ入出力と各粒子挙動解析装置２０２間の情報通信に同じバスを共用するものである。つまり、マルチコア部２３９は、各プロセッサコア間の通信（他の粒子挙動解析装置２０２のものも含む：以下コア間通信と称する）用および共有メモリ（外部記憶装置２３８ｂ）へのアクセス（以下メモリアクセスと称する）用のバス（ネットワーク２０９を含む）を共有する構成となっている。
【００７９】
データ受付部２３２は、データ入力部２２０から入力されたデータを外部記憶装置２３８ｂに記憶し、数値計算時に必要なデータを数値演算処理部２３４に供給する。外部記憶装置２３８ｂには、たとえば、解析の対象としている現像装置４０の構成および現像剤粒子１０２の座標、物性値に関するデータなどが記憶される。
【００８０】
解析負荷分散処理部２３３は、データ受付部２３２が受け付けた解析対象データ（外部記憶装置２３８ｂに保存される）を、さらに、マルチコア部２３９が備える各数値演算処理部２３４に分散する。解析負荷分散処理部２３３は、マルチコア部２３９（マルチコアＣＰＵ）の数値演算処理部２３４（プロセッサコア）ごとのメモリアクセスタイミングをずらすように粒子を割り当てることで負荷分散を図る。そのため具体的な仕組みとしては、一例として、各数値演算処理部２３４への粒子数や粒子種類の割合を変えることで実現する。
【００８１】
各数値演算処理部２３４は、解析負荷分散処理部２３３から供給されたデータに基づき、粒子の一例である現像剤粒子１０２（詳細にはキャリア粒子やトナー粒子など）について、磁気相互作用、静電相互作用、または機械的相互作用（接触力）など、複数の相互作用を同時に考慮した粒子挙動を、力分割法を適用してシミュレーション処理にて解析する。数値演算処理部２３４は、その解析結果の出力ファイルを予め決められたタイミングごとにバスインタフェース部２３５に供給する。
【００８２】
たとえば、先ず、主粒子挙動解析装置２０２ａは、現時点において粒子挙動解析処理に使用可能な粒子挙動解析システム２００を構成する粒子挙動解析装置２０２の数（プロセッサ数）を特定する。この後、計算に必要な各種物理パラメータや粒子の初期配置や力分割法で特に必要となる解析対象粒子数などの計算条件を読み込む。そして、特定した各粒子挙動解析装置２０２（プロセッサ）を、力分割法に従ってマトリクス配置して、解析対象の粒子（現像剤１０２を構成するキャリア粒子やトナー粒子）を割り当てる。
【００８３】
次に、複数種類の多体粒子間相互作用力を、特定プロセッサコアに分散して計算する。このとき、複数種類の多体粒子間相互作用に対しては、それぞれ別の力マトリックスを用いて計算する。たとえば、担当マトリクス中の相手粒子との間における磁気相互作用を、当該磁気相互作用解析用の力マトリックスを用いて解析処理する。次に、バスインタフェース部２３５を介して特定プロセッサコア間で通信し、磁気相互作用について、分散して計算した磁気相互作用力の総和値を求める。
【００８４】
同様にして、担当マトリクス中の相手粒子との間における静電相互作用を、当該静電相互作用解析用の力マトリックスを用いて解析処理する。次に、バスインタフェース部２３５を介して特定プロセッサコア間で通信し、静電相互作用について、分散して計算した静電相互作用力の総和値を求める。
【００８５】
また、担当マトリクス中の相手粒子との間における機械的相互作用（接触力）を、当該機械的相互作用解析用の力マトリックスを用いて解析処理する。次に、バスインタフェース部２３５を介して特定プロセッサコア間で通信し、機械的相互作用について、分散して計算した機械的相互作用力の総和値を求める。
【００８６】
さらに、磁気相互作用、静電相互作用、および機械的相互作用（接触力）のそれぞれについて求めた各総和値を加算して全総和値を求める。次に、磁気相互作用、静電相互作用、および機械的相互作用（接触力）の全総和値を使用して、各粒子の運動方程式を解き、位置座標を計算する。そして、このようにして求めた各粒子の位置座標を、相互作用マトリクスに関係する特定プロセッサコアに送り（通信し）、計算情報を更新する。この後、予め決められた計算ステップに到達するまで、同様の処理を繰り返す。
【００８７】
バスインタフェース部２３５は、各計算ステップでの計算データの受け渡しを各数値演算処理部２３４間（他の粒子挙動解析装置２０２のものも含む）で行なう以外に、予め決められた計算ステップごとに、数値演算処理部２３４での計算結果の出力ファイルを受け取り、情報提示部２４０に渡す。情報提示部２４０は、各粒子挙動解析装置２０２からのデータを集約して、表示データに変換し、表示装置２１２に供給する。表示装置２１２は、情報提示部２４０から供給された表示データに基づく処理結果画像を表示する。実際には確認困難な現像剤粒子１０２の挙動を視覚的に把握できるように、現像剤粒子１０２の挙動予測を可視化して表示装置２１２上に表示するのである。
【００８８】
なお、プロセッサコアは、数値演算処理部２３４として機能するだけでなく、その他の一般的な演算処理機能や制御機能など、一般的なＣＰＵが備える機能を実現し得るものである。副粒子挙動解析装置２０２ｂには、ＣＰＵ（本例の場合は各プロセッサコア）がプログラム処理により各機能部として機能するようにするための仕組みとして、一般的な電子計算機（コンピュータ）と同様の構成も備え、コンピュータシステムを構築している。
【００８９】
本実施形態において、粒子の挙動を解析する仕組みは、ハードウェア処理回路により構成することに限らず、その機能を実現するプログラムコードに基づき電子計算機（コンピュータ）を用いてソフトウェア的に実現することも可能である。よって、本実施形態に係る仕組みを、電子計算機（コンピュータ）を用いてソフトウェアで実現するために好適なプログラムまたはこのプログラムを格納したコンピュータ読取可能な記録媒体（記憶媒体）が発明として抽出される。ソフトウェアにより実行させる仕組みとすることで、ハードウェアの変更を伴うことなく、処理手順などが容易に変更されることとなる。
【００９０】
一連の粒子挙動解析処理はハードウェアまたはソフトウェアの単独に限らずその両者の複合構成によっても実現され得る。ソフトウェアによる処理を実行する場合、処理手順を示したプログラムを、ハードウェアに組み込まれたコンピュータ内の記憶媒体に組み込んで（インストールして）実行させたり、各種処理が実行可能な汎用の電子計算機にプログラムを組み込んで実行させる。
【００９１】
粒子挙動解析処理機能をコンピュータに実行させるプログラムは、ＣＤ−ＲＯＭなどの記録媒体を通じて配布される。または、このプログラムは、ＣＤ−ＲＯＭではなくＦＤに格納されてもよい。また、ＭＯドライブを設け、ＭＯに前記プログラムを格納してもよく、またフラッシュメモリなどの不揮発性の半導体メモリカードなど、その他の記録媒体にプログラムを格納してもよい。
【００９２】
ソフトウェアを構成するプログラムは、記録媒体を介して提供されることに限らず、有線または無線などの通信網を介して提供されてもよい。たとえば、他のサーバなどからインターネットなどのネットワークを経由してプログラムをダウンロードして取得したり、または更新したりしてもよい。粒子挙動解析処理を行なう機能を実現するプログラムコードを記述したファイルとしてプログラムが提供されるが、この場合、一括のプログラムファイルとして提供されることに限らず、コンピュータで構成されるシステムのハードウェア構成に応じて、個別のプログラムモジュールとして提供されてもよい。
【００９３】
たとえば、コンピュータシステムは、プロセッサコアが機能する中央制御部９１０、読出専用の記憶部であるＲＯＭ（Read Only Memory）、または随時読出し・書込みが可能なメモリであるＲＡＭ（Random Access Memory）などを具備する記憶部９１２、操作部９１４、図示を割愛したその他の周辺部材を有する。ＲＯＭには粒子挙動解析処理機能用の制御プログラムなどが格納される。操作部９１４は、利用者による操作を受け付けるためのユーザインタフェースである。
【００９４】
なお、コンピュータシステムの制御系としては、メモリカードなどの図示を割愛した外部記録媒体を挿脱可能に構成し、またインターネットなどの通信網との接続が可能に構成するとよい。このためには、制御系は、中央制御部９１０や記憶部９１２の他に、可搬型の記録媒体の情報を読み込むメモリ読出部９２０や外部との通信インタフェース手段としての通信Ｉ／Ｆ９２２を備えるようにするとよい。メモリ読出部９２０を備えることで外部記録媒体からプログラムのインストールや更新ができる。通信Ｉ／Ｆ９２２を備えることで、通信網を介しプログラムのインストールや更新を行ない得るようになる。
【００９５】
なお、本実施形態の粒子挙動解析処理を実現するための情報処理装置の各部（機能ブロックを含む）の具体的手段は、ハードウェア、ソフトウェア、通信手段、これらの組み合わせ、その他の手段を用いてよく、このこと自体は当業者において自明である。また、機能ブロック同士が複合して１つの機能ブロックに集約されてもよい。また、コンピュータにプログラム処理を実行させるソフトウェアは、組合せの態様に応じて分散してインストールされ得る。
【００９６】
図３Ｂに示すように、粒子挙動解析装置２０２の第１構成例が適用されるシステム構成図では、外部記憶装置２３８ｂは、物理的には粒子挙動解析装置２０２ごとに設けられる。しかし、１つのメモリアクセス制御部２３７の制御の元で、論理的には１つのメモリ空間として扱われ、各粒子挙動解析装置２０２が共用する共有メモリとして機能する。
【００９７】
＜粒子挙動解析装置：第２構成例＞
図４〜図４Ｂは、粒子挙動解析装置２０２の第２構成例を説明する図である。ここで、図４は、特に計算管理ノードの機能を具備した主粒子挙動解析装置２０２ａに着目したブロック図である。図４Ａは、一般ノードの機能を具備した副粒子挙動解析装置２０２ｂに着目したブロック図である。主粒子挙動解析装置２０２ａは、副粒子挙動解析装置２０２ｂを含んで構成されている。図４Ｂは、粒子挙動解析装置２０２の第２構成例が適用される場合の粒子挙動解析システム２００Ｄ，２００Ｅにおける外部記憶装置２３８ｂに対するメモリアクセスに着目したシステム構成図である。
【００９８】
粒子挙動解析装置２０２の第２構成例は、後述するバスアクセス制御の第２実施形態およびその変形例に適用されるものである。第１構成例との相違は、メモリアクセス制御部２３７が粒子挙動解析装置２０２ごとに配置される点にある。図４に示すように、主粒子挙動解析装置２０２ａに関しては、計算管理ノード側の筐体や計算管理ノードに併設される粒子挙動解析装置２０２ｂにメモリアクセス制御部２３７を配置するとよい。
【００９９】
これにより、図４Ｂに示すように、各粒子挙動解析装置２０２に備えられる外部記憶装置２３８ｂは、それぞれのメモリアクセス制御部２３７の元で、マルチコア部２３９の各数値演算処理部２３４（プロセッサコア）が共用する共有メモリとして機能する。この場合でも、マルチコア部２３９は、各コア間通信およびメモリアクセス用のバス（本構成では内部バスでありネットワーク２０９は含まない）を共有する構成となっている。ただし、第１構成例とは異なり、各粒子挙動解析装置２０２の外部記憶装置２３８ｂは、他の粒子挙動解析装置２０２の外部記憶装置２３８ｂとは独立に扱われる。
【０１００】
＜粒子挙動解析装置：第３構成例＞
図５〜図５Ｃは、粒子挙動解析装置２０２の第３構成例を説明する図である。ここで、図５は、特に計算管理ノードの機能を具備した主粒子挙動解析装置２０２ａに着目したブロック図である。図５Ａは、一般ノードの機能を具備し、かつグループを代表する副粒子挙動解析装置２０２ｂに着目したブロック図である。図５Ｂは、一般ノードの機能を具備し、かつグループを代表しない副粒子挙動解析装置２０２ｂに着目したブロック図である。主粒子挙動解析装置２０２ａは、副粒子挙動解析装置２０２ｂを含んで構成されている。図５Ｃは、粒子挙動解析装置２０２の第３構成例が適用される場合の粒子挙動解析システム２００Ｄ，２００Ｅにおける外部記憶装置２３８ｂに対するメモリアクセスに着目したシステム構成図である。
【０１０１】
粒子挙動解析装置２０２の第３構成例は、後述するバスアクセス制御の第２実施形態およびその変形例に適用されるものである。第１・第２構成例との相違は、第１構成例と第２構成例を組み合わせたものとなっている点である。具体的には、粒子挙動解析システム２００Ｄ，２００Ｅの各粒子挙動解析装置２０２を複数のグループに分け、グループごとにメモリアクセス制御部２３７を配置する点にある。
【０１０２】
よって、粒子挙動解析装置２０２の構成としては、基本的には、第１構成例と似通ったものとなっている。ただし、第１構成例とは異なり、メモリアクセス制御部２３７はグループを代表する何れかの粒子挙動解析装置２０２ｂに配置される。そのメモリアクセス制御部２３７は、自グループ内の全ての粒子挙動解析装置２０２ｂの外部記憶装置２３８ｂへのメモリアクセスを管理する。グループの何れかは、計算管理ノードを含むものとなるが、その場合、図５に示すように、計算管理ノード側の筐体や計算管理ノードに併設される粒子挙動解析装置２０２ｂにメモリアクセス制御部２３７を配置するとよい。
【０１０３】
これにより、図５Ｃに示すように、各粒子挙動解析装置２０２に備えられる外部記憶装置２３８ｂは、グループごとに、それぞれのメモリアクセス制御部２３７の元で、論理的には１つのメモリ空間として扱われる。そのため、自グループに属する各外部記憶装置２３８ｂは、各マルチコア部２３９の各数値演算処理部２３４（プロセッサコア）が共用する共有メモリとして機能する。つまり、グループごとには、第１構成例の場合と同様の性質を持つ。この場合でも、マルチコア部２３９は、各コア間通信および計算データのメモリアクセス用のバスを共有する構成となっている。
【０１０４】
一方、グループ間では、それぞれのメモリアクセス制御部２３７の元で自グループ内の各外部記憶装置２３８ｂが管理されるので、自グループ内の各外部記憶装置２３８ｂは、他グループの各外部記憶装置２３８ｂとは独立に扱われる。つまり、グループ間では、第２構成例の場合と同様の性質を持つ。
【０１０５】
［バスアクセス競合］
粉体や粒体（何れも個々の粒子の集合体の意味である）の挙動をシミュレーションにより解析する仕組みが考えられている。たとえば、プリンタ装置、ファクシミリ装置、またはそれらの機能を有する複合機などの画像形成装置において使用される粉体（トナー粒子やキャリア粒子など）などにおける、１種もしくは複数種の粒子が混合された状態での粒子の挙動をシミュレーションにより解析する。
【０１０６】
たとえば、画像形成装置において電子写真方式を利用する図１に示した画像形成装置１の場合、一般的には、感光ドラムなどの光導電性絶縁体（図１の感光体１０）上に一様な静電荷を与え、様々な手段によりこの光導電性絶縁体上に光像を照射することによって静電潜像を形成し、次いで、形成した潜像を現像器（図１の現像装置４０）を用いて磁性粉体を用いて現像可視化し、紙などの記録媒体にトナー粉像を転写した後に定着させ、印刷物を得る。
【０１０７】
このような電子写真方式による画像形成装置１においては、収納容器１０１に収容されている磁性粉体の攪拌や磁性ローラへの搬送、磁性ローラへの吸着、記録画像に応じて帯電され潜像が形成されている感光体への飛翔などの振る舞いが記録画像の画質に影響を与える。そこで、この磁性粉体の挙動の解析が電子写真装置本体（画像形成装置１）や現像装置４０の開発にとって重要となる。
【０１０８】
個々の粒子の挙動シミュレーションについては、個別要素法（ＤＥＭ）、有限要素法（ＦＥＭ）、離散粒子法などと呼ばれる方法が普及されている。個別要素法などは粉体を構成する個々の粒子の挙動を運動方程式に基づいて追跡することにより、精度よく粉体の挙動をシミュレートする方法である。粉体の性質を個々の粒子として取り扱う粒子挙動解析を粒子シミュレーションとも称する。
【０１０９】
しかしながら、個別要素法などに基づいた粒子挙動計算アルゴリズムでは、概ね粒子数の２乗で解析負荷が増大するので、粒子数が多くなると、計算量が膨大になり、いくら計算機の性能が向上したとはいっても、実際の系と同等の粒子数での計算を実行することは困難な場合が多い。たとえば、有限要素法における数十万要素以上、個別要素法における数万粒子以上の大規模解析は計算量が膨大で１台の計算機で取り扱うことが難しくなる。
【０１１０】
そこで、従来の粒子挙動シミュレーション方法として、計算時間の短縮を目的として、プログラムがインストールされた電子計算機を複数台使用し、各プログラムの並列化動作による分散処理を行なうことが提案されている。たとえば、複数の電子計算機をネットワークで接続したクラスタ上で、ＭＰＩ（Message Passing Interface ：メッセージ パッシング インタフェース）などの並列ライブラリを用いた解析プログラムを実行し、解析を複数のコンピュータで分散処理する並列計算が行なわれる。
【０１１１】
一例として、力分割法の仕組みでは、各粒子の磁気力、静電気力、接触力の各粒子間相互作用について、それぞれ各別の力マトリクスを用いて、特定プロセッサコアに分散して計算、特定プロセッサコア間で通信し分散して計算した相互作用力の和を求め、各粒子の運動方程式を解いて位置座標を計算する。各粒子の位置座標を特定プロセッサコアに通信し、計算情報を更新し、予め定められている計算ステップに到達するまで、同様の処理を繰り返す。これにより、プロセッサ間通信量を低減させる。
【０１１２】
一方、近年の半導体プロセスの微細化に伴い、１個の物理ＣＰＵに複数のＣＰＵコアを有するマルチコアＣＰＵが開発され、クラスタの高密度化を実現する仕組みが提案されている。たとえば、４つのプロセッサコア（ＣＰＵコア）を有するクアッドコアＣＰＵを用いた場合、同じクラスタ容積に４倍のプロセッサコアを実装することになる上、プロセッサコア当たり電源ユニット数が１／４となり消費電力も低減される。
【０１１３】
マルチコアＣＰＵを用いたクラスタで並列計算を実行する場合、一般に分割された処理対象データがマルチコアＣＰＵに順次投入され、プロセッサコアを全て使用した後、次のマルチコアＣＰＵに処理対象データが投入される。
【０１１４】
ここで、前述のように、本実施形態のマルチコア部２３９は、各コア間通信およびメモリアクセス用のバスを共有する構成となっており、このような構成のマルチコアＣＰＵで、前記のようなデータ投入を行なった場合、コア間通信とメモリアクセスが競合することで待機が発生し、結果的には、挙動解析処理時間が長く掛ることになる。コア間通信とメモリアクセスが競合するような複数プロセッサを用いた並列処理では、並列数に応じて全処理時間における計算用データ通信時間の比率が増大し、並列化の効果が飽和してしまうのである。
【０１１５】
そこで、本実施形態では、マルチコア部２３９（同一筐体：マルチコアＣＰＵ）内の各数値演算処理部２３４（プロセッサコア）によるバス（通信線）への情報の入出力時刻（バスアクセスタイミング）をずらすように制御することで、その解決を図る。そのために、具体的には、マルチコアＣＰＵのコアごとのメモリアクセスタイミングをずらす、力分割での和をとる際にプロセッサコア（数値演算処理部２３４）間の通信タイミングをずらす、マルチコアＣＰＵのコアごとのメモリアクセスおよび通信のタイミングをずらす、の何れかを採る。以下、各別に説明する。
【０１１６】
＜第１実施形態＞
図６〜図６Ａは、バスアクセス制御の第１実施形態を説明する図である。ここで、図６は、処理負荷の側面から第１実施形態を説明する図である。図６Ａは、タイミングの側面から第１実施形態を説明する図である。
【０１１７】
第１実施形態の仕組みは、解析負荷分散処理部２３３が機能することで実現される。解析負荷分散処理部２３３は、データ受付部２３２が受け付けた解析対象データを、さらに、数値演算処理部２３４（プロセッサコアコア）ごとのメモリアクセスタイミングをずらすように粒子を割り当てることで負荷分散を図る。
【０１１８】
一例として、１６個のキャリア粒子と３２個のトナー粒子がマルチコア部２３９に供給される場合で説明する。トナー粒子に関しては電場のみに着目した解析でよく計算量は小さい。一方、キャリア粒子に関しては、磁場および電場に着目した解析が必要で、計算量は大きくなる。
【０１１９】
第１実施形態を適用しない比較例の場合、各プロセッサコアにおける計算時間（計算負荷）が同等になるようにする。一例として、各数値演算処理部２３４へ割り当てる粒子数や粒子種割合を同じにする。図６（１）の例では、各数値演算処理部２３４（プロセッサコア）には、４個のキャリア粒子と８個のトナー粒子が割り当てられる。つまり、力分割法による粒子挙動の並列計算において、マルチコア部２３９に供給された計算対象粒子数および粒子種割合（各粒子種数とその配分比）を均等になるよう割り当てを決定し、マルチコアＣＰＵに順次データを投入する。
【０１２０】
各数値演算処理部２３４は、キャリア粒子およびトナー粒子の割当数は何れも同じであるのでキャリア粒子に関する計算時間およびトナー粒子に関する計算時間の何れもが同じになると考えてよい。そのため、各数値演算処理部２３４は、同じタイミングで計算処理が完了し、それぞれの計算結果のファイルを計算管理ノードの情報提示部２４０に渡し得るタイミングが同じになる。このとき、図６（４）に示すように、各コア間通信およびメモリアクセス用のバスを共有する構成では、実際には、図６Ａ（１）に示すように、コア間通信とメモリアクセスが競合することで待機が発生してしまう。
【０１２１】
一方、第１実施形態では、各コア間通信およびメモリアクセス用のバスを共有する構成のマルチコア部２３９（マルチコアＣＰＵ）を搭載した計算ノードを有し、その計算ノード（つまりマルチコア部２３９）を用いて並列計算処理を実行する際に、計算負荷が異なるよう処理対象データを分割し、マルチコア部２３９の各数値演算処理部２３４（プロセッサコア）に投入する。
【０１２２】
たとえば、第１実施形態の第１例では、解析負荷分散処理部２３３は、各数値演算処理部２３４へ割り当てる粒子数を変える。複数種類の粒子を対象とするときには、粒子数を異ならせることで、自動的に粒子種類の割合を異ならせる。
【０１２３】
図６（２）の例は、複数種類の粒子を対象とする解析時に、計算量の大きな粒子の割当数は各プロセッサコアで同じにするが、計算量の小さな粒子の割当数は各プロセッサコアで異なるように（不均等に）するものである。この例では、各数値演算処理部２３４（プロセッサコア）には、それぞれ４個のキャリア粒子を割り当てるが、トナー粒子の割当数を不均等にすることで粒子数および粒子種類の割合を変えている。具体的には、数値演算処理部２３４_1には６個のトナー粒子が割り当てられ、数値演算処理部２３４_2には１０個のトナー粒子が割り当てられ、数値演算処理部２３４_3には７個のトナー粒子が割り当てられ、数値演算処理部２３４_4には９個のトナー粒子が割り当てられている。
【０１２４】
各数値演算処理部２３４は、キャリア粒子の割当数は同じであるのでキャリア粒子に関する計算時間は同じであるが、トナー粒子の割当数が異なるのでトナー粒子に関する計算時間が異なる。そのため、図６Ａ（２）に示すように、各数値演算処理部２３４は、それぞれ異なるタイミングで計算処理が完了し、他の数値演算処理部２３４と通信し得るタイミングやそれぞれの計算結果のファイルを計算管理ノードの情報提示部２４０に渡し得るタイミングも異なる。異なる計算処理完了の間の期間にコア間通信を行ない得るようになるようになる。よって、図６（４）に示すように、各コア間通信およびメモリアクセス用のバスを共有する構成でも、コア間通信とメモリアクセスの競合が緩和・解消される。
【０１２５】
他方、第１実施形態の第２例では、解析負荷分散処理部２３３は、複数種類の粒子を対象とするときに、各数値演算処理部２３４へ割り当てる粒子数は同じにするが粒子種類の割合を異ならせる。
【０１２６】
図６（３）に示すように、具体的には、数値演算処理部２３４_1には２個のキャリア粒子および１０個のトナー粒子が割り当てられ、数値演算処理部２３４_2には６個のキャリア粒子および６個のトナー粒子が割り当てられ、数値演算処理部２３４_3には３個のキャリア粒子および９個のトナー粒子が割り当てられ、数値演算処理部２３４_4には５個のキャリア粒子および７個のトナー粒子が割り当てられている。
【０１２７】
各数値演算処理部２３４は、キャリア粒子およびトナー粒子の各割当数が異なるのでキャリア粒子に関する計算時間およびトナー粒子に関する計算時間が異なる。そのため、図６Ａ（３）に示すように、各数値演算処理部２３４は、それぞれ異なるタイミングで計算処理が完了し、他の数値演算処理部２３４と通信し得るタイミングやそれぞれの計算結果のファイルを計算管理ノードの情報提示部２４０に渡し得るタイミングも異なる。異なる計算処理完了の間の期間にコア間通信を行ない得るようになるようになる。よって、各コア間通信およびメモリアクセス用のバスを共有する構成でも、コア間通信とメモリアクセスの競合が緩和・解消される。
【０１２８】
複数のプロセッサコアを使用して並列計算を実行する際に、各プロセッサコアでの計算負荷が異なるように処理対象データを割り当てることで、計算負荷が異なる処理対象データを各プロセッサコアに順次投入した場合でも、コア間の通信とメモリアクセスのタイミングがずらされる。そのため、バスの競合と待機の発生が防止され、解析時間（実質的な計算時間）の増加が抑制される。
【０１２９】
ここで、第１例と第２例を比べると、第２例は計算量の大きなキャリア粒子の割当数を各数値演算処理部２３４（プロセッサコア）で異ならせている。そのため、第２例は、各数値演算処理部２３４の計算処理完了のタイミングズレが第１例よりも大きく、計算処理完了の間の期間にコア間通信やメモリアクセスを行ない得る期間が長くなる利点がある。
【０１３０】
＜第２実施形態＞
図７〜図７Ａは、バスアクセス制御の第２施形態を説明する図である。ここで、図７は、処理負荷（処理対象データの投入）の側面から第２実施形態を説明する図である。図７Ａは、タイミングの側面から第２実施形態を説明する図である。
【０１３１】
第２実施形態の仕組みは、分割処理部２５０が備える解析負荷分散処理部２５０ａ、解析負荷分散処理部２３３、バスインタフェース部２３５が協調して機能することで実現される。これら各部は、マルチコア部２３９（マルチコアＣＰＵ）の数値演算処理部２３４（プロセッサコア）ごとのメモリアクセスと通信タイミングをずらすように制御する。
【０１３２】
そのため先ず、解析負荷分散処理部２５０ａと解析負荷分散処理部２３３が協調して機能することで負荷分散を図る。負荷分散を図るという点においては第１実施形態と同様であるが、分散のさせ方が異なる。
【０１３３】
具体的には、先ず、解析負荷分散処理部２３３は、各マルチコア部２３９の数値演算処理部２３４（プロセッサコア）を１つずつ使用し、第１実施形態と同様に、データ受付部２３２が受け付けた解析対象データを、さらに、数値演算処理部２３４（プロセッサコアコア）ごとのメモリアクセスタイミングをずらすように粒子を割り当てることで負荷分散を図る。
【０１３４】
「メモリアクセスタイミングをずらす」ときには、何れかの筐体内のマルチコア部２３９のそれぞれに割り当てられた粒子に関する計算情報が数値演算処理部２３４に投入され、このマルチコア部２３９で計算情報が全て使用された後、他の筐体のマルチコア部２３９のそれぞれに割り当てられた粒子に関する計算情報が各数値演算処理部２３４に投入されるように、計算情報の投入を順に制御することで実現する。
【０１３５】
好ましくは、解析負荷分散処理部２５０ａは、各筐体に収容された各マルチコア部２３９での合計の計算負荷が均等になるように粒子数や粒子種割合を設定する。
【０１３６】
第２実施形態を適用しない比較例の場合、負荷分散という点においては、解析負荷分散処理部２３３が存在せず、解析負荷分散処理部２５０ａのみが機能する。そのため、負荷分散を行なう場合、解析負荷分散処理部２５０ａは、各マルチコア部２３９での計算負荷が不均等となるように粒子数や粒子種割合を設定することになる。図７（１）の例では、第１のマルチコア部２３９_1は処理負荷が最も軽い処理１が設定され、第２のマルチコア部２３９_2は処理負荷が２番目に軽い処理２が設定され、第３のマルチコア部２３９_3は処理負荷が２番目に重い処理３が設定され、第４のマルチコア部２３９_4は処理負荷が最も重い処理４が設定されている。
【０１３７】
各マルチコア部２３９間では処理負荷が異なるので、一見するとバスの競合が避けられると考えられる。しかしながら、各マルチコア部２３９内の各数値演算処理部２３４は、それぞれの処理負荷が均等になるように設定されている。そのため、各マルチコア部２３９内の各数値演算処理部２３４は、同じタイミングで計算処理が完了し、それぞれの計算結果のファイルを計算管理ノードの情報提示部２４０に渡し得るタイミングが同じになる。このとき、図６（４）に示したように、各コア間通信およびメモリアクセス用のバスを共有する構成では、実際には、図７Ａ（１）に示すように、内部バスにおいて、コア間通信とメモリアクセスが競合することで待機が発生してしまう。このことは、第１実施形態に対する比較例の場合と同様である。
【０１３８】
一方、第２実施形態では、各コア間通信およびメモリアクセス用のバスを共有する構成のマルチコア部２３９（マルチコアＣＰＵ）を搭載した計算ノードを有し、その計算ノード（つまりマルチコア部２３９）を複数用いて並列計算処理を実行する際に、マルチコア部２３９ごとの負荷（マルチコア部２３９内の複数の数値演算処理部２３４に割り当てられる処理負荷の合計）は均等にする。さらに、第１実施形態と同様に、計算負荷が異なるよう処理対象データを分割し、各マルチコア部２３９の各数値演算処理部２３４（プロセッサコア）に投入する。また、並列計算処理を実行する際に、分割された処理対象データをマルチコア部２３９（マルチコアＣＰＵ）に順次投入し、そこに属する数値演算処理部２３４（プロセッサコア）を全て使用した後、次のマルチコア部２３９（マルチコアＣＰＵ）に処理対象データを投入する。
【０１３９】
そのため、好ましくは、解析負荷分散処理部２５０ａは、各マルチコア部２３９での計算負荷が均等となるように粒子数や粒子種割合を設定する。たとえば、図７（２）に示すように、各マルチコア部２３９に対し処理負荷が最も軽い処理１を４等分して配置し、同様に処理２，３，４もそれぞれ４等分して配置する。処理１，２，３，４をそれぞれ４等分した処理をそれぞれ処理１_@，２_@，３_@，４_@（@ はマルチコア部２３９の番号）と記す。
【０１４０】
解析負荷分散処理部２３３は、それぞれ４等分された処理１_@，２_@，３_@，４_@を各数値演算処理部２３４（プロセッサコア）に割り当てる。たとえば、処理１_@は第１の数値演算処理部２３４_1、処理２_@は第２の数値演算処理部２３４_2、処理３_@は第３の数値演算処理部２３４_3、処理４_@は第４の数値演算処理部２３４_4に割り当てる。
【０１４１】
各マルチコア部２３９間では処理負荷が均等であるので、一見するとバスの競合が発生すると考えられる。しかしながら、各マルチコア部２３９_@では、数値演算処理部２３４ごとに処理負荷が異なる。そのため、図７Ａ（２）に示すように、各数値演算処理部２３４は、それぞれ異なるタイミングで計算処理が完了し、他の数値演算処理部２３４と通信し得るタイミングやそれぞれの計算結果のファイルを計算管理ノードの情報提示部２４０に渡し得るタイミングも異なる。異なる計算処理完了の間の期間にコア間通信を行ない得るようになるようになる。このことは、第１実施形態の第１例や第２例と同様である。よって、各コア間通信およびメモリアクセス用のバスを共有する構成でも、自マルチコア部２３９内では、コア間通信とメモリアクセスの競合が解消される。
【０１４２】
また、実際の通信相手は、自マルチコア部２３９内の数値演算処理部２３４間に限らず、他のマルチコア部２３９内の数値演算処理部２３４間とも起こり得る。その場合、処理１_@，２_@，３_@，４_@の内の同じ系統の処理が割り当てられた数値演算処理部２３４との間では競合が起き得るが、異なる系統の処理が割り当てられた数値演算処理部２３４との間では競合が避けられる。
【０１４３】
複数のプロセッサコアを具備する複数のマルチコアＣＰＵを使用して並列計算を実行する際に、分割された処理対象データを各マルチコアＣＰＵのプロセッサコアを１つずつ使用するよう投入することで、コア間の通信とメモリアクセスのタイミングがずらされる。そのため、バスの競合と待機の発生が防止され、解析時間（実質的な計算時間）の増加が抑制される。
【０１４４】
第２実施形態は、クラスタに搭載されたプロセッサコア（ＣＰＵコア）数より並列計算で使用するコア数が少ない場合に効果が大きいが、並列計算で使用するプロセッサコアが多い場合は分割された処理対象データごとに計算負荷が異なるようにすることで同様の効果が得られる。
【０１４５】
＜第２実施形態：変形例＞
図７〜図７Ｃは、バスアクセス制御の第２実施形態の変形例を説明する図である。ここで、図７Ｂは、処理負荷（処理対象データの投入）の側面から第２実施形態の変形例を説明する図である。図７Ｃは、タイミングの側面から第２実施形態の変形例を説明する図である。
第２実施形態の変形例では、各マルチコア部２３９（マルチコアＣＰＵ）の数値演算処理部２３４（プロセッサコア）を１つずつ使用するよう順次処理対象データを投入する。
【０１４６】
図７〜図７Ａで説明した第２実施形態の基本例との相違は、４つの数値演算処理部２３４で構成されているマルチコア部２３９を５つ使用したシステム構成である点である。
【０１４７】
図７Ｂ（１）の比較例では、５つのマルチコア部２３９_@にそれぞれ負荷が異なる処理が設定されている。たとえば、第１のマルチコア部２３９_1は処理負荷が最も軽い処理１が設定され、第２のマルチコア部２３９_2は処理負荷が２番目に軽い処理２が設定され、第３のマルチコア部２３９_3は処理負荷が中間の処理３が設定され、第４のマルチコア部２３９_4は処理負荷が２番目に重い処理４が設定され、第５のマルチコア部２３９_5は処理負荷が最も重い処理５が設定されている。
【０１４８】
第２実施形態の基本例と同様に、図７Ｂ（１）の比較例において図６（４）に示す各コア間通信およびメモリアクセス用のバスを共有する構成では、図７Ｃ（１）に示すように、内部バスにおいて、コア間通信とメモリアクセスが競合することで待機が発生してしまう。
【０１４９】
一方、図７Ｂ（２）の第２実施形態の変形例では、各マルチコア部２３９_@を１つずつ使用し、第１実施形態と同様に、データ受付部２３２が受け付けた解析対象データを、さらに、数値演算処理部２３４（プロセッサコアコア）ごとのメモリアクセスタイミングをずらすように粒子を割り当てることで負荷分散を図る。
【０１５０】
各マルチコア部２３９_@では、数値演算処理部２３４ごとに処理負荷が異なる。そのため、図７Ｃ（２）に示すように、各数値演算処理部２３４は、それぞれ異なるタイミングで計算処理が完了し、他の数値演算処理部２３４と通信し得るタイミングやそれぞれの計算結果のファイルを計算管理ノードの情報提示部２４０に渡し得るタイミングも異なる。異なる計算処理完了の間の期間にコア間通信を行ない得るようになるようになる。このことは、第１実施形態の第１例や第２例と同様である。よって、各コア間通信およびメモリアクセス用のバスを共有する構成でも、自マルチコア部２３９内では、コア間通信とメモリアクセスの競合が解消される。
【０１５１】
ただし、各マルチコア部２３９_@の負荷が異なることにより、計算完了時間がばらつくため、効果は最大にはならない。これに対して、第２実施形態の基本例では、各マルチコア部２３９の負荷が同一になるので効果が最大になる。
【０１５２】
なお、第２実施形態及びその変形例は、粒子挙動解析装置２０２の第２・第３構成例に適用されるが、コア間通信とメモリアクセスの競合・待機を緩和・解消するという点においては、第２構成例に適用した方が効果が高い。
【０１５３】
以上、本発明について実施形態を用いて説明したが、本発明の技術的範囲は前記実施形態に記載の範囲には限定されない。発明の要旨を逸脱しない範囲で前記実施形態に多様な変更または改良を加えることができ、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれる。
【０１５４】
また、前記の実施形態は、クレーム（請求項）にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組合せの全てが発明の解決手段に必須であるとは限らない。前述した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜の組合せにより種々の発明を抽出できる。実施形態に示される全構成要件から幾つかの構成要件が削除されても、効果が得られる限りにおいて、この幾つかの構成要件が削除された構成が発明として抽出され得る。
【０１５５】
前記実施形態は、情報処理装置が適用される具体例として粒子挙動解析装置を例に説明するとともに、解析対象粒子が存在する装置としては画像形成装置を例に説明したが、これは一例に過ぎない。
【０１５６】
たとえば、粒子挙動解析は、現像装置４０における攪拌プロセスや現像プロセスへの適用に限定されない。たとえば、電子写真方式の転写装置における転写プロセスや、クリーニング装置における清掃プロセスにも適用してよい。また、粒子種や作用力を問わず、あらゆる粒子（粉体）を取り扱うシステムのシミュレーションにも同様に適用してよい。電子写真方式以外では、岩石などの落石シミュレーション、ホッパー内の粉の流動シミュレーション、製薬用製剤装置内の粉末体の流動シミュレーションなどへ適用してもよい。
【０１５７】
また、前記実施形態の仕組みは、複数のプロセッサコアを有する情報処理装置において、同一バスを使用してコア間通信とメモリアクセスを行なうことに伴う処理効率低下を抑制するものであるから、同様のシステム構成を持つ情報処理装置（情報処理システム）に、前記実施形態の仕組みが同様に適用されることは自明である。その場合、計算処理対象は粒子挙動解析に限定されず、一般的なものでよく、数値演算処理部２３４は入力された計算情報に基づき情報処理計算を行なう計算部に置き換え、バスインタフェース部２３５は、情報処理計算の結果の出力可否を切り替えるものとすればよい。
【符号の説明】
【０１５８】
１…画像形成装置、１０…感光体、２０…帯電装置、３０…露光装置、４０…現像装置、５０…転写装置、６０…クリーニング装置、７０…定着装置、１０２…現像剤粒子、１４０…現像ロール、２００…粒子挙動解析システム、２０２…粒子挙動解析装置、２０８…ネットワーク（通信線）、２０９_1…サブネットワーク（副通信線）、２０９_2…メインネットワーク（主通信線）、２０９_3…内部配線（副通信線）、２１０…指示入力装置、２１２…表示装置、２２０…データ入力部、２３０…データ処理部、２３２…データ受付部、２３３…解析負荷分散処理部、２３４…数値演算処理部（粒子挙動計算部）、２３５…バスインタフェース部、２３７…メモリアクセス制御部、２３８…データ記憶部、２４０…情報提示部、２５０…分割処理部、２５０ａ…解析負荷分散処理部
【図１】
2010218500.tif 000003
【図２】
2010218500.tif 000004
【図２Ａ】
2010218500.tif 000005
【図２Ｂ】
2010218500.tif 000006
【図３】
2010218500.tif 000007
【図３Ａ】
2010218500.tif 000008
【図３Ｂ】
2010218500.tif 000009
【図４】
2010218500.tif 000010
【図４Ａ】
2010218500.tif 000011
【図４Ｂ】
2010218500.tif 000012
【図５】
2010218500.tif 000013
【図５Ａ】
2010218500.tif 000014
【図５Ｂ】
2010218500.tif 000015
【図５Ｃ】
2010218500.tif 000016
【図６】
2010218500.tif 000017
【図６Ａ】
2010218500.tif 000018
【図７】
2010218500.tif 000019
【図７Ａ】
2010218500.tif 000020
【図７Ｂ】
2010218500.tif 000021
【図７Ｃ】
2010218500.tif 000022