JP4347035B2 - 低消費電力適応的ポーリング - Google Patents

低消費電力適応的ポーリング Download PDF

Info

Publication number
JP4347035B2
JP4347035B2 JP2003417326A JP2003417326A JP4347035B2 JP 4347035 B2 JP4347035 B2 JP 4347035B2 JP 2003417326 A JP2003417326 A JP 2003417326A JP 2003417326 A JP2003417326 A JP 2003417326A JP 4347035 B2 JP4347035 B2 JP 4347035B2
Authority
JP
Japan
Prior art keywords
system processor
pending
polling
service request
service requests
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
JP2003417326A
Other languages
English (en)
Other versions
JP2004199683A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2004199683A publication Critical patent/JP2004199683A/ja
Application granted granted Critical
Publication of JP4347035B2 publication Critical patent/JP4347035B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3209Monitoring remote activity, e.g. over telephone lines or network connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Power Sources (AREA)
  • Facsimile Transmission Control (AREA)

Description

本発明は、全般的には、コンピュータ・システムに関し、詳細には、装置要求の処理に関し、より詳細には、こうした要求を、性能および応答性を維持するとともに電力消費が節約されるように、適応的ポーリングを介して処理する方法およびシステムに関する。
一般化したクライアント−サーバ・コンピューティング・ネットワーク2を図1に示す。ネットワーク2は、いくつかのサーバ4、6、8、9を有し、これらのサーバは、互いに直接に、または他のサーバの1つを介して間接に相互接続される。各サーバは、本来(1つまたは複数のプロセッサ、メモリ装置、および通信装置を有する)スタンドアロン型のコンピュータ・システムであるが、ワークステーション・クライアント10の個々のユーザに情報を提供するという、1つの主目的に適するようプログラムされている。クライアント10は、(パーソナル・コンピュータ、すなわちPCなどの)スタンドアロン型のコンピュータ・システムでも、(ネットワーク・コンピュータ、すなわちNCなどの)ネットワーク2との限定された使用に適応された「ダンパ(dumper)」システムでもよい。本明細書で使用する「PC」は、一般的に、製造者、ハードウェア・プラットフォーム、オペレーティング・システムなどに関わらず、個人の使用に適応された任意の多目的コンピュータを指す。単一の、物理的なコンピュータは、サーバとしてもクライアントとしても動作することができるが、こうした実装はめったに行われない。
サーバによって提供される情報は、クライアント10でローカルに実行されるプログラムの形式でも、他のプログラムが使用するファイルなどのデータの形式でもよい。ユーザは、リアルタイムでも、代行ファイル受信(delayed file delivery)によっても、互いに通信することができる。すなわち、同じサーバに接続されたユーザは誰でも、ネットワーク2を必要とせずに互いに通信することができ、また、サーバ4および6など異なるサーバのユーザは、ネットワーク2を介して互いに通信することができる。ネットワークは、本来、ローカル(すなわち、LAN)でもよく、サーバ8および9で示すような、他のシステムにさらに接続されていてもよい(図示せず)。ネットワーク2の構成は、一般にインターネットにも適用可能である。
従来、汎用システムは、その性能によって特徴づけられていた。概略的にいうと、システムは、特定の動作を処理する速度に基づいて評価される。例として、1秒当たりのトランザクション、1秒当たりのウェブ要求などがある。最近は、商業、国家、環境上の関心により、電力消費が重要になってきている。コンピューティング・システムは、北米で生成される電力の約10分の1を消費すると見積もられている。したがって、性能を損なわない、電力効率のよいコンピューティング・システムに対する要求が高まっている。
汎用コンピューティング・システム(クライアント、サーバ、または非プログラム式装置)は、プロセッサ、メイン・メモリ、およびいくつかの装置を備える。いくつかのバスが、通常、こうした構成要素を公知のプロトコルに従って接続する。このようなプロトコルの一例は、PCI(周辺装置相互接続)である。一般的な汎用コンピュータ・システムでは、プロセッサは、各周辺装置要求を、装置で発生する割込みの結果として処理する。各割込みが起こると、プロセッサではコンテキスト・スイッチが起こり、その間、プロセッサの状態はメイン・メモリに保存されて、装置要求を処理するための新しい状態が開始される。このような各コンテキスト・スイッチは、状態の転移と様々なメモリ・キャッシュへの破壊的な影響とによる過度のオーバヘッド、ならびにその結果生じるメモリ参照のローカル性の変動(perturbation)を招く。特に、最新のプロセッサは、プロセッサの速度とメモリ・アクセス時間の間の隔たりが大きくなっているので、この種のオーバヘッドに対してより敏感になっている。したがって、システム装置から高い頻度で割込みが生成されると、性能にとって有害である。
ポーリングは、プロセッサ(CPU)がそれによって装置要求を処理することができる、割込みに代わる方法である。CPUは、たとえば、処理すべきパケットが存在するかどうかを判断するために、ネットワーク装置をポーリングする。ネットワーク機器、たとえばソフトウェア・ベースのスイッチ、ファイアウォール、プロキシ・サーバ、そして第1層のウェブ・サーバさえもが、割込みを積極的にまとめるために、また、割込みを処理する間のコンテキスト・スイッチに要する待ち時間を削減することによってシステム全体の性能を高めるために、ポーリングによる入出力(I/O)をますます使用するようになっている。ポーリングは、ネットワーク・トラフィックなどの装置の活動率がそれほど高くないときに装置の状況を不必要にかつ絶え間なく調べるので非効率的である。さらに、ポーリングは、電力消費にとって有害である。というのは、ポーリングは、するべき作業があってもなくても絶えず起こり、システムが、CPUによって消費される電力を節約するために適切な命令を発行することができる「スリープ」状態に入るのを妨げるからである。したがって、ポーリングは、最も基本的な節電戦略を無効にする恐れがある。
上記のことを考慮すると、システム全体の性能および応答性を高め、節電し、精巧な電力管理機構を可能にする、装置のサービス要求を管理するための改良された方法を考案することが望ましい。
したがって、本発明の1つの目的は、コンピュータ・システムにおける、装置のサービス要求を処理する改良された方法を提供することである。
本発明の別の目的は、ポーリングを使用してこのような装置のサービス要求を、高い性能でより効率的に処理する方法を提供することである。
本発明のさらに別の目的は、システムの応答性の制約に違反せずに電力消費を削減するために、適応的に装置をポーリングすることができる、改良されたデータ処理システムを提供することである。
上述の目的は、保留されたサービス要求のポーリング周期を適応させる方法において達成され、一般にこの方法は、保留されたサービス要求の有無を調べるためにシステムをポーリングするステップと、保留されたサービス要求があったかどうかを記録するステップと、蓄積したデータに基づいて、システム装置が十分にアイドル状態であるかどうかを判断するステップとを含む。この判断に基づいて、システムは、装置の活動を伝える信号が送られるまで、または調整可能な一定の時間が経過するまでの間、節電モードに入ることを選ぶことができる。このようにして、システムは、システムの性能と応答性を維持しつつ、節電することができる。アイドル状態である時間の最小パーセンテージは、適応的に設定することができ、最低限の待ち時間制約およびタイマ割込みの周期も同様である。プロセッサの動作は、節電の後で、タイマ割込みまたは装置割込みのどちらかの割込みに応答して、再開される。
本発明の、上記ならびに追加の目的、特徴、および利点は、以下の詳細な説明で明らかになるであろう。
添付の図面を参照することにより、当業者には、本発明がよりよく理解され、その多くの目的、特徴、および利点が明らかになるであろう。
異なる図面で同じ参照記号を使用しているものは、類似のまたは同一の項目を示す。
ここで図面、具体的には図2を参照すると、本発明の一実装形態による、ネットワーク通信機能を実行するようにプログラムされた、データ処理システムの一実施形態11を示してある。本発明は、ルータ、ファイアウォール、サーバなど、多くの異なるタイプのネットワーク機器に適用することができ、システム11についての以下の説明は、これらの、および他の様々なネットワーク装置をカバーするために、ある程度包括的なものとなっている。特定の適用例に基づくシステム11のさらなる詳細は、当業者には明らかであろう。
システム11は、プログラム命令を実行する中央処理装置(CPU)12と、システムの基本的な入出力論理を格納しているファームウェアまたは読出し専用メモリ(ROM)14と、CPU12が使用するプログラム命令およびオペランド・データを一時的に格納するダイナミック・ランダム・アクセス・メモリ(DRAM)16とを含む。CPU12、ROM14、およびDRAM16はすべて、システム・バス18に接続される。図示してはいないが、オン・ボードの(L1)キャッシュや第2レベルの(L2)キャッシュなどの追加の構造が、メモリ階層にあってもよい。
また、CPU12、ROM14、およびDRAM16は、PCI(周辺装置相互接続)ローカル・バス20に、PCIホスト・ブリッジ22を使って結合される。PCIホスト・ブリッジ22は、待ち時間の短い経路を提供し、これを介してプロセッサ12は、バス・メモリまたは入出力(I/O)アドレス空間内部のどこにマッピングされたPCI装置にもアクセスすることができる。PCIホスト・ブリッジ22はまた、PCI装置がDRAM16にアクセスできるようにするための、高帯域幅経路を提供する。PCIローカル・バス20には、ネットワーク・インタフェース・アダプタ24およびSCSI(小型コンピュータ・システム・インタフェース)アダプタ26が接続される。ネットワーク・インタフェース・アダプタ24は、データ処理システム11を、ローカル・エリア・ネットワーク(LAN)やインターネットなどの外部コンピュータ・ネットワーク34に接続するのに使用することができる。SCSIアダプタ26は、高速SCSIディスク・ドライブ36を制御するのに使用することができる。ディスク・ドライブ36は、後で説明するように本発明を実施するプログラムなどのプログラム命令およびデータを、より永久的な状態で格納する。システム11は、複数のネットワーク・インタフェース・アダプタまたは記憶装置を使用することができる。適用例によっては、他の装置を、アダプタ30を備えるインディケータとして、PCIバス20に接続することもできる。たとえば、アダプタ30は、システム11のプログラミングを可能にするシリアル・インタフェースを提供することができる。
この例示的な実装形態は、本発明を実施するプログラム命令をディスク・ドライブ36(記憶媒体)上で提供するが、本発明は伝送媒体など他のコンピュータ可読媒体を利用するプログラム製品でも実装できることが、当業者には理解されよう。一実施形態では、本発明の計算ステップは、C言語などのプログラミング言語を使用して、プログラム・コードとして実装することができる。
この例示的な実施形態では、データ処理システム11は、ネットワーク通信のためのプログラム命令を実行し、特に、電力効率のよい方法で割込みを管理するために、I/O装置(たとえば、SCSIアダプタ26やネットワーク・インタフェース24)をポーリングするための新規の技術を使用する。したがって、プログラム命令は、ネットワーク通信機能の従来の態様を含んでもよく、その詳細は、本開示を参照すれば当業者には明らかであろう。
本発明は、装置の適応的ポーリングのための機構を提供し、非アクティブ期間中は、システムの応答性制約に違反することなく電力効率を上げるために、CPU12を選択的に節電状態に置く。この例示的な実装形態では、この機構を実装するために、4つの情報が、ポーリングの基盤の一部として使用される。その4つの情報とは、ポーリング機能の呼出しが何らかの作業を生成したかどうか、ポーリングを受けた装置が保留されたサービス要求(pending service request)をもっていなかったのは何度か、次のタイマ割込みまでどれだけ時間があるか、CPUタイマ量子(quanta)がどれだけか、である。特定の装置、たとえばネットワーク・インタフェース24やSCSIアダプタ26への割込みを許可および禁止する機能が提供される。適応的アルゴリズムは、いつシステムが節電モードに入るのに十分なほどアイドル状態であったかを判断するCPUタイマ量子、ならびに閾値を変更するための機構を提供する。
図5は、従来のデータ処理システムが割込み駆動式であるときの、そのようなシステムに関連する様々な状態を示す。システムが、アプリケーションを実行し、またはオペレーティング・システム内のタスクを実施しているときは、実行101状態にあるとみなされる。量子として定義される規則的な間隔で、タイマ割込みが信号で送られる。システムは、コンテキスト・スイッチを実施して、タイマ割込みサービス・ルーチン(ISR)102に入る。タイマISR102は、周期的な機能を実行し、マルチタスク・オペレーティング・システムでスケジューリングを実施する任を負う。タイマISR102がそのタスクを完了した後、システムのコンテキストが復元され、制御が実行101状態に戻る。
ネットワーク・インタフェースやディスクなどのシステム装置は、システムのアテンションを要求する活動を検出すると、装置割込み111をトリガする。こうした割込みは、ディスク書込みやネットワーク送信など、その前に要求された動作の完了によってトリガすることも、ネットワークで新しいパケットを受信するといった新しいデータの受信によってトリガすることもできる。このような割込みを受け取ると、システムは、コンテキスト・スイッチを実施して、装置の割込みサービス・ルーチン(装置ISR103)を実行する。このルーチンは、装置の状況を調べ、要求された動作があれば実施し、その後でシステム・コンテキストが復元され、制御が実行101状態に戻る。
実行準備ができているアプリケーションもオペレーティング・システムのタスクもない場合、または上述のタスクがすべて、システム・イベントまたは装置I/Oを待ち続けてブロックされている場合、システムは「アイドル」112状態であるといい、ほとんどのシステムは、節電モード、すなわちスリープ104状態に移るように構成される。システムは、割込み(タイマ120または装置121のどちらか)を受け取るまでこの状態に留まり、割込みを受け取った後で、制御が適切なISR(102または103)に移る。通常、どちらかのISRの結果、アプリケーションまたはオペレーティング・システム向けの新しい作業が作成され、実行101状態に戻る。それ以外の場合、すなわちシステムがまだアイドル状態である場合、システムは、節電、すなわちスリープ104状態に戻る。
ポーリング・システム(図6)では、装置の活動を信号で伝えるのに割込みは使用されない。そうではなく、タイマISR102の間またはアイドル・ポーリング・ループ105の間に、装置の状況が、周期的に調べられる。ポーリング・ループ105は、新しい装置活動を検出すると、装置のISRを呼び出す。システムは絶えず装置の状況を調べるか、またはアプリケーションもしくはシステム・タスクを実行しているので、節電、すなわちスリープ状態104に移る機会がない。アプリケーションもシステム・タスクも実行する必要がないときに単にスリープすると、装置サービス要求に対する待ち時間制約に違反し、システム性能の低下を引き起こすことがある。
図3は、2つの従来システムを、システムの性能も応答性も低下させることなくシステムの節電を調整する適応機構と複合させたもの(hybrid)を表す。システムは実行状態101で開始し、システムに、それ以上実行すべきアプリケーションもシステム・タスクもないとき、またはタイマ割込みが起こったとき、システムはポーリング状態105に移行する。装置の状況のポーリングによってサービス要求が検出されると、制御は適切な装置のISR103に移る。ISRが完了すると、アクティビティカウンタが増分されて制御が適応ルーチン106に移る。装置アクティビティが検出されない場合、非アクティビティ・カウンタが増分されて制御は適応ルーチン(Adaptationroutine)106に移る。
適応ルーチン106は、(ポーリングを受けた装置が、なすべき作業をもっていなかったこと、または保留されたサービス要求をもっていたことがそれぞれ何度かを追跡する)非アクティビティ・カウンタやアクティビティ・カウンタなどのシステム状態を調べることができ、システムの応答性についての制約を維持しながら節電の程度を高めるまたは低めるようにシステム・パラメータを適応させる。この適応はシステムによって変わり得るが、ある実施形態では、装置の状況をポーリングして、ある一定回数アクティビティがないと返事があった後で装置を「アイドル」状態であると宣言し、したがってシステムを節電にとって適格にすることを選択できる。さらに、アイドル状態になるための閾値、すなわちシステムが「アイドル」状態であるとみなされるまでの連続した非アクティビティ・ポーリングの回数を調整することを選択することもできる。
アイドル状態が長く続く間(その間、タイマ量子の時間中ずっと、装置アクティビティが検出されない)、適応アルゴリズム106は、装置がアイドル状態であるかどうかを判断するのにただ一度の装置状況のポーリングで済むように閾値を小さくすることによって、ポーリングを禁止し、再度装置割込みを許可することを選ぶことができる。この手法は、システムをできるだけスリープ状態に保ち、装置アクティビティまたはタイマ割込みによってのみ割込みを受けるようにするのに役立つ。このような装置アクティビティはどれも、適応ルーチン106をトリガして、装置割込みを禁止させ、非アクティビティ状態のための閾値を大きくさせる。
別の実施形態では、タイマ割込みがあまり頻繁に起こらないように、その周期(quanta)を調整することを選択できる。システムのスケジューリング方針および周期的なタスクを考慮することにより、こうした調整に上限を設けることができる。
タイマ量子の終りまでの時間がサービス要求に対する最小待ち時間閾値よりも小さい場合、サービス要求を一括処理するために、適応ルーチン106はさらに、非アクティビティ状態のための閾値に達する前に、システムがアイドル状態であると宣言することを決定することができる。単純化した例で、ウェブ・サーバ・ブレード用のタイマ量子が10ミリ秒に設定されたとする。最後のクロックの刻時(tick)から、ポーリングおよび活動で8ミリ秒が経過した。最小待ち時間制約が3ミリ秒に設定されている場合、CPUは、次のタイマの刻時までの残り2ミリ秒間、スリープ状態になる。
適応ルーチン106が実行された後、システムは、システムまたはアプリケーションのタスクの実行準備ができているかどうか調べる。準備ができている場合、制御は、タスクを実行するために実行101状態に戻る。どのタスクも実行準備ができていない場合、システムは、適応パラメータを検査して、システムが「アイドル」状態とみなされるかどうか調べる。システムがアイドル状態であるとみなされない場合、再度ポーリング状態105に入って装置の状況を検査する。システムがアイドル状態であると判断され、かつ節電によって応答性が低下しない場合、システムはスリープ104状態に入る。割込み(装置またはタイマ)があると、システムが節電スリープ104状態から出てポーリング状態105に入る。
最小待ち時間制約は、システム設計者によってハードコード化されてもよく、フィードバックに基づいて、システムの端末間応答時間制約を満たすように経時的に適応させてもよい。この端末間応答時間の導出はアプリケーションの仕様であり、ユーザの必要に応じてかなり変わり得る。たとえば、5秒の伝送待ち時間を有する、長距離ネットワーク上のウェブ・サーバは、節電によって引き起こされる4ミリ秒の待ち時間をより簡単に許容することができる。モデル化した結果、ウェブ・サーバ・ブレードにインテルのCPUアーキテクチャを使用した場合、30%〜40%の潜在的な節電が示された。
例示的な実施形態を示す図4のフロー図を参照すれば、本発明をさらに理解することができよう。図4のステップのいくつかは、括弧内に、図3に示した対応する機能動作状態(functional operational states)を表す第2の参照番号を示す。処理は、始めに、ユーザ・アプリケーションを実行する(50)。システムは、割込みを待つ(54)か、あるいは実行する準備のできたアプリケーションまたはシステムのタスクがなくなるのを待つ。次いで、システムは、装置をポーリングして、保留されたサービス要求があるかどうかを調べる(58)。保留されたサービス要求がある場合(62)、システムはアクティビティを調節し(61)、その要求を処理するために装置の割込みサービス・ルーチンに移る(64)。装置の要求を処理した後、システムは適応(68)ステップに進む。保留されたサービス要求が検出されない場合、システムの非アクティビティ・カウンタが増分され(63)、次いで適応ルーチン(68)が実行される。
先に述べたように、適応ルーチン(68)は、アクティビティ、非アクティビティ、または量子中の残り時間あるいはそのすべてに基づいてシステム変数を調整する。次いで、適応ルーチンは、装置がアイドル状態であると宣言するべきどうか判断する。装置がアイドル状態である場合、適応ルーチンは、装置が割込み可能であると判断することができる。適応ルーチンの完了後、システムは、実行の準備ができているアプリケーションまたはシステム・タスクが存在するかどうかを調べる(70)。存在する場合、システムはタスクの実行に戻る(50)。存在しない場合、システムは、適応ルーチンが装置をアイドル状態と宣言したかどうかを調べる(72)。宣言していない場合、システムは、保留されたサービス要求の有無を調べるため装置のポーリングに戻る(58)。装置がアイドル状態の場合、システムは、節電状態に置かれ(74)、タイマ割込みまたは装置割込みを受け取るまでその状態に留まる。
装置割込みのために、システムが節電状態を抜けることになった場合(69)、装置割込みは禁止され(58)、システムは保留されたサービス要求の有無を調べるためポーリングに戻る(58)。
本発明を、特定の実施形態に関して説明したが、この説明は、限定的な意味で解釈すべきものではない。本発明の説明を参照すれば、開示した実施形態の様々な変更、ならびに本発明の代替実施形態が、当業者には明らかであろう。したがって、添付の特許請求の範囲で定義される本発明の精神および範囲から逸脱することなく、そのような変更が行えることが企図されている。
まとめとして、本発明の構成に関して以下の事項を開示する。
(1)プロセッサおよび1つまたは複数の入出力(I/O)装置を有するデータ処理システムにおいて、保留された装置サービス要求のポーリング周期を適応させる方法であって、
保留されたサービス要求の有無を調べるために、前記データ処理システムの前記装置をポーリングするステップと、
保留されたサービス要求があったかどうかを記録するステップと、
蓄積されたデータに基づいて、装置がアイドル状態であると判断するステップと、
前記判断ステップに応答して、前記プロセッサを低電力状態に置くステップとを含む方法。
(2)前記ポーリングするステップで受け取った1つまたは複数のサービス要求を処理するステップをさらに含む、上記(1)に記載の方法。
(3)閾値であって、それを超えると装置がアイドル状態であるとみなされる、保留されたサービス要求が見つからないポーリングの最小回数の前記閾値を適応的に設定するステップをさらに含む、上記(1)に記載の方法。
(4)システムおよび装置の非アクティビティ状態に応答して前記プロセッサがタイマによる割込みを受ける頻度に対応するように、タイマ量子の周期を適応的に設定するステップをさらに含む、上記(1)に記載の方法。
(5)装置のアクティビティおよび非アクティビティに応答して、装置割込みを許可または禁止するステップをさらに含む、上記(1)に記載の方法。
(6)保留されたサービス要求が存在する間、前記システムが前記低電力状態に留まることができる最長の時間に合わせて、最小待ち時間閾値を適応的に設定するステップをさらに含む、上記(1)に記載の方法。
(7)前記プロセッサが前記低電力状態に置かれた後で、後の割込みに応答してその動作を再開させるステップをさらに含む、上記(1)に記載の方法。
(8)少なくとも1つのプロセッサと、
前記プロセッサに接続されたメモリ装置と、
前記プロセッサに接続された1つまたは複数の入出力(I/O)装置と、
前記メモリ装置に格納されたプログラム命令とを備えるデータ処理システムであって、前記プログラム命令が、保留されたサービス要求の有無を調べるために前記装置をポーリングすること、保留されたサービス要求があったかどうかを記録すること、蓄積されたデータに基づいて装置がアイドル状態であると判断すること、および、それに応答して前記プロセッサを低電力状態に置くことによって、保留された装置サービス要求のポーリング周期を適応させるためのものである、データ処理システム。
(9)前記プログラム命令が、前記ポーリングで受け取った1つまたは複数の割込みをさらに処理する、上記(8)に記載のデータ処理システム。
(10)それを超えると装置がアイドル状態であるとみなされる、保留されたサービス要求が見つからないポーリングの最小回数の閾値を、前記プログラム命令がさらに適応的に設定する、上記(8)に記載のデータ処理システム。
(11)システムおよび装置の非アクティビティ状態に応答して前記プロセッサがタイマによる割込みを受ける頻度に対応するように、前記プログラム命令がタイマ量子の周期をさらに適応的に設定する、上記(8)に記載のデータ処理システム。
(12)前記プログラム命令が、装置の活動およびその欠如に応答して、さらに装置割込みを許可または禁止する、上記(8)に記載のデータ処理システム。
(13)保留されたサービス要求が存在する間、前記システムが前記低電力状態に留まることができる最長の時間に合わせて、前記プログラム命令がさらに最小待ち時間閾値を適応的に設定する、上記(8)に記載のデータ処理システム。
(14)前記プロセッサが前記低電力状態に置かれた後で、前記プログラム命令が後の割込みに応答してその動作を再開させる、上記(8)に記載のデータ処理システム。
(15)1つのプロセッサおよび1つまたは複数の入出力(I/O)装置を有するデータ処理システムにおいて、保留された装置サービス要求のポーリングの周期を適応させるコンピュータ・プログラムであって、
コンピュータ可読媒体と、
前記媒体にあるプログラム命令とを備え、前記プログラム命令が、保留されたサービス要求の有無を調べるために、前記装置をポーリングし、保留されたサービス要求があったかどうかを記録し、蓄積されたデータに基づいて、装置がアイドル状態であると判断し、かつ、それに応答して、前記プロセッサを低電力状態に置く、コンピュータ・プログラム。
(16)前記プログラム命令が、前記ポーリングで受け取った1つまたは複数の割込みをさらに処理する、上記(15)に記載のコンピュータ・プログラム。
(17)閾値であって、それを超えると装置がアイドル状態であるとみなされる、保留されたサービス要求が見つからないポーリングの最小回数の前記閾値を、前記プログラム命令がさらに適応的に設定する、上記(15)に記載のコンピュータ・プログラム。
(18)システムおよび装置の非アクティビティ状態に応答して前記プロセッサがタイマによる割込みを受ける頻度に対応するように、前記プログラム命令がタイマ量子の周期をさらに適応的に設定する、上記(15)に記載のコンピュータ・プログラム。
(19)前記プログラム命令が、装置のアクティビティおよびその欠如に応答して、さらに装置割込みを許可または禁止する、上記(15)に記載のコンピュータ・プログラム。
(20)保留されたサービス要求が存在する間、前記システムが前記低電力状態に留まることができる最長の時間に合わせて、前記プログラム命令がさらに最小待ち時間閾値を適応的に設定する、上記(15)に記載のコンピュータ・プログラム。
(21)前記プロセッサが前記低電力状態に置かれた後で、前記プログラム命令が後の割込みに応答してその動作を再開させる、上記(15)に記載のコンピュータ・プログラム。
相互接続されたサーバおよびワークステーション・クライアントを含む、従来のコンピュータ・ネットワークを示す図である。 本発明の一実施形態による、ネットワーク通信機能を実行するようにプログラムされた、データ処理システムを示すブロック図である。 本発明の一実装形態による、図2のデータ処理システムで使用される遷移を示す状態図である。 本発明のポーリング機構の一実装形態の論理フローを示す図である。 従来の割込み駆動システムにおける遷移を示す状態図である。 従来のポーリングによるI/Oシステムにおける遷移を示す状態図である。
符号の説明
2 クライアント−サーバ・コンピューティング・ネットワーク、ネットワーク
4 サーバ
6 サーバ
8 サーバ
9 サーバ
10 ワークステーション・クライアント、クライアント
11 一実施形態、システム、データ処理システム
12 中央処理装置(CPU)、プロセッサ
14 ファームウェアまたは読出し専用メモリ(ROM)
16 ダイナミック・ランダム・アクセス・メモリ(DRAM)
18 システム・バス
20 PCI(周辺装置相互接続)ローカル・バス、PCIバス
22 PCIホスト・ブリッジ
24 ネットワーク・インタフェース・アダプタ、ネットワーク・インタフェース
26 SCSI(小型コンピュータ・システム・インタフェース)アダプタ
30 アダプタ
34 外部コンピュータ・ネットワーク
36 高速SCSIディスク・ドライブ、ディスク・ドライブ

Claims (6)

  1. システム・プロセッサおよび1つまたは複数の入出力(I/O)装置を有するデータ処理システムにおいて、保留された装置サービス要求のポーリング周期を適応させる方法であって、
    保留されたサービス要求の有無を調べるために、前記データ処理システムの前記I/O装置をポーリングするステップと、
    保留されたサービス要求があったかどうかを記録するステップと、
    前記I/O装置の少なくとも1つからの保留されたサービス要求がないときに、超えると前記I/O装置がアイドル状態であるとみなされる、保留されたサービス要求が見つからないポーリングの最小回数の閾値、前記システム・プロセッサが規則的にタイマ割込みを受ける周期、および、保留されたサービス要求が存在する間、前記システム・プロセッサが低電力状態に留まることができる最長の時間に合う、サービス要求に対する最小待ち時間の閾値のうち少なくとも1つを前記システム・プロセッサにより適応的に調整するステップと、
    蓄積されたデータに基づいて、前記I/O装置がアイドル状態であると判断するステップと、
    前記判断ステップに応答して、前記システム・プロセッサを前記低電力状態に置くステップと、
    を含む前記方法。
  2. 前記ポーリングするステップの後に、前記ポーリングするステップで受け取った1つまたは複数のサービス要求を処理するステップをさらに含む、請求項1に記載の方法。
  3. 前記I/O装置のアクティビティおよび非アクティビティに応答して、前記I/O装置の割込みを許可または禁止するステップをさらに含む、請求項1に記載の方法。
  4. 前記システム・プロセッサが前記低電力状態に置かれた後で、後の割込みに応答してその動作を再開させるステップをさらに含む、請求項1に記載の方法。
  5. 少なくとも1つのシステム・プロセッサと、
    前記システム・プロセッサに接続されたメモリ装置と、
    前記システム・プロセッサに接続された1つまたは複数の入出力(I/O)装置と、
    前記メモリ装置に格納されたプログラム命令と、
    を備えるデータ処理システムであって、
    前記プログラム命令が、保留されたサービス要求の有無を調べるために前記I/O装置をポーリングすること、保留されたサービス要求があったかどうかを記録すること、前記I/O装置の少なくとも1つからの保留されたサービス要求がないときに、超えると前記I/O装置がアイドル状態であるとみなされる、保留されたサービス要求が見つからないポーリングの最小回数の閾値、前記システム・プロセッサが規則的にタイマ割込みを受ける周期、および、保留されたサービス要求が存在する間、前記システム・プロセッサが低電力状態に留まることができる最長の時間に合う、サービス要求に対する最小待ち時間の閾値のうち少なくとも1つを前記システム・プロセッサにより適応的に調整すること、蓄積されたデータに基づいて前記I/O装置がアイドル状態であると判断すること、および、それに応答して前記システム・プロセッサを前記低電力状態に置くことによって、保留された装置サービス要求のポーリング周期を適応させるためのものである、
    前記データ処理システム。
  6. 1つのシステム・プロセッサおよび1つまたは複数の入出力(I/O)装置を有するデータ処理システムにおいて、保留された装置サービス要求のポーリングの周期を適応させるコンピュータ・プログラムであって、前記データ処理システムに、
    保留されたサービス要求の有無を調べるために、前記I/O装置をポーリングし、
    保留されたサービス要求があったかどうかを記録し、
    前記I/O装置の少なくとも1つからの保留されたサービス要求がないときに、超えると前記I/O装置がアイドル状態であるとみなされる、保留されたサービス要求が見つからないポーリングの最小回数の閾値、前記システム・プロセッサが規則的にタイマ割込みを受ける周期、および、保留されたサービス要求が存在する間、前記システム・プロセッサが低電力状態に留まることができる最長の時間に合う、サービス要求に対する最小待ち時間の閾値のうち少なくとも1つを前記システム・プロセッサにより適応的に調整し、
    蓄積されたデータに基づいて、前記I/O装置がアイドル状態であると判断し、
    それに応答して、前記システム・プロセッサを前記低電力状態に置く、
    ことを実行させる前記コンピュータ・プログラム。
JP2003417326A 2002-12-18 2003-12-15 低消費電力適応的ポーリング Expired - Fee Related JP4347035B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/324,738 US7093141B2 (en) 2002-12-18 2002-12-18 Power aware adaptive polling

Publications (2)

Publication Number Publication Date
JP2004199683A JP2004199683A (ja) 2004-07-15
JP4347035B2 true JP4347035B2 (ja) 2009-10-21

Family

ID=32593537

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003417326A Expired - Fee Related JP4347035B2 (ja) 2002-12-18 2003-12-15 低消費電力適応的ポーリング

Country Status (5)

Country Link
US (1) US7093141B2 (ja)
JP (1) JP4347035B2 (ja)
KR (1) KR100550195B1 (ja)
CN (1) CN1234059C (ja)
TW (1) TWI234711B (ja)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW595127B (en) * 2003-04-09 2004-06-21 Wistron Neweb Corp Method and apparatus for power management of electronic device
TWI283341B (en) * 2003-11-20 2007-07-01 Acer Inc Structure of dynamic management device power source and its method
US7103693B2 (en) * 2004-09-30 2006-09-05 International Business Machines Corporation Method for applying interrupt coalescing to incoming messages based on message length
US20080141265A1 (en) * 2004-12-08 2008-06-12 Electronics And Telecommunications Research Instit Power Management Method for Platform and that Platform
US7386747B2 (en) * 2005-05-10 2008-06-10 Qualcomm Incorporated Method and system for reducing power consumption of a programmable processor
US8286169B2 (en) * 2005-06-17 2012-10-09 Intel Corporation Dynamic scheduling an interval for polling devices based on a current operational power mode in an extensible firmware interface architecture
TWI308696B (en) * 2005-10-07 2009-04-11 Via Tech Inc Initializing method bus device
TWI307012B (en) * 2005-11-17 2009-03-01 Via Tech Inc Idle state adjusting method and logical chip and computer system using the same
US20070260905A1 (en) * 2006-05-01 2007-11-08 Integration Associates Inc. Wireless controlled wake up
CN100410911C (zh) * 2006-05-31 2008-08-13 威盛电子股份有限公司 中断控制器、中断信号预处理电路及其中断控制方法
US8127159B1 (en) 2007-07-23 2012-02-28 Marvell International Ltd. Power management in a wireless local area network
TWI466018B (zh) * 2007-08-24 2014-12-21 Via Tech Inc 降低電腦系統耗能的方法、電腦系統、及控制裝置
CN101378544B (zh) * 2007-08-31 2011-12-07 国际商业机器公司 信息轮询方法、装置及其系统
US8473647B2 (en) * 2007-09-17 2013-06-25 Apple Inc. Methods and apparatus for decreasing power consumption and bus activity
US7996580B2 (en) * 2007-12-10 2011-08-09 Sandisk Il Ltd. System and method for notifying a host of a service required by a slave storage device
US8032633B2 (en) * 2008-06-10 2011-10-04 International Business Machines Corporation Computer-implemented method for implementing a requester-side autonomic governor using feedback loop information to dynamically adjust a resource threshold of a resource pool scheme
US8250212B2 (en) * 2008-06-10 2012-08-21 International Business Machines Corporation Requester-side autonomic governor
US8612998B2 (en) * 2010-09-23 2013-12-17 Intel Corporation Coordinating device and application break events for platform power saving
US8028104B2 (en) * 2009-01-29 2011-09-27 Xerox Corporation Method and system for polling multifunction devices based on performance criteria
US8364862B2 (en) * 2009-06-11 2013-01-29 Intel Corporation Delegating a poll operation to another device
US8024606B2 (en) * 2009-08-21 2011-09-20 International Business Machines Corporation Power restoration to blade servers
US20110106935A1 (en) * 2009-10-29 2011-05-05 International Business Machines Corporation Power management for idle system in clusters
US9146601B2 (en) * 2009-11-20 2015-09-29 Lenovo (Singapore) Pte. Ltd. Systems and methods for electronic device power management
CN101968678A (zh) * 2010-08-10 2011-02-09 东莞环亚高科电子有限公司 一种嵌入式Linux设备低功耗电源管理设备
US9075652B2 (en) 2010-12-20 2015-07-07 Microsoft Technology Licensing, Llc Idle time service
CN103218032B (zh) 2011-11-29 2017-07-14 英特尔公司 利用相对能量损益平衡时间的功率管理
US9311243B2 (en) 2012-11-30 2016-04-12 Intel Corporation Emulated message signaled interrupts in multiprocessor systems
US9195285B2 (en) * 2012-12-27 2015-11-24 Intel Corporation Techniques for platform duty cycling
US9213390B2 (en) * 2012-12-28 2015-12-15 Intel Corporation Periodic activity alignment
US20140189184A1 (en) * 2012-12-28 2014-07-03 Nicholas Adams Creating dynamic fixed functionality for a hardware device system
WO2014209395A1 (en) 2013-06-28 2014-12-31 Intel Corporation Adaptive interrupt coalescing for energy efficient mobile platforms
US9032119B2 (en) 2013-07-25 2015-05-12 Alcatel Lucent Adaptive polling of information from a device
CN103488522B (zh) * 2013-09-22 2017-10-17 华为技术有限公司 一种管理虚拟机的设备的方法及设备
US10055369B1 (en) 2017-03-27 2018-08-21 Apple Inc. Systems and methods for coalescing interrupts
CN107861897A (zh) * 2017-11-06 2018-03-30 郑州云海信息技术有限公司 一种中断和轮询触发方法、系统、设备及计算机存储介质
US11579678B2 (en) * 2018-07-02 2023-02-14 Telefonaktiebolaget Lm Ericsson (Publ) Software switch and method therein
US11252070B2 (en) * 2018-10-09 2022-02-15 Vmware, Inc. Adaptive polling in software-defined networking (SDN) environments
US11249536B2 (en) 2018-12-17 2022-02-15 Qualcomm Incorporated Reducing power consumption of communication interfaces by clock frequency scaling and adaptive interleaving of polling
CN111143032A (zh) * 2019-12-20 2020-05-12 上海交通大学 一种基于请求应答的半虚拟化i/o系统和方法
KR102369354B1 (ko) * 2020-03-26 2022-03-02 성균관대학교산학협력단 폴링 입출력 방식 기반 전력 효율 조절 방법 및 장치
WO2023002547A1 (ja) * 2021-07-19 2023-01-26 日本電信電話株式会社 サーバ内データ転送装置、サーバ内データ転送方法およびプログラム
JPWO2023144958A1 (ja) * 2022-01-27 2023-08-03

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5239652A (en) * 1991-02-04 1993-08-24 Apple Computer, Inc. Arrangement for reducing computer power consumption by turning off the microprocessor when inactive
GB9109595D0 (en) * 1991-05-02 1991-06-26 Thomson Consumer Electronics Polling for detection of power supply or other failures of a digital circuit
US5440560A (en) * 1991-12-24 1995-08-08 Rypinski; Chandos A. Sleep mode and contention resolution within a common channel medium access method
JPH10163943A (ja) * 1996-11-26 1998-06-19 Nippon Denki Ido Tsushin Kk 通信システム
JP3414244B2 (ja) * 1998-02-27 2003-06-09 ソニー株式会社 通信制御方法及び伝送装置
US6449663B1 (en) * 1998-07-08 2002-09-10 International Business Machines Corporation Method and apparatus for adjusting an interval of polling a network printer based on changes in working status of the network printer
US6640268B1 (en) * 1998-08-28 2003-10-28 Intel Corporation Dynamic polling mechanism for wireless devices
US6807159B1 (en) * 2000-10-25 2004-10-19 International Business Machines Corporation Methodology for managing power consumption in master driven time division duplex wireless network
US7757094B2 (en) * 2001-02-27 2010-07-13 Qualcomm Incorporated Power management for subscriber identity module

Also Published As

Publication number Publication date
US20040123169A1 (en) 2004-06-24
CN1508652A (zh) 2004-06-30
US7093141B2 (en) 2006-08-15
TWI234711B (en) 2005-06-21
JP2004199683A (ja) 2004-07-15
CN1234059C (zh) 2005-12-28
KR20040054491A (ko) 2004-06-25
KR100550195B1 (ko) 2006-02-08
TW200424860A (en) 2004-11-16

Similar Documents

Publication Publication Date Title
JP4347035B2 (ja) 低消費電力適応的ポーリング
US7058824B2 (en) Method and system for using idle threads to adaptively throttle a computer
US10819638B2 (en) Reducing network latency during low power operation
US7610497B2 (en) Power management system with a bridge logic having analyzers for monitoring data quantity to modify operating clock and voltage of the processor and main memory
CN110058786B (zh) 用于控制存储系统中的写请求的方法、装置和计算机程序产品
US8566628B2 (en) North-bridge to south-bridge protocol for placing processor in low power state
US8473647B2 (en) Methods and apparatus for decreasing power consumption and bus activity
US7174471B2 (en) System and method for adjusting I/O processor frequency in response to determining that a power set point for a storage device has not been reached
US9021209B2 (en) Cache flush based on idle prediction and probe activity level
US20100076805A1 (en) Adaptive Scheduling Of Storage Operations Based On Utilization Of Multiple Client And Server Resources In A Distributed Network Storage System
US11005970B2 (en) Data storage system with processor scheduling using distributed peek-poller threads
JP5763168B2 (ja) プロセッサパフォーマンスマネジメントシステムからの処理のマスキングによる電源消費の低減
US7334138B2 (en) Windows-driven power management for peripheral devices in a computer system
US20120297216A1 (en) Dynamically selecting active polling or timed waits
US20230199049A1 (en) Modifying content streaming based on device parameters
JP2011526018A (ja) コンピュータの電力消費管理
Batsakis et al. Ca-nfs: A congestion-aware network file system
US10671453B1 (en) Data storage system employing two-level scheduling of processing cores
US11256321B2 (en) Network-driven, packet context-aware power management for client-server architecture
US20110225593A1 (en) Interface-based environmentally sustainable computing
KR102549360B1 (ko) 인터럽트 제어 장치 및 방법
Batsakis Improving the performance of network file systems through memory optimizations

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060516

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060810

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060815

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070814

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080715

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081015

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090206

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

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

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130724

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees