JP2008192128A - 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム - Google Patents

情報処理装置、および情報処理方法、並びにコンピュータ・プログラム Download PDF

Info

Publication number
JP2008192128A
JP2008192128A JP2007296676A JP2007296676A JP2008192128A JP 2008192128 A JP2008192128 A JP 2008192128A JP 2007296676 A JP2007296676 A JP 2007296676A JP 2007296676 A JP2007296676 A JP 2007296676A JP 2008192128 A JP2008192128 A JP 2008192128A
Authority
JP
Japan
Prior art keywords
processor
information processing
communication
processing apparatus
communication unit
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.)
Pending
Application number
JP2007296676A
Other languages
English (en)
Inventor
Hiroshi Kusogami
宏 久曽神
Yuji Kawamura
祐二 河村
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
Sony Corp
Original Assignee
Sony Corp
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 Corp, Sony Computer Entertainment Inc filed Critical Sony Corp
Priority to JP2007296676A priority Critical patent/JP2008192128A/ja
Priority to US11/971,791 priority patent/US8645668B2/en
Priority to CN2008100029409A priority patent/CN101261590B/zh
Publication of JP2008192128A publication Critical patent/JP2008192128A/ja
Pending legal-status Critical Current

Links

Abstract

【課題】マルチプロセッサ構成を持つ情報処理装置における効率的な通信制御構成を実現する。
【解決手段】複数のプロセッサを有しネットワークを介した通信を行なう情報処理装置において、オペレーティングシステム(OS)の制御を実行するメインプロセッサと異なるサブプロセッサに、通信部対応のデバイスドライバの制御を実行させ、通信部としてのネットワークカードからの割り込みに基づく通信制御をサブプロセッサにおいて実行する構成とした。本構成によりメインプロセッサのデータ処理の遅延を発生させることなくデータ処理を効率的に実行するこが可能となる。
【選択図】図9

Description

本発明は、情報処理装置、および情報処理方法、並びにコンピュータ・プログラムに関する。さらに詳細には、マルチプロセッサ構成を持ち、複数のプロセッサを利用したデータ処理を実行する構成において、例えば通信処理などに起因するデータ処理効率の低下を防止した構成を持つ情報処理装置、情報処理方法、並びにコンピュータ・プログラムに関する。
昨今、例えばPC等の情報処理装置において、複数のプロセッサ(CPU)を搭載し、様々なデータ処理を複数のプロセッサを並列に利用しながら実行する、いわゆるマルチプロセッサ構成を有する情報処理装置が利用されている。また、その中で、複数のCPUの各々に異なる役割を設定したマルチプロセッサ環境は非対称マルチプロセッサ環境と呼ばれる。
このような非対称マルチプロセッサ環境においては、例えば、1のメインCPU(以下、「PPU(Power Processor Unit)」という)が設けられると共に、複数のサブのCPU(以下、「SPU(Synergistic Processor Unit)」という)が設けられる。各プロセッサは、例えば、
(1)PPUが、OSに基づく処理を実行すると共に、
(2)各SPUが、エンコード/デコード機能、或いは、音声や画像などの処理に特化したDSP(Digital Signal Processor)機能等、一部の機能に特化した処理を実行することとなる。
なお、SPUは、一般的なDSPよりも汎用なプログラムを実行できるように設計されていることから、DSPを用いた場合と比較すると、処理上のアドバンテージが大きくなる。非対称マルチプロセッサを備えた情報処理装置においてネットワーク通信を伴うデータ処理を実行させる場合の処理階層の一例を図1に示す。図1に示すように、データ通信を実行するネットワークカード101を最下層として、その上位にデータ処理を実行するプロセッサが設定される。PPU111は、OSを実行する主たるプロセッサである。SPU−n121は、それぞれ割り当てられた処理を実行するプロセッサである。
PPU111は、例えば、OSを実行すると共に、例えば、ネットワークカードに対するドライバ131、TCP/IP等の通信プロトコルに対応したプロトコルスタック132等のプログラム130の制御を実行する。最上位層には、通信処理の実行を要求するアプリケーション140が設定される。図1に示すように、プロトコルスタック132やドライバ131などはOSと共にメインプロセッサであるPPU111上で動作し、ネットワークカード101からの割り込みもPPU111にて処理されることになる。
なお、通信処理を実行する場合、送信データの取得先、あるいは受信データの格納先としてのメモリと、ネットワークカードの間で送受信パケットの受渡しを行なうことが必要となるが、この際、図2に示すようなディスクリプタが用いられる。ディスクリプタは、メモリアクセスのための識別データであり、例えば図2に示すように通信データを構成するパケットがメモリ上のどの場所に置かれているかを示すアドレス(address)フィールド、パケットサイズを示すレングス(length)フィールド、送受信の状態を示すステータス(status)フィールドからなる。
図1に示す情報処理装置においては、上述したようにOSを制御するメインプロセッサであるPPU111がネットワークカード101からの割り込みを処理する構成となっている。PPU111によるパケット送受信の流れについて、図3に示すフローチャートを参照して説明する。
まず、PPU111は、アプリケーションからの通信処理の要求に応じてステップS101において、パケット送受信するためにメモリ領域を確保して、当該確保したメモリ領域に対応するディスクリプタをドライバ131に従って設定する。ステップS102において、設定したディスクリプタ情報がネットワークカードに通知される。この通知処理は、ネットワークカード101に対するレジスタへの書き込みなどによって実行される。
次に、ステップS103において、ネットワークカード101によりディスクリプタに従ったデータ送受信が実行された後、ステップS104においてPPU111に対する割り込み処理が発生する。PPU111は、割り込み処理に基づいて、例えばメモリ空間の開放など、予め設定された通信処理後の処理を実行する。
ステップS103のネットワークカード101によるデータ送受信処理は、データ送信時とデータ受信時とでは異なる処理になる。これらの処理の詳細について、図4、図5を参照して説明する。
<データ送信処理>
図4は、ネットワークカード101において実行されるディスクリプタに従ったデータ送信処理を示すフローチャートである。
このデータ送信処理においてネットワークカード101は、図4に示すように、まず、ステップS121においてディスクリプタの読み出しを実行し、ステップS122においてディスクリプタの値、すなわちアドレスとレングスに従ったDMA(Direct Memory Access)を開始し、ステップS123でDMAを終了する。この処理は送信データのメモリからの読み出し処理である。ステップS124において、ネットワークカード101は、DMAの成功の有無、すなわちメモリアクセスの成否をディスクリプタのステータス(status)に書き込み、メモリからのデータ読み出しに成功した場合は、データ送信を実行する。
次に、ステップS125において、ネットワークカード101は、未処理のディスクリプタの有無を確認し、未処理ディスクリプタがある場合、ステップS121からの処理を繰り返し実行し、未処理ディスクリプタが無くなった時点でステップS126に処理を進める。この結果、データ送信の成功の有無を示す送受信ステータスがネットワークカード対応のレジスタに書き込まれ(ステップS126)、PPU111に対する割り込み通知処理が実行される(ステップS127)。
<データ受信処理>
一方、データ受信処理において、ネットワークカード101は、図5に示すように、まず、ディスクリプタの読み出しを実行し(ステップS131)、ステップS132においてパケットの受信が確認されると、ディスクリプタの値に従ったDMAを実行し、受信データのメモリに対する書き込み処理を行う(ステップS133及びS134)。
次に、ネットワークカード101は、ステップS133及びS134におけるDMAの成功の有無、すなわちメモリアクセスの成否をディスクリプタのステータスフィールドに書き込むと共に、レングスフィールドに、実際のパケットサイズを書き込む(ステップS135)。その後、ステップS136において、データ受信の成功の有無を示す送受信ステータスがネットワークカード対応のレジスタに書き込まれ、ステップS137においてPPU111に対する割り込み通知処理が実行される。
ネットワークカード101によるDMAに基づくデータ送受信処理が完了すると、PPU111では割り込み処理が実行される。ネットワークカードからのこの割り込み通知によるPPU111の割り込み処理シーケンスについて図6に示すフローチャートを参照して説明する。
まず、ステップS141において、ネットワークカード101からの割り込みをPPUが受信すると、PPU111はレジスタ退避などを行なって、現在実行中のプロセスを中断するための処理を行ない(ステップS142)、割り込みハンドラを起動させる(ステップS143)。この割り込みハンドラ起動処理のフローチャートを図7に示す。
まず、この処理において、PPU111は、割り込み要因を確認するために、ネットワークカードのステータスをネットワークカード対応のレジスタから読み出す処理を実行する(ステップS151)。このステータスは、図4のステップS126、または図5のステップS136においてネットワークカード101によって書き込まれたデータ送受信の成功またはエラーのデータ送受信ステータスである。
次いで、PPU111は、ステータスの送信が完了したか否かを判定する状態となり(ステップS152)、「no」と判定すると、そのまま、処理をステップS154に進める一方、「yes」と判定した場合、送信データが格納されていたメモリ領域を解放した後(ステップS153)、処理をステップS154に進める。このステップS154においてステータスが受信完了であると判定された場合、PPU111は、受信パケットをプロトコルスタックへ渡す(ステップS155)。ステップS156において、ステータスがエラーであると判定された場合、PPU111はネットワークカードのリセットを行なう(ステップS157)。最後にステップS158においてPPU111は割り込みステータスのクリアを行ない、割り込みハンドラ起動処理を終了する。
この図7に示す処理を図6のステップS143において実行した後、ステップS144に進み、退避したレジスタの内容を回復するなどしてプロセスの復帰処理を行なう。
以上の構成の下では、割り込み処理が発生するとPPUは現在実行中のプロセスを中断する必要がある。従って、ネットワーク通信が高速になり頻繁に発生するとプロセスの中断回数が増加することになる。割り込み処理は、キャッシュを破壊したり、メモリアクセスの局所性を破壊したりするので、PPUにおける処理時間が使用される以上にPPUの処理性能低下をもたらすことになる。
本発明は、上記問題点に鑑みてなされたものであり、例えばデータ通信処理の発生に伴うデータ処理効率の低下を発生させることのない情報処理装置、および情報処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
本発明の第1の側面は、複数のプロセッサを有する情報処理装置であり、オペレーティングシステムに基づいた処理を実行する第1プロセッサと、通信処理を実行する通信部と、前記通信部対応のデバイスドライバに基づいた処理を実行する第2プロセッサと、を有する。
さらに、本発明の第2の側面は、複数のプロセッサを有する情報処理装置における情報処理方法であり、オペレーティングシステムに基づいた処理を実行する第1プロセッサと異なる第2プロセッサが、通信部の設定する割り込みステータスの読み出し処理を実行するステップと、前記第2プロセッサが、読み出した割り込みステータスに従って処理を決定し、決定した処理を実行するステップと、を有する。
さらに、本発明の第3の側面は、複数のプロセッサを有する情報処理装置において通信処理制御を実行させるコンピュータ・プログラムであり、オペレーティングシステムに基づいた処理を実行する第1プロセッサと異なる第2プロセッサに、通信部の設定する割り込みステータスの読み出し処理を実行させるステップと、前記第2プロセッサに、読み出した割り込みステータスに従って処理を決定させ、決定した処理を実行させるステップと、を有することを特徴とする。
本発明の一実施例の構成によれば、複数のプロセッサを有しネットワークを介した通信を行なう情報処理装置において、オペレーティングシステム(OS)の制御を実行するメインプロセッサと異なるサブプロセッサに、通信部対応のデバイスドライバの制御を実行させ、通信部としてのネットワークカードからの割り込みに基づく通信制御をサブプロセッサにおいて実行する構成としたので、メインプロセッサのデータ処理の遅延を発生させることなくデータ処理を効率的に実行するこが可能となる。
以下、本発明の情報処理装置、および情報処理方法、並びにコンピュータ・プログラムの詳細について説明する。
[実施例1]
まず、図8を参照して、本発明の情報処理装置の構成例について説明する。本発明に係る情報処理装置は、前述した非対称マルチプロセッサ環境と同様に、1つのPPUと、8つのSPUによって構成される。
図8に示すように、PPU211は、PPE(Power Processor Element)210中に構成され、8つのSPU221は、それぞれ個別のSPE(Synergistic Processor Element)220中に構成される。PPU211がOSを制御するメインプロセッサとして機能し、8つのSPU221は、それぞれの役割に従った処理を実行するサブプロセッサである。
PPE210は、2段階のキャッシュメモリとしてのL1キャッシュ212、L2キャッシュ213を有する。また、SPE220は、L1キャッシュと同等の速度で動作するローカルストア(LS)222と呼ばれるメモリ空間を保有する。SPE220からのメインメモリ(XDR)232に対するアクセスは、主にメモリフローコントローラ(MFC)223を介したDMAアクセスとして行われる。図に示すように、メインメモリ232は、メモリインタフェース・コントローラ(MIC)231を介して接続され、さらに、通信部としてのネットワークカード242は、入出力コントローラ(IOC)241を介して接続されている。
図9を参照して本発明の第1実施例に係る情報処理装置における処理階層としてのレイヤ構成について説明する。図9は、ネットワーク通信を実行する場合の処理階層を示す。本発明の第1実施例では、図9に示すように、ネットワークカードに対応するデバイスドライバを1つのサブプロセッサSPU上に実装する。
図9に示すように、データ通信を実行する通信部としてのネットワークカード301を最下層として、その上位にデータ処理を実行するプロセッサが設定される。なお、特許請求の範囲における「通信部」は、例えば、ネットワークカード301に相当し「第1プロセッサ」は、例えば、PPU311に相当し、「第2プロセッサ」は、例えば、SPU−1〜8に相当するものである。
PPU311は、OS、例えばTCP/IP等の通信プロトコルに対応したプロトコルスタック331等のプログラム330を実行する。プロトコルスタック331は、ネットワークカード301を介したデータ通信を制御するための通信制御プログラムである。最上位層には、ネットワークカード301を介したデータ通信の実行を要求するアプリケーション340が設定される。
ここで、上述したように従来の非対称マルチプロセッサ環境においては、ドライバに基づく処理をPPUにより実行する構成が採用されていた。このため、パケットの送受信が発生すると、割り込み処理が発生し、PPUおいて実行中のプロセスが一時的に中断されてしまう事態が招来する。この割り込みに起因するPPUの処理中断は、意図せぬPPUの性能低下をもたらし、充分にプロセッサの能力を生かしきれない一因となる。
また、パケットの送受信をPPUに対する割り込みにより行った場合、
(1)パケットを送信してからメモリを解放するまで、
(2)パケットを受信してからプロトコルスタックに渡すまで、更には、
(3)ハンドラが起動するまで、
の各々のタイミングで遅延が生じる。
このため、この遅延時間を吸収するために、バッファに容量的な余裕が必要となってしまい、バッファ資源の無駄遣いが発生することとなる。
一方、ネットワークカード側の視点に立つと、PPUの処理能力がボトルネックとなって、十分高帯域なネットワークが利用可能にも関わらず、その帯域を有効に利用した通信ができないという事態も招来する。
これらの要因は、PPUにパケットの送受信をハンドルさせていることに起因するものと想定されることから、本実施例では、ネットワークカード301に対応するドライバ350を何れかのSPU−1乃至8上に実装し、SPU−1乃至8においてドライバ350を実行することとした。この構成により、ネットワークカード301からの割り込みがSPU−1乃至8により処理されるようになり、ドライバ350を動かすために使用されていたPPUの処理時間が開放されるだけでなく、割り込み処理に因って作業が中断する可能性があったPPU上で動く全てのプログラムに対する影響も回避可能となる。また、この構成の下では、デバイスドライバ以外のプログラムがSPU−1乃至8上で動作しておらず、DMA転送のための割り込み処理の実行中に、他のアプリケーションによる割り込みが発生するといったことが起こらないため、ネットワークカードからの割り込みに対してより素早く反応することが可能となる。つまり、送受信データの受け渡しを細かい粒度で行えるため、受け渡しに要するバッファサイズを小さくすることも可能となるのである。
なお、図9では、形式的にドライバ350をSPU−1,321−1上に実装しているが、ドライバ350は、サブプロセッサSPU−1,321−1以外のその他のサブプロセッサSPU−2〜上に実装するようにしても良く、この場合であっても、何ら本実施例特有の効果を損なうことは無い。
また、本実施例のように、ネットワークカード301からの割り込みをSPU−1,321−1で動作するデバイスドライバ350に通知するためには、マルチプロセッサ環境において任意のプロセッサに対して割り込み可能なネットワークカードが求められる。
任意のプロセッサに対して割り込み可能なネットワークカードの構成例について、図10、図11を参照して説明する。図10は、ネットワークカード301の機能的構成例を示すブロック図である。ネットワークカード301の送受信部351は、ネットワークに送信された信号を取得し、ネットワークから取得した信号に対応するデータのうち、ネットワークカード301が組み込まれた端末が受信すべきイーサネット(登録商標)フレームやIPパケットなどのデータを受信する。なお、送受信部351が準拠すべき通信形式については任意であり、有線及び無線の何れの通信形式を取るようにしても良い。
アドレス解析部352は、送受信部351が受信したデータ(例えばIPパケット)の宛先IPアドレスをチェックし、テーブル管理部353により記憶されているテーブルを検索する。テーブル管理部353は、例えば、図11に示されるようなIPアドレスとSNR(Signal Notification Register)とを対応付けたテーブルを記憶している。
SNRは、図10に示すようにプロセッサ毎に設けられ、各種のデバイスとの間での同期をとるためのレジスタである。例えば、情報処理装置に組み込まれた各種のデバイスが、所定のプロセッサに対して割り込みを行う場合、割り込みを行うべきプロセッサに対応するSNRに割り込みが発生したこと表すデータなどを書き込む。そして、そのSNRに対応するプロセッサがSNRに書き込まれたデータに基づいて、例えば、デバイスから供給されるデータを図示せぬメモリの所定のエリアに移動させるなどの割り込み処理を実行する。
本実施例に係る情報処理装置は、複数のプロセッサを有し、それぞれのプロセッサにおいて異なるデータ処理を実行する非対称マルチプロセッサ環境を持つ装置であり、このような装置ではネットワークカード301が例えばデータ受信を行った場合、プロセッサに割り込みを通知する前に、予めどのプロセッサで受信されるべきデータであるかを特定する必要がある。そこで、図11に示されるようなテーブルを参照することで、ネットワークカード301が予めどのプロセッサで受信されるべきデータであるかを特定する。
例えば、各プロセッサあるいはプロセッサの実行するアプリケーション等のプログラムに対してそれぞれ異なるIPアドレスを付与し、図11に示されるようなIPアドレスとSNR(Signal Notification Register)とを対応付けたテーブルに基づいて、受信データ(IPパケット)に対応するSNRを特定して、特定したプロセッサに割り込みを実行する。
すなわち、図10に示すネットワークカード301の割り込み発生部354は、アドレス解析部352からの指令に基づいて、所定のSNRに対してIPパケットの受信を通知することで割り込みを発生させる。すなわち、割り込み発生部354は、アドレス解析部352がテーブル管理部353により記憶されているテーブルに基づいて特定したプロセッサに対応するSNRにネットワークカード301からの割り込みが発生したこと表すデータなどを書き込む。そして、そのSNRに対応するプロセッサ(例えば、SPU−1)がSNRに書き込まれたデータに基づいて割り込み処理を実行する。
なお、図9に示す構成において、PPU311やSPU321がネットワークカード301を利用したデータ通信を実行する場合、送受信データの格納メモリ領域であるメインメモリ(XDR)やローカルストア(LS)と、ネットワークカード301のアドレス空間としてのI/Oアドレス空間とをマッピングする処理が必要となる。図12を参照してマッピング処理構成について説明する。メインメモリ(XDR)やローカルストア(LS)は、有効アドレス(EA:Effective Address)と呼ばれる64ビットのアドレス空間にマップされており、任意の有効アドレス(EA)を各種のサイズ(例えば4K,64K,1M,16M)で、ネットワークカード301のアドレス空間としてのI/Oアドレス空間にマップすることが可能な構成となっている。たとえば、デバイスがディスクリプタやパケットデータをDMA転送するためにアドレス空間にアクセスした場合を想定する。この場合、I/Oページテーブル(IOPT)を用いて有効アドレス(EA)が特定され、送受信データの格納メモリ領域であるメインメモリ(XDR)やローカルストア(LS)と、ネットワークカード301のアドレス空間としてのI/Oアドレス空間とのマッピングが実行される。
このように、本実施例ではSPU−1,321−1をドライバ350の実行用とした構成を採用したため、上記の効果に加えて、デバイスドライバが1つのSPUを使いつづけても他のプログラムに影響を与えないという副次的な効果も発生する。この結果、送受信の完了処理をポーリングを用いて行うことが可能となる。ポーリングによるデータ送受信完了シーケンスについて、図13に示すフローを参照して説明する。
ネットワークカード対応のデバイスドライバの制御プロセッサであるSPUは、ステップS201において、割り込み要因を確認するためにネットワークカードのステータスを、ネットワークカード対応のレジスタから読み出す処理を実行する。このステータスは、先に説明した図4のステップS126、または図5のステップS136においてネットワークカードによって書き込まれたデータ送受信の成功またはエラーのデータ送受信ステータスに相当する。ステップS202においてステータスが空であると判定した場合、SPUは、ステップS201に戻り繰り返しステータスの確認を行なう。
ステップS203において、ステータスが送信完了であると判断された場合、SPUは、ステップS204において、送信データが格納されていた対応するメモリ領域を解放する。ステップS205においてステータスが受信完了であると判定された場合、SPUはステップS206に進み、受信パケットをプロトコルスタックへ渡す。ステップS207において、ステータスがエラーであると判定された場合、SPUはステップS208に進みネットワークカードのリセットを行なう。最後にステップS209において割り込みステータスのクリアを行ない、割り込み処理を終了する。
なお、この図13に示す処理を繰り返し実行する場合には、デバイスドライバの制御プロセッサであるSPUが、割り込みステータスを繰り返し確認することが必要となる。割り込みステータスの状態は、ネットワークカード対応のレジスタに記録され、SPUは、そのレジスタを参照することが必要となるが、例えば、図14に示すように、ネットワークカードの処理として、レジスタ値のコピーデータをSPUの参照可能なメモリ(RAM)355に記録する処理を実行させる構成とすれば良い。この場合、SPUがメモリ(RAM)355内の割り込みステータス記録領域356を読み取ることで、割り込みステータスを知ることが可能となる。この構成によれば、SPUは、デバイスのレジスタに対する読み出しアクセスではなくメモリに対する読み出しを行えばよくなり、レジスタ参照に比較してより高速化した処理が可能となる。
なお、図9に示すレイヤ構成では、例えばTCPやUDP等のプロトコルスタック331は、PPU311による実行対象として設定され、ネットワークカード301対応のドライバ350がSPU−1,321−1の実行対象として設定されている。このような構成におけるプロトコルスタックとドライバ間のパケットデータの受け渡しシーケンスについて図15、図16に示すフローを参照して説明する。
図15に示すフローは、ネットワークカード301によるデータ送信処理を実行する際のプロトコルスタックとドライバ間のパケットデータの受け渡しシーケンスを説明するフローチャートである。なお、アプリケーションを処理の実行主体として説明する事で発明の把握が容易になることから、以下においては、アプリケーションをフローチャートの実行主体として説明を行うが、実際の処理主体がこれらアプリケーションを実行するプロセッサである事は言うまでもない。このデータ送信処理に際して、まず、PPU311により実行されたプロトコルスタック331は、アプリケーション340から送信対象とするパケットデータを受領する(ステップS301)。次に、ステップS302において、プロトコルスタック331が、送信データとなるパケットデータの格納先としてのメインメモリ(XDR)のアドレスとサイズをドライバに通知する。
次に、ステップS303において、SPU−1,321−1により実行されたドライバ350が、メモリフローコントローラ(MFC)によるDMAによりメインメモリ(XDR)上のパケットデータをSPU−1,321−1に対応するローカルストア(LS)にコピーする。次に、ステップS304において、ドライバ350が、MFCDMAの完了をプロトコルスタック331に通知する。最後にステップS305において、プロトコルスタック331が、パケットデータが利用していたメインメモリ(XDR)領域を開放する。
この処理シーケンスによって、アプリケーション340が送信対象として設定したデータは、プロトコルスタック331からドライバ350に渡される。さらに、SPU−1,321−1に対応するローカルストア(LS)にコピーされたデータは、先に図12を参照して説明したマッピング処理によって、ネットワークカード301のアドレス空間としてのI/Oアドレス空間にマップされてネットワークカカードによる送信処理が実行される。
次に、図16に示すフローを参照して、ネットワークカード301によるデータ受信処理を実行する際のプロトコルスタックとドライバ間のパケットデータの受け渡しシーケンスについて説明する。このデータ受信処理に際しては、まず、ステップS321において、PPU311により実行された、プロトコルスタック331が受信バッファのメインメモリ(XDR)上のアドレスとサイズをSPU−1,321−1の実行対象であるドライバ350に通知する。
次に、ステップS322において、ドライバ350がSPU−1,321−1に対応するローカルストア(LS)にネットワークカード301が受信した受信パケットデータを記録する。次に、ステップS323において、SPU−1,321−1により実行されたドライバ350が、メモリフローコントローラ(MFC)によるDMAによりローカルストア(LS)上のパケットデータをメインメモリ(XDR)にコピーする。次に、ステップS324において、ドライバ350が、MFCDMAの完了をプロトコルスタック331に通知する。最後にステップS325において、プロトコルスタック331が、受信したパケットデータをアプリケーション340に渡す
この処理シーケンスによって、アプリケーション340が受信しようとしたデータは、ドライバ350からプロトコルスタック331に渡された後、プロトコルスタック331からアプリケーション340に提供される。
[その他の実施例]
図9を参照して説明したレイヤ構成では、1つのサブプロセッサ(図9ではサブプロセッサSPU−1,321−1上にネットワークカード対応のドライジ350を設定した構成としたが、その他の構成例について図17以下を参照して説明する。
(ドライバとプロトコルスタックをSPUによる実行対象とする構成例)
ドライバとプロトコルスタックをSPUの実行対象とする構成例について、図17を参照して説明する。図17は、ネットワークカード対応のドライバ361のみならず、さらにプロトコルスタック362についてもOS実行プロセッサであるメインプロセッサのPPU311ではなく、1つのサブプロセッサ、図に示す例では、SPU−1,321−1の実行対象として設定した例である。
この実施例では、図9を参照して説明した例と異なり、プロトコルスタック362についてもPPU311の制御対象から除かれるので、PPU311の処理負荷はさらに軽減されることになる。プロトコルスタックをSPU上で動作させる構成とすることで、例えば、PPUの実行対象となるプロトコルスタックとは異なるプロトコルスタックをSPUの実行用に実装した場合であっても、PPU上のプロトコルスタックを利用する他の通常アプリケーションには影響しないため、パケットサイズや再送アルゴリズムなどに関してSPUに特化したプロトコルスタックへの変更が容易となるというメリットがある。
(ドライバとプロトコルスタックとアプリケーションをSPUの実行対象とする構成例)
ドライバとプロトコルスタックとアプリケーションをSPUの制御下とする構成例について図18を参照して説明する。図18は、ネットワークカード対応のドライバ365のみならず、さらにプロトコルスタック366、およびアプリケーション367についてもPPU311ではなく、1つのSPU、図に示す例では、SPU−1,321−1の実行対象として設定した例である。なおアプリケーション367はネットワークカード301を適用した通信処理を実行するアプリケーションである。図に示さないその他のアプリケーションも存在し、それらのアプリケーションは、それぞれPPUやその他のSPUにより実行される。
図18に示すように、アプリケーション367もドライバ365、プロトコルスタック366と同じSPU上に実装すると、PPUとSPUの間でパケットデータを受け渡しする必要がなくなり、PPUの性能や負荷に全く影響されずに通信を行うことが可能となる。
(ドライバとプロトコルスタックとアプリケーションの各々が異なるPPU,SPUにより実行される構成例)
次に、ドライバとプロトコルスタックとアプリケーションの各々が異なるPPU,SPUにより実行される構成について図19、図20を参照して説明する。図19は、デバイスドライバ371と、プロトコルスタック372と、アプリケーション373の各々が異なるPPU、SPUにより実行される構成例である。図19に示す例では、
ドライバ371は、SPU−1,321−1、
プロトコルスタック372は、SPU−2,321−2、
アプリケーション340は、PPU311、
上記の各プロセッサにより実行される。
また、図20に示す例では、
ドライバ381は、SPU−1,321−1、
プロトコルスタック382は、SPU−2,321−2、
アプリケーション383は、SPU−3,321−3、
上記の各プロセッサにより実行される。
このような構成とすることで、各プロセッサの処理負荷は分散され、1つのプロセッサの負荷が過大になることが防止される。
(ドライバを送信部分と受信部分に分割して異なるSPUにより処理させる構成例)
次に、ネットワークカード対応のドライバを送信部分と受信部分に分割して異なるSPUにより処理させる構成例について説明する。図21は、ネットワークカード301対応のドライバを送信部分と受信部分に分割し、
送信ドライバ391を、SPU−1,321−1、
受信ドライバ392を、SPU−2,321−2、
上記の各プロセッサにより実行させる構成としたものである。
この構成によれば、データ送信と、データ受信の各処理のドライバ制御を個別のプロセッサで実行可能となる。
(プロトコルスタックをプロトコル種類に応じて異なるSPUで実行させる構成例)
次に、プロトコルスタックをプロトコル種類に応じて異なるSPUで実行させる構成例について説明する。図22は、プロトコルスタックをTCPとUDP各々のプロトコルによって分割して、
TCPプロトコルスタック401を、SPU−1,321−1、
UDPプロトコルスタック402を、SPU−2,321−2、
上記の各プロセッサにより実行させる構成としたものである。
なお、図22に示す構成では、
ドライバ403は、SPU−3,321−3により実行される構成として示してある。
この構成によれば、プロトコルに応じてSPUを使い分けることが可能となり、各プロトコルに特化した処理を各プロセッサにおいて実行させる処理構成を容易に構築することが可能となる。
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアに基づく処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
例えば、プログラムは記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
なお、上記実施例においては、TCP/IPをプロトコルとして利用した場合について説明したが、RTP/UDP/IP等、他のプロトコルに関しても同様の構成により対応可能である。
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
上述したように、本発明の一実施例の構成によれば、複数のプロセッサを有しネットワークを介した通信を行なう情報処理装置において、オペレーティングシステム(OS)の制御を実行するメインプロセッサ(CELLにおけるPPU)と異なるサブプロセッサ(CELLにおけるSPU)に、通信部対応のデバイスドライバの制御を実行させ、通信部としてのネットワークカードからの割り込みに基づく通信制御をサブプロセッサにおいて実行する構成としたので、メインプロセッサのデータ処理の遅延を発生させることなくデータ処理を効率的に実行するこが可能となる。
CELLを備えた情報処理装置においてネットワーク通信を伴うデータ処理を実行させる場合の処理階層の例を示す図である。 ディスクリプタの構成例について説明する図である。 PPUによるパケット送受信の流れについて説明するフローチャートを示す図である。 ネットワークカードにおいて実行されるディスクリプタに従ったデータ送信処理のシーケンスについて説明するフローチャートを示す図である。 ネットワークカードにおいて実行されるディスクリプタに従ったデータ受信処理のシーケンスについて説明するフローチャートを示す図である。 ネットワークカードからのこの割り込み通知によるPPUの割り込み処理シーケンスについて説明するフローチャートを示す図である。 割り込みハンドラ起動処理の詳細シーケンスについて説明するフローチャートを示す図である。 本発明の情報処理装置の構成例について説明する図である。 本発明の第1実施例に係る情報処理装置における処理階層としてのレイヤ構成について説明する図である。 ネットワークカードの機能的構成例を示すブロック図である。 IPアドレスとSNR(Signal Notification Register)とを対応付けたテーブル構成例について説明する図である。 送受信データの格納メモリ領域であるメインメモリ(XDR)やローカルストア(LS)と、ネットワークカードのアドレス空間としてのI/Oアドレス空間とをマッピングする処理について説明する図である。 ポーリングによるデータ送受信完了シーケンスについて説明するフローチャートを示す図である。 レジスタ値のコピーデータをSPUの参照可能なメモリ(RAM)に記録する処理を実行させるための構成例について説明する図である。 プロトコルスタックとドライバ間のパケットデータの受け渡しシーケンスについて説明するフローチャートを示す図である。 プロトコルスタックとドライバ間のパケットデータの受け渡しシーケンスについて説明するフローチャートを示す図である。 ドライバとプロトコルスタックをSPUの実行対象とする構成例について説明する図である。 ドライバとプロトコルスタックとアプリケーションをSPUの実行対象とする構成例について説明する図である。 ドライバとプロトコルスタックとアプリケーションの各々が異なるPPU,SPUにより実行される構成例について説明する図である。 ドライバとプロトコルスタックとアプリケーションの各々が異なるPPU,SPUにより実行される構成例について説明する図である。 ネットワークカード対応のドライバを送信部分と受信部分に分割して異なるSPUで実行させる構成例について説明する図である。 プロトコルスタックをプロトコル種類に応じて異なるSPUで実行させる構成例について説明する図である。
符号の説明
101 ネットワークカード
111 PPU(Power Processor Unit)
121 SPU(Synergistic Processor Unit)
130 プログラム
131 ドライバ
132 プロトコルスタック
140 アプリケーション
210 PPE(Power Processor Element)
211 PPU(Power Processor Unit)
212 L1キャッシュ
213 L2キャッシュ
220 SPE(Synergistic Processor Element)
221 SPU(Synergistic Processor Unit)
222 LS(ローカルストア)
223 MFC(メモリフローコントローラ)
301 ネットワークカード
311 PPU(Power Processor Unit)
321 SPU(Synergistic Processor Unit)
330 プログラム
331 プロトコルスタック
340 アプリケーション
350 ドライバ
351 送受信部
352 アドレス解析部
353 テーブル管理部
354 割り込み発生部
355 メモリ(RAM)
356 割り込みステータス記録領域
361 ドライバ
362 プロトコルスタック
365 ドライバ
366 プロトコルスタック
367 アプリケーション
371 ドライバ
372 プロトコルスタック
381 ドライバ
382 プロトコルスタック
383 アプリケーション
391 送信ドライバ
392 受信ドライバ
401 TCPスタック
402 UDPスタック
403 ドライバ

Claims (15)

  1. 複数のプロセッサを有する情報処理装置であり、
    オペレーティングシステムに基づいた処理を実行する第1プロセッサと、
    通信処理を実行する通信部と、
    前記通信部対応のデバイスドライバに基づいた処理を実行する第2プロセッサと、
    を有することを特徴とする情報処理装置。
  2. 前記第2プロセッサは、
    前記通信部の設定する割り込みステータスを読み出し、読み出した割り込みステータスに従って処理を決定し、決定した処理を実行する構成であることを特徴とする請求項1に記載の情報処理装置。
  3. 前記第2プロセッサは、
    前記通信部の設定する割り込みステータスが送信完了である場合は、メモリにおける送信データの格納領域を解放し、
    前記割り込みステータスが受信完了である場合は、受信データをプロトコルスタックに基づいて処理し、
    前記割り込みステータスがエラーである場合は、前記通信部のリセット処理を実行する構成であることを特徴とする請求項2に記載の情報処理装置。
  4. 前記第2プロセッサは、
    前記通信部の設定する割り込みステータスの読み出し処理を繰り返し実行する構成であることを特徴とする請求項2に記載の情報処理装置。
  5. 前記通信部は、
    前記割り込みステータスを通信部対応のレジスタ領域に書き込むと共に、前記第2プロセッサのアクセス可能なメモリ領域にコピーする処理を実行する構成であり、
    前記第2プロセッサは、
    前記通信部の設定する割り込みステータスを、前記メモリ領域から取得する構成であることを特徴とする請求項1に記載の情報処理装置。
  6. 前記情報処理装置は、
    前記通信部を介した通信を実行させるアプリケーションと、
    通信部を介するデータ通信に適用する通信プロトコルに対応する通信制御処理を実行するプロトコルスタックを有し、
    前記通信部を介するデータ通信に際して、前記プロトコルスタックと、前記デバイスドライバとの間での通信データの受け渡しを実行する構成であることを特徴とする請求項1に記載の情報処理装置。
  7. 前記プロトコルスタックは、前記第1プロセッサにより実行される構成であり、
    前記プロトコルスタックと、前記第2プロセッサにより実行されるデバイスドライバとの間での通信データの受け渡しは、情報処理装置に構成されたメインメモリと、前記第2プロセッサに対応して設定されるローカルストア間のデータコピー処理を伴う処理として実行する構成であることを特徴とする請求項6に記載の情報処理装置。
  8. 前記第2プロセッサは、
    前記通信部を介するデータ通信に適用する通信プロトコルに対応する通信制御処理を実行するプロトコルスタックに基づく処理を実行する構成であることを特徴とする請求項1に記載の情報処理装置。
  9. 前記第2プロセッサは、
    前記通信部を介した通信を実行させるアプリケーションを実行する構成であることを特徴とする請求項1に記載の情報処理装置。
  10. 前記情報処理装置は、さらに、
    前記通信部を介するデータ通信に適用する通信プロトコルに対応する通信制御処理を実行するプロトコルスタックに基づく処理を実行する第3プロセッサを有する構成であることを特徴とする請求項1に記載の情報処理装置。
  11. 前記情報処理装置は、さらに、
    前記通信部を介するデータ通信に適用する通信プロトコルに対応する通信制御処理を実行するプロトコルスタックに基づく処理を実行する第3プロセッサと、
    前記通信部を介した通信を実行させるアプリケーションの制御を実行する第4プロセッサと、
    を有する構成であることを特徴とする請求項1に記載の情報処理装置。
  12. 前記通信部対応のデバイスドライバは、
    前記通信部を介するデータ送信処理に対応する送信ドライバと、
    前記通信部を介するデータ受信処理に対応する受信ドライバと、
    によって構成され、
    前記送信ドライバおよび受信ドライバは、各々異なるプロセッサにより実行される構成であることを特徴とする請求項1に記載の情報処理装置。
  13. 前記情報処理装置は、さらに、
    前記通信部を介するデータ通信に適用する通信プロトコルに対応する通信制御処理を実行するプロトコルスタックに基づく処理を実行するプロセッサを、通信プロトコルの各々に応じて異なるプロセッサとした構成を有することを特徴とする請求項1に記載の情報処理装置。
  14. 複数のプロセッサを有する情報処理装置における情報処理方法であり、
    オペレーティングシステムに基づいた処理を実行する第1プロセッサと異なる第2プロセッサが、通信部の設定する割り込みステータスの読み出し処理を実行するステップと、
    前記第2プロセッサが、読み出した割り込みステータスに従って処理を決定し、決定した処理を実行するステップと、
    を有することを特徴とする情報処理方法。
  15. 複数のプロセッサを有する情報処理装置において通信処理制御を実行させるコンピュータ・プログラムであり、
    オペレーティングシステムに基づいた処理を実行する第1プロセッサと異なる第2プロセッサに、通信部の設定する割り込みステータスの読み出し処理を実行させるステップと、
    前記第2プロセッサに、読み出した割り込みステータスに従って処理を決定させ、決定した処理を実行させるステップと、
    を有することを特徴とするコンピュータ・プログラム。
JP2007296676A 2007-01-11 2007-11-15 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム Pending JP2008192128A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007296676A JP2008192128A (ja) 2007-01-11 2007-11-15 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US11/971,791 US8645668B2 (en) 2007-01-11 2008-01-09 Information processing apparatus, information processing method and computer program
CN2008100029409A CN101261590B (zh) 2007-01-11 2008-01-11 信息处理设备、信息处理方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2007002986 2007-01-11
JP2007296676A JP2008192128A (ja) 2007-01-11 2007-11-15 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム

Publications (1)

Publication Number Publication Date
JP2008192128A true JP2008192128A (ja) 2008-08-21

Family

ID=39752142

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007296676A Pending JP2008192128A (ja) 2007-01-11 2007-11-15 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム

Country Status (2)

Country Link
JP (1) JP2008192128A (ja)
CN (1) CN101261590B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014064173A (ja) * 2012-09-21 2014-04-10 Nippon Telegr & Teleph Corp <Ntt> メディアサーバ、処理割当・割込振分方法、処理割当方法及び割込振分方法
WO2016043041A1 (ja) * 2014-09-19 2016-03-24 株式会社aLab デバイスプロキシ装置及びその制御方法

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6428735A (en) * 1987-07-24 1989-01-31 Hitachi Ltd Interruption control system
JPH02201569A (ja) * 1989-01-31 1990-08-09 Nec Corp マイクロプロセッサ間通信方式
JPH03223955A (ja) * 1990-01-29 1991-10-02 Nec Corp 情報処理システム
JPH0561812A (ja) * 1991-09-04 1993-03-12 Nec Eng Ltd 情報処理システム
JPH06266676A (ja) * 1991-09-27 1994-09-22 Sun Microsyst Inc 多重プロセッサ・コンピュータの割り込み操向システム
JP2000181886A (ja) * 1998-12-17 2000-06-30 Internatl Business Mach Corp <Ibm> デ―タ処理システムのための割込みア―キテクチャ
JP2001209625A (ja) * 2000-01-27 2001-08-03 Hitachi Ltd 並列計算機システムにおけるネットワークインタフェース選択方法及び装置
JP2002538731A (ja) * 1999-03-01 2002-11-12 サン・マイクロシステムズ・インコーポレイテッド 高性能ネットワークインターフェースにおけるダイナミックな構文解析
WO2006013724A1 (ja) * 2004-08-06 2006-02-09 Nagoya Industrial Science Research Institute マルチピッチねじを備えたナット部材およびその製造方法
JP2006209479A (ja) * 2005-01-28 2006-08-10 Seiko Epson Corp プロセッサおよび情報処理方法
JP2006303750A (ja) * 2005-04-19 2006-11-02 Sony Corp 情報処理装置および方法、プログラム、並びに記録媒体
WO2006137234A1 (ja) * 2005-06-01 2006-12-28 Sony Corporation 情報処理装置および情報処理方法、並びにプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1371065A (zh) * 2002-03-05 2002-09-25 重庆市科学技术委员会 分离式网络计算机
JP2006172142A (ja) * 2004-12-16 2006-06-29 Matsushita Electric Ind Co Ltd マルチプロセッサシステム

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6428735A (en) * 1987-07-24 1989-01-31 Hitachi Ltd Interruption control system
JPH02201569A (ja) * 1989-01-31 1990-08-09 Nec Corp マイクロプロセッサ間通信方式
JPH03223955A (ja) * 1990-01-29 1991-10-02 Nec Corp 情報処理システム
JPH0561812A (ja) * 1991-09-04 1993-03-12 Nec Eng Ltd 情報処理システム
JPH06266676A (ja) * 1991-09-27 1994-09-22 Sun Microsyst Inc 多重プロセッサ・コンピュータの割り込み操向システム
JP2000181886A (ja) * 1998-12-17 2000-06-30 Internatl Business Mach Corp <Ibm> デ―タ処理システムのための割込みア―キテクチャ
JP2002538731A (ja) * 1999-03-01 2002-11-12 サン・マイクロシステムズ・インコーポレイテッド 高性能ネットワークインターフェースにおけるダイナミックな構文解析
JP2001209625A (ja) * 2000-01-27 2001-08-03 Hitachi Ltd 並列計算機システムにおけるネットワークインタフェース選択方法及び装置
WO2006013724A1 (ja) * 2004-08-06 2006-02-09 Nagoya Industrial Science Research Institute マルチピッチねじを備えたナット部材およびその製造方法
JP2006209479A (ja) * 2005-01-28 2006-08-10 Seiko Epson Corp プロセッサおよび情報処理方法
JP2006303750A (ja) * 2005-04-19 2006-11-02 Sony Corp 情報処理装置および方法、プログラム、並びに記録媒体
WO2006137234A1 (ja) * 2005-06-01 2006-12-28 Sony Corporation 情報処理装置および情報処理方法、並びにプログラム
JP2007012021A (ja) * 2005-06-01 2007-01-18 Sony Corp 情報処理装置および情報処理方法、並びにプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
福冨裕: "現場からお届けします! メールアプリケーションサーバ開発の実況中継", SOFTWARE DESIGN, vol. 第177号, JPN6009040799, 18 July 2005 (2005-07-18), JP, pages 94 - 99, ISSN: 0001394009 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014064173A (ja) * 2012-09-21 2014-04-10 Nippon Telegr & Teleph Corp <Ntt> メディアサーバ、処理割当・割込振分方法、処理割当方法及び割込振分方法
WO2016043041A1 (ja) * 2014-09-19 2016-03-24 株式会社aLab デバイスプロキシ装置及びその制御方法
JP5997868B2 (ja) * 2014-09-19 2016-09-28 株式会社aLab デバイスプロキシ装置及びその制御方法
CN106922189A (zh) * 2014-09-19 2017-07-04 株式会社艾拉博 设备代理装置及其控制方法
CN106922189B (zh) * 2014-09-19 2020-02-21 株式会社艾拉博 设备代理装置及其控制方法
JP2021157850A (ja) * 2014-09-19 2021-10-07 株式会社aLab デバイスプロキシ装置及びそれを含む計算機システム
JP7089840B2 (ja) 2014-09-19 2022-06-23 株式会社aLab デバイスプロキシ装置及びそれを含む計算機システム
JP7093979B2 (ja) 2014-09-19 2022-07-01 株式会社aLab デバイスプロキシ装置及びそれを含む計算機システム
US11573913B2 (en) 2014-09-19 2023-02-07 Alab Inc. Device proxy and control method

Also Published As

Publication number Publication date
CN101261590B (zh) 2013-09-11
CN101261590A (zh) 2008-09-10

Similar Documents

Publication Publication Date Title
EP3754511A1 (en) Multi-protocol support for transactions
JP5902834B2 (ja) 暗示的なメモリの登録のための明示的なフロー制御
US10412017B2 (en) Transfer device, transfer method, and computer program product
KR101412173B1 (ko) 다중―프로세서 시스템에서 1차 프로세서로부터 하나 이상의 2차 프로세서로의 실행 가능 소프트웨어 이미지의 직접적인 분산 로딩
US20210011785A1 (en) Methods and apparatus for correcting out-of-order data transactions between processors
US8010718B2 (en) Direct memory access in a hybrid computing environment
JP5385272B2 (ja) コンピュータシステムにおいて他のプロセッサにシステム管理割り込みをブロードキャストするためのメカニズム
US8788726B2 (en) Data transmission system, storage medium and data transmission program
JP2013522803A5 (ja)
KR20150132432A (ko) 네트워크를 통한 메모리 공유
JP2008090375A (ja) 割込み制御システム、およびこれを利用した記憶制御システム
JP2009193430A (ja) 通信制御装置、情報処理装置およびプログラム
WO2015010646A1 (zh) 混合内存的数据访问方法、模块、处理器及终端设备
JP2018022345A (ja) 情報処理システム
JP2009265687A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
WO2020087931A1 (zh) 一种数据备份方法、装置及系统
JP2008192128A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US8645668B2 (en) Information processing apparatus, information processing method and computer program
JP6106986B2 (ja) 演算処理装置、情報処理装置及び割込制御方法
JP6176058B2 (ja) ダイレクトメモリアクセス制御装置、その制御方法、及び情報処理システム
JP2009116386A (ja) 情報処理装置および方法、並びにプログラム
US8099531B2 (en) Information processing method and computer program comprising network card wherein a plurality of processors switches use of network card related to setting of resource flag
WO2022039881A1 (en) I3c pending read with retransmission
KR100576721B1 (ko) 제로카피(zero-copy) 전송 기능을 구비한네트워크 카드와 서버 및 그 전송 방법
JP2007018195A (ja) 情報処理方法および情報処理装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090428

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090825

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091019

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100107

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100209

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20101124

A072 Dismissal of procedure [no reply to invitation to correct request for examination]

Free format text: JAPANESE INTERMEDIATE CODE: A072

Effective date: 20110614