JP2007233847A - ストレージシステム及びスケジューリング方法 - Google Patents

ストレージシステム及びスケジューリング方法 Download PDF

Info

Publication number
JP2007233847A
JP2007233847A JP2006056520A JP2006056520A JP2007233847A JP 2007233847 A JP2007233847 A JP 2007233847A JP 2006056520 A JP2006056520 A JP 2006056520A JP 2006056520 A JP2006056520 A JP 2006056520A JP 2007233847 A JP2007233847 A JP 2007233847A
Authority
JP
Japan
Prior art keywords
time
processing
interrupt processing
ratio
storage system
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.)
Granted
Application number
JP2006056520A
Other languages
English (en)
Other versions
JP4856983B2 (ja
Inventor
Naka Sato
仲 佐藤
Hisayoshi Terao
壽啓 寺尾
Hiroji Shibuya
廣二 渋谷
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2006056520A priority Critical patent/JP4856983B2/ja
Priority to US11/407,972 priority patent/US7950013B2/en
Priority to EP06254474A priority patent/EP1830258A3/en
Publication of JP2007233847A publication Critical patent/JP2007233847A/ja
Priority to US13/096,776 priority patent/US8265170B2/en
Application granted granted Critical
Publication of JP4856983B2 publication Critical patent/JP4856983B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】シングルプロセッサ上で動作するマルチタスク環境下において、タスク処理だけでなく優先度の高い割込み処理をも含めた処理全体をスケジューリングすることで、ストレージシステムのパフォーマンス向上を図る。
【解決手段】ストレージシステムは、マルチタスクオペレーティングシステム環境下で動作するシングルプロセッサ21を搭載する。動作時間管理部240は、ストレージシステムの内部及び外部の両方から要求される割込み処理500及びタスク処理600のそれぞれの処理時間の割合が所定の範囲内に収束するように、割込み処理500及びタスク処理600のそれぞれの処理時間の割合をバランス調整する。
【選択図】図4

Description

本発明はストレージシステムの内外から要求されるタスク処理と割込み処理のそれぞれの処理時間をバランス調整するためのストレージシステム及びスケジューリング方法に関する。
データセンタ等の大容量のデータを取り扱うデータベースシステムでは、ディスクアレイシステム等のストレージシステムを用いてデータを管理する。ディスクアレイシステムは、アレイ状に配設された多数の記憶デバイスを備え、RAID(Redundant Arrays of Independent Inexpensive Disks)構成された記憶資源をホスト計算機に提供する。ホスト計算機とストレージシステムとは、SAN(Storage Area Network)のようなデバイス共有型のネットワークを介して相互に接続される。
ネットワーク接続型のストレージシステムは、ストレージ内部から要求される処理として、ディスクドライブに生じた障害を復旧するための復旧処理、ディスクドライブに障害が生じてないか否かをチェックするための自己診断処理、データをバックアップするためのバックアップ処理などを実行する他、ストレージ外部から要求される処理として、ホスト計算機からのアクセスや、各種ネットワークサーバからのアクセスなども処理する。
ストレージ内外から要求される処理の中でも、実時間性(即応性)が要求される処理については、迅速に処理する必要がり、効率的なタスクスケジューリングが求められる。例えば、特許2918297号公報には、割込みレベルの処理が要求された場合に、非割込みレベルの処理を一時中断して、割込みレベルの処理を実行する割込み制御方式が提案されている。
特許2918297号公報
ところで、ネットワーク接続型ストレージシステムの中には、コントローラに搭載されるプロセッサの数を一つにし、低価格でありながらも高性能を目指したものが開発されている。シングルプロセッサ上で動作するマルチタスクオペレーティングシステム環境下において、ホスト計算機からのI/O要求を処理しつつ、各種ネットワークサーバからのアクセスも処理するストレージシステムでは、優先度の高い割込み要求(以下、特化コマンドと称する。)が多発すると、プロセッサ資源が特化コマンドばかりに割当てられてしまう結果、プロセッサ資源を通常コマンドに殆ど割当てることができない。タスクスケジューラは、タスク処理をスケジューリングする機能を有しているが、割込み処理とタスク処理とを含めた処理全体をスケジューリングする機能を有してないので、このような問題が生じ得る。これでは、ストレージシステムのパフォーマンスが低下してしまうので、改善が望まれる。
そこで、本発明は、シングルプロセッサ上で動作するマルチタスク環境下において、タスク処理だけでなく、優先度の高い割込み処理をも含めた処理全体をスケジューリングすることで、上述の問題を解決することを課題とする。
上記の課題を解決するため、本発明のストレージシステムは、マルチタスクオペレーティングシステム環境下で動作するシングルプロセッサを搭載している。このストレージシステムは、ストレージシステムの内部及び外部の両方から要求される割込み処理及びタスク処理のそれぞれの処理時間の割合が所定の範囲内に収束するように、割込み処理及びタスク処理のそれぞれの処理時間の割合をバランス調整する動作時間管理部を備える。
動作時間管理部は、ある監視時間内に占める割込み処理時間の割合が所定の範囲から外れるときには、後続の監視時間内において割込み処理を制限する一方、ある監視時間内に占める割込み処理時間の割合が所定の範囲内に収束している場合には、後続の監視時間内において割込み処理の制限を解除する。つまり、動作時間管理部は、ストレージシステムの負荷状況に応じて、監視時間毎に割込み処理に制限をかけたり或いはその制限を解除したりする。
動作時間管理部は、ある監視時間内に占めるタスク処理時間の割合が所定の範囲から外れるときには、後続の監視時間内においてタスク処理を制限する一方、ある監視時間内に占めるタスク処理時間の割合が所定の範囲内に収束している場合には、後続の監視時間内においてタスク処理の制限を解除する。つまり、動作時間管理部は、ストレージシステムの負荷状況に応じて、監視時間毎にタスク処理に制限をかけたり或いはその制限を解除したりする。
本発明によれば、ストレージシステムの内外から要求される割込み処理とタスク処理とをバランスよくスケジューリングできるので、ストレージシステムのパフォーマンスを向上させることができる。
以下、各図を参照しながら本発明の実施形態について説明する。
図1は本実施例に係るストレージシステム10の主要構成を示している。ストレージシステム10は、通信ネットワーク40を介して、一つ以上のホスト計算機50と、一つ以上のネットワークサーバ60とに接続している。
ホスト計算機50は、パーソナルコンピュータ、ワークステーション、メインフレーム等である。ホスト計算機50には、アプリケーションプログラム(例えば、Webアプリケーションソフトウェア、ストリーミングアプリケーションソフトウェア、eビジネスアプリケーションソフトウェアなど)が実装されている。
ネットワークサーバ60は、例えば、ネットワーク管理を行うためのSNMP(Simple Network Management Protocol)サーバ、ネットワークタイムプロトコルを管理するためのSNTP(Simple Network Time Protocol)サーバ、バックアップ又はリストアを管理するためのバックアップサーバ、ウィルスチェックを行うためのスキャンサーバ等である。
通信ネットワーク40としては、例えば、SAN(Storage Area Network)、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット、専用回線、公衆回線等を挙げることができる。ホスト計算機50がSANを介してストレージシステム10に接続する場合、ホスト計算機50は、ファイバチャネルプロトコル又はiSCSI(internet Small Computer System Interface)等のプロトコルにより、ストレージシステム10の記憶資源のデータ管理単位であるブロックを単位としてデータ入出力を要求する。ホスト計算機50がLANを介してストレージシステム10に接続する場合、ホスト計算機50は、NFS(Network File System)やCIFS(Common Interface File System)等のプロトコルにより、ファイル名を指定してファイル単位でのデータ入出力を要求する。ストレージシステム10がホスト計算機50からのファイルアクセス要求を受け付けるためには、NAS(Network Attached Storage)機能を搭載する必要がある。
ストレージシステム10は、主に、コントローラ20、及び記憶装置30を備える。
記憶装置30は、複数のディスクドライブ31を備える。ディスクドライブ31は、例えば、FC(Fibre Channel)ディスクドライブ、SATA(Serial Advanced Technology Attachment)ディスクドライブ、PATA(Parallel Advanced Technology Attachment)ディスクドライブ、FATA(Fibre Attached Technology Adapted)ディスクドライブ、SCSI(Small Computer System Interface)ディスクドライブ等の各種ディスクドライブである。
コントローラ20は、記憶装置30をいわゆるRAID方式に規定されるRAIDレベル(例えば、0,1,5)で制御することができる。RAIDグループ上には、ホスト計算機50からのアクセス単位である一つ以上の論理ユニットが定義されている。論理ユニットには、LUN(Logical Unit Number)がアサインされる。
コントローラ20は、主に、プロセッサ21、ローカルメモリ22、データコントローラ23、ホストインターフェース24、ドライブインタフェース25、及びキャッシュメモリ26を備える。コントローラ20は、一つのプロセッサ21を備えたシングルプロセッサシステムである。
プロセッサ21は、ホスト計算機50からのデータ入出力要求に応答して記憶装置30へのI/O処理(ライトアクセス、又はリードアクセス)を制御する。ローカルメモリ22には、プロセッサ21のマイクロプログラム及び各種テーブル(後述する動作時間割当範囲テーブル800、通常状態動作時間割当テーブル810、及び制限状態動作時間割当テーブル820)等を格納する。キャッシュメモリ26は、記憶装置30に書き込むためのライトデータ、又は記憶装置30から読み出したリードデータを一時的に格納するためのバッファメモリである。キャッシュメモリ26は、電源バックアップされており、ストレージシステム10に電源障害が発生した場合でも、キャッシュデータのロストを防ぐ不揮発性メモリとして構成されている。
データコントローラ23は、ホストインターフェース24、ドライブインタフェース25、及びキャッシュメモリ26を相互に接続し、ホスト計算機50と記憶装置30との間のデータ転送を制御する。具体的には、ホスト計算機50からライトアクセスが行われると、データコントローラ23は、ホストインターフェース24を介してホスト計算機50から受け取ったライトデータをキャッシュメモリ26に書き込む。ドライブインタフェース25は、キャッシュメモリ26に書き込まれたライトデータを記憶装置30に書き込む。一方、ホスト計算機50からリードアクセスが行われると、データコントローラ23は、ドライブインタフェース25を介して記憶装置30から読みとったリードデータをキャッシュメモリ26に書き込むとともに、ホストインターフェース24に転送する。記憶装置30がRAIDレベル5で管理されている場合には、データコントローラ23は、パリティデータを演算する。
ホストインターフェース24は、ホスト計算機50とコントローラ20との間のインターフェースを制御するためのインタフェースコントローラであり、例えば、ファイバチャネルプロトコルに基づくホスト計算機50からのブロックアクセス要求や、ファイル転送プロトコルに基づくホスト計算機50からのファイルアクセス要求を受信する機能を有する。ドライブインタフェース25は、コントローラ20と記憶装置30との間のインターフェースを制御すためのるインタフェースコントローラであり、例えば、記憶装置30を制御するプロトコルに従って、記憶装置30へのデータ入出力要求を制御する機能を有する。
図2はストレージシステム10に要求される割込み処理500とタスク処理600の発生要因を示す。ストレージシステム10の外部から要求される処理としては、メインI/O系タスク処理、メインI/O系割込み処理、ネットワーク系タスク処理、ネットワーク系割込み処理がある。ストレージシステム10の内部から要求される処理としては、監視系タスク処理、監視系割込み処理、障害系タスク処理、障害系割込み処理、OS系処理がある。
ストレージシステム10の内部から要求される処理の具体例として、例えば、ディスクドライブ31に障害が発生しているか否かをチェックするための自己診断処理、あるディスクドライブ31に格納されているデータを他のストレージデバイス32にバックアップするためのバックアップ処理、あるディスクドライブ31に障害が生じたときに、冗長データを用いてエラー訂正を行い、縮退運転しつつ、スペアディスク33にコレクションコピーを行って、データを復旧させるためのデータ復旧処理等がある。
ストレージシステム10の外部から要求される処理の具体例として、例えば、ホスト計算機50からのI/O要求、ネットワークサーバ60からの各種処理要求(例えば、SNMP処理、SNTP処理、バックアップ要求処理、ウィルスチェック処理等)がある。
図3はストレージシステム10の制御処理に関連するタスク処理と割込み処理との対応関係を示す。この対応関係は、どの割込み処理がどの処理系統(メインI/O系、監視系、障害系、OS系)に属するのかを示すとともに、どのタスク処理がどの処理系統に属するのかを示す。例えば、割込み名「CTL間通信割込み」は、メインI/O系の割込み処理であることを示す。タスク名「tDFCTL」は、メインI/O系のタスク処理であることを示す。同図に示すタスク処理と割込み処理のそれぞれについての詳細な説明は、本発明の要旨とは関係ないので、省略する。
図4はプロセッサ21上で動作する各種処理の機能ブロックを示す。プロセッサ21上では、マルチタスクオペレーティングシステム環境下で、割込み処理500、タスク処理600、及びスケジューリング処理700が時分割動作している。割込み処理500は、割込みレベルで動作する処理であり、タスクスケジューラ230の管理外にある。タスク処理600は、タスクレベルで動作する処理であり、タスクスケジューラ230の管理下にある。スケジューリング処理700は、タイマ割込みレベルで動作する処理であり、タスクスケジューラ230の管理外にある。
ホスト計算機50からのライト系割込み処理310、及びリード系割込み処理320のうち優先度の高いものは、特化コマンド330として、優先的に処理される。ライト系割込み処理310、及びリード系割込み処理320のうち優先度の低いものは、コマンドキュー340に登録され、タスクスケジューラ230の管理下でメインI/O処理タスク350として処理される。
一方、ネットワークサーバ60からのネットワーク系割込み処理410は、ネットワークキュー420に登録され、タスクスケジューラ230の管理下でネットワーク処理タスク430として処理される。
割込み処理動作時間監視部210は、プロセッサ資源を割込み処理500に割り当てた時間(割込み処理時間)を計測する。タスク処理動作時間監視部220は、プロセッサ資源をタスク処理600に割り当てた時間(タスク処理時間)を計測する。動作時間管理部240は、タイマ処理250からの割込みを契機として、割込み処理時間とタスク処理時間とをそれぞれ計測し、何れか一方の処理時間に偏りがある場合には、動作時間割当範囲テーブル800、通常状態動作時間割当テーブル810、及び制限状態動作時間割当テーブル820に基づいて、割込み処理時間及びタスク処理時間のそれぞれの割合が所定の範囲内に収束するように、割込み処理時間及びタスク処理時間のそれぞれの割合をバランス調整する。タイマ処理250は、タイマ更新するためのプロセスである。
尚、上述した割込み処理動作時間監視部210、タスク処理動作時間監視部220、及び動作時間管理部240は、マルチタスクオペレーティングシステム環境下で実現される機能モジュールである。
次に、図5乃至図14を参照しながら、割込み処理時間とタスク処理時間とのバランス調整を図りつつ、各処理(メインI/O系タスク処理、メインI/O系割込み処理、監視系タスク処理、監視系割込み処理、ネットワーク系タスク処理、ネットワーク系割込み処理、OS系処理)をスケジューリングする処理の詳細について説明する。
図5は動作時間割当範囲テーブル800を示す。動作時間割当範囲テーブル800は、ある一定の監視時間内における各処理(メインI/O系タスク処理、メインI/O系割込み処理、監視系タスク処理、監視系割込み処理、ネットワーク系タスク処理、ネットワーク系割込み処理、OS系処理)の動作時間の割合範囲(100分率)設定したテーブルである。各処理の動作時間の割合範囲として、ストレージシステム10の運用形態やネットワーク環境などに応じて最適な値を適宜設定できる。同図に示すように、動作時間割当範囲テーブル800には、ある程度の幅を持たせた動作時間割合が設定されている。尚、図中の「−」は、動作時間割合に制限がないことを示す。
図6は通常状態動作時間割当テーブル810を示す。通常状態動作時間割当テーブル810は、通常状態における各処理の動作時間割合の上限値を設定したテーブルである。通常状態における各処理の動作時間割合の上限値は、動作時間割当範囲テーブル800に設定された割合範囲内の値に設定される。尚、通常状態とは、割込み処理500とタスク処理600のそれぞれの動作時間のバランスが保たれている状態を示す。
図7は制限状態動作時間割当テーブル820を示す。制限状態動作時間割当テーブル820は、それぞれの制限状態における各処理の動作時間割合の上限値を設定したテーブルである。制限状態における各処理の動作時間割合の上限値は、動作時間割当範囲テーブル800に設定された割合範囲内の値に設定される。尚、制限状態とは、割込み処理500とタスク処理600のそれぞれの動作時間のバランスが崩れており、何れかの動作時間に制限を課している状態である。制限状態は、複数存在し得る。
図8は通常状態から制限状態に状態遷移する過程における各処理のタイムチャートを示す。説明の便宜上、時刻T0から時刻T1までをステージ1、時刻T1から時刻T2までをステージ2、…、時刻T5から時刻T6までをステージ6とする。各ステージ1〜6の時間間隔は、上述した監視時間に等しい。監視時間は、複数の単位時間から成る。動作時間管理部240は、時刻T0,T1,…,T6のそれぞれのタイミング(各ステージの終了タイミング)において各ステージ1,2,…,6に占める割込み処理時間とタスク処理時間のそれぞれの割合を周期的にチェックする。
動作時間管理部240は、ステージN(Nは1以上の整数)に占める割込み処理時間の割合又はタスク処理時間の割合が、通常状態動作時間割当テーブル810に設定された割合を超えている場合には、制限状態動作時間割当テーブル820の「制限状態M」に設定された割合に基づいて、ステージ(N+1)に占める割込み処理時間の割合又はタスク処理時間の割合を制限する。制限状態Mは、ステージNの終了時点において、動作時間割合が上限値を越えた処理の組み合わせによって、一義的に定まる。
例えば、通常状態にあるステージ1では、メインI/O系タスク処理の動作時間割合が80%、メインI/O系割込み処理の動作時間割合が20%である。これらの動作時間割合は、通常状態動作時間割当テーブル810に設定された動作割合の範囲内にあるので、動作時間管理部240は、通常状態動作時間割当テーブル810に設定された動作割合に基づいて、ステージ2における各処理の動作時間割合を調整する。
通常状態にあるステージ2では、メインI/O系タスク処理の動作時間割合が20%、メインI/O系割込み処理の動作時間割合が80%である。メインI/O系割込み処理の動作時間割合は、その上限値である40%を超えているので、動作時間管理部240は、制限状態動作時間割当テーブル820の「制限状態8」に設定された動作割合に基づいて、ステージ3における各処理の動作時間割合を調整する。
制限状態8にあるステージ3では、動作時間管理部240は、メインI/O系割込み処理の動作時間割合を40%に制限する。ところが、ステージ3におけるネットワーク系割込み処理の動作時間割合は、30%であり、通常状態動作時間割当テーブル810に設定された動作割合(10%)を超えているので、動作時間管理部240は、制限状態動作時間割当テーブル820の「制限状態9」に設定された動作割合に基づいて、ステージ4における各処理の動作時間割合を調整する。
以下、同様にして、動作時間管理部240は、ステージ4,5,6における各処理の動作時間割合を調整する。
図9は制限状態から通常状態に状態遷移する過程における各処理のタイムチャートを示す。説明の便宜上、時刻T7から時刻T8までをステージ8、時刻T8から時刻T9までをステージ9、…、時刻T12から時刻T13までをステージ13とする。各ステージ8〜13の時間間隔は、上述した監視時間に等しい。動作時間管理部240は、時刻T7,T8,…,T13のそれぞれのタイミング(各ステージの終了タイミング)において各ステージ8,9,…,13に占める割込み処理時間とタスク処理時間のそれぞれの割合を周期的にチェックする。
制限状態9にあるステージ8では、動作時間管理部240は、メインI/O系割込み処理の動作時間割合を40%に制限し、ネットワーク系割込み処理の動作時間割合を10%に制限する。メインI/O系割込み処理の動作時間割合もネットワーク系割込み処理の動作時間割合も上限値にあるので、動作時間管理部240は、制限状態動作時間割当テーブル820の「制限状態9」に設定された動作割合に基づいて、ステージ9における各処理の動作時間割合を調整する。
制限状態9にあるステージ9では、ネットワーク系割込み処理の動作時間割合がその上限値である10%のままであるのに対し、メインI/O系割込み処理の動作時間割合がその上限値である40%を下回る30%まで低下しているので、動作時間管理部240は、制限状態動作時間割当テーブル820の「制限状態1」に設定された動作割合に基づいて、ステージ10における各処理の動作時間割合を調整する。
制限状態1にあるステージ10では、ネットワーク系割込み処理の動作時間割合がその上限値である10%を下回る0%まで低下し、メインI/O系割込み処理の動作時間割合がその上限値である40%を下回る20%まで低下しているので、動作時間管理部240は、制限状態を解除し、通常状態動作時間割当テーブル810に設定された動作割合に基づいて、ステージ11における各処理の動作時間割合を調整する
以下、同様にして、動作時間管理部240は、ステージ11,12,13における各処理の動作時間割合を調整する。
尚、上述した制限状態においては、各処理の動作時間割合を調整するだけでなく、例えば、図10に示すように、メインI/O系、監視系、障害系、ネットワーク系、OS系のそれぞれの制御処理において、優先度の高い制御処理を優先的に処理するようにしてもよい。図中、○は優先度が高いことを示し、×は優先度が低いことを示す。
図11は割込み処理時間計測処理を記述したフローチャートである。割込み処理時間計測処理は、各ステージにおける割込み処理時間の合計値を求めるための処理であり、ストレージシステム10への割込み処理要求を契機として、イベントドリブン式に実行される。割込み処理時間計測処理は、1ステージあたり複数回実行されることもある。
割込み処理動作時間監視部210は、割込み要求があると、割込み処理時間の計測を開始する(ステップ1101)。
その割込み要求が特化コマンドによる割込み要求である場合には(ステップ1102;YES)、プロセッサ21は、特化コマンドを早速実行する(ステップ1104)。
その割込み要求が特化コマンドによる割込み要求でない場合には(ステップ1102;NO)、プロセッサ21は、その割込み要求を一旦、コマンドキュー340に登録する(ステップ1103)。
次に、割込み処理動作監視部210は、割込み処理時間の計測を終了し(ステップ1105)、ステップ1101〜ステップ1105で計測した割込み処理時間を、前回の割込み処理時間計測処理の計測結果に累積加算する(ステップ1106)。
図12はタスク処理時間計測処理を記述したフローチャートである。タスク処理時間計測処理は、各ステージにおけるタスク処理時間の合計値を求めるための処理であり、タスク処理の実行を契機として、イベントドリブン式に実行される。タスク処理時間計測処理は、1ステージあたり複数回実行されることもある。
タスク処理動作時間監視部220は、タスクスケジューラ230によってタスク処理が呼び出されると、タスク処理時間の計測を開始する(ステップ1201)。
プロセッサ21によってタスク処理が実行されると(ステップ1202)、タスク処理動作時間監視部220は、タスク処理時間の計測を終了し(ステップ1203)、ステップ1201〜ステップ1203で計測したタスク処理時間を、前回のタスク処理時間計測処理の計測結果に累積加算する(ステップ1106)。
図13はスケジューリング処理を記述したフローチャートである。スケジューリング処理は、上述した通常状態動作時間割当テーブル810及び制限状態動作時間割当テーブル820に基づいて、各ステージにおける割込み処理時間とタスク処理時間とのバランスを調整するための処理である。スケジューリング処理の詳細については、タイムチャート(図8乃至図9)を用いて説明したが、ここでは、フローチャートを用いて再述する。スケジューリング処理は、タイマ処理250からのタイマ割込みを契機として実行される。タイマ割込みは、単位時間につき1回の頻度で発生する。例えば、監視時間が100単位時間から成る場合には、1ステージあたり100回のタイマ割込みが発生する。
後述するステップ1301〜1306は、単位時間につき1回の頻度で実行される(例えば、1ステージあたり100回の頻度で実行される。)。後述するステップ1307は、監視時間につき1回の頻度で実行される(つまり、各ステージの終了タイミングで実行される。)。
動作時間管理部240は、タイマ割込みを受けると(ステップ1301)、監視時間経過したか否か(つまり、各ステージの終了タイミングになったか否か)を判定する(ステップ1302)。監視時間経過した場合には(ステップ1302;YES)、動作時間管理部240は、バランス調整処理を実行する(ステップ1307)。バランス調整処理の詳細については、後述する。
監視時間経過してない場合には(ステップ1302;NO)、動作時間管理部240は、監視時間内における割込み処理時間の合計値を割込み処理動作時間監視部210から取得し(ステップ1303)、次いで、監視時間内におけるタスク処理時間の合計値をタスク処理動作時間監視部220から取得する(ステップ1304)。
動作時間管理部240は、割り込み処理時間又はタスク処理時間がその上限値(制限状態動作時間割当テーブル820に設定された上限値)に達すると(ステップ1305;YES)、タスク処理を休止し又は割込み処理をマスクする(ステップ1306)。割り込み処理時間もタスク処理時間もその上限値に達してないならば(ステップ1305;NO)、スケジューリング処理を終了する。
図14はバランス調整処理を記述したフローチャートである。バランス調整処理は、監視時間経過した時点(各ステージの終了タイミング)で呼び出されて、実行されるサブルーチンである。
動作時間管理部240は、監視時間内に占める割り込み処理時間の割合とタスク処理時間の割合を計算し(ステップ1401)、割込み処理時間の割合又はタスク処理時間の割合が上限値を越えているか否かを判定する(ステップ1402)。
割込み処理時間の割合又はタスク処理時間の割合が上限値を越えている場合には(ステップ1402;YES)、動作時間管理部240は、割込み処理時間の割合の上限値又はタスク処理時間の割合の上限値を制限状態に対応した値に設定する(ステップ1403)。
割込み処理時間の割合もタスク処理時間の割合も上限値を越えてない場合(ステップ1402;NO)、又はバランス調整処理(ステップ1403)を実行した後において、動作時間管理部240は、監視時間内に占める割込み処理時間の合計値とタスク処理時間の合計値とをそれぞれゼロクリアする(ステップ1404)。
本実施形態によれば、ストレージシステム10の内外から要求される割込み処理500とタスク処理600とをバランスよくスケジューリングできるので、優先度の高い割込み処理が多発したとしても、プロセッサ資源を割込み処理ばかりに偏って割り当てることがない。つまり、ストレージシステム10の負荷状況やユーザの利用状況に応じて、プロセッサ資源を割込み処理500とタスク処理600のそれぞれにバランスよく割り当てることができる。
本実施形態に係わるストレージシステムのハードウェア構成図である。 ストレージシステムに要求される割込み処理とタスク処理の発生要因を示す説明図である。 ストレージシステムの制御処理に関連するタスク処理と割込み処理との対応関係を示す説明図である。 プロセッサ上で動作する各種機能のブロック図である。 動作時間割当範囲テーブルの説明図である。 通常状態動作時間割当テーブルの説明図である。 制限状態動作時間割当テーブルの説明図である。 通常状態から制限状態に状態遷移する過程における各処理のタイムチャートである。 制限状態から通常状態に状態遷移する過程における各処理のタイムチャートである。 制限状態における制御処理の優先度を示す説明図である。 割込み処理時間計測処理を記述したフローチャートである。 タスク処理時間計測処理を記述したフローチャートである。 スケジューリング処理を記述したフローチャートである。 バランス調整処理を記述したフローチャートである。
符号の説明
10…ストレージシステム 20…コントローラ 21…プロセッサ 22…ローカルメモリ 23…データコントローラ 24…ホストインターフェース 25…ドライブインタフェース 26…キャッシュメモリ 30…記憶装置 31…ディスクドライブ 210…割込み処理動作時間監視部 220…タスク処理動作時間監視部 230…タスクスケジューラ 240…動作時間管理部 250…タイマ処理 310…ライト系割込み処理 320…リード系割込み処理 330…特化コマンド 340…コマンドキュー 350…メインI/O処理タスク 410…ネットワーク系割込み処理 420…ネットワークキュー 430…ネットワーク処理タスク 500…割込み処理 600…タスク処理

Claims (9)

  1. マルチタスクオペレーティングシステム環境下で動作するシングルプロセッサを搭載したストレージシステムであって、
    前記ストレージシステムの内部及び外部の両方から要求される割込み処理及びタスク処理のそれぞれの処理時間の割合が所定の範囲内に収束するように、割込み処理及びタスク処理のそれぞれの処理時間の割合をバランス調整する動作時間管理部を備えるストレージシステム。
  2. 請求項1に記載のストレージシステムであって、前記動作時間管理部は、ある監視時間内に占める割込み処理時間の割合が前記所定の範囲から外れるときには、後続の監視時間内において割込み処理を制限する一方、ある監視時間内に占める割込み処理時間の割合が前記所定の範囲内に収束している場合には、後続の監視時間内において割込み処理の制限を解除する、ストレージシステム。
  3. 請求項1に記載のストレージシステムであって、前記動作時間管理部は、ある監視時間内に占めるタスク処理時間の割合が前記所定の範囲から外れるときには、後続の監視時間内においてタスク処理を制限する一方、ある監視時間内に占めるタスク処理時間の割合が前記所定の範囲内に収束している場合には、後続の監視時間内においてタスク処理の制限を解除する、ストレージシステム。
  4. 請求項1に記載のストレージシステムであって、前記ストレージシステムの外部から要求される割込み処理及びタスク処理は、メインI/O系又はネットワーク系に関する処理要求を含む、ストレージシステム。
  5. 請求項1に記載のストレージシステムであって、前記ストレージシステムの内部から要求される割込み処理及びタスク処理は、前記ストレージシステムの監視系又は障害系に関する処理要求を含む、ストレージシステム。
  6. マルチタスクオペレーティングシステム環境下で動作するシングルプロセッサを搭載したストレージシステムであって、
    一定の監視時間毎に周期的に割込み処理時間を計測する割込み処理動作時間監視部と、
    一定の監視時間毎に周期的にタスク処理時間を計測するタスク処理動作時間監視部と、
    前記ストレージシステムの内部及び外部の両方から要求される割込み処理及びタスク処理のそれぞれの処理時間の割合が所定の範囲内に収束するように、割込み処理及びタスク処理のそれぞれの処理時間の割合をバランス調整する動作時間管理部と、
    を備え、
    前記動作時間管理部は、ある監視時間内に占める割込み処理時間の割合が前記所定の範囲から外れるときには、後続の監視時間内において割込み処理を制限する一方、ある監視時間内に占める割込み処理時間の割合が前記所定の範囲内に収束している場合には、後続の監視時間内において割込み処理の制限を解除し、ある監視時間内に占めるタスク処理時間の割合が前記所定の範囲から外れるときには、後続の監視時間内においてタスク処理を制限する一方、ある監視時間内に占めるタスク処理時間の割合が前記所定の範囲内に収束している場合には、後続の監視時間内においてタスク処理の制限を解除する、ストレージシステム。
  7. シングルプロセッサ上で動作するマルチタスクオペレーティングシステム環境下で、ストレージシステムの内部及び外部の両方から要求される割込み処理とタスク処理とをスケジューリングするための方法であって、
    一定の監視時間毎に周期的に割込み処理時間を計測するステップと、
    一定の監視時間毎に周期的にタスク処理時間を計測するステップと、
    前記ストレージシステムの内部及び外部の両方から要求される割込み処理及びタスク処理のそれぞれの処理時間の割合が所定の範囲内に収束するように、割込み処理及びタスク処理のそれぞれの処理時間の割合をバランス調整するステップと、
    を備えるスケジューリング方法。
  8. 請求項7に記載のスケジューリング方法であって、前記バランス調整するステップは、ある監視時間内に占める割込み処理時間の割合が前記所定の範囲から外れるときには、後続の監視時間内において割込み処理を制限する一方、ある監視時間内に占める割込み処理時間の割合が前記所定の範囲内に収束している場合には、後続の監視時間内において割込み処理の制限を解除するステップを含む、スケジューリング方法。
  9. 請求項7に記載のスケジューリング方法であって、前記バランス調整するステップは、ある監視時間内に占めるタスク処理時間の割合が前記所定の範囲から外れるときには、後続の監視時間内においてタスク処理を制限する一方、ある監視時間内に占めるタスク処理時間の割合が前記所定の範囲内に収束している場合には、後続の監視時間内においてタスク処理の制限を解除するステップを含む、スケジューリング方法。

JP2006056520A 2005-03-29 2006-03-02 ストレージシステム及びスケジューリング方法 Expired - Fee Related JP4856983B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2006056520A JP4856983B2 (ja) 2006-03-02 2006-03-02 ストレージシステム及びスケジューリング方法
US11/407,972 US7950013B2 (en) 2006-03-02 2006-04-21 System for monitoring time proportion for interrupt or task processing with restriction placed in subsequent monitoring time period when allowable time proportion is exceed
EP06254474A EP1830258A3 (en) 2006-03-02 2006-08-29 Storage system and scheduling method
US13/096,776 US8265170B2 (en) 2005-03-29 2011-04-28 Data transmission system, and its transmission side apparatus and reception side apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006056520A JP4856983B2 (ja) 2006-03-02 2006-03-02 ストレージシステム及びスケジューリング方法

Publications (2)

Publication Number Publication Date
JP2007233847A true JP2007233847A (ja) 2007-09-13
JP4856983B2 JP4856983B2 (ja) 2012-01-18

Family

ID=38282867

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006056520A Expired - Fee Related JP4856983B2 (ja) 2005-03-29 2006-03-02 ストレージシステム及びスケジューリング方法

Country Status (3)

Country Link
US (1) US7950013B2 (ja)
EP (1) EP1830258A3 (ja)
JP (1) JP4856983B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010044590A (ja) * 2008-08-12 2010-02-25 Toshiba Corp 携帯端末装置
JP2015049550A (ja) * 2013-08-30 2015-03-16 富士通株式会社 制御プログラム、制御方法および制御装置
WO2016194171A1 (ja) * 2015-06-03 2016-12-08 株式会社日立製作所 ストレージシステム
JP6242557B1 (ja) * 2017-03-21 2017-12-06 三菱電機株式会社 制御装置および制御プログラム

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8099637B2 (en) * 2007-10-30 2012-01-17 Hewlett-Packard Development Company, L.P. Software fault detection using progress tracker
US8239873B2 (en) * 2008-08-12 2012-08-07 Verizon Patent And Licensing Inc. Speedy event processing
JP5308383B2 (ja) * 2010-03-18 2013-10-09 パナソニック株式会社 仮想マルチプロセッサシステム
EP2495656B1 (en) * 2011-03-02 2013-10-09 BlackBerry Limited Enhanced prioritising and unifying interrupt controller
JP5804075B2 (ja) * 2011-11-11 2015-11-04 富士通株式会社 電子計算機及び割り込み制御方法
WO2015020636A1 (en) * 2013-08-06 2015-02-12 Hitachi, Ltd. Method and apparatus of storage system which stores information for relationship between logical volumes and operations
US10523585B2 (en) 2014-12-19 2019-12-31 Amazon Technologies, Inc. System on a chip comprising multiple compute sub-systems
US10394731B2 (en) 2014-12-19 2019-08-27 Amazon Technologies, Inc. System on a chip comprising reconfigurable resources for multiple compute sub-systems
US11200192B2 (en) 2015-02-13 2021-12-14 Amazon Technologies. lac. Multi-mode system on a chip
US9588921B2 (en) * 2015-02-17 2017-03-07 Amazon Technologies, Inc. System on a chip comprising an I/O steering engine

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09185516A (ja) * 1995-12-28 1997-07-15 Hitachi Ltd マルチタスク優先度制御方式
JPH1165623A (ja) * 1997-08-20 1999-03-09 Denso Corp プログラマブルコントローラ
JP2000155695A (ja) * 1998-11-19 2000-06-06 Nec Corp QoS制御装置、QoS制御方法及び記録媒体
JP2001337841A (ja) * 2000-05-26 2001-12-07 Nec Eng Ltd タスク制御装置
JP2004206623A (ja) * 2002-12-26 2004-07-22 Fujitsu Ltd ストレージシステム及びその動的負荷管理方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2918297B2 (ja) 1990-06-18 1999-07-12 富士通株式会社 割込規制方式
US5542076A (en) * 1991-06-14 1996-07-30 Digital Equipment Corporation Method and apparatus for adaptive interrupt servicing in data processing system
JP3480973B2 (ja) * 1993-11-30 2003-12-22 富士通株式会社 並列処理システムの動作解析装置
IL116708A (en) * 1996-01-08 2000-12-06 Smart Link Ltd Real-time task manager for a personal computer
JP3037182B2 (ja) * 1997-02-17 2000-04-24 日本電気株式会社 タスク管理方式
US6467008B1 (en) * 1999-03-01 2002-10-15 Sun Microsystems, Inc. Method and apparatus for indicating an interrupt in a network interface
US6633942B1 (en) * 1999-08-12 2003-10-14 Rockwell Automation Technologies, Inc. Distributed real-time operating system providing integrated interrupt management
US6754690B2 (en) * 1999-09-16 2004-06-22 Honeywell, Inc. Method for time partitioned application scheduling in a computer operating system
TW200502847A (en) * 2003-07-08 2005-01-16 Benq Corp Control device and method for reducing number of interrupts in a processor
CN1802634A (zh) * 2003-08-04 2006-07-12 株式会社日立制作所 实时控制系统
US7353285B2 (en) 2003-11-20 2008-04-01 International Business Machines Corporation Apparatus, system, and method for maintaining task prioritization and load balancing
US7120717B2 (en) * 2004-02-13 2006-10-10 Hewlett-Packard Development Company, L.P. Method and apparatus for controlling interrupt storms
US7275122B2 (en) * 2004-04-28 2007-09-25 Hewlett-Packard Development Company, L.P. Method and system for maintaining a desired service level for a processor receiving excessive interrupts
US7444450B2 (en) * 2004-04-28 2008-10-28 Hewlett-Packard Development Company, L.P. Method and system for detecting excessive interrupt processing for a processor
US20050246461A1 (en) * 2004-04-29 2005-11-03 International Business Machines Corporation Scheduling threads in a multi-processor computer
US7634589B2 (en) * 2004-09-23 2009-12-15 International Business Machines Corporation Method for controlling peripheral adapter interrupt frequency by estimating processor load in the peripheral adapter
US7581052B1 (en) * 2005-08-22 2009-08-25 Sun Microsystems, Inc. Approach for distributing multiple interrupts among multiple processors

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09185516A (ja) * 1995-12-28 1997-07-15 Hitachi Ltd マルチタスク優先度制御方式
JPH1165623A (ja) * 1997-08-20 1999-03-09 Denso Corp プログラマブルコントローラ
JP2000155695A (ja) * 1998-11-19 2000-06-06 Nec Corp QoS制御装置、QoS制御方法及び記録媒体
JP2001337841A (ja) * 2000-05-26 2001-12-07 Nec Eng Ltd タスク制御装置
JP2004206623A (ja) * 2002-12-26 2004-07-22 Fujitsu Ltd ストレージシステム及びその動的負荷管理方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010044590A (ja) * 2008-08-12 2010-02-25 Toshiba Corp 携帯端末装置
JP2015049550A (ja) * 2013-08-30 2015-03-16 富士通株式会社 制御プログラム、制御方法および制御装置
WO2016194171A1 (ja) * 2015-06-03 2016-12-08 株式会社日立製作所 ストレージシステム
JP6242557B1 (ja) * 2017-03-21 2017-12-06 三菱電機株式会社 制御装置および制御プログラム
WO2018173123A1 (ja) * 2017-03-21 2018-09-27 三菱電機株式会社 制御装置および制御プログラム

Also Published As

Publication number Publication date
EP1830258A2 (en) 2007-09-05
EP1830258A3 (en) 2008-12-17
US7950013B2 (en) 2011-05-24
US20070209037A1 (en) 2007-09-06
JP4856983B2 (ja) 2012-01-18

Similar Documents

Publication Publication Date Title
JP4856983B2 (ja) ストレージシステム及びスケジューリング方法
US9104316B2 (en) Runtime dynamic performance skew elimination
JP5399345B2 (ja) 外部ストレージシステムに結合されたストレージシステムのエラーコード管理方法及び装置
US7975168B2 (en) Storage system executing parallel correction write
US20130339784A1 (en) Error recovery in redundant storage systems
US20070067666A1 (en) Disk array system and control method thereof
US8214551B2 (en) Using a storage controller to determine the cause of degraded I/O performance
JP2007188267A (ja) 記憶制御装置及びその制御方法
JP2010524053A (ja) ホストとストレージ・システムとの間のイン・バンド問題ログ・データ収集方法、コンピュータ・プログラム、及びシステム(ホストとストレージ・システムとの間のイン・バンド問題ログ・データ収集)
JP5022773B2 (ja) ジャーナルを利用したリモートコピーのコピー先となるストレージシステムの消費電力を節約する方法及びシステム
WO2008019962A2 (en) Preemptive data protection for copy services in storage systems and applications
US11829803B2 (en) Methods for dynamic throttling to satisfy minimum throughput service level objectives and devices thereof
JP2008065433A (ja) 計算機システム及び性能チューニング方法
JP2005182104A (ja) ディスクアレイシステム及びインターフェイス変換装置
US8843714B1 (en) Write pacing simulation tool
Li et al. More than capacity: Performance-oriented evolution of pangu in alibaba
US20150058658A1 (en) Storage apparatus and method for controlling storage apparatus
JP6019940B2 (ja) 情報処理装置、コピー制御プログラム、およびコピー制御方法
JP2007280111A (ja) ストレージシステム及びその性能チューニング方法
JP2006309375A (ja) システム情報に基づいて動作する記憶装置システム及びその記憶装置システムの制御方法
US20160085836A1 (en) System for achieving non-interruptive data reconstruction
US20120185554A1 (en) Data transfer device and data transfer method
US8566551B2 (en) Information apparatus and method for controlling the same
JP2011221638A (ja) ストレージ装置及びその制御方法

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20081215

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090203

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100707

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100714

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100909

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20100909

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110425

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

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

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

Free format text: PAYMENT UNTIL: 20141104

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees