JP4933284B2 - ストレージ装置及び負荷分散方法 - Google Patents

ストレージ装置及び負荷分散方法 Download PDF

Info

Publication number
JP4933284B2
JP4933284B2 JP2007014878A JP2007014878A JP4933284B2 JP 4933284 B2 JP4933284 B2 JP 4933284B2 JP 2007014878 A JP2007014878 A JP 2007014878A JP 2007014878 A JP2007014878 A JP 2007014878A JP 4933284 B2 JP4933284 B2 JP 4933284B2
Authority
JP
Japan
Prior art keywords
response time
control processor
average response
request
channel processor
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
JP2007014878A
Other languages
English (en)
Other versions
JP2008181382A (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.)
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 JP2007014878A priority Critical patent/JP4933284B2/ja
Priority to US12/003,994 priority patent/US8161490B2/en
Publication of JP2008181382A publication Critical patent/JP2008181382A/ja
Priority to US13/421,347 priority patent/US8863145B2/en
Application granted granted Critical
Publication of JP4933284B2 publication Critical patent/JP4933284B2/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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5022Workload threshold

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ストレージ装置及び負荷分散方法に関し、例えば、複数のマイクロプロセッサを有するストレージ装置に適用して好適なものである。
近年、ホストコンピュータから送信される入出力要求を処理する複数のマイクロプロセッサを有するストレージ装置において、複数のマイクロプロセッサ間の負荷を分散する負荷分散技術が実用化されている。
例えば、特許文献1では、上位外部から受け取った入出力要求に応じて下位側の記憶媒体の駆動装置との間で入出力データの転送を制御する記憶サブシステムにおいて、上位外部とのインタフェースに応じて入出力要求を受け取る少なくとも1台の外部インタフェースコントローラと、入出力要求の処理をする少なくとも1台の制御プロセッサと、外部インタフェースコントローラと制御プロセッサとの間に介在し、両者間の情報伝送の伝送路となるファイバチャネルインタフェースのループとを有する記憶サブシステムが提案されている。
これにより、記憶サブシステムでは、ホストコンピュータから送信される入出力要求を複数の制御プロセッサによって並列処理するとともに、制御プロセッサ間で負荷の分散をするようになされている。
特開2001−167040号公報
しかしながら、このような記憶サブシステムでは、負荷分散処理を実行することによって、当該負荷分散処理における分割損によるオーバーヘッドにより、自らの制御プロセッサにおいて処理を完結する場合に比して、却って、ホストコンピュータから入出力要求を受信してから、当該入出力要求に対応するデータを処理した旨を通知するまでの応答時間が悪化する場合があるという問題がある。
本発明は以上の点を考慮してなされたもので、全体として要求に対する処理性能を向上させ得るストレージ装置及び負荷分散方法を提案するものである。
かかる課題を解決するために本発明では、ホスト装置から送信される要求を解釈して処理する複数の制御プロセッサを有するストレージ装置において、所定の制御プロセッサが前記ホスト装置から送信される前記要求を受信したときに、前記要求に対応する処理を、自己の制御プロセッサから他の制御プロセッサに分散するか否かを判断する分散判断部と、前記分散判断部により分散されると判断された場合に、割振り先の制御プロセッサを選択する制御プロセッサ選択部とを備えることを特徴とする。
従って、負荷分散処理における分割損によるオーバーヘッドにより、自らの制御プロセッサにおいて処理を完結する場合に比して、却って、ホスト装置から要求を受信してから、当該要求に対応するデータを処理した旨を通知するまでの応答時間が悪化するといった事態を未然かつ有効に防止することができる。
また、本発明では、ホスト装置から送信される要求を解釈して処理する複数の制御プロセッサを有するストレージ装置の負荷分散方法において、所定の制御プロセッサが前記ホスト装置から送信される前記要求を受信したときに、前記要求に対応する処理を、自己の制御プロセッサから他の制御プロセッサに分散するか否かを判断する第1のステップと、前記第1のステップにおいて分散されると判断した場合に、割振り先の制御プロセッサを選択する第2のステップとを備えることを特徴とする。
従って、負荷分散処理における分割損によるオーバーヘッドにより、自らの制御プロセッサにおいて処理を完結する場合に比して、却って、ホスト装置から要求を受信してから、当該要求に対応するデータを処理した旨を通知するまでの応答時間が悪化するといった事態を未然かつ有効に防止することができる。
本発明によれば、所定の制御プロセッサがホスト装置から送信された要求を受信したときに、要求に対応する処理を、自己の制御プロセッサから他の制御プロセッサに分散するか否かを判断し、分散されると判断した場合に、割振り先の制御プロセッサを選択することにより、負荷分散処理における分割損によるオーバーヘッドにより、自らの制御プロセッサにおいて処理を完結する場合に比して、却って、ホスト装置から要求を受信してから、当該要求に対応するデータを処理した旨を通知するまでの応答時間が悪化するといった事態を未然かつ有効に防止することができ、かくして、全体として要求に対する処理性能を向上させ得るストレージ装置及び負荷分散方法を実現できる。
以下図面について、本発明の一実施の形態を詳述する。
図1は、本実施の形態によるストレージシステム1の構成の一例を示している。このストレージシステム1は、例えば、複数のホスト装置2がネットワーク3を介してストレージ装置4に接続されることにより構成されている。
上位装置としてのホスト装置2は、CPU(Central Processing Unit)やメモリ等の情報処理資源を備えたコンピュータ装置であり、例えば、パーソナルコンピュータや、ワークステーション、メインフレームコンピュータ等から構成される。また、ホスト装置2は、キーボード、スイッチやポインティングデバイス、マイクロフォン等の情報入力装置(図示せず)、モニタディスプレイやスピーカ等の情報出力装置(図示せず)等を備えている。
この場合、ホスト装置2は、例えば、自己が取り扱うファイル等の書込み対象のデータ及び当該書込み対象のデータをトレージ装置4に書き込ませる書込み要求(入出力要求)や、ストレージ装置4に格納されているファイル等の読出し対象のデータを読み出させる読出し要求(入出力要求)、ストレージ装置4に格納されている読出し対象のデータを他のストレージ装置(図示せず)に複製させるリモートコピーを実行させるリモートコピー要求をストレージ装置4に送信するようになされている。
また、ホスト装置2は、この他にも、ストレージ装置4内の論理ボリューム(後述)のある時点での複製(レプリカ)を、同一ストレージ装置内に作成させるMRCF(Multiple RAID Coupling Feature)実行要求や、ジャーナルボリュームを利用した長距離リモートコピーを実行させるUR(Universal Replicator)実行要求、指示した時点のスナップショットにより、ソフトウェア障害時に任意の時点のレプリカからデータを回復させるQS(Quick Shadow)実行要求、書き込み要求の対象となる論理ボリューム(後述)における領域に、動的に記憶領域を割当てるAOU(Allocation On Use)実行要求等の各種の要求をストレージ装置4に送信するようになされている。
ネットワーク3は、例えば、SAN(Storage Area Network)、LAN(Local Area Network)、インターネット、公衆回線又は専用回線等から構成されている。このネットワーク3を介したホスト装置2及びストレージシステム4間の通信は、例えば、ネットワーク3がSANである場合にはファイバーチャネルプロトコルに従って行われ、ネットワーク3がLANである場合にはTCP/IP(Transmission Control Protocol/Internet Protocol)プロトコルに従って行われる。
ストレージ装置4は、データの入出力を制御するコントロール部10と、データを記憶する複数のディスクデバイス21からなる記憶デバイス部20とを備えて構成されている。
コントロール部10は、例えば、複数のチャネルアダプタ11、接続部12、共有メモリ13、キャッシュメモリ14、複数のディスクアダプタ15及び管理端末16を備えて構成されている。
各チャネルアダプタ11は、ホスト装置2からネットワーク3を介して送信される各種要求を解釈して対応する処理を実行する。なお、本実施の形態におけるチャネルアダプタ11の構成については、図2において後述する。
接続部12は、チャネルアダプタ11、共有メモリ13、キャッシュメモリ14及びディスクアダプタ15と接続されている。チャネルアダプタ11、共有メモリ13、キャッシュメモリ14及びディスクアダプタ15間での各種データや各種要求の授受は、この接続部12を介して行われる。接続部12は、例えば、高速スイッチングによりデータ伝送を行う超高速クロスバススイッチなどのスイッチ又はバス等で構成されている。
共有メモリ13及びキャッシュメモリ14は、チャネルアダプタ11及びディスクアダプタ15により共有される記憶メモリである。共有メモリ13は、ストレージ装置4全体の構成に関する種々のシステム構成情報、各種プログラムや各種テーブル等を記憶したり、入出力要求等の各種要求を記憶したりするために利用される。なお、本実施の形態における共有メモリ13に記憶されている各種プログラムや各種テーブルの一例については、図4において後述する。また、キャッシュメモリ14は、主に、ストレージ装置4に入出力する書込み対象のデータや読出し対象のデータ等の各種データを一時的に記憶するために利用される。
各ディスクアダプタ15は、マイクロプロセッサやメモリ等を備えたマイクロコンピュータシステムとして構成され、記憶デバイス部20内のディスクデバイス21との通信時におけるプロトコル制御を行うインタフェースとして機能する。これらディスクアダプタ15は、例えば、ファイバチャネルケーブルを介して記憶デバイス部20内の対応するディスクデバイス21と接続されており、ファイバーチャネルプロトコルに従ってこれらディスクデバイス21との間のデータの授受を行う。
管理端末16は、ストレージ装置4全体の動作を制御する端末装置であり、例えば、ノート型のパーソナルコンピュータから構成される。管理端末16は、LAN17を介して各チャネルアダプタ11とそれぞれ接続され、LAN18を介して各ディスクアダプタ15Aとそれぞれ接続されている。オペレータは、管理端末16を用いてシステム構成情報を定義することができ、またこの定義したシステム構成情報を、チャネルアダプタ11又はディスクアダプタ15と接続部12とを経由して、共有メモリ13に格納することができる。
一方、記憶デバイス部20のディスクデバイス21としては、例えば、SCSI(Small Computer System Interface)ディスク等の高価なディスク、又はSATA(Serial AT Attachment)ディスクや光ディスク等の安価なディスクが適用される。
記憶デバイス部20の各ディスクデバイス21は、コントロール部10によりRAID(Redundant Arrays of Inexpensive Disks)方式で運用される。1又は複数のディスクデバイス21により提供される物理的な記憶領域上に、1又は複数の論理的なボリューム(以下、これを論理ボリュームと呼ぶ)が設定される。そしてデータは、この論理ボリューム内に所定大きさのブロック(以下、これを論理ブロックと呼ぶ)単位で記憶される。
各論理ボリュームには、それぞれ固有の識別子(以下、これをLUN(Logical Unit Number)と呼ぶ)が付与される。本実施の形態の場合、データの入出力は、このLUNと、各論理ブロックにそれぞれ付与されるその論理ブロックに固有の番号(LBA:Logical Block Address)とを組み合わせたものをアドレスとして、当該アドレスを指定して行われる。
図2は、チャネルアダプタ11の構成の一例を示している。このチャネルアダプタ11は、例えば、複数のインタフェース部31、チャネルアダプタ接続部32、複数のバッファメモリ33、複数のチャネルプロセッサ34、複数のローカルメモリ35及び内部接続端子36を備えて構成されている。
各インタフェース部31は、ネットワーク3を介してホスト装置2や他のストレージ装置(図示せず)等と接続されており、各種データや各種要求の送受信を行う。各インタフェース部31は、例えば、ホスト装置2から入出力要求や書込み対象のデータを受信し、また、読出し対象のデータをホスト装置2に送信する。
チャネルアダプタ接続部32は、インタフェース部31、バッファメモリ33及び内部接続端子36と接続されている。インタフェース部31、バッファメモリ33及び内部接続端子36間での各種データや各種要求の授受は、このチャネルアダプタ接続部32を介して行われる。チャネルアダプタ接続部32は、例えば、各部に接続され、データの中継を行うOHUB(Optical Hub)等で構成されている。
各バッファメモリ33は、各種データや各種要求を一時的に記憶するために利用される。本実施の形態の場合には、チャネルアダプタ接続部32の左右に2つのバッファメモリ33が接続されることにより構成されている。
各チャネルプロセッサ34は、バッファメモリ33に格納された各種要求を解釈して対応する処理を実行する。本実施の形態の場合には、チャネルアダプタ接続部32の左右の各バッファメモリ33の外側にそれぞれ2つのチャネルプロセッサ34が接続されることにより構成されている。
各ローカルメモリ35は、チャネルプロセッサ34が各種要求に基づく処理を実行するために必要な各種プログラムや各種テーブルを記憶するために利用される。本実施の形態の場合には、各チャネルプロセッサの外側にそれぞれローカルメモリ35が接続されることにより構成されている。なお、本実施の形態におけるローカルメモリ35に記憶されている各種プログラムや各種テーブルの一例については、図6において後述する。
内部接続端子36は、接続部12と接続されており、接続部12及びチャネルアダプタ接続部32間における各種データや各種要求の授受を行う。
図3は、ストレージ装置4の共有メモリ13に格納されている各種テーブルの一例を示している。ストレージ装置4の共有メモリ13には、チャネルプロセッサ34ごとに分散処理の受付が可能か否かを管理する分散処理受付禁止情報管理テーブル41及びチャネルプロセッサ34ごとに分散処理の割振りの追加が可能か否かを管理する分散処理追加禁止情報管理テーブル42が格納されている。
図4は、分散処理受付禁止情報管理テーブル41の構成の一例を示している。分散処理受付禁止情報管理テーブル41は、すべてのチャネルアダプタ11内における複数のチャネルプロセッサ34を一意に識別するための識別子であるチャネルプロセッサIDを管理するチャネルプロセッサID欄41A及び受付禁止フラグが「オン」であるか「オフ」であるかを管理する受付禁止フラグ欄41Bから構成されている。
この場合、あるチャネルプロセッサ34に対応する受付禁止フラグ欄41Bに「1」が格納されている場合には、受付禁止フラグが「オン」であることを示しており、当該チャネルプロセッサ34の分散処理の受付を禁止して、分散処理の割振り対象から除外するようになされている。また、あるチャネルプロセッサ34に対応する受付禁止フラグ欄41Bに「0」が格納されている場合には、受付禁止フラグが「オフ」であることを示しており、当該チャネルプロセッサ34に対して分散処理の受付をして、分散処理の割振り対象とすることができるようになされている。
また、チャネルプロセッサ34に対応する受付禁止フラグ欄41Bが「1」に変更されるときには、当該チャネルプロセッサ34に何らかの障害等があって、自己のチャネルプロセッサ34では変更することができないことがある。従って、他のチャネルプロセッサ34が障害等の発生したチャネルプロセッサ34にアクセスし、当該障害等の発生したチャネルプロセッサ34にアクセスできない等の場合に、他のチャネルプロセッサ34が強制的に当該障害等の発生したチャネルプロセッサ34に対応する受付禁止フラグ欄41Bを「1」に変更するようになされている。
さらに、あるチャネルプロセッサ34に対応する受付禁止フラグ欄41Bに「1」が格納されている場合に、当該チャネルプロセッサ34が障害等から回復したときには、当該チャネルプロセッサ34が、自己のチャネルプロセッサ34の受付禁止フラグ欄41Bを「0」に変更するようになされている。
図5は、分散処理追加禁止情報管理テーブル42の構成の一例を示している。分散処理受付追加情報管理テーブル42は、チャネルプロセッサIDを管理するチャネルプロセッサID欄42A及び追加禁止フラグが「オン」であるか「オフ」であるかを管理する追加禁止フラグ欄42Bから構成されている。
この場合、チャネルプロセッサ34に対応する追加禁止フラグ欄42Bに「1」が格納されている場合には、追加禁止フラグが「オン」であることを示しており、分散処理の割振りの追加を禁止して、以後の分散処理の割振り対象から除外するようになされている。また、チャネルプロセッサ34に対応する追加禁止フラグ欄42Bに「0」が格納されている場合には、禁止フラグが「オフ」であることを示しており、分散処理の割振りの追加をすることができるようになされている。
また、各チャネルプロセッサ34は、自己が直接ホスト装置2から受信する各種要求と、他のチャネルプロセッサ34から分散処理により割り振られた各種要求とが混在している。このため、各チャネルプロセッサ34は、自己が直接ホスト装置2から受信する各種要求の加減によっては、他のチャネルプロセッサ34から割り振られる分散処理を禁止しなければ、分散処理における自己チャネルプロセッサ応答時間(後述)が急激に増加する可能性がある。
従って、各チャネルプロセッサ34は、例えば、自己のチャネルプロセッサ34の稼働率が所定の閾値を越えた場合や、分散処理における自己チャネルプロセッサ応答時間(後述)が閾値を越えた場合には、自己のチャネルプロセッサ34に対応する受付禁止フラグ欄42Bを「1」に変更するようになされている。
さらに、各チャネルプロセッサ34は、当該各チャネルプロセッサ34に対応する追加禁止フラグ欄42Bに「1」が格納されている場合に、例えば、自己のチャネルプロセッサ34の稼働率が所定の閾値以下となった場合や、分散処理における自己チャネルプロセッサ応答時間(後述)が閾値以下となった場合には、自己のチャネルプロセッサ34に対応する受付禁止フラグ欄42Bを「0」に変更するようになされている。
なお、各チャネルプロセッサ34は、自己のチャネルプロセッサ34の稼働率及び自己チャネルプロセッサ応答時間(後述)を算出し、稼働率その閾値並びに自己チャネルプロセッサ応答時間及びその閾値を管理することができるようになされている。
図6は、ストレージ装置4におけるチャネルアダプタ11の各ローカルメモリ35に格納されている各種テーブルの一例を示している。各ローカルメモリ35には、自己のチャネルプロセッサ34が各種要求に対応する処理を開始してから当該処理が終了するまでの時間である自己チャネルプロセッサ応答時間を管理する自己チャネルプロセッサ応答時間管理テーブル51、自己のチャネルプロセッサ34が分散処理により他のチャネルプロセッサ34に、各種要求に対応する処理を割り振ってから当該処理が終了するまでの時間である他チャネルプロセッサ応答時間を、他のチャネルプロセッサ34ごとに管理する他チャネルプロセッサ応答時間管理テーブル52、所定の周期ごとのホスト装置2から送信される各種要求の回数である要求回数のうち、分散処理により他のチャネルプロセッサ34に各種要求に対応する処理を割り振る割振り回数を管理する要求割振り回数管理テーブル53及び分散処理の割振りの追加を禁止する自己チャネルプロセッサ応答時間である追加禁止応答時間を管理する追加禁止応答時間管理テーブル54が格納されている。
また、各ローカルメモリ35には、割振り回数、当該割振り回数のうちの通常の書込み要求の回数である書込み割振り回数及び当該割振り回数のうちのリモートコピー要求の回数であるリモートコピー割振り回数を算出するプログラムである周期処理プログラム55、ホスト装置2から送信される各種要求を解釈して処理するプログラムである要求処理プログラム56及び分散処理についての処理を実行するプログラムである分散処理プログラム57が格納されている。
図7は、自己チャネルプロセッサ応答時間管理テーブル51の構成の一例を示している。自己チャネルプロセッサ応答時間管理テーブル51は、通常の書込み要求に対応する処理における自己チャネルプロセッサ応答時間の平均である通常書込み平均応答時間(自)を管理する通常書込み平均応答時間(自)欄51A、リモートコピー要求に対応する処理における自己チャネルプロセッサ応答時間の平均であるリモートコピー平均応答時間(自)を管理するリモートコピー平均応答時間(自)欄51B及びすべての要求に対応する処理における自己チャネルプロセッサ応答時間の平均である平均応答時間(自)を管理するリ平均応答時間(自)欄51Cから構成されている。
各チャネルプロセッサ34は、は、実際の各種要求に対応する処理を開始してから当該処理が終了するまでの時間である自己チャネルプロセッサ応答時間の実績値を、ホスト装置2から送信された要求と対応付けて記録しておく。
図8は、他チャネルプロセッサ応答時間管理テーブル52の構成の一例を示している。他チャネルプロセッサ応答時間管理テーブル52は、チャネルプロセッサIDのうち自己のチャネルプロセッサ34のチャネルプロセッサIDを除いたチャネルプロセッサIDを管理するチャネルプロセッサID欄52A、通常の書込み要求に対応する処理における他チャネルプロセッサ応答時間の平均である通常書込み平均応答時間(他)を管理する通常書込み平均応答時間(他)欄52B、リモートコピー要求に対応する処理における自己チャネルプロセッサ応答時間の平均であるリモートコピー平均応答時間(他)を管理するリモートコピー平均応答時間(他)欄52C及び選択済フラグが「オン」であるか「オフ」であるかを管理する選択済フラグ欄52Dから構成されている。
各チャネルプロセッサ34は、実際の各種要求に対応する処理を割り振ってから当該処理が終了するまでの時間である他チャネルプロセッサ応答時間の実績値を、他のチャネルプロセッサ34ごとに、ホスト装置2から送信された要求と対応付けて記録しておく。また、他チャネルプロセッサ応答時間テーブル52は、自己のチャネルプロセッサ34と他のチャネルプロセッサ34との通常書込み平均応答時間及びリモートコピー平均応答時間の比較を行う際に使用される。
また、この場合、チャネルプロセッサ34に対応する選択済フラグ欄52Dに「1」が格納されている場合には、選択済フラグが「オン」であることを示しており、分散処理における割振り対象として既に選択されたことを示しており、以後の分散処理の割振り対象から除外するようになされている。また、チャネルプロセッサ34に対応する選択済フラグ欄52Dに「0」が格納されている場合には、選択済フラグが「オフ」であることを示しており、分散処理の割振り対象とすることができるようになされている。
図9は、要求割振り回数管理テーブル53の構成の一例を示している。要求割振り回数管理テーブル53は、割振り回数を管理する割振り回数管理欄53A、書込み割振り回数を管理する書込み割振り回数欄53B及びリモートコピー割振り回数を管理するリモートコピー割振り回数欄53Cから構成されている。
図10は、追加禁止応答時間管理テーブル54の構成の一例を示している。追加禁止応答時間管理テーブル54は、チャネルプロセッサIDのうち自己のチャネルプロセッサ34のチャネルプロセッサIDを除いたチャネルプロセッサIDを管理するチャネルプロセッサID欄54A、追加禁止応答時間を管理する追加禁止応答時間欄54B、当該追加禁止応答時間を越えた場合であっても他のチャネルプロセッサ34からの分散処理の割振りの追加を再開する他のチャネルプロセッサの自己チャネルプロセッサ応答時間である追加再開応答時間を管理する追加再開応答時間欄54C及び再開禁止フラグが「オン」であるか「オフ」であるかを管理する再開禁止フラグ欄54Dから構成されている。
この場合、チャネルプロセッサ34に対応する再開禁止フラグ欄54Dに「1」が格納されている場合には、再開禁止フラグが「オン」であることを示しており、追加再開応答時間を越えた場合であっても他のチャネルプロセッサ34からの分散処理の割振りの追加の再開をしないことを示しており、分散処理の割振り対象から除外するようになされている。また、チャネルプロセッサ34に対応する再開禁止フラグ欄54Dに「0」が格納されている場合には、再開禁止フラグが「オフ」であることを示しており、追加再開応答時間を越えた場合には、当該チャネルプロセッサに対応する追加禁止フラグ欄42Bに格納されている「1」を「0」に変更して、追加再開応答時間を越えた他のチャネルプロセッサ34からの分散処理の割振りの追加を再開するようになされている。
すなわち、追加禁止応答時間管理テーブル54は、追加禁止応答時間及び追加再開応答時間の2つの閾値を有している。各チャネルプロセッサ34は、他チャネルプロセッサ応答時間管理テーブル52を参照することにより、他のチャネルプロセッサ34の救済をどの段階で行うのかを設定しておくことができるようになされている。
負荷を低く抑えておきたいチャネルプロセッサ34に関しては、他のチャネルプロセッサ34からの割振りの追加を禁止する追加禁止応答時間の閾値を設定しておく。
また、他のチャネルプロセッサ34が追加再開応答時間の閾値を越えて過負荷になった場合には、追加禁止応答時間管理テーブル54を参照することにより、追加再開応答時間を越えた他のチャネルプロセッサ34の再開禁止フラグが「オフ」となっているチャネルプロセッサを検索し、当該チャネルプロセッサ34に対応する追加禁止フラグを「オフ」にする。これにより、当該追加禁止フラグを「オフ」にしたチャネルプロセッサ34は、追加再開応答時間を越えた他のチャネルプロセッサ34の分散処理の割振りの追加を再開する。
例えば、第2のチャネルプロセッサ34は、第1のチャネルプロセッサ34に対する追加禁止応答時間が30(ms)、追加再開応答時間が60(ms)に設定されているとする。第1のチャネルプロセッサ34は、分散処理を開始する。そして、第2のチャネルプロセッサ34の自己チャネルプロセッサ応答時間が30(ms)を越えた場合には、第2のチャネルプロセッサ34は、当該第2のチャネルプロセッサ34に対応する追加禁止フラグを「オン」にして、分散処理の割振りの追加を禁止する。しかしながら、第1のチャネルプロセッサ34の自己チャネルプロセッサ応答時間が60(ms)を越えた場合には、第2のチャネルプロセッサ34は、当該第2のチャネルプロセッサ34に対応する追加禁止フラグを「オン」にして、分散処理の割振りの追加を再開する。
このようにして、負荷の低いチャネルプロセッサ34を用意して、突発的な要求の増加による自己チャネルプロセッサ応答時間の増加について対処することができるようになされている。また、負荷を低く抑えておきたいチャネルプロセッサ34を設定することができ、さらに、高負荷となったチャネルプロセッサ34を救済するように設定することができるようになされている。
図11は、このストレージシステム1におけるストレージ装置4の周期処理に関する、ストレージ装置4のチャネルプロセッサ34の具体的な処理手順を示したフローチャートの一例である。
チャネルプロセッサ34は、当該ストレージ装置4が起動すると、例えば、数秒間隔ごと等の所定の周期ごとに、周期処理プログラム55の周期処理プログラムを実行することにより、図11に示す周期処理手順RT1に従って、前回の周期処理が終了してから今回の周期処理が開始するまでの、ホスト装置2から送信された要求及び自己チャネルプロセッサ応答時間の実績値に基づいて、通常書込み平均応答時間(自)、リモートコピー書込み平均応答時間(自)及び平均応答時間(自)を算出し、当該通常書込み平均応答時間(自)、リモートコピー書込み平均応答時間(自)及び平均応答時間(自)を自己チャネルプロセッサ応答時間管理テーブル51に格納する(SP1)。
続いて、チャネルプロセッサ34は、分散処理受付禁止情報管理テーブル41及び分散処理追加禁止情報管理テーブル42を参照することにより、受付禁止フラグ及び追加禁止フラグが「オン」でない、すなわち分散処理の割振り対象となる他のチャネルプロセッサ34を算出する(SP2)。
続いて、チャネルプロセッサ34は、前回の周期処理が終了してから今回の周期処理が開始するまでの、他のチャネルプロセッサ34ごとに記憶された、ホスト装置2から送信された要求及び自己チャネルプロセッサ応答時間の実績値に基づいて、通常書込み平均応答時間(他)及びリモートコピー書込み平均応答時間(他)を算出し、他のチャネルプロセッサ34ごとに、当該通常書込み平均応答時間(他)及びリモートコピー書込み平均応答時間(他)を他チャネルプロセッサ応答時間管理テーブル52に格納する(SP3)。
続いて、チャネルプロセッサ34は、分散処理の割振り対象となる他のチャネルプロセッサ34の通常書込み平均応答時間(他)及びリモートコピー書込み平均応答時間(他)並びに平均応答時間(自)に基づいて、全体の平均応答時間を算出する(SP4)。
続いて、チャネルプロセッサ34は、算出した全体の平均応答時間と、当該チャネルプロセッサ34に記憶している前回の全体の平均応答時間とを比較して、平均応答時間が早くなったか否かをチェックする(SP5)。
そして、チャネルプロセッサ34は、平均応答時間が早くなった場合(SP5:YES)には、自己のチャネルプロセッサ34の負荷分散処理を実行したことによる効果が認められたこととなるので、さらなる負荷分散処理の効果を得るため、前回の周期処理が終了してから今回の周期処理が開始するまでの、ホスト装置2から送信された要求回数のうち、割振り回数を所定回数増加(例えば、割振り回数の5%〜10%ずつ増加)する(SP6)。
これに対して、チャネルプロセッサ34は、平均応答時間が遅くなった場合(SP5:NO)には、自己のチャネルプロセッサ34の負荷分散処理を実行したことにより却って平均応答時間が遅くなり、負荷分散処理が逆効果だったため、前回の周期処理が終了してから今回の周期処理が開始するまでの、ホスト装置2から送信された要求回数のうち、割振り回数を所定回数減少(例えば、割振り回数の5%〜10%ずつ減少)する(SP7)。
なお、割振り回数については、初期時には、管理者が設定するようにしても良く、この他種々の場合にも適応することができる。
続いて、チャネルプロセッサ34は、割振り回数を所定回数増減して割振り回数が決定すると、個別割振り回数算出処理手順RT2を実行する。なお、個別割振り回数算出処理手順RT2については、図12において後述する。
続いて、チャネルプロセッサ34は、割振り回数並びに個別割振り回数算出処理手順RT2により算出された通常書込み割振り回数及びリモートコピー割振り回数を割振り回数管理テーブル53に格納する(SP8)。
そして、チャネルプロセッサ34は、この後、この図11に示す周期処理手順RT1を終了する(SP9)。
このようにして、チャネルプロセッサ34は、各種要求に対する処理を行った結果をフィードバックし、割り振る回数を変化させるようになされており、自己のチャネルプロセッサ34で行う各種要求に対する処理を最適化することができる。
図12は、このストレージシステム1におけるストレージ装置4の個別割振り回数算出処理に関する、ストレージ装置4のチャネルプロセッサ34の具体的な処理手順を示したフローチャートの一例である。
チャネルプロセッサ34は、割振り回数を所定回数増減して割振り回数が決定されると、割振り回数のうちの個別の要求ごとの割振り回数を算出する周期処理プログラム55の個別割振り回数算出処理プログラムを実行することにより、図12に示す個別割振り回数算出処理手順RT2に従って、自己チャネルプロセッサ応答時間管理テーブル51に格納された通常書込み平均応答時間(自)を読み出す(SP11)。
続いて、チャネルプロセッサ34は、自己チャネルプロセッサ応答時間管理テーブル51に格納されたリモートコピー平均応答時間(自)を読み出す(SP12)。
続いて、チャネルプロセッサ34は、実際の各種要求に対応する処理を開始してから当該処理が終了するまでの時間である自己チャネルプロセッサ応答時間の実績値に対応付けられたホスト装置2から送信された要求に基づいて、要求回数のうち、通常の書込み要求の回数である通常書込み回数を算出する(SP13)。
続いて、チャネルプロセッサ34は、実際の各種要求に対応する処理を開始してから当該処理が終了するまでの時間である自己チャネルプロセッサ応答時間の実績値に対応付けられたホスト装置2から送信された要求に基づいて、要求回数のうち、リモートコピー要求の回数であるリモートコピー回数を算出する(SP14)。
続いて、チャネルプロセッサ34は、通常書込み平均応答時間(自)、リモートコピー平均応答時間(自)及び通常書込み回数に基づいて、通常書込み割振り回数を算出する(SP15)。
この場合、チャネルプロセッサ34は、通常書込み平均応答時間(自)を「V」、リモートコピー平均応答時間(自)を「v」、通常書込み回数を「T」とし、通常書込み割振り回数の割合を「X」とすると、
Figure 0004933284
により、通常書込み割振り回数の割合である「X」を算出することができる。そして、チャネルプロセッサ34は、決定した割振り回数に対応する通常書込み割振り回数の割合を計算することにより、通常書込み割振り回数を算出することができる。
続いて、チャネルプロセッサ34は、通常書込み平均応答時間(自)、リモートコピー平均応答時間(自)及びリモートコピー回数に基づいて、リモートコピー割振り回数を算出する(SP16)。
この場合、チャネルプロセッサ34は、通常書込み平均応答時間(自)を「V」、リモートコピー平均応答時間(自)を「v」、リモートコピー回数を「t」とし、リモートコピー割振り回数の割合を「Y」とすると、
Figure 0004933284
により、リモートコピー割振り回数の割合である「Y」を算出することができる。そして、チャネルプロセッサ34は、決定した割振り回数に対応するリモートコピー割振り回数の割合を計算することにより、通常書込み割振り回数を算出することができる。
そして、チャネルプロセッサ34は、この後、この図12に示す個別割振り回数算出処理手順RT2を終了する(SP17)。
ここで、通常の書込み要求とリモートコピー要求とでは、平均応答時間が大きく異なる。この場合、リモートコピー要求に対応する処理にほうが平均応答時間が長いために、リモートコピー要求を優先して割り振ったほうが効果が大きいこととなる。そこで、チャネルプロセッサ34は、ホスト装置2から送信される通常の書込み要求及びリモートコピー要求の比率と、それぞれの応答時間からそれぞれの割振り回数を算出する。
なお、本実施の形態においては、通常の書込み要求及びリモートコピー要求における割振り回数の算出について述べたが、本発明はこれに限らず、上述に示したMRCF実行要求や、UR実行要求、QS実行要求、AOU実行要求等の各種の応答時間が大きく異なるについては、同様に、個別の応答時間、個別の要求回数により、それぞれ個別の割振り回数を算出することができる。なお、これらの本発明に含まれる種々の場合について適用するにあたり、各種プログラムや各種テーブルを必要に応じて変更することは言うまでもない。
図13は、このストレージシステム1におけるストレージ装置4の分散処理実行判定処理に関する、ストレージ装置4のチャネルプロセッサ34の具体的な処理手順を示したフローチャートの一例である。
なお、以下については、ホスト装置2から通常の書込み要求が送信された場合における書込み処理について説明を行うが、この他のリモートコピー要求や、MRCF実行要求や、UR実行要求、QS実行要求、AOU実行要求等の各種の要求に対応する各種処理を実行する場合についても、当該要求にかかる処理内容が異なる以外は同様である。
チャネルプロセッサ34は、ホスト装置2から書込み要求が送信されると、分散処理を実行するか否かを判定する分散処理プログラム56の分散処理実行判定処理プログラムを実行することにより、図13に示す分散処理実行判定処理手順RT3に従って、書込み対象のデータが所定の容量より大きいか否かをチェックする(SP21)。
そして、チャネルプロセッサ34は、書込み対象のデータが所定の容量より大きい場合(SP21:YES)には、分散処理における書込み対象のデータのデータ転送が複雑になるおそれがあるため、分散処理を中止して、通常の書込み処理である通常書込み処理手順RT8(後述)を実行し、この後、図13に示す分散処理実行判定処理手順RT3を終了する(SP25)。
具体的に、チャネルプロセッサ34は、書込み対象のデータの容量が1(MB)より大きい場合には、当該チャネルプロセッサ34に対応する1つのバッファメモリ33の容量を越えてしまい、データ転送が著しく複雑になるため、分散処理を中止するものである。
これに対して、チャネルプロセッサ34は、書込み対象のデータが所定の容量より大きくない、すなわち所定の容量以下である場合(SP21:NO)には、キャッシュメモリ14が正常でないか否かをチェックする(SP22)。
そして、チャネルプロセッサ34は、キャッシュメモリ14が正常でない場合(SP22:YES)には、バッファメモリ33の解放やキャッシュメモリ14のパッケージ交換が行われるおそれがあるため、分散処理を中止して、通常書込み処理手順RT8(後述)を実行し、この後、図13に示す分散処理実行判定処理手順RT3を終了する(SP25)。
これに対して、チャネルプロセッサ34は、キャッシュメモリ14が正常である場合(SP22:NO)には、当該チャネルプロセッサ34に対応する追加禁止フラグが「オフ」となっているか否かをチェックする(SP23)。
そして、チャネルプロセッサ34は、当該チャネルプロセッサ34に対応する追加禁止フラグが「オフ」となっている場合(SP23:YES)には、当該チャネルプロセッサ34の平均応答時間(自)が追加禁止応答時間を越えていないことから、当該チャネルプロセッサ34がボトルネックとなっているわけではなく、分散処理の効果が期待できないため、分散処理を中止して、通常書込み処理手順RT8(後述)を実行し、この後、図13に示す分散処理実行判定処理手順RT3を終了する(SP25)。
これに対して、チャネルプロセッサ34は、当該チャネルプロセッサ34に対応する追加禁止フラグが「オフ」となっていない、すなわち追加禁止フラグが「オン」となっている場合(SP23:NO)には、当該チャネルプロセッサ34のマイクロプログラムを交換しているか否かをチェックする(SP24)。
そして、チャネルプロセッサ34は、当該チャネルプロセッサ34のマイクロプログラムを交換している場合(SP24:YES)には、マイクロプログラムの交換が終了して当該チャネルプロセッサ34の再起動が行われるおそれがあるため、分散処理を中止して、通常書込み処理手順RT8(後述)を実行し、この後、図13に示す分散処理実行判定処理手順RT3を終了する(SP25)。
これに対して、チャネルプロセッサ34は、当該チャネルプロセッサ34のマイクロプログラムを交換していない場合(SP24:NO)には、分散処理を実行すべきと判定し、割振り先チャネルプロセッサ決定処理手順RT4(後述)を実行し、この後、図13に示す分散処理実行判定処理手順RT3を終了する(SP25)。
図14は、このストレージシステム1におけるストレージ装置4の分散処理実行判断処理に関する、ストレージ装置4のチャネルプロセッサ34の具体的な処理手順を示したフローチャートの一例である。
チャネルプロセッサ34は、分散処理を実行すべきと判定されると、分散処理を実行するか否かを判断する分散処理プログラム56の分散処理実行判断処理プログラムを実行することにより、図14に示す分散処理実行判断処理手順RT4に従って、要求割振り回数テーブル53を参照することにより、割振り回数を読み出す(SP31)。
続いて、チャネルプロセッサ34は、要求回数及び割振り回数に基づいて、分散処理を実行するか否かを判断する(SP32)。
この場合、チャネルプロセッサ34は、要求回数を「W」、割振り回数を「w」とし、分散処理を実行する回数の割合を「Z」とすると、
Figure 0004933284
により、分散処理を実行する回数の割合である「Z」(回)ごとに分散処理を実行すると判断することができる。
続いて、チャネルプロセッサ34は、分散処理を実行するか否かをチェックする(SP33)。そして、チャネルプロセッサ34は、今回の書込み要求では分散処理を実行すべきでない回であると判断され、分散処理を実行しない場合(SP33:NO)には、分散処理を実行すべきであると判定されても、分散処理を中止して、通常書込み処理手順RT8(後述)を実行し、この後、図14に示す分散処理実行判断処理手順RT4を終了する(SP34)。これに対して、チャネルプロセッサ34は、今回の書込み要求においては分散処理を実行すべき回であると判断され、分散処理を実行する場合(SP33:YES)には、割振り先チャネルプロセッサ選択処理手順RT5(後述)及び分散処理手順RT6を実行し、この後、図14に示す分散処理実行判断処理手順RT4を終了する(SP34)。
図15は、このストレージシステム1におけるストレージ装置4の割振り先チャネルプロセッサ選択処理に関する、ストレージ装置4のチャネルプロセッサ34の具体的な処理手順を示したフローチャートの一例である。
チャネルプロセッサ34は、分散処理を実行すべきと判断されると、割振り先のチャネルプロセッサを選択する分散処理プログラム56の割振り先チャネルプロセッサ選択処理プログラムを実行することにより、図15に示す割振り先チャネルプロセッサ選択処理手順RT5に従って、他チャネルプロセッサ応答時間管理テーブル52を参照することにより、すべての選択済フラグが「オン」となっているか否かをチェックする(SP41)。
そして、チャネルプロセッサ34は、すべての選択済フラグが「オン」となっていない場合(SP41:NO)には、ステップSP43に進む。これに対して、チャネルプロセッサ34は、すべての選択済フラグが「オン」となっている場合(SP41:YES)には、すべてのチャネルプロセッサ34が一度選択されたため、すべての選択済フラグを「オフ」に変更し、すべてのチャネルプロセッサ34を選択することができる状態に戻す(SP42)。
やがて、チャネルプロセッサ34は、分散処理受付禁止情報管理テーブル41及び分散処理追加禁止情報管理テーブル42を参照することにより、受付禁止フラグ及び追加禁止フラグがいずれも「オフ」となっているチャネルプロセッサ34であり、かつ、他チャネルプロセッサ応答時間管理テーブル52を参照することにより、選択済フラグが「オフ」であり、通常書込み平均応答時間(自)と比較して通常書込み平均応答時間(他)が早い順に、該当するチャネルプロセッサ34を、割振り先のチャネルプロセッサ34として選択する(SP43)。
やがて、チャネルプロセッサ34は、割振り先のチャネルプロセッサ34に対応する選択済フラグを「オン」に変更する(SP44)。
そして、チャネルプロセッサ34は、この後、この図15に示す割振り先チャネルプロセッサ選択処理手順RT5を終了する(SP45)。
なお、本実施の形態においては、複数の他のチャネルプロセッサ34が同時に割振り先チャネルプロセッサ選択処理手順RT5を実行した場合に、自己チャネルプロセッサ応答時間の短いチャネルプロセッサ34に分散処理が集中することを防止するため、複数の他のチャネルプロセッサ34が同時に割振り先チャネルプロセッサ選択処理手順RT5を実行した場合には、各チャネルプロセッサ34ごとにタイミングをずらして割振り先チャネルプロセッサ選択処理手順RT5を実行するようになされている。
これにより、複数の他のチャネルプロセッサ34から分散処理により各種要求が自己のチャネルプロセッサに割振られることによる自己チャネルプロセッサ応答時間の急激な増加を防止することができる。
図16は、このストレージシステム1におけるストレージ装置4の分散処理に関する、ストレージ装置4のチャネルプロセッサ34の具体的な処理手順を示したフローチャートの一例である。
チャネルプロセッサ34は、割振り先のチャネルプロセッサ34が選択されると、分散処理を実行する分散処理プログラム56の分散処理プログラムを実行することにより、図16に示す分散処理手順RT6に従って、ホスト装置2から送信される書込み要求に対応する書込み対象のデータをインタフェース部31及びチャネルアダプタ接続部32を介して当該チャネルプロセッサに対応するバッファメモリ33に転送する(SP51)。
続いて、チャネルプロセッサ34は、書込み処理要求を作成し、当該書込み処理要求を割振り先のチャネルプロセッサ34に送信する(SP52)。この場合、チャネルプロセッサ34は、割振り先のチャネルプロセッサ34がバッファメモリ33を共有している場合には、当該バッファメモリ33を介して割振り先のチャネルプロセッサ34に書込み処理要求を送信する。また、チャネルプロセッサ34は、割振り先のチャネルプロセッサ34がバッファメモリ33を共有しておらず、同一のチャネルアダプタ11内である場合には、当該バッファメモリ33、チャネルアダプタ接続部32及び割振り先のチャネルプロセッサ23に対応するバッファメモリ33を介して割振り先のチャネルプロセッサ34に書込み処理要求を送信する。また、チャネルプロセッサ34は、割振り先のチャネルプロセッサ34が同一のチャネルアダプタ11内でない場合には、当該バッファメモリ33、チャネルアダプタ接続部32、内部接続端子36、接続部12並びに割振り先のチャネルプロセッサ34のチャネルアダプタ11内の内部接続端子36、接続部12、チャネルアダプタ接続部32及びバッファメモリ33を介して割振り先のチャネルプロセッサ34に書込み処理要求を送信する。
割振り先のチャネルプロセッサ34は、チャネルプロセッサ(割振り元)から書込み処理要求を受信すると、書込み処理要求解釈して処理を実行する要求処理プログラム56を実行することにより、図16に示す要求処理手順RT7に従って、キャッシュメモリ14及びディスクデバイス21に書込み領域を確保する(SP53)。
続いて、割振り先のチャネルプロセッサ34は、チャネルプロセッサ34(割振り元)に対応するバッファメモリ33から書込み対象のデータを割振り先のチャネルプロセッサ34に対応するバッファメモリ33に転送する(SP54)。
この場合、割振り先のチャネルプロセッサ34は、チャネルプロセッサ34(割振り元)がバッファメモリ33を共有している場合には、書込み対象のデータを転送する必要がない。また、割振り先のチャネルプロセッサ34は、チャネルプロセッサ34(割振り元)がバッファメモリ33を共有しておらず、同一のチャネルアダプタ11内である場合には、チャネルプロセッサ34(割振り元)に対応するバッファメモリ33及びチャネルアダプタ接続部32を介して当該割振り先のチャネルプロセッサ34に対応するバッファメモリ33に書込み対象のデータを転送する。さらに、割振り先のチャネルプロセッサ34は、チャネルプロセッサ34(割振り元)が同一のチャネルアダプタ11内でない場合には、書込み対象のデータがチャネルプロセッサ34(割振り元)によりキャッシュメモリ14のワークスロットに格納されるのを監視し、書込み対象のデータがチャネルプロセッサ34(割振り元)によりキャッシュメモリ14のワークスロットに格納されると、接続部12、内部接続端子36及びチャネルアダプタ接続部32を介して当該割振り先のチャネルプロセッサ34に対応するバッファメモリ33に書込み対象のデータを転送する。
続いて、割振り先のチャネルプロセッサ34は、キャッシュヒット/ミス判定を行う(SP55)。この場合、割振り先のチャネルプロセッサ34は、ステップSP53においてキャッシュメモリ14に書込み領域を確保していることから、必ずキャッシュヒットとなる。
続いて、割振り先のチャネルプロセッサ34は、バッファメモリ33からチャネルアダプタ接続部32、内部接続端子36及び接続部12を介して書込み対象のデータをキャッシュメモリ14の確保した書込み領域に転送する(SP56)。
続いて、割振り先のチャネルプロセッサ34は、チャネルプロセッサ34(割振り元)に書込み処理が終了した旨の通知を送信する(SP57)。この場合、割振り先のチャネルプロセッサ34は、チャネルプロセッサ34(割振り元)の位置に応じてステップSP52における送信ルートとは反対のルートで送信するようになされている。
続いて、割振り先のチャネルプロセッサ34は、バッファメモリ33及び確保したキャッシュメモリ14の書込み領域を解放し(SP58)、この後、図16に示す要求処理手順RT7を終了する(SP62)。
一方、チャネルプロセッサ(割振り元)は、割振り先のチャネルプロセッサ34から書込み処理が終了した旨の通知を受信すると、書込み処理が終了した旨の通知をバッファメモリ33、チャネルアダプタ接続部32及びインタフェース部31を介してホスト装置2に送信する(SP59)。
続いて、チャネルプロセッサ34は、バッファメモリ33を解放し(SP60)、この後、図16に示す分散処理手順RT6を終了する(SP61)。
図17は、このストレージシステム1におけるストレージ装置4の通常書込み処理に関する、ストレージ装置4のチャネルプロセッサ34の具体的な処理手順を示したフローチャートの一例である。
チャネルプロセッサ34は、分散処理を実行すべきと判定されなかった場合及び分散処理を実行すべきでない回であった場合に、要求処理プログラム56を実行することにより、図17に示す通常書込み要求処理手順RT8に従って、ホスト装置2から送信される書込み要求に対応する書込み対象のデータをインタフェース部31及びチャネルアダプタ接続部32を介して当該チャネルプロセッサに対応するバッファメモリ33に転送する(SP71)。
続いて、チャネルプロセッサ34は、キャッシュメモリ14及びディスクデバイス21に書込み領域を確保する(SP72)。
続いて、チャネルプロセッサ34は、キャッシュヒット/ミス判定を行う(SP73)。この場合、チャネルプロセッサ34は、ステップSP71においてキャッシュメモリ14に書込み領域を確保していることから、必ずキャッシュヒットとなる。
続いて、チャネルプロセッサ34は、バッファメモリ33からチャネルアダプタ接続部32、内部接続端子36及び接続部12を介して書込み対象のデータをキャッシュメモリ14の確保した書込み領域に転送する(SP74)。
続いて、チャネルプロセッサは、書込み処理が終了した旨の通知をバッファメモリ33、チャネルアダプタ接続部32及びインタフェース部31を介してホスト装置2に送信する(SP75)。
続いて、チャネルプロセッサ34は、バッファメモリ33及び確保したキャッシュメモリ14の書込み領域を解放し(SP76)、この後、図17に示す通常書込み要求処理手順RT8を終了する(SP77)。
このようにしてストレージシステム1では、ストレージ装置4において、ホスト装置2から送信される書込み要求をチャネルプロセッサ34が受信したときに、当該チャネルプロセッサ34から他のチャネルプロセッサ34に分散処理を実行するか否かを判断し、分散処理を実行すると判断された場合には、割振り先のチャネルプロセッサ34を選択する。
従って、負荷分散処理における分割損によるオーバーヘッドにより、自己のチャネルプロセッサ34において書込み要求に対する処理を完結する場合に比して、却って、ホスト装置2から書込み要求を受信してから、当該書込み要求に対応して書込み対象のデータを書き込んだ旨を通知するまでの応答時間が悪化するといった事態を未然かつ有効に防止することができる。
また、各チャネルプロセッサ34の他チャネルプロセッサ応答時間を基準に割振り先のチャネルプロセッサ34を選択するため、稼働率が高くても他チャネルプロセッサ応答時間の短いチャネルプロセッサ34には要求に対応する処理を割り振ることができる。さらに、各種要求ごとに個別に割振り回数を変化させることができるため、様々な要求を同時に扱った場合にも各種要求に対する処理を最適化することができる。
なお、本実施の形態における、応答時間が影響を受ける要因としては、例えば、チャネルプロセッサ内のキューや、キャッシュメモリの応答、ディスクアダプタ内のキュー、ディスクデバイスの応答、リモートコピーの応答、MRCFの応答等が考えられる。
また、本実施の形態においては、ジョブの種類が頻繁に変わる場合には、有効な割振り先のチャネルプロセッサを選択することができないことがあるため、分散処理を実行するか否かを管理者が手動で切り替えられるようにしても良い。また、上述の追加禁止応答時間及び追加再開応答時間の変形例として、所定台数以上のホスト装置からの要求を受け付けている場合には、分散処理を中止し、要求が少なくなった場合に、再開するようにしても良い。管理端末では、どのチャネルアダプタにどのホスト装置が接続されているかの情報を有しているため、それを参照するようにしても良い。
さらに、本実施の形態においては、分散処理を割り振るチャネルプロセッサとしては、すべての範囲のチャネルプロセッサに割り振った場合について述べたが、本発明はこれに限らず、例えば、管理端末上で分散処理グループを定義し、分散処理は同一グループ内のみで行うようにしても良い。また、グループ定義は、例えば、グループに属するチャネルプロセッサIDで行うようにしても良い。
本発明は、複数の独立した制御機能を有するストレージ装置に広く適用することができる。
本実施の形態によるストレージシステムの概略的な構成を示すブロック図である。 チャネルアダプタの概略的な構成を示すブロック図である。 共有メモリの概略的な構成を示すブロック図である。 分散処理受付禁止情報管理テーブルの説明に供する概念図である。 分散処理追加禁止情報管理テーブルの説明に供する概念図である。 ローカルメモリの概略的な構成を示すブロック図である。 自己チャネルプロセッサ応答時間管理テーブルの説明に供する概念図である。 他チャネルプロセッサ応答時間管理テーブルの説明に供する概念図である。 要求割振り回数管理テーブルの説明に供する概念図である。 追加禁止応答時間管理テーブルの説明に供する概念図である。 周期処理手順を示すフローチャートである。 個別割振り回数算出処理手順を示すフローチャートである。 分散処理実行判定処理手順を示すフローチャートである。 分散処理実行判断処理手順を示すフローチャートである。 割振り先チャネルプロセッサ選択処理手順を示すフローチャートである。 分散処理手順を示すフローチャートである。 通常書込み処理手順を示すフローチャートである。
符号の説明
1……ストレージシステム、2……ホスト装置、4……ストレージ装置、11……チャネルアダプタ、33……バッファメモリ、34……チャネルプロセッサ、35……ローカルメモリ、41……分散処理受付禁止情報管理テーブル、42……分散処理追加禁止情報管理テーブル、51……自己チャネルプロセッサ応答時間管理テーブル、52……他チャネルプロセッサ応答時間管理テーブル、53……要求割振り回数管理テーブル、54……追加禁止応答時間管理テーブル、55……周期処理プログラム、56……要求処理プログラム、57……分散処理プログラム

Claims (12)

  1. ホスト装置と接続され、前記ホスト装置から送信される要求を解釈して処理する複数の制御プロセッサを有するストレージ装置であって、
    前記制御プロセッサ部は、
    前記要求に対応する処理の実行または割り振りを行う複数の制御プロセッサと、
    前記要求を解釈して処理するための情報を記憶するローカルメモリと、
    を有し、
    前記ローカルメモリは、
    前記複数の制御プロセッサのうちの第1の制御プロセッサが前記要求の処理を開始してから当該処理が終了するまでの時間である第1の平均応答時間と、前記複数の制御プロセッサのそれぞれについて管理される、前記第1の制御プロセッサが前記複数の制御プロセッサのうちの各制御プロセッサに処理を割り振ってから当該処理が終了するまでの平均の時間である第2の平均応答時間と、を記憶し、
    前記各制御プロセッサのそれぞれに対して設定される前記各制御プロセッサの前記第2の平均応答時間の第1の閾値と、前記第1の制御プロセッサに対して設定される前記第1の平均応答時間の第2の閾値と、を記憶し、
    前記第1の制御プロセッサは、
    前記ホスト装置から送信される前記要求を受信した際、
    前記第1の平均応答時間と前記第2の平均応答時間とに基づいて、当該要求に対応する処理を前記第1の制御プロセッサで実行するか、前記第1の制御プロセッサから他の制御プロセッサに分散するか、判断し、
    前記第1の制御プロセッサで処理すると判断した場合、
    当該要求に対応する処理を実行し、
    当該要求に対応する処理が終了すると、当該要求に対応する処理が終了した旨を前記ホスト装置に通知し、
    前記他の制御プロセッサに分散すると判断した場合、
    前記複数の制御プロセッサのうち、前記第2の平均応答時間が前記第1の閾値よりも低い前記制御プロセッサ、または、前記第1の制御プロセッサの前記第2の平均応答時間が前記第1の閾値よりも高いときに前記第1の平均応答時間が前記第2の閾値よりも高い前記制御プロセッサ、のいずれかに前記要求に対応する処理を割り振り、
    前記他の制御プロセッサから当該要求に対応する処理が終了した旨の通知を受領すると、当該要求に対応する処理が終了した旨を前記ホスト装置に通知することを特徴とするストレージ装置。
  2. 請求項1に記載のストレージ装置であって、
    前記第1の制御プロセッサは、
    前記複数の制御プロセッサ部のうち、第1の制御プロセッサ部に存在し、
    前記第1の制御プロセッサ部に存在する第2の制御プロセッサ、及び、前記複数の制御プロセッサ部のうちの第2のプロセッサ部内に存在する第3の制御プロセッサ、のいずれにも前記要求に対応する処理を割り振ることを特徴とするストレージ装置。
  3. 請求項1に記載のストレージ装置であって、
    前記第1の制御プロセッサは、
    前記第2の平均応答時間が前記第1の閾値よりも低い前記制御プロセッサのうち、前記第1の平均応答時間より前記第2の平均応答時間が早い順に前記要求に対応する処理を割り振ることを特徴とするストレージ装置。
  4. 請求項1に記載のストレージ装置であって、
    前記第1の制御プロセッサは、
    前記第1の平均応答時間が前記第1の閾値を超えたことを条件に、前記要求に対応する処理を前記他の制御プロセッサに分散すると判断することを特徴とするストレージ装置。
  5. 請求項1に記載のストレージ装置であって、
    前記第1の制御プロセッサは、
    前記第1の平均応答時間が前記第1の閾値を超えた場合に、前記要求に対応する処理が前記他の制御プロセッサから分散されるのを禁止し、前記第2の平均応答時間が前記第2の閾値を超えた場合に、前記要求に対応する処理が前記他の制御プロセッサから分散されるのを再開することを特徴とするストレージ装置。
  6. 請求項1に記載のストレージ装置であって、
    前記第1の制御プロセッサは、
    前記第1の平均応答時間と前記第2の平均応答時間を基に全体の平均応答時間を示す第3の平均応答時間を所定の周期毎に算出し、前記算出した第3の平均応答時間が、前回算出した第3の平均応答時間よりも早い場合には、前記要求に対応する処理を前記他の制御プロセッサに分散する割振り回数を増加させ、前記算出した第3の平均応答時間が、前記前回算出した第3の平均応答時間よりも遅い場合には、前記割振り回数を減少させることを特徴とするストレージ装置。
  7. ホスト装置と接続され、前記ホスト装置から送信される要求を解釈して処理する複数の制御プロセッサを有し、
    前記制御プロセッサ部は、
    前記要求に対応する処理の実行または割り振りを行う複数の制御プロセッサと、
    前記要求を解釈して処理するための情報を記憶するローカルメモリと、
    を有し、
    前記ローカルメモリは、
    前記複数の制御プロセッサのうちの第1の制御プロセッサが前記要求の処理を開始してから当該処理が終了するまでの時間である第1の平均応答時間と、前記複数の制御プロセッサのそれぞれについて管理される、前記第1の制御プロセッサが前記複数の制御プロセッサのうちの各制御プロセッサに処理を割り振ってから当該処理が終了するまでの平均の時間である第2の平均応答時間と、を記憶し、
    前記各制御プロセッサのそれぞれに対して設定される前記各制御プロセッサの前記第2の平均応答時間の第1の閾値と、前記第1の制御プロセッサに対して設定される前記第1の平均応答時間の第2の閾値と、を記憶するストレージ装置の負荷分散方法であって、
    前記第1の制御プロセッサが、
    前記ホスト装置から送信される前記要求を受信した際、
    前記第1の平均応答時間と前記第2の平均応答時間とに基づいて、当該要求に対応する処理を前記第1の制御プロセッサで実行するか、前記第1の制御プロセッサから他の制御プロセッサに分散するか、判断するステップと、
    前記第1の制御プロセッサが、
    前記第1の制御プロセッサで処理すると判断した場合、
    当該要求に対応する処理を実行し、
    当該要求に対応する処理が終了すると、当該要求に対応する処理が終了した旨を前記ホスト装置に通知するステップと、
    前記第1の制御プロセッサが、
    前記他の制御プロセッサに分散すると判断した場合、
    前記複数の制御プロセッサのうち、前記第2の平均応答時間が前記第1の閾値よりも低い前記制御プロセッサ、または、前記第1の制御プロセッサの前記第2の平均応答時間が前記第1の閾値よりも高いときに前記第1の平均応答時間が前記第2の閾値よりも高い前記制御プロセッサ、のいずれかに前記要求に対応する処理を割り振り、
    前記他の制御プロセッサから当該要求に対応する処理が終了した旨の通知を受領すると、当該要求に対応する処理が終了した旨を前記ホスト装置に通知するステップと、を含むことを特徴とする負荷分散方法。
  8. 請求項7に記載の負荷分散方法であって、
    前記第1の制御プロセッサは、
    前記複数の制御プロセッサ部のうち、第1の制御プロセッサ部に存在し、
    前記第1の制御プロセッサが、
    前記第1の制御プロセッサ部に存在する第2の制御プロセッサ、及び、前記複数の制御プロセッサ部のうちの第2のプロセッサ部内に存在する第3の制御プロセッサ、のいずれにも前記要求に対応する処理を割り振るステップを含むことを特徴とする負荷分散方法。
  9. 請求項7に記載の負荷分散方法であって、
    前記第1の制御プロセッサが、
    前記第2の平均応答時間が前記第1の閾値よりも低い前記制御プロセッサのうち、前記第1の平均応答時間より前記第2の平均応答時間が早い順に前記要求に対応する処理を割り振るステップを含むことを特徴とする負荷分散方法。
  10. 請求項7に記載の負荷分散方法であって、
    前記第1の制御プロセッサが、
    前記第1の平均応答時間が前記第1の閾値を超えたことを条件に、前記要求に対応する処理を前記他の制御プロセッサに分散すると判断するステップを含むことを特徴とする負荷分散方法。
  11. 請求項7に記載の負荷分散方法であって、
    前記第1の制御プロセッサが、
    前記第1の平均応答時間が前記第1の閾値を超えた場合に、前記要求に対応する処理が前記他の制御プロセッサから分散されるのを禁止し、前記第2の平均応答時間が前記第2の閾値を超えた場合に、前記要求に対応する処理が前記他の制御プロセッサから分散されるのを再開するステップを含むことを特徴とする負荷分散方法。
  12. 請求項7に記載の負荷分散方法であって、
    前記第1の制御プロセッサが、
    前記第1の平均応答時間と前記第2の平均応答時間を基に全体の平均応答時間を示す第3の平均応答時間を所定の周期毎に算出し、前記算出した第3の平均応答時間が、前回算出した第3の平均応答時間よりも早い場合には、前記要求に対応する処理を前記他の制御プロセッサに分散する割振り回数を増加させ、前記算出した第3の平均応答時間が、前記前回算出した第3の平均応答時間よりも遅い場合には、前記割振り回数を減少させるステップを含むことを特徴とする負荷分散方法。
JP2007014878A 2007-01-25 2007-01-25 ストレージ装置及び負荷分散方法 Expired - Fee Related JP4933284B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007014878A JP4933284B2 (ja) 2007-01-25 2007-01-25 ストレージ装置及び負荷分散方法
US12/003,994 US8161490B2 (en) 2007-01-25 2008-01-04 Storage apparatus and load distribution method
US13/421,347 US8863145B2 (en) 2007-01-25 2012-03-15 Storage apparatus and load distribution method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007014878A JP4933284B2 (ja) 2007-01-25 2007-01-25 ストレージ装置及び負荷分散方法

Publications (2)

Publication Number Publication Date
JP2008181382A JP2008181382A (ja) 2008-08-07
JP4933284B2 true JP4933284B2 (ja) 2012-05-16

Family

ID=39427772

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007014878A Expired - Fee Related JP4933284B2 (ja) 2007-01-25 2007-01-25 ストレージ装置及び負荷分散方法

Country Status (2)

Country Link
US (2) US8161490B2 (ja)
JP (1) JP4933284B2 (ja)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8312465B2 (en) * 2008-01-11 2012-11-13 International Business Machines Corporation Real-time CPU dispatcher affinity re-balancing
US8452835B2 (en) * 2009-12-23 2013-05-28 Citrix Systems, Inc. Systems and methods for object rate limiting in multi-core system
JP4988007B2 (ja) 2010-05-13 2012-08-01 株式会社東芝 情報処理装置およびドライバ
JP4988008B2 (ja) 2010-05-13 2012-08-01 株式会社東芝 情報処理装置およびドライバ
USRE49818E1 (en) 2010-05-13 2024-01-30 Kioxia Corporation Information processing method in a multi-level hierarchical memory system
CN102947798B (zh) * 2010-05-14 2016-08-17 国际商业机器公司 计算机系统及其控制方法
JP2012255865A (ja) * 2011-06-08 2012-12-27 Sony Corp 表示制御装置、表示制御方法、及びプログラム
US8645967B2 (en) * 2011-08-30 2014-02-04 Microsoft Corporation Efficient secure data marshaling through at least one untrusted intermediate process
US10157060B2 (en) 2011-12-29 2018-12-18 Intel Corporation Method, device and system for control signaling in a data path module of a data stream processing engine
US9232005B1 (en) 2012-06-15 2016-01-05 Qlogic, Corporation Methods and systems for an intelligent storage adapter used for both SAN and local storage access
US9172586B1 (en) * 2012-06-15 2015-10-27 Qlogic, Corporation Method and system for writing tag and data
JP6172649B2 (ja) * 2012-12-19 2017-08-02 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 情報処理装置、プログラム、及び、情報処理方法
JP5976937B2 (ja) * 2013-07-26 2016-08-24 株式会社日立製作所 コンピュータシステム
US10331583B2 (en) * 2013-09-26 2019-06-25 Intel Corporation Executing distributed memory operations using processing elements connected by distributed channels
US9454305B1 (en) 2014-01-27 2016-09-27 Qlogic, Corporation Method and system for managing storage reservation
US9423980B1 (en) 2014-06-12 2016-08-23 Qlogic, Corporation Methods and systems for automatically adding intelligent storage adapters to a cluster
US9436654B1 (en) 2014-06-23 2016-09-06 Qlogic, Corporation Methods and systems for processing task management functions in a cluster having an intelligent storage adapter
US9477424B1 (en) 2014-07-23 2016-10-25 Qlogic, Corporation Methods and systems for using an intelligent storage adapter for replication in a clustered environment
US9460017B1 (en) 2014-09-26 2016-10-04 Qlogic, Corporation Methods and systems for efficient cache mirroring
US9483207B1 (en) 2015-01-09 2016-11-01 Qlogic, Corporation Methods and systems for efficient caching using an intelligent storage adapter
US10402168B2 (en) 2016-10-01 2019-09-03 Intel Corporation Low energy consumption mantissa multiplication for floating point multiply-add operations
US10416999B2 (en) 2016-12-30 2019-09-17 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator
US10572376B2 (en) 2016-12-30 2020-02-25 Intel Corporation Memory ordering in acceleration hardware
US10558575B2 (en) 2016-12-30 2020-02-11 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator
US10474375B2 (en) 2016-12-30 2019-11-12 Intel Corporation Runtime address disambiguation in acceleration hardware
US10445451B2 (en) 2017-07-01 2019-10-15 Intel Corporation Processors, methods, and systems for a configurable spatial accelerator with performance, correctness, and power reduction features
US10469397B2 (en) 2017-07-01 2019-11-05 Intel Corporation Processors and methods with configurable network-based dataflow operator circuits
US10515049B1 (en) 2017-07-01 2019-12-24 Intel Corporation Memory circuits and methods for distributed memory hazard detection and error recovery
US10387319B2 (en) 2017-07-01 2019-08-20 Intel Corporation Processors, methods, and systems for a configurable spatial accelerator with memory system performance, power reduction, and atomics support features
US10467183B2 (en) 2017-07-01 2019-11-05 Intel Corporation Processors and methods for pipelined runtime services in a spatial array
US10445234B2 (en) 2017-07-01 2019-10-15 Intel Corporation Processors, methods, and systems for a configurable spatial accelerator with transactional and replay features
US10515046B2 (en) 2017-07-01 2019-12-24 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator
US11086816B2 (en) 2017-09-28 2021-08-10 Intel Corporation Processors, methods, and systems for debugging a configurable spatial accelerator
US10496574B2 (en) 2017-09-28 2019-12-03 Intel Corporation Processors, methods, and systems for a memory fence in a configurable spatial accelerator
US10380063B2 (en) 2017-09-30 2019-08-13 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator having a sequencer dataflow operator
US10445098B2 (en) 2017-09-30 2019-10-15 Intel Corporation Processors and methods for privileged configuration in a spatial array
US10565134B2 (en) 2017-12-30 2020-02-18 Intel Corporation Apparatus, methods, and systems for multicast in a configurable spatial accelerator
US10445250B2 (en) 2017-12-30 2019-10-15 Intel Corporation Apparatus, methods, and systems with a configurable spatial accelerator
US10417175B2 (en) 2017-12-30 2019-09-17 Intel Corporation Apparatus, methods, and systems for memory consistency in a configurable spatial accelerator
US10564980B2 (en) 2018-04-03 2020-02-18 Intel Corporation Apparatus, methods, and systems for conditional queues in a configurable spatial accelerator
US11307873B2 (en) 2018-04-03 2022-04-19 Intel Corporation Apparatus, methods, and systems for unstructured data flow in a configurable spatial accelerator with predicate propagation and merging
US10459866B1 (en) 2018-06-30 2019-10-29 Intel Corporation Apparatuses, methods, and systems for integrated control and data processing in a configurable spatial accelerator
US10853073B2 (en) 2018-06-30 2020-12-01 Intel Corporation Apparatuses, methods, and systems for conditional operations in a configurable spatial accelerator
US10891240B2 (en) 2018-06-30 2021-01-12 Intel Corporation Apparatus, methods, and systems for low latency communication in a configurable spatial accelerator
US11200186B2 (en) 2018-06-30 2021-12-14 Intel Corporation Apparatuses, methods, and systems for operations in a configurable spatial accelerator
JP6773755B2 (ja) * 2018-12-13 2020-10-21 株式会社日立製作所 ストレージ装置及びストレージ装置における構成管理リクエストの処理方法
US10678724B1 (en) 2018-12-29 2020-06-09 Intel Corporation Apparatuses, methods, and systems for in-network storage in a configurable spatial accelerator
US11029927B2 (en) 2019-03-30 2021-06-08 Intel Corporation Methods and apparatus to detect and annotate backedges in a dataflow graph
US10915471B2 (en) 2019-03-30 2021-02-09 Intel Corporation Apparatuses, methods, and systems for memory interface circuit allocation in a configurable spatial accelerator
US10817291B2 (en) 2019-03-30 2020-10-27 Intel Corporation Apparatuses, methods, and systems for swizzle operations in a configurable spatial accelerator
US10965536B2 (en) 2019-03-30 2021-03-30 Intel Corporation Methods and apparatus to insert buffers in a dataflow graph
US11037050B2 (en) 2019-06-29 2021-06-15 Intel Corporation Apparatuses, methods, and systems for memory interface circuit arbitration in a configurable spatial accelerator
US11907713B2 (en) 2019-12-28 2024-02-20 Intel Corporation Apparatuses, methods, and systems for fused operations using sign modification in a processing element of a configurable spatial accelerator
US12086080B2 (en) 2020-09-26 2024-09-10 Intel Corporation Apparatuses, methods, and systems for a configurable accelerator having dataflow execution circuits
JP7225190B2 (ja) * 2020-12-10 2023-02-20 株式会社日立製作所 計算機システム

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5459864A (en) * 1993-02-02 1995-10-17 International Business Machines Corporation Load balancing, error recovery, and reconfiguration control in a data movement subsystem with cooperating plural queue processors
US5715457A (en) * 1995-10-06 1998-02-03 Matsushita Electtic Industrial Multiprocessor system for determining assignment of task in view of access time to storage resource
US6026425A (en) * 1996-07-30 2000-02-15 Nippon Telegraph And Telephone Corporation Non-uniform system load balance method and apparatus for updating threshold of tasks according to estimated load fluctuation
US6044435A (en) * 1997-07-25 2000-03-28 Storage Technology Corporation Method for determining allocatability of tape drives to serve requests to store information
US5924097A (en) * 1997-12-23 1999-07-13 Unisys Corporation Balanced input/output task management for use in multiprocessor transaction processing system
JP2001101149A (ja) * 1999-09-30 2001-04-13 Nec Corp 分散並列型データ処理装置及び分散並列型データ処理プログラムを記録した記録媒体並びに分散並列型データ処理システム
JP2001167040A (ja) 1999-12-14 2001-06-22 Hitachi Ltd 記憶サブシステム及び記憶制御装置
US6647514B1 (en) * 2000-03-23 2003-11-11 Hewlett-Packard Development Company, L.P. Host I/O performance and availability of a storage array during rebuild by prioritizing I/O request
US6950848B1 (en) * 2000-05-05 2005-09-27 Yousefi Zadeh Homayoun Database load balancing for multi-tier computer systems
JP2002007364A (ja) * 2000-06-22 2002-01-11 Fujitsu Ltd 並列計算機システムのジョブスケジューリングを行うスケジューリング装置
US7418470B2 (en) * 2000-06-26 2008-08-26 Massively Parallel Technologies, Inc. Parallel processing systems and method
US7254812B1 (en) * 2002-05-31 2007-08-07 Advanced Micro Devices, Inc. Multi-processor task scheduling
JP2004005249A (ja) * 2002-05-31 2004-01-08 Fujitsu Ltd 負荷分散型マルチプロセッサに対する信号振分装置
JP4341897B2 (ja) * 2002-08-29 2009-10-14 株式会社日立製作所 記憶装置システム及びデータ複製方法
JP2004171234A (ja) * 2002-11-19 2004-06-17 Toshiba Corp マルチプロセッサシステムにおけるタスク割り付け方法、タスク割り付けプログラム及びマルチプロセッサシステム
JP4406199B2 (ja) * 2002-11-19 2010-01-27 株式会社日立製作所 プロセッサ負荷制御機能をもつ記憶制御装置
JP4077352B2 (ja) * 2003-03-31 2008-04-16 株式会社日立製作所 負荷分散方法及びその実施システム並びにその処理プログラム
US20040236757A1 (en) * 2003-05-20 2004-11-25 Caccavale Frank S. Method and apparatus providing centralized analysis of distributed system performance metrics
US7475108B2 (en) * 2003-06-26 2009-01-06 International Business Machines Corporation Slow-dynamic load balancing method
US7146353B2 (en) * 2003-07-22 2006-12-05 Hewlett-Packard Development Company, L.P. Resource allocation for multiple applications
JP2005062927A (ja) * 2003-08-11 2005-03-10 Hitachi Ltd 負荷制御方法および装置並びにその処理プログラム
US7389510B2 (en) * 2003-11-06 2008-06-17 International Business Machines Corporation Load balancing of servers in a cluster
JP3896111B2 (ja) * 2003-12-15 2007-03-22 株式会社日立製作所 リソース割り当てシステム、方法及びプログラム
JP4405277B2 (ja) * 2004-02-16 2010-01-27 株式会社日立製作所 ディスク制御装置
US7467238B2 (en) * 2004-02-10 2008-12-16 Hitachi, Ltd. Disk controller and storage system
GB2412980A (en) * 2004-04-07 2005-10-12 Hewlett Packard Development Co A method of distributing load amongst two or more computer system resources
US7886299B2 (en) 2004-06-01 2011-02-08 Hitachi, Ltd. Method of dynamically balancing workload of a storage system
JP5038589B2 (ja) * 2004-10-04 2012-10-03 株式会社日立製作所 ディスクアレイ装置及びその負荷分散方法
JP4126702B2 (ja) * 2004-12-01 2008-07-30 インターナショナル・ビジネス・マシーンズ・コーポレーション 制御装置、情報処理システム、制御方法、及びプログラム
US20060123423A1 (en) * 2004-12-07 2006-06-08 International Business Machines Corporation Borrowing threads as a form of load balancing in a multiprocessor data processing system
US7624208B2 (en) * 2005-01-14 2009-11-24 International Business Machines Corporation Method, system, and computer program for managing a queuing system
JP2006228188A (ja) * 2005-02-14 2006-08-31 Hitachi Ltd ストレージシステムの負荷を動的にバランスさせる方法
JP2006259812A (ja) * 2005-03-15 2006-09-28 Hitachi Ltd 動的キュー負荷分散方法、システム及びプログラム
JP4402624B2 (ja) * 2005-06-30 2010-01-20 富士通株式会社 負荷管理装置および負荷管理方法
JP2007079958A (ja) * 2005-09-14 2007-03-29 Hitachi Ltd 記憶制御装置、データ処理方法、及びコンピュータプログラム
JP2007109141A (ja) * 2005-10-17 2007-04-26 Hitachi Ltd ストレージシステム
US7904759B2 (en) * 2006-01-11 2011-03-08 Amazon Technologies, Inc. System and method for service availability management
JP5089896B2 (ja) * 2006-03-17 2012-12-05 株式会社日立製作所 マイクロプロセッサの負荷分散機能を備えたストレージシステム
US7941805B2 (en) * 2006-08-15 2011-05-10 International Business Machines Corporation Affinity dispatching load balancer with precise CPU consumption data
JP2008059315A (ja) * 2006-08-31 2008-03-13 Hitachi Ltd 負荷分散方法及び計算機システム
US20080133608A1 (en) * 2006-12-05 2008-06-05 Douglas Brown System for and method of managing workloads in a database system
JP5233733B2 (ja) * 2009-02-20 2013-07-10 富士通株式会社 ストレージ装置,ストレージ制御装置およびストレージ制御プログラム

Also Published As

Publication number Publication date
US20080184255A1 (en) 2008-07-31
US8161490B2 (en) 2012-04-17
US20120174118A1 (en) 2012-07-05
US8863145B2 (en) 2014-10-14
JP2008181382A (ja) 2008-08-07

Similar Documents

Publication Publication Date Title
JP4933284B2 (ja) ストレージ装置及び負荷分散方法
US8375167B2 (en) Storage system, control apparatus and method of controlling control apparatus
US8271444B2 (en) Storage control device to backup data stored in virtual volume
US7127557B2 (en) RAID apparatus and logical device expansion method thereof
US8312235B2 (en) Data migration in a storage system with dynamically expansible volumes
US8725981B2 (en) Storage system and method implementing online volume and snapshot with performance/failure independence and high capacity efficiency
JP4790372B2 (ja) ストレージのアクセス負荷を分散する計算機システム及びその制御方法
US8838849B1 (en) Link sharing for multiple replication modes
US8639898B2 (en) Storage apparatus and data copy method
US8037273B2 (en) Storage system logical storage area allocating method and computer system
EP0727745A1 (en) Memory control apparatus and its control method
JP5315348B2 (ja) シン・プロビジョニングの移行および取り消しのための方法および装置
JP4961319B2 (ja) 仮想ボリュームにおける仮想領域に動的に実領域を割り当てるストレージシステム
US20130067166A1 (en) Virtual computer system and method of controlling the same
US8010753B2 (en) Systems and methods for temporarily transferring use of portions of partitioned memory between host computers
JP2008015768A (ja) 記憶システム並びにこれを用いたデータの管理方法
EP2063361A2 (en) Storage apparatus, control method therefor, and storage system
JP2008234158A (ja) ストレージ装置及び記憶領域配置方法
US7984260B2 (en) Storage system provided with a plurality of controller modules
US8589646B2 (en) Storage apparatus and method for storage apparatus
US20120131239A1 (en) Dynamic resource allocation for distributed cluster-storage network
US20080229131A1 (en) Storage System and Management Information Acquisition Method for Power Saving
CN111712802A (zh) 数据存储系统中的虚拟存储驱动器管理
US20190026034A1 (en) Distributed storage system and distributed storage control method
JP6294569B2 (ja) ストレージシステム及びキャッシュ制御方法

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090218

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090812

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110915

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111202

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

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

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees