JP4387970B2 - データ入出力プログラム,装置,および方法 - Google Patents

データ入出力プログラム,装置,および方法 Download PDF

Info

Publication number
JP4387970B2
JP4387970B2 JP2005100780A JP2005100780A JP4387970B2 JP 4387970 B2 JP4387970 B2 JP 4387970B2 JP 2005100780 A JP2005100780 A JP 2005100780A JP 2005100780 A JP2005100780 A JP 2005100780A JP 4387970 B2 JP4387970 B2 JP 4387970B2
Authority
JP
Japan
Prior art keywords
host
status information
priority
host status
output
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
JP2005100780A
Other languages
English (en)
Other versions
JP2006285341A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2005100780A priority Critical patent/JP4387970B2/ja
Priority to US11/342,834 priority patent/US7676610B2/en
Publication of JP2006285341A publication Critical patent/JP2006285341A/ja
Application granted granted Critical
Publication of JP4387970B2 publication Critical patent/JP4387970B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/126Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Description

本発明は,ホスト処理装置とのデータ入出力制御を行うデータ入出力処理技術に関する。本発明は,1Gbpsを超えるような高速な入出力制御を必要とするデータ処理システムにおいてホスト処理装置の負荷軽減を図るものであり,PCクラスタ,ストレージシステム,エンタープライズサーバなどの分野に適用できるものである。
ホスト処理装置(以下,単にホストと呼ぶ)とデータ入出力装置(以下,入出力装置と呼ぶ)との間でデータなどの入出力処理を行う場合に,入出力装置は,通常,ホストのプロセスの状態やCPU使用率などのホストの状態などを考慮することなくデータ入出力処理を行っている。例えば,入出力処理が発生したときに,ホストのCPU使用率が非常に高い状態であったとしても,入出力装置は,ホストとの間のデータ入出力処理や割り込み処理を行う。
また,入出力装置は,入出力処理とプロセスとの関係を考慮しないため,優先度が異なるプロセスを転送処理の対象とする複数の入出力処理がある場合でも,どの入出力処理も平等に取り扱う。さらに,入出力処理に対応するプロセスの状態にかかわらず入出力処理を行うため,緊急度の低い入出力処理に対しても割り込み処理によってホストへ通知する。
しかし,近年のCPUの高クロック化に伴うパイプライン段数の増加によって,ホストにおける割り込み処理のコストが増大している。特に,入出力装置の性能向上に伴って割り込み処理の発生回数も増加するため,割り込み処理がホスト全体の性能に対して与える影響は大きくなる傾向にある。
このため,割り込み処理の発生回数を削減させるために用いられる技術としてInterrupt Coalescing技術がある。Interrupt Coalescing技術は,複数の入出力要求に伴う割り込みをまとめて行う手法である。例えば,n回の入出力処理に対し1回の割り込み処理を発生させたり,入出力要求発生から一定時間の割り込み処理の発生を抑制し,その間に発生した入出力処理に対する割り込みを1つにまとめて1回の割り込み処理を発生させたりすることにより,割り込み処理の発生回数を削減する。
また,別の手法として,ホスト側で割り込みをマスク処理する手法が考えられる。例えば,CPU使用率が一定の値以上である場合に,ホスト側で割り込みをマスク処理することによってCPU処理効率を向上させることが可能である。
なお,Interrupt Coalescing技術に近似する手法として,イベントまたはメッセージを一括して通知することによって割り込み処理のオーバヘッドを軽減する処理手法も知られている(例えば,特許文献1参照)。
特開2002−342093号公報
近年登場した1Gbpsを超えるような高速ネットワークを効率的に使用する技術が重要となってきている。特に,ネットワークの高速化に伴い,プロトコル処理,コピー処理,割り込み処理などが増加するため,ホスト側の負荷が増大しているため,ホストの負荷を軽減する処理が要求される。
しかし,従来では,入出力装置はホストの状態を考慮することなく入出力処理を行っていた。例えば,CPU使用率が100%に近い状態であるのに,大量に割り込み処理を発生させたり,即座に入出力処理を行うメリットがないような状況であっても入出力処理を行っていたりした。ホストは,このようなデータ入出力装置からの外乱要因により性能を低下させてしまう。
ホストの負荷軽減のための前記Interrupt Coalescing技術のように,割り込み処理の発生回数を削減させる場合には,入出力処理の遅延時間が増加するという問題がある。さらに,Interrupt Coalescing技術では,入出力処理の緊急度は考慮されていないため,入出力処理が結果的に非効率なものとなってしまう場合が生じるという問題がある。
また,ホストにおいて割り込みをマスクする処理は,一般的にコントローラに対する通知を伴うためにホストにとって高負荷の処理であり,ホストのコスト軽減の点からは解決策として採用しにくい。また,割り込みマスク処理では,優先度の高いプロセスに対する割り込みに対してもマスク処理をしてしまうため,優先度の高いプロセスの即応性が低下するという問題がある。
本発明の目的は,入出力処理に伴う割り込み処理の発生によってホスト処理負担が増加することを防止するとともに,入出力処理の即応性を損なわずにホストに対して効率よくデータ入出力処理を行えるデータ入出力装置を提供することである。
上記の問題を解決するために,本発明は,ホストで実行されるプロセスに関する情報やホストの稼動状態などを示すホスト状態情報を保持し,把握したホスト状態情報にもとづいて,入出力データのホストへ転送制御を行うことを特徴とする。
本発明に係るプログラムが実行されるコンピュータでは,ホスト処理装置へのデータ入出力の通知を,ホスト処理装置への割り込みを行う割り込み処理または割り込みを行わない非割り込み処理のいずれか一方の処理によって通知する。この場合に,前記コンピュータは,ホスト処理装置から取得しホスト状態情報記憶手段へ保持しておいた,少なくともプロセスの状態を示すプロセス状態とプロセスの優先度とを含むホスト状態情報にもとづいて,データ入出力制御において入出力データの転送処理の対象となる対象プロセスを特定し,この対象プロセスの優先度とホスト処理装置で現在実行中の実行中プロセスの優先度とを比較して,対象プロセスの優先度が実行中プロセスの優先度より低い場合に,非割り込み処理を選択して,選択された処理を用いてホスト処理装置へデータ入出力を通知する。
ここで,非割り込み処理による通知処理として,例えば,ホスト内に設けられた入出力データの存在を示す所定のフラグへのポーリング処理によって入出力データのホストへの転送処理を通知する処理を行う。
これにより,ホストの状態を把握して,緊急に使用されないようなデータの入出力については,ホストへの割り込み処理を発生させない転送制御を実現でき,割り込み処理によるホストの負荷増大を抑止することができる。
また,前記コンピュータでは,ホスト状態情報を取得する場合に,プロセスの状態をRun,Ready,Waitの各状態によって示すプロセス状態を含む前記ホスト状態情報をホスト処理装置から取得して保持し,最適化手段は,特定された対象プロセスのプロセス状態がReady状態である場合に非割り込み処理による通知を選択する。
また別の態様において前記コンピュータでは,前記プロセスの状態をRun,Ready,Waitの各状態によって示すプロセス状態を含むホスト状態情報をホスト処理装置から取得してホスト状態情報記憶手段へ格納する。
そして,前記コンピュータでは,ホスト状態情報記憶手段に記憶されたホスト状態情報をもとに,対象プロセスのプロセス状態がWait状態である場合に,対象プロセスの優先度と実行中プロセスの優先度とを比較して,対象プロセスの優先度が実行中プロセスの優先度より低いときに,非割り込み処理を選択する。
また別の態様において,前記コンピュータでは,ホスト処理装置のCPU使用率を取得して前記ホスト状態情報記憶手段へ格納し,ホスト状態情報記憶手段に記憶されたCPU使用率が所定値以下である場合に前記非割り込み処理を選択する。
これにより,ホストで実行中のプロセスの状態や優先順位,ホスト自身の負荷状態などを判断して,入出力データがすぐに使用される可能性がない場合やホストの負荷が高い場合には,例えばポーリング処理による通知を選択することができるため,データ入出力制御に伴うホストの負荷を軽減することができる。また,入出力データがすぐに必要とされる場合やホストの負荷が低い場合には通常どおりの割り込み処理による通知を選択することができるため,プロセスの応答性を維持することができる。よって,ホストの負荷状態およびデータ入出力の即応性を損なわずに効率的なデータ入出力装置を実現する。
さらに,本発明では,ホストまたはデータ入出力装置のいずれもが,データ入出力装置に保持されるホスト状態情報を取得することができる。
特に,データ入出力装置がホスト状態情報を収集する場合に,ホストが備えるメモリ一貫性保持機能を利用して,効率的かつ低コストでホスト状態情報を収集できることを特徴とする。
本発明のホスト状態情報取得手段は,ホストの記憶領域に予め設定された状態更新開始フラグ領域および状態更新終了フラグ領域の更新される場合にホストのメモリ一貫性保持機能により発信される更新に伴う領域無効化信号(Invalid通知)を検出する。そしてこの領域無効化信号の検出によって,ホストにおけるプロセス状態情報更新の監視を開始し,更新されるプロセス状態情報領域をリストし,リストしたプロセス状態情報領域のアドレス情報を記録する。その後,状態更新終了フラグ領域の更新に伴う領域無効化信号を検出した場合に,プロセス状態情報更新の監視を終了する。そして,状態情報収集手段は,状態情報更新検出手段によって記憶されたアドレス情報にもとづいて,更新されたプロセス状態情報領域からプロセス状態情報を収集する。
これにより,入出力装置は,ホストからプロセス状態情報を収集する場合に,状態更新開始フラグと状態更新終了フラグとの書き換えによって発せられる領域無効化信号を利用してプロセス状態情報の更新の有無を判断することができ,プロセス状態情報の更新が行われる期間だけプロセス状態情報の更新を監視するだけでよく,プロセス状態情報の収集処理を低コストかつ効率的に行うことができる。
さらに,本発明は,ホストが,プロセス状態情報などのホスト状態情報の収集・更新処理を,ホストの過負荷またはホストと入力処理装置との負荷比較によって,負荷が低い装置を作業主体として選択し,選択した作業主体を入出力装置へ通知することを特徴とする。
本発明の更新作業主体設定部は,ホストによって設定された作業主体の通知にしたがって,ホスト状態情報の収集・更新処理の作業主体として,入出力装置またはホストいずれか一方を更新作業主体記憶手段に設定し,ホスト状態情報取得手段は,更新作業主体記憶手段に入出力装置が設定されている場合にホスト処理装置からホスト状態情報を収集し,更新作業主体記憶手段にホスト設定されている場合にホストから送信された前記ホスト状態情報を受信する。
これによって,例えばホストが自装置が過負荷状態であると判断した場合などに,ホスト状態情報の収集を入出力装置側で行えるようにすることができる。
さらに,本発明の更新作業主体設定手段は,ホストの記憶領域に設定された更新作業主体変更フラグ領域に対する更新に伴う領域無効化信号を検出し,状態更新作業主体記憶手段の設定を切り替える。
これによって,ホスト状態情報の収集・更新処理の作業主体の切り替え通知を,低コストで行うことができる。
また,本発明は,ホスト状態情報として,ホストで実行されるプロセスの優先度を取得し保持し,最適化処理は,ホスト状態情報記憶手段に記憶されたプロセスの優先度をもとに,データ入出力制御のデータの転送先となるプロセスの優先度を取得し,転送先プロセスの優先度が高い順にデータ転送制御の順序を決定する。そして,転送制御手段は,最適化手段により決定された順序にしたがって,データ転送制御を行う。
これによって,プロセスの優先度にしたがって,緊急度の高い入出力データからデータ転送を行うことができる。
また、本発明は,コンピュータにホスト処理装置へのデータ入出力制御を行わせるプログラムであって,上述する各処理手段によって実施される技術を前記コンピュータに実行させるものである。本発明を実現するプログラムは,コンピュータが読み取り可能な,可搬媒体メモリ,半導体メモリ,ハードディスクなどの適当な記録媒体に格納することができ,これらの記録媒体に記録して提供され,または,通信インタフェースを介して種々の通信網を利用した入出力により提供されるものである。
以上のように,本発明によれば,ホストの稼動状態やホストで実行されるプロセスの状態や優先度と,転送する入出力データとの関係をもとに,データ入出力処理の通知方法を選択することができ,ホストの負荷を抑制しつつプロセスへの応答性を損なわない転送制御を行うデータ入出力装置を提供することができる。
また,本発明によれば,ホスト状態情報としてプロセス状態情報を収集する場合に,ホストが備えるメモリ一貫性保持機能を利用してプロセス状態情報の更新期間を特定して情報の収集・更新を行うことができるため,低コストでデータ入出力装置を提供することができる。
また,本発明によれば,ホストとデータ入出力装置との負荷の程度を判断して,ホスト状態情報の収集を行う作業主体を選択することができるため,コストを分散してデータ入出力装置を提供することができる。
また,本発明によれば,ホストで実行されるプロセスの優先度にしたがって,入出力データの転送処理順序を決定することができるため,より緊急度の高いデータ転送を先に行ってプロセスへの即応性をより向上させたデータ入出力装置を提供することができる。
図1は,本発明の原理を説明するための図である。
本発明にかかる入出力装置1は,ホスト2の状態を示す情報として,ホスト2で実行されるプロセスの状態情報,優先度,ホスト2のCPU使用率などのホスト状態情報を取得して装置内に保持しておく。そして,例えば,ホスト2への入出力データの転送制御を行うと(ステップS1),その入出力データの情報(入出力情報)および保持しているホストの状態情報を参照して,ホスト2で実行されるプロセスの優先度やホスト2の稼動状態をもとに,割り込み処理を発生させて転送処理を通知するか,または割り込みを発生させずに別の処理(非割り込み処理)によって転送処理を通知するか,いずれかの処理による通知を選択する最適化制御を行う(ステップS2)。
そして,割り込み処理による通知を選択した場合に,入出力データをホスト2へ転送する転送制御を行い(ステップS3),転送処理を割り込み処理によってホスト2へ通知する通知制御を行う(ステップS4)。一方,非割り込み処理による通知を選択した場合に,入出力データをホスト2へ転送する転送制御を行い(ステップS3),非割り込み処理によってホスト2へ通知する通知制御を行う。例えば,ホスト2内の入出力データの存在を示す所定のフラグに対するポーリング処理によって通知とする(ステップS4)。
図2は,本発明の実施例におけるデータ処理システムの構成例を示す図である。本例では,入出力装置1は,ネットワークを介したデータの入出力制御を行うネットワークインターフェースカード(NIC)とする。
ホスト2は,CPU21,キャッシュメモリ22,メモリコントローラ23,メモリ24を備える。ホスト2は,一般的なサーバ装置としての標準的な構成である。ホスト2のキャッシュメモリ22およびメモリ24上にはホスト状態情報が保持される。
本例では,ホスト状態情報として,ホスト2で実行される各プロセスp1,p2,p3のプロセスの状態をRun,Ready,Waitの各状態および優先度を含むプロセス状態情報を使用する。
図3は,本発明の実施例でプロセス状態情報として使用されるプロセスの状態を説明するための図である。プロセスは,図3に示す3つの状態のいずれかに該当し,状態を遷移させていく。
Run状態とは,現在のCPU21の割り当てを受けて,実際にCPU処理を行っている状態(走行中)を表す。Run状態のプロセスは,タイムスライス,プリエンプションによりCPU21の割り当て対象でなくなった場合に,Ready状態へ遷移する。また,入出力(I/O)完了や通信完了,同期処理などの事象を待つ必要が生じた場合に,Wait状態へ遷移する。
Ready状態とは,現時点ではCPU21の割り当て対象とはなっていないものの,入出力完了などの事象を待っている状態ではなく,割り当てによって即時に走行可能である状態を表す。Ready状態のプロセスは,タイムスライス,プリエンプションによりCPU21の割り当て対象となった場合に,Run状態へ遷移する。
Wait状態とは,入出力完了などの事象を待っている状態であり,すぐにはCPU21の割り当て対象となって処理を実行することができない状態を表す。Wait状態のプロセスは,入出力完了などの事象が発生した場合には,他のプロセスとの優先関係によってRun状態またはReady状態のいずれかへ遷移する。
なお,プロセス状態の管理は,ホスト2のオペレーティングシステム(OS)によって若干の差異はあるが,マルチタスク管理を実現可能なOSにおいては,各プロセスをRun,Ready,Waitの3つの状態に相当する状態で表して,これらの状態間を遷移しながらプロセスを管理している。
プロセスの優先度は,ホスト2においてプロセスが走行する優先順位を表す数値である。Ready状態のプロセスの中で最高優先度を持つプロセスが次のRun状態となるプロセスとして選択される。なお,優先度は再計算されることがある。
図4は,本発明の入出力装置1およびホスト2の構成例を示す図である。入出力装置1は,パケット送受信部11,パケット判定部12,ホスト状態情報管理部13,最適化部14,転送制御部15,通知制御部16,および入出力装置負荷算出部17を備える。
パケット送受信部11は,ネットワークに対するパケットの送受信処理を行う処理手段である。
パケット判定部12は,パケット送受信部11によって送受信処理されるパケットのヘッダ部を参照し,そのパケットがどのプロセスに対するパケットであるかを判別する処理手段である。送受信されたデータパケットの転送対象となるプロセスを,対象プロセスと呼ぶ。
ホスト状態情報管理部13は,ホスト2のメモリ24上に保持されるホスト状態情報を取得し保持する処理手段である。
最適化部14は,パケット判定部12からパケットの対象プロセスを取得し,ホスト状態情報管理部13から,現在のホスト2のプロセス状態情報を取得して,入出力データの転送処理を割り込み処理による通知,または非割り込み処理による通知(ポーリングによる通知)のいずれか1つの処理を選択し,通知制御部16に対して選択結果(割り込みまたはポーリング)を指示する処理手段である。
転送制御部15は,入出力装置1とホスト2との間でパケットの転送処理を行う処理手段である。
通知制御部16は,転送制御部15の転送処理の通知を,最適化部14の選択にしたがって割り込み処理またはポーリング処理のいずれかの処理によってホスト2へ通知する処理手段である。
入出力装置負荷算出部17は,入出力制御における単位時間当たりのパケット数,データ転送率などを用いて入出力装置1自身の負荷を算出し,ホスト2へ通知する処理手段である。
ホスト2は,状態更新開始・終了通知部25,更新主体判別部27,および更新主体変更通知部29を備える。
状態更新開始・終了通知部25は,入出力装置1にプロセス状態情報を収集・更新させるために,メモリ24の所定の領域に状態更新開始フラグ領域と状態更新終了フラグ領域とを設定し,プロセス状態情報の更新を開始するときに状態更新開始フラグ領域を書き換え,プロセス状態情報の更新を終了するときに状態更新終了フラグ領域を書き換えることによって,プロセス状態情報の更新の開始および終了を通知する処理手段である。
更新主体判別部27は,CPU21の負荷情報と入出力装置負荷算出部17によって算出された入出力装置1の負荷情報とを比較して,プロセス状態情報の収集・更新処理の作業主体を決定する処理手段である。
更新主体変更通知部29は,更新主体判別部27によって決定されたプロセス状態情報の収集・更新処理の作業主体がホスト2または入出力装置1であるかを入出力装置1へ通知する処理手段である。
次に,転送通知の最適化処理を,より詳細に説明する。
図5に示すように,入出力装置1のホスト状態情報管理部13は,ホスト2からプロセス状態情報(プロセス状態,優先度)を取得して保持する。最適化部14は,パケット判定部12において判別された入出力データの対象プロセスと,ホスト状態情報管理部13が保持するプロセス状態と優先度をもとに,転送処理の通知を割り込み処理によって通知するか,ポーリング処理によって通知するかを決定する。最適化部14は,対象プロセスが,データ転送によって直ちにプロセスがRun状態に遷移するような状態である場合には,割り込み処理による通知を選択する。それ以外の場合には,ポーリング処理による通知を選択する。通知制御部16は,最適化部14の選択に従って,CPU21に対し,割り込みまたはポーリングを行う。
または,図6に示すように,ホスト状態情報管理部13は,ホスト2から,プロセスの優先度を取得して保持する。最適化部14は,対象プロセスが高優先度であって,データ転送によって直ちにプロセスがRun状態に遷移するような場合には,割り込み処理による通知を選択する。それ以外の場合には,ポーリング処理による通知を選択する。
または,図7に示すように,ホスト状態情報管理部13は,ホスト2から,CPU21のCPU使用率を取得して保持する。最適化部14は,CPU使用率が所定値より低い場合には,割り込み処理による通知を選択する。CPU使用率が所定値より高い場合には,ポーリング処理による通知を選択する。
図8は,転送処理の通知の最適化処理フローの例を示す図である。転送処理の通知の最適化処理の前に,ホスト状態情報管理部13は,状態情報保持部135に,ホスト2で実行されるプロセスのプロセス状態情報およびプロセスの優先度を保持しているものとする。
最適化部14は,パケット判定部12によって判別された,入出力処理されたデータ(パケット)から転送処理の対象プロセスを特定し(ステップS10),ホスト状態情報管理部13から対象プロセスのプロセス状態情報を取得する(ステップS11)。そして,対象プロセスの状態がRun状態であれば(ステップS12),割り込み処理を選択して,通知制御部16によって割り込み処理を発生させる(ステップS13)。対象プロセスがRun状態であれば,即座に転送されるパケットが必要となる可能性があるからである。
また,対象プロセスの状態が,Ready状態であれば(ステップS12),割り込み処理を発生させずに,ポーリング処理を行う(ステップS14)。対象プロセスは,パケットを受信したところで,それを契機に優先度が高くなってRun状態へ遷移する可能性はないからである。
また,対象プロセスの状態がWait状態であれば(ステップS12),ホスト状態情報管理部13から,対象プロセスとホスト2で現在走行中(Run状態)のプロセスの優先度を取得し(ステップS15),優先度を比較する(ステップS16)。対象プロセスの優先度が高い場合には(ステップS16のYES),割り込み処理を発生させる(ステップS17)。対象プロセスの優先度がRun状態のプロセスより高いので,パケットの受信によって,対象プロセスがWait状態からRun状態へ遷移する可能性があるからである。一方,対象プロセスの優先度が高くない場合には(ステップS16のNO),ポーリング処理を行う(ステップS14)。Run状態のプロセスの優先度が対象プロセスより高いので,パケットの受信によっても対象プロセスがWait状態からRun状態へ遷移する可能性はないからである。
また,最適化部14は,入出力データの転送処理において,転送処理順序を最適化する。最適化部14は,プロセス状態情報を参照して,プロセスの優先度が高いデータの転送制御を転送制御部15に指示する。転送制御部15は,図9に示すように,転送処理する入出力データの対象プロセスの優先度が高い順に,対応する入出力データをメモリ24へ転送する。
次に,ホスト状態情報の収集・更新処理を,より詳細に説明する。
図10は,ホスト状態情報管理部13の処理手段の構成例を示す図である。ホスト状態情報管理部13は,状態更新検出部131,状態情報収集部133,状態情報保持部135,および更新主体確認部137を備える。
状態更新検出部131は,状態更新開始・終了通知部25からの更新開始または更新終了の通知によって,プロセス状態情報の更新を検出する処理手段である。
状態情報収集部133は,状態更新検出部131によって検出された,更新されたプロセス状態情報のアドレス情報にもとづいて,更新されたプロセス状態情報を収集し,状態情報保持部135へ格納する手段である。また,状態情報収集部133は,ホスト2からホスト状態情報を受信して状態情報保持部135へ格納する。なお,状態情報保持部135に格納されるプロセス状態情報は,最適化部14によって参照される。
更新主体確認部137は,更新主体変更通知部29から通知されたプロセス状態情報の収集・更新処理の作業主体の設定に従って,更新主体が入出力装置1である場合に,状態更新検出部131を起動させる処理手段である。
ホスト状態情報として使用するプロセス状態,プロセス優先度,CPU使用率などは,ホストのメモリ24上やキャッシュメモリ22上に格納される。これらの情報は変化し,メモリ24上に格納されているプロセス状態情報はCPU21によって更新される。入出力装置1のホスト状態情報管理部13もホスト状態情報を保持しているため,CPU21がホスト状態情報を更新する際には,入出力装置1が保持するホスト状態情報も更新する必要がある。
したがって,CPU21がホスト2のメモリ24上のホスト状態情報を更新する場合に,同時に入出力装置1の状態情報保持部135のホスト状態情報を更新する。もしくは,入出力装置1のホスト状態情報管理部13で,ホスト2のホスト状態情報の更新を検出し,ホスト2のメモリ24上の更新されたホスト状態情報を参照して,入出力装置1内に保持するホスト状態情報を更新する。
ホスト状態情報として使用するプロセス状態情報はメモリ24上で分散して格納されるため,プロセス状態情報の更新を効率的に検出する必要がある。そこで,プロセス状態情報の更新に,メモリコントローラ23のキャッシュ一貫性保持機能を利用する。
図11は,キャッシュ一貫性保持機能を利用したプロセス状態情報の更新検出処理を説明するための図である。
(a)状態更新開始・終了設定部25が走行するCPU21は,プロセス状態情報の更新を開始するために,キャッシュメモリ22の状態更新開始フラグ領域に対して書き込みを行う。メモリコントローラ23は,メモリ24の該当領域の無効化信号(Invalid通知)を発行する。
(b)ホスト状態情報管理部13の状態更新検出部131は,状態更新開始フラグ領域を監視し,状態更新開始フラグ領域の更新による無効化信号を検出すると,プロセス状態情報の更新の監視を開始する。
(c)CPU21によってプロセス状態情報が更新される。
(d)状態更新検出部131は,すべてのCPU21による無効化信号を検出して,更新されるプロセス状態情報領域をリストし,リストに記憶したプロセス状態情報領域のアドレス情報を記録する。
(e)状態更新開始・終了設定部25が走行するCPU21は,プロセス状態情報の更新を終了するために,キャッシュメモリ22の状態更新終了フラグ領域に対して書き込みを行う。メモリコントローラ23は,メモリ24の該当領域の無効化信号(Invalid通知)を発行する。
(f)状態更新検出部131は,状態更新終了フラグ領域を監視し,状態更新終了フラグ領域の更新による無効化信号を検出すると,プロセス状態情報更新の監視を終了する。
(g)状態情報収集部133は,状態更新検出部131が記録したアドレス情報をもとにメモリ24の更新されたプロセス状態情報を収集し,状態情報保持部135へ格納する。
このように,2つの特定のフラグ領域を監視することによって,プロセス状態情報の更新の開始と終了を特定し,更新されたプロセス状態情報をまとめて収集することができるため,ホスト状態情報の収集を効率的に行うことができる。
ホスト状態情報の更新処理は,ホスト2,入出力装置1のいずれにとっても負荷が高い処理である。そこで,ホスト2と入出力装置1の負荷状態を比較し,より低い側で処理する。
ホスト2の更新主体判別部27は,ホスト2のCPU使用率,および入出力装置1の単位時間当たりの処理パケット数やデータ転送率などを取得し,ホスト2と入出力装置1との負荷状態を比較して,より低い負荷の側を更新処理の作業主体として決定する。更新主体変更通知部29は,更新主体判別部27の決定を入出力装置1へ通知する。
ここで,更新処理の作業主体の変更を低コストかつ効率よく入出力装置1へ通知するため,メモリコントローラ23のメモリ一貫性保持機能を利用する。
図12は,キャッシュ一貫性保持機能を利用した更新処理の作業主体の変更通知処理を説明するための図である。
(s)更新主体変更通知部29が走行するCPU21は,更新処理の作業主体を変更する場合に,キャッシュメモリ22の更新作業主体変更フラグ領域に対して書き込みを行う。メモリコントローラ23は,メモリ24の該当領域の無効化信号(Invalid通知)を発行する。
(t)更新主体確認部137は,更新作業主体変更フラグ領域を監視し,更新作業主体変更フラグ領域の更新による無効化信号を検出する。
(u)すると,更新主体確認部137は,更新作業主体フラグ領域を更新する。更新作業主体フラグ領域は,ホスト2と入出力装置1との2つの作業主体をトグル状態で設定する領域である。
このように,メモリ24上の更新作業主体変更フラグ領域の書き換えに伴う無効化信号の検出だけで,更新処理の作業主体の変更を,低コストで行うことができる。
以上、本発明をその実施の形態により説明したが、本発明はその主旨の範囲において種々の変形が可能であることは当然である。
本発明の形態および実施例の特徴を列記すると以下のとおりである。
(付記1) コンピュータにホスト処理装置へのデータ入出力制御を行わせるデータ入出力プログラムであって,
前記コンピュータに、
前記ホスト処理装置からホスト状態情報を取得し,ホスト処理装置の状態を示すホスト状態情報を保持するホスト状態情報記憶領域へ格納するホスト状態情報取得ステップと,
前記ホスト状態情報記憶領域に記憶されるホスト状態情報にもとづいて,前記割り込み処理または前記非割り込み処理のいずれか1つの処理を選択する最適化ステップと,
前記最適化ステップによって選択された処理を用いて、前記ホスト処理装置への割り込みを行う割り込み処理または前記割り込みを行わない非割り込み処理のいずれか一方の処理によって前記ホスト処理装置へのデータ入出力を通知する入出力通知ステップと,
を実行させるデータ入出力プログラム。
(付記2)前記コンピュータに、さらに、
前記ホスト状態情報取得ステップにおいて,前記ホスト状態情報として,少なくともプロセスの優先度を含むプロセス状態情報を前記ホスト処理装置から取得し,前記ホスト状態情報記憶手段へ格納し,
前記最適化ステップにおいて,前記ホスト状態情報記憶手段に記憶されたプロセス状態情報をもとに,前記データ入出力制御の対象となるプロセスを特定し,前記対象プロセスの優先度と前記ホスト処理装置において現在実行中のプロセスの優先度とを比較し,前記対象プロセスの優先度が前記現在実行中のプロセスの優先度より低い場合に,前記非割り込み処理による通知を選択する
処理を実行させる付記1記載のデータ入出力プログラム。
(付記3)前記コンピュータに、さらに
前記ホスト状態情報取得ステップにおいて,前記ホスト状態情報として,少なくともプロセスの状態をRun,Ready,Waitの各状態によって示す情報を含むプロセス状態情報を前記ホスト処理装置から取得し,前記ホスト状態情報記憶手段へ格納し,
前記最適化ステップにおいて,前記ホスト状態情報記憶手段のプロセス状態情報をもとに,前記データ入出力制御の対象となるプロセスを特定し,前記対象プロセスのプロセス状態がReady状態である場合に前記非割り込み処理による通知を選択する
処理を実行させることを特徴とする付記1記載のデータ入出力プログラム。
(付記4)前記コンピュータに、さらに
前記ホスト状態情報取得ステップにおいて,前記ホスト状態情報として,少なくとも,プロセスの状態をRun,Ready,Waitの各状態によって示す情報およびプロセスの優先度を含むプロセス状態情報を前記ホスト処理装置から取得し,前記ホスト状態情報記憶手段へ格納し,
前記最適化ステップにおいて,前記ホスト状態情報記憶手段のプロセス状態情報をもとに,前記データ入出力制御の対象となるプロセスを特定し,前記対象プロセスのプロセス状態がWait状態である場合に,前記対象プロセスの優先度と前記ホスト処理装置において現在実行中のプロセスの優先度とを比較し,前記対象プロセスの優先度が前記現在実行中のプロセスの優先度より低いときに前記非割り込み処理による通知を選択する
処理を実行させる付記1記載のデータ入出力プログラム。
(付記5)前記コンピュータに、さらに
前記ホスト状態情報取得ステップにおいて,前記ホスト処理装置のCPU使用率を取得し,前記ホスト状態情報記憶手段へ格納し,
前記最適化ステップにおいて,前記ホスト状態情報記憶手段のCPU使用率が所定値以下である場合に前記非割り込み処理による通知を選択する
処理を実行させることを特徴とする付記1記載のデータ入出力プログラム。
(付記6) ホスト処理装置へのデータ入出力制御を行うデータ入出力装置であって,
ホスト処理装置の状態を示すホスト状態情報を保持するホスト状態情報記憶手段と,
前記ホスト処理装置へのデータ入出力の通知を,前記ホスト処理装置への割り込みを行う割り込み処理または前記割り込みを行わない非割り込み処理のいずれか一方の処理によって通知する入出力通知手段と,
前記ホスト処理装置からホスト状態情報を取得し,前記ホスト状態情報記憶手段へ格納するホスト状態情報取得手段と,
前記ホスト状態情報にもとづいて,前記割り込み処理または前記非割り込み処理のいずれか1つの処理を選択する最適化手段とを備え,
前記入出力通知手段は,前記最適化手段によって選択された処理を用いて前記ホスト処理装置へデータ入出力を通知する
ことを特徴とするデータ入出力装置。
(付記7) 前記付記6記載のデータ入出力装置において,
前記ホスト状態情報取得手段は,前記ホスト状態情報として,少なくともプロセスの優先度を含むプロセス状態情報を前記ホスト処理装置から取得し,前記ホスト状態情報記憶手段へ格納し,
前記最適化手段は,前記ホスト状態情報記憶手段に記憶されたプロセス状態情報をもとに,前記データ入出力制御の対象となるプロセスを特定し,前記対象プロセスの優先度と前記ホスト処理装置において現在実行中のプロセスの優先度とを比較し,前記対象プロセスの優先度が前記現在実行中のプロセスの優先度より低い場合に,前記非割り込み処理による通知を選択する
ことを特徴とするデータ入出力装置。
(付記8) 前記付記6記載のデータ入出力装置において,
前記ホスト状態情報取得手段は,前記ホスト状態情報として,少なくともプロセスの状態をRun,Ready,Waitの各状態によって示す情報を含むプロセス状態情報を前記ホスト処理装置から取得し,前記ホスト状態情報記憶手段へ格納し,
前記最適化手段は,前記ホスト状態情報記憶手段のプロセス状態情報をもとに,前記データ入出力制御の対象となるプロセスを特定し,前記対象プロセスのプロセス状態がReady状態である場合に前記非割り込み処理による通知を選択する
ことを特徴とするデータ入出力装置。
(付記9) 前記付記6記載のデータ入出力装置において,
前記ホスト状態情報取得手段は,前記ホスト状態情報として,少なくとも,プロセスの状態をRun,Ready,Waitの各状態によって示す情報およびプロセスの優先度を含むプロセス状態情報を前記ホスト処理装置から取得し,前記ホスト状態情報記憶手段へ格納し,
前記最適化手段は,前記ホスト状態情報記憶手段のプロセス状態情報をもとに,前記データ入出力制御の対象となるプロセスを特定し,前記対象プロセスのプロセス状態がWait状態である場合に,前記対象プロセスの優先度と前記ホスト処理装置において現在実行中のプロセスの優先度とを比較し,前記対象プロセスの優先度が前記現在実行中のプロセスの優先度より低いときに前記非割り込み処理による通知を選択する
ことを特徴とするデータ入出力装置。
(付記10) 前記付記6記載のデータ入出力装置において,
前記ホスト状態情報取得手段は,前記ホスト処理装置のCPU使用率を取得し,前記ホスト状態情報記憶手段へ格納し,
前記最適化手段は,前記ホスト状態情報記憶手段のCPU使用率が所定値以下である場合に前記非割り込み処理による通知を選択する
ことを特徴とするデータ入出力装置。
(付記11) ホスト処理装置へのデータ入出力制御を行うデータ入出力装置であって,
ホスト状態情報として,ホスト処理装置で実行されるプロセスの優先度を保持するホスト状態情報記憶手段と,
前記ホスト処理装置から前記プロセスの優先度を取得し,前記ホスト状態情報記憶手段へ格納するホスト状態情報取得手段と,
前記ホスト状態情報記憶手段に記憶された前記プロセスの優先度をもとに,前記データ入出力制御のデータの転送先となるプロセスの優先度を取得し,前記転送先プロセスの優先度が高い順にデータ転送制御の順序を決定する最適化手段と,
前記最適化手段により決定された順序にしたがって,データ転送制御を行う転送制御手段とを備える
ことを特徴とするデータ入出力装置。
(付記12) ホスト処理装置と,前記ホスト処理装置へ入出力制御にかかるデータの転送処理の通知として前記ホスト処理装置へ割り込みを行う割り込み処理または前記割り込みを行わない非割り込み処理のいずれか一方の処理によって通知を行うデータ入出力装置とによって構成されるデータ処理システムであって,
前記データ入出力装置は,
前記ホスト処理装置から,前記ホスト処理装置の状態を示すホスト状態情報を取得し,ホスト状態情報記憶手段へ格納するホスト状態情報取得手段と,
前記ホスト状態情報にもとづいて,割り込み処理または非割り込み処理のいずれか一つの処理を選択する最適化手段と,
前記最適化手段によって選択された処理を用いて前記ホスト処理装置へデータ転送を通知する入出力通知手段とを備える
ことを特徴とするデータ処理システム。
(付記13) 前記付記12記載のデータ処理システムにおいて,
前記ホスト処理装置は,
前記ホスト状態情報記憶手段のホスト状態情報の収集・更新処理が,前記データ入出力装置または当該ホスト処理装置のいずれか一方が作業主体となって行われる場合に,前記作業主体として,前記データ入出力装置または当該ホスト処理装置のいずれか一方に設定して,前記データ入出力装置へ通知する更新作業主体通知手段を備え,
前記データ入出力装置は,
前記ホスト処理装置から通知された前記作業主体として,前記ホスト処理装置または当該データ入出力装置のいずれか一方を格納する更新作業主体記憶手段と,
前記ホスト処理装置によって設定された前記作業主体にしたがって,前記更新作業主体記憶手段の前記作業主体を設定する更新作業主体設定手段とを備えて,
前記ホスト状態情報取得手段は,前記更新作業主体記憶手段に当該データ入出力装置が設定されている場合に前記ホスト処理装置から前記ホスト状態情報を収集し,前記更新作業主体記憶手段に前記ホスト処理装置が設定されている場合に前記ホスト処理装置から送信された前記ホスト状態情報を受信する
ことを特徴とするデータ処理システム。
(付記14) コンピュータがホスト処理装置へのデータ入出力制御を行うデータ入出力方法であって,
前記コンピュータが、
前記ホスト処理装置からホスト状態情報を取得し,ホスト処理装置の状態を示すホスト状態情報を保持するホスト状態情報記憶領域へ格納するホスト状態情報取得ステップと,
前記ホスト状態情報記憶領域に記憶されるホスト状態情報にもとづいて,前記割り込み処理または前記非割り込み処理のいずれか1つの処理を選択する最適化ステップと,
前記最適化ステップによって選択された処理を用いて、前記ホスト処理装置への割り込みを行う割り込み処理または前記割り込みを行わない非割り込み処理のいずれか一方の処理によって前記ホスト処理装置へのデータ入出力を通知する入出力通知ステップと,
を実行するデータ入出力方法。
(付記15)前記コンピュータは、さらに、
前記ホスト状態情報取得ステップにおいて,前記ホスト状態情報として,少なくともプロセスの優先度を含むプロセス状態情報を前記ホスト処理装置から取得し,前記ホスト状態情報記憶手段へ格納し,
前記最適化ステップにおいて,前記ホスト状態情報記憶手段に記憶されたプロセス状態情報をもとに,前記データ入出力制御の対象となるプロセスを特定し,前記対象プロセスの優先度と前記ホスト処理装置において現在実行中のプロセスの優先度とを比較し,前記対象プロセスの優先度が前記現在実行中のプロセスの優先度より低い場合に,前記非割り込み処理による通知を選択する
ことを特徴とする付記14記載のデータ入出力方法。
(付記16)前記コンピュータは、さらに
前記ホスト状態情報取得ステップにおいて,前記ホスト状態情報として,少なくともプロセスの状態をRun,Ready,Waitの各状態によって示す情報を含むプロセス状態情報を前記ホスト処理装置から取得し,前記ホスト状態情報記憶手段へ格納し,
前記最適化ステップにおいて,前記ホスト状態情報記憶手段のプロセス状態情報をもとに,前記データ入出力制御の対象となるプロセスを特定し,前記対象プロセスのプロセス状態がReady状態である場合に前記非割り込み処理による通知を選択する
ことを特徴とする付記14記載のデータ入出力方法。
(付記17)前記コンピュータは、さらに
前記ホスト状態情報取得ステップにおいて,前記ホスト状態情報として,少なくとも,プロセスの状態をRun,Ready,Waitの各状態によって示す情報およびプロセスの優先度を含むプロセス状態情報を前記ホスト処理装置から取得し,前記ホスト状態情報記憶手段へ格納し,
前記最適化ステップにおいて,前記ホスト状態情報記憶手段のプロセス状態情報をもとに,前記データ入出力制御の対象となるプロセスを特定し,前記対象プロセスのプロセス状態がWait状態である場合に,前記対象プロセスの優先度と前記ホスト処理装置において現在実行中のプロセスの優先度とを比較し,前記対象プロセスの優先度が前記現在実行中のプロセスの優先度より低いときに前記非割り込み処理による通知を選択する
ことを特徴とする付記14記載のデータ入出力方法。
(付記18)前記コンピュータは、さらに
前記ホスト状態情報取得ステップにおいて,前記ホスト処理装置のCPU使用率を取得し,前記ホスト状態情報記憶手段へ格納し,
前記最適化ステップにおいて,前記ホスト状態情報記憶手段のCPU使用率が所定値以下である場合に前記非割り込み処理による通知を選択する
ことを特徴とする付記14記載のデータ入出力方法。
本発明の原理を説明するための図である。 本発明の実施例におけるデータ処理システムの構成例を示す図である。 本発明の実施例でプロセス状態情報として使用されるプロセスの状態を説明するための図である。 本発明の入出力装置およびホストの構成例を示す図である。 プロセス状態および優先度を用いた転送通知の最適化処理を説明するための図である。 プロセスの優先度を用いた転送通知の最適化処理を説明するための図である。 CPU使用率を用いた転送通知の最適化処理を説明するための図である。 転送処理の通知の最適化処理フローの例を示す図である。 入出力データの転送処理の順序の最適化処理を説明するための図である。 ホスト状態情報管理部の処理手段の構成例を示す図である。 キャッシュ一貫性保持機能を利用したプロセス状態情報の更新検出処理を説明するための図である。 キャッシュ一貫性保持機能を利用した更新処理の作業主体の変更通知処理を説明するための図である。
符号の説明
1 入出力装置(データ入出力装置)
11 パケット送受信部
12 パケット判定部
13 ホスト状態情報管理部
131 状態更新検出部
133 状態情報収集部
135 状態情報保持部
137 更新主体確認部
14 最適化部
15 転送制御部
16 通知制御部
2 ホスト
25 状態更新開始・終了通知部
27 更新主体判別部
29 更新主体変更通知部

Claims (10)

  1. コンピュータにホスト処理装置へのデータ入出力制御を行わせるデータ入出力プログラムであって,
    前記コンピュータに,
    前記ホスト処理装置から,少なくともプロセスの状態を示すプロセス状態とプロセスの優先度とを含むホスト状態情報を取得して,ホスト状態情報記憶手段へ格納するホスト状態情報取得ステップと,
    データ入出力制御として,前記ホスト処理装置への割り込みを行う割り込み処理または前記ホスト処理装置への割り込みを行わない非割り込み処理のいずれかを選択する場合に,前記ホスト状態情報記憶手段に記憶された前記ホスト状態情報から,前記データ入出力制御において入出力データの転送処理の対象となる対象プロセスを特定し,前記特定した対象プロセスの優先度と前記ホスト処理装置において現在実行中の実行中プロセスの優先度とを比較して,前記対象プロセスの優先度が前記実行中プロセスの優先度より低い場合に,前記非割り込み処理を選択する最適化ステップと,
    前記最適化ステップにおいて前記非割り込み処理が選択された場合に,前記非割り込み処理によって前記ホスト処理装置へのデータ入出力を通知する入出力通知ステップとを
    実行させるためのデータ入出力プログラム。
  2. 前記コンピュータに、更に
    前記ホスト状態情報取得ステップにおいて,前記プロセスの状態をRun,Ready,Waitの各状態によって示すプロセス状態を含む前記ホスト状態情報を前記ホスト処理装置から取得して前記ホスト状態情報記憶手段へ格納する処理と,
    前記最適化ステップにおいて,前記ホスト状態情報記憶手段に記憶された前記ホスト状態情報をもとに,前記対象プロセスのプロセス状態がReady状態である場合に前記非割り込み処理を選択する処理
    実行させるための請求項1記載のデータ入出力プログラム。
  3. 前記コンピュータに、更に,
    前記ホスト状態情報取得ステップにおいて,前記プロセスの状態をRun,Ready,Waitの各状態によって示すプロセス状態を含む前記ホスト状態情報を前記ホスト処理装置から取得して前記ホスト状態情報記憶手段へ格納する処理と
    前記最適化ステップにおいて,前記ホスト状態情報記憶手段に記憶された前記ホスト状態情報をもとに,前記対象プロセスのプロセス状態がWait状態である場合に,前記対象プロセスの優先度と前記実行中プロセスの優先度とを比較し,前記対象プロセスの優先度が前記実行中プロセスの優先度より低いときに,前記非割り込み処理を選択する処理
    実行させるための請求項1記載のデータ入出力プログラム。
  4. 前記コンピュータに、更に,
    前記ホスト状態情報取得ステップにおいて,前記ホスト処理装置のCPU使用率を取得し,前記ホスト状態情報記憶手段へ格納する処理と
    前記最適化ステップにおいて,前記ホスト状態情報記憶手段に記憶されたCPU使用率が所定値以下である場合に前記非割り込み処理を選択する処理
    実行させるための請求項1記載のデータ入出力プログラム。
  5. ホスト処理装置へのデータ入出力制御を行うデータ入出力装置であって,
    少なくともプロセスの状態の優先度を示すプロセス状態情報とプロセスの優先度とを含むホスト状態情報を記憶するホスト状態情報記憶手段と,
    前記ホスト処理装置からホスト状態情報を取得して,前記ホスト状態情報記憶手段へ格納するホスト状態情報取得手段と,
    データ入出力制御として,前記ホスト処理装置への割り込みを行う割り込み処理または前記ホスト処理装置への割り込みを行わない非割り込み処理のいずれかを選択する場合に,前記ホスト状態情報記憶手段に記憶された前記ホスト状態情報から,前記データ入出力制御において入出力データの転送処理の対象となる対象プロセスを特定し,前記特定した対象プロセスの優先度と前記ホスト処理装置において現在実行中の実行中プロセスの優先度とを比較して,前記対象プロセスの優先度が前記実行中プロセスの優先度より低い場合に,前記非割り込み処理を選択する最適化手段と,
    前記最適化ステップにおいて前記非割り込み処理が選択された場合に,前記非割り込み処理によって前記ホスト処理装置へのデータ入出力を通知する入出力通知手段とを備える
    ことを特徴とするデータ入出力装置。
  6. 前記ホスト状態情報取得手段が,前記プロセスの実行の優先度を含む前記ホスト状態情報を前記ホスト処理装置から取得して前記ホスト状態情報記憶手段へ格納するとともに,
    前記ホスト状態情報記憶手段に記憶された前記ホスト状態情報から前記プロセスの実行の優先度をもとに,前記データ入出力制御のデータの転送先となるプロセスの優先度を取得し,前記転送先プロセスの優先度が高い順にデータ転送制御の順序を決定する最適化手段と,
    前記最適化手段により決定された順序にしたがってデータ転送制御を行う転送制御手段とを備える
    ことを特徴とする請求項5記載のデータ入出力装置。
  7. 前記ホスト状態情報取得手段が,前記プロセスの状態をRun,Ready,Waitの各状態によって示すプロセス状態を含む前記ホスト状態情報を前記ホスト処理装置から取得して前記ホスト状態情報記憶手段へ格納し,
    前記最適化手段が,前記ホスト状態情報記憶手段に記憶された前記ホスト状態情報をもとに,前記対象プロセスのプロセス状態がWait状態である場合に,前記対象プロセスの優先度と前記実行中プロセスの優先度とを比較して,前記対象プロセスの優先度が前記実行中プロセスの優先度より低いときに,前記非割り込み処理を選択する
    ことを特徴とする請求項5記載のデータ入出力装置。
  8. コンピュータがホスト処理装置へのデータ入出力制御を行うデータ入出力方法であって,
    前記ホスト処理装置から,少なくともプロセスの状態を示すプロセス状態とプロセスの優先度とを含むホスト状態情報を取得して,ホスト状態情報記憶手段へ格納するホスト状態情報取得ステップと,
    データ入出力制御として,前記ホスト処理装置への割り込みを行う割り込み処理または前記ホスト処理装置への割り込みを行わない非割り込み処理のいずれかを選択する場合に,前記ホスト状態情報記憶手段に記憶された前記ホスト状態情報から,前記データ入出力制御において入出力データの転送処理の対象となる対象プロセスを特定し,前記特定した対象プロセスの優先度と前記ホスト処理装置において現在実行中の実行中プロセスの優先度とを比較して,前記対象プロセスの優先度が前記実行中プロセスの優先度より低い場合に,前記非割り込み処理を選択する最適化ステップと,
    前記最適化ステップにおいて前記非割り込み処理が選択された場合に,前記非割り込み処理によって前記ホスト処理装置へのデータ入出力を通知する入出力通知ステップとを備える
    ことを特徴とするデータ入出力方法。
  9. 前記ホスト状態情報取得ステップにおいて,前記プロセスの状態をRun,Ready,Waitの各状態によって示すプロセス状態を含む前記ホスト状態情報を前記ホスト処理装置から取得して前記ホスト状態情報記憶手段へ格納する処理と,
    前記最適化ステップにおいて,前記ホスト状態情報記憶手段に記憶された前記ホスト状態情報をもとに,前記対象プロセスのプロセス状態がReady状態である場合に前記非割り込み処理を選択する処理とを行う
    ことを特徴とする請求項8記載のデータ入出力方法。
  10. 前記ホスト状態情報取得ステップにおいて,前記プロセスの状態をRun,Ready,Waitの各状態によって示すプロセス状態を含む前記ホスト状態情報を前記ホスト処理装置から取得して前記ホスト状態情報記憶手段へ格納する処理と,
    前記最適化ステップにおいて,前記ホスト状態情報記憶手段に記憶された前記ホスト状態情報をもとに,前記対象プロセスのプロセス状態がWait状態である場合に,前記対象プロセスの優先度と前記実行中プロセスの優先度とを比較して,前記対象プロセスの優先度が前記実行中プロセスの優先度より低いときに,前記非割り込み処理を選択する処理とを行う
    ことを特徴とする請求項8記載のデータ入出力方法。
JP2005100780A 2005-03-31 2005-03-31 データ入出力プログラム,装置,および方法 Expired - Fee Related JP4387970B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005100780A JP4387970B2 (ja) 2005-03-31 2005-03-31 データ入出力プログラム,装置,および方法
US11/342,834 US7676610B2 (en) 2005-03-31 2006-01-31 Device and method for optimization of target host device process handling according to the status and the priority of the target host device process

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005100780A JP4387970B2 (ja) 2005-03-31 2005-03-31 データ入出力プログラム,装置,および方法

Publications (2)

Publication Number Publication Date
JP2006285341A JP2006285341A (ja) 2006-10-19
JP4387970B2 true JP4387970B2 (ja) 2009-12-24

Family

ID=37071951

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005100780A Expired - Fee Related JP4387970B2 (ja) 2005-03-31 2005-03-31 データ入出力プログラム,装置,および方法

Country Status (2)

Country Link
US (1) US7676610B2 (ja)
JP (1) JP4387970B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2008096396A1 (ja) * 2007-02-02 2010-05-20 パナソニック株式会社 無線通信装置および暗号鍵更新方法
JP5349816B2 (ja) * 2008-03-18 2013-11-20 富士通株式会社 回線監視装置及び回線監視方法
KR100959548B1 (ko) * 2008-05-21 2010-05-27 한국과학기술원 인터럽트 스케줄링 방법
JP2011180767A (ja) * 2010-02-26 2011-09-15 Kyocera Mita Corp 半導体装置
CN103119574B (zh) 2010-06-22 2016-01-20 富士通株式会社 数据传送控制装置及方法
JP5890194B2 (ja) * 2012-02-17 2016-03-22 Necプラットフォームズ株式会社 情報処理装置、及び、情報処理方法
US9542345B2 (en) * 2012-09-28 2017-01-10 Apple Inc. Interrupt suppression strategy
KR102145420B1 (ko) * 2013-07-25 2020-08-18 삼성전자주식회사 데이터 전송 속도를 변경하는 스토리지 시스템 및 그것의 데이터 전송 속도 변경 방법
JP5729445B2 (ja) * 2013-10-10 2015-06-03 富士通株式会社 マルチプロセッサシステム、制御方法、および制御プログラム
CN105389203B (zh) * 2015-10-19 2017-11-17 广东欧珀移动通信有限公司 一种指纹识别设备的调用方法、装置及移动终端
US10613887B2 (en) * 2015-10-21 2020-04-07 International Business Machines Corporation Ordering optimization of host machines in a computing environment based on policies
JP6955163B2 (ja) * 2017-12-26 2021-10-27 富士通株式会社 情報処理装置、情報処理方法及びプログラム
US11144481B2 (en) * 2018-04-11 2021-10-12 Apple Inc. Techniques for dynamically adjusting the manner in which I/O requests are transmitted between a computing device and a storage device
WO2022245333A1 (en) * 2021-05-17 2022-11-24 Hewlett-Packard Development Company, L.P. Bus interfaces control

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0328951A (ja) 1989-06-26 1991-02-07 Nec Corp 入出力制御装置
JP3263135B2 (ja) 1992-06-30 2002-03-04 キヤノン株式会社 情報処理装置
US5414858A (en) * 1992-12-11 1995-05-09 International Business Machines Corporation System and method for dynamically varying between interrupt and polling to service requests of computer peripherals
US6615161B1 (en) * 1998-07-08 2003-09-02 International Business Machines Corporation Method and apparatus for adjusting an interval of polling a peripheral device in response to changes in the status and/or reliability of receiving traps
US6378051B1 (en) * 1999-06-14 2002-04-23 Maxtor Corporation Interrupt signal prioritized shared buffer memory access system and method
JP2002259143A (ja) 2001-03-05 2002-09-13 Nec Soft Ltd タスク数自動制御装置、タスク数自動制御方法、オンライントランザクション処理システム、プログラム
JP2002342093A (ja) 2001-05-21 2002-11-29 Kyushu Univ 一括割込み処理装置及び方法並びにコンピュータによって実行される一括割込み処理プログラム
JP2004326486A (ja) 2003-04-25 2004-11-18 Matsushita Electric Ind Co Ltd タスク管理装置
US7765547B2 (en) * 2004-11-24 2010-07-27 Maxim Integrated Products, Inc. Hardware multithreading systems with state registers having thread profiling data

Also Published As

Publication number Publication date
US20060224785A1 (en) 2006-10-05
US7676610B2 (en) 2010-03-09
JP2006285341A (ja) 2006-10-19

Similar Documents

Publication Publication Date Title
JP4387970B2 (ja) データ入出力プログラム,装置,および方法
JP4054616B2 (ja) 論理計算機システム、論理計算機システムの構成制御方法および論理計算機システムの構成制御プログラム
US5835765A (en) Computer operation management system for a computer operating system capable of simultaneously executing plural application programs
US7882160B2 (en) Low latency optimization for generational garbage collection
JP4747307B2 (ja) ネットワーク処理制御装置,プログラムおよび方法
JP2005078507A (ja) 仮想化制御装置、アクセス経路制御方法及び計算機システム
CN102692985B (zh) 远程管理式计算机系统的平稳带外电源控制方法和系统
JP2010128664A (ja) マルチプロセッサシステム、競合回避プログラム及び競合回避方法
WO2005017736A1 (ja) ディスクアレイ装置におけるボトルネックを検出するシステムおよびプログラム
US10523746B2 (en) Coexistence of a synchronous architecture and an asynchronous architecture in a server
CN105357026B (zh) 一种资源信息收集方法和计算节点
CN112579396A (zh) 软件系统动态限流方法、装置及设备
JP2001282558A (ja) マルチオペレーティング計算機システム
JP2000137621A (ja) イベント管理装置及びプログラムを記録したコンピュータ読み取り可能な記録媒体
JPH11237993A (ja) タスクの優先度制御方法およびタスクの優先度制御装置
JP4089506B2 (ja) ファイル共有システム及びサーバー並びにプログラム
JP3839259B2 (ja) マルチスレッド制御方法、マルチスレッド制御装置、記録媒体、及びプログラム
CA2386467A1 (en) Managing memory resident queues to control resources of the systems using the queues
US10419532B2 (en) Asynchronous connection handling in a multi-threaded server
JP4567586B2 (ja) 処理装置
CN117593172B (zh) 进程管理方法、装置、介质及设备
WO2013065151A1 (ja) 計算機システム、データ転送方法、および、データ転送プログラム
JP2007323256A (ja) 割込制御方法および情報処理装置
CN115242623A (zh) 一种日志收集方法、装置、设备及存储介质
CN119653516A (zh) 一种通信流控方法、装置、设备及介质

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090407

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090414

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090612

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090612

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090612

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090929

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

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121009

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131009

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees