JP2012058866A - 計算機システム、計算機間メモリコピー方法、及びスイッチ - Google Patents

計算機システム、計算機間メモリコピー方法、及びスイッチ Download PDF

Info

Publication number
JP2012058866A
JP2012058866A JP2010199464A JP2010199464A JP2012058866A JP 2012058866 A JP2012058866 A JP 2012058866A JP 2010199464 A JP2010199464 A JP 2010199464A JP 2010199464 A JP2010199464 A JP 2010199464A JP 2012058866 A JP2012058866 A JP 2012058866A
Authority
JP
Japan
Prior art keywords
computer
switch
memory
data
copy
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
JP2010199464A
Other languages
English (en)
Other versions
JP5469022B2 (ja
Inventor
Junji Yamamoto
淳二 山本
Chihiro Yoshimura
地尋 吉村
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 JP2010199464A priority Critical patent/JP5469022B2/ja
Publication of JP2012058866A publication Critical patent/JP2012058866A/ja
Application granted granted Critical
Publication of JP5469022B2 publication Critical patent/JP5469022B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】マイグレーション時に生じるI/Oデバイスからのメモリ変更に依る再コピーを仮想計算機環境に依らずに防止する。
【解決手段】第一の計算機10aと第二の計算機10bが第一のスイッチ20aおよび第二のスイッチ20bを経由して複数のI/Oデバイス30a,30bに接続されている計算機システムであって、第一のスイッチ20aのメモリコピー制御部201aが、実行するメモリのコピー情報を、コピー中領域情報と、複製領域情報として第二のスイッチ20bに通知し、第二のスイッチの複製制御部202bは、I/Oデバイス30bからデータを受信した際に、通知されたコピー中領域情報と複製領域情報に基づき、自律的にトランザクションの転送・複製・保留を行う。
【選択図】図6

Description

複数の計算機を用いる計算機システムに係り、特にスイッチを利用した複数の計算機間メモリコピー技術に関する。
近年オペレーティングシステムやアプリケーション(以下、ソフトウェアと呼ぶ)をある計算機上で実行するだけでなく、別の計算機に移動し実行を継続するマイグレーションが用いられることがある。マイグレーションは、ソフトウェアを実行している第一の計算機を保守するために停止させる必要がある場合や、第一の計算機では当該ソフトウェアを実行するのに必要なリソースが不足している場合に行われる。ソフトウェアの実行を慨継続しつつ実行する計算機を変更することを特にライブマイグレーションと呼ぶ。マイグレーションは第一の計算機のリソースであるメモリ内容やCPUのレジスタ情報等を移動先となる第二の計算機にコピーした後に、第一の計算機での実行停止と第二の計算機での実行再開を行うことで実施される。このコピー開始から第二の計算機上でソフトウェアが実行を再開するまでの時間をマイグレーション時間と呼ぶ。
一方、第一の計算機から第二の計算機へのメモリ内容のコピーには有意の時間が必要となる。マイグレーション中も第一の計算機上でソフトウェアの実行を継続する場合には、コピーした後に第一の計算機上のメモリが変更されることもあり得る。この不整合によりマイグレーションを失敗することがあり得る。
この問題に対応するため、従来からいくつかの方式によりこの不整合を防ぐ工夫が行われている。その一つとして非特許文献1にあるようにメモリ内容のコピー中に新たにメモリ内容を更新した場合、その場所を記憶し、メモリコピー処理後に再度更新した領域をコピーする方式がある。一般にメモリ領域をあるサイズで分割し、その分割した領域のどこかに対して更新が生じたときは、その領域全体をコピーし直す。また、領域のアドレス(場所)を記憶するのではなく、領域に対応したビットマップで記憶する方式がとられることもある。このビットマップの各ビットをダーティフラグ(Dirty Flag)と呼び、領域が更新された状態、すなわちDirtyな状態である場合、対応するDirty Flagをセットする。
最初のコピーはソフトウェアが使用しているメモリの全領域をコピーするため、時間がかかるが、二回目以降はDirtyな領域のみコピーするため、コピー時間が短くなる。この繰り返しを、指定された閾値を下回るまで繰り返し、最後はソフトウェアに対してCPUリソースを与えない状態でコピーを行う。この停止期間はソフトウェアがサービス提供できない期間であり、ダウンタイムと呼ぶ。
しかし、コピー中にどの程度のメモリ領域が更新されるかは保証がなく、マイグレーション時間が長くなる、もしくは収束しないことがある。
また、I/Oデバイスもメモリを更新することがある。マイグレーション処理中にI/Oデバイスがメモリを更新した場合も第一の計算機と第二の計算機のメモリ状態が不整合となるため、マイグレーションに失敗する。このI/Oデバイスからのメモリ更新による不整合を防ぐため、特許文献1記載の方法として、マイグレーション期間中のI/Oデバイスによる第一の計算機へのメモリアクセスを保留させる方法がある。
以上の説明では計算機間のマイグレーションを例に述べたが、物理計算機のリソースを分割し、複数の仮想計算機を構築して使用する場合の仮想計算機間のマイグレーションでも同様の課題が存在する。例えば、特許文献2では、仮想計算機環境(Virtual Machine Monitor、VMM)で、ダウンタイムを緩和するための方法が開示されている。
特開2009−181418号公報 特開2010−39685号公報
Christopher Clark, Keir Fraser, Steven Hand, Jacob Gorm Hansen, Eric Jul, Christian Limpach, Ian Pratt, Andrew Warfield, Live Migration of Virtual Machines, 2nd Symposium on Networked Systems Design & Implementation, pp.273−286, May 2005
上述した特許文献1の方式では、第一および第二の計算機とI/Oデバイスを一つのスイッチに接続し、メモリコピー開始時に指示することでスイッチにI/Oデバイスから第一の計算機へのトランザクションを保留させる。
メモリコピー終了後、スイッチはI/Oデバイスの接続先を第一の計算機から第二の計算機に変更し、保留していたトランザクションを再開する。これにより、メモリアクセスはマイグレーション後の第二の計算機に対して行われる。この方式ではI/Oトランザクションを抑止している期間がダウンタイムであり、すなわちメモリコピーにかかる時間が大半を占める。特許文献1では、上記のような方法によりマイグレーションが実施されているが、サービス停止期間であるダウンタイムの削減が求められている。
以上説明したように、複数の計算機を用いる計算機システムにおけるライブマイグレーションではメモリ間コピーを伴う。メモリ間コピーに伴う課題の理解を容易にするため、図7のメモリ間コピーの概念図を用いて説明する。同図において、第一の計算機(Server A)10aのメモリ領域101aを第二の計算機(Server B)10bのメモリ領域101bにコピーするものとする。コピーは瞬時に行われるのではなく、いくつかの小メモリ領域毎に順番にコピーされる。その結果、コピー済みのメモリ領域102aおよび102b、コピー未のメモリ領域104aおよび104b、コピーを実施中、即ちコピー中のメモリ領域103aおよび103bに分類できる。
このライブマイグレーションでは、マイグレーション先である第二の計算機のメモリ内容が第一の計算機のメモリ内容と整合する必要があるが、メモリコピーとは別に書き込みが起きるとメモリ領域101aと101bが不整合となることがある。特に、図8に示すように、コピーが終了した102aの領域が更新されると、領域102bと不整合となる。一方、104aへの書き込みは、後ほどメモリコピーでコピーが実施されるため、104bは104aと整合する。
この問題に対し、特許文献1ではマイグレーション期間中、I/Oトランザクションを保留することで整合性を確保するが、マイグレーション期間全体がサービス停止期間であるダウンタイムとなる。
このダウンタイムを緩和するため上述した特許文献2では、第一の計算機上で動作しているVMMがマイグレーション対象の仮想計算機のメモリ領域を、コピー済み、コピー中、コピー未のメモリ領域に分類し、それぞれの状態に応じて処理を変更することで対応する。
I/Oデバイスからコピー済みのメモリ領域に対して変更要求が発行された場合、スイッチは第一の計算機だけでなく第二の計算機に対しても当該変更要求を転送する。コピー未のメモリ領域に対しての変更要求は第一の計算機のみに転送する。コピー未のメモリ領域は後に第二の計算機にコピーされるためである。コピー中の領域に対しての変更要求は、第一の計算機のみに転送するが、同時に第一の計算機上のVMMに対しても変更要求の対象アドレスが通知される。VMMはコピー終了後、スイッチに対してI/Oトランザクションの保留を指示し、I/Oデバイスからのメモリ変更を抑止した上で、先に通知されたコピー中に変更されたメモリ領域を再コピーすることで整合性を確保する。整合性確保後にCPU状態等を第二の計算機に移し、I/Oデバイスの接続先を第二の計算機に切り替えた上でI/Oトランザクションの保留を解除することでマイグレーションが完了する。
この技術によれば、特許文献1の方法に対してはダウンタイムを削減することができるが、コピー中の領域に対してI/Oデバイスからどの程度アクセスが存在するかによりダウンタイムの長さが変化する。また、VMMがメモリ領域の分類を行う必要があるため、そのように対応したVMMが必要となる。
本発明の目的は、上記の問題点を解決するため、マイグレーション時に生じるI/Oデバイスからのメモリ変更に依る再コピーを防止する計算機システム、計算機間メモリコピー方法、およびスイッチを提供することにある。
上記の目的を達成するため、本発明においては、それぞれメモリを備える第一、第二の計算機と、デバイスを有する計算機システムであって、第一、第二の計算機とデバイスとの間に配置され、メモリコピー制御部を有する第一のスイッチと、複製制御部を有する第二のスイッチとを備え、第一のスイッチの前記メモリコピー制御部は、第一の計算機のメモリのコピー対象領域のデータを第二の計算機のメモリのコピー対象領域にコピーする際に、コピー情報として、コピー中領域情報である、第一の計算機のデータを読み出すメモリ領域と第二の計算機のデータを書き込むメモリ領域と、複製領域情報である、デバイスからのデータを複製すべき第一の計算機のメモリ領域と、複製した該データを書き込むべき第二の計算機のメモリ領域を、第二のスイッチに通知し、第二のスイッチの複製制御部は、デバイスから、複製領域情報中の第一の計算機のメモリ領域にデータが転送される際に、複製領域情報中の第二の計算機のメモリ領域に該データを複製する構成の計算機システムを提供する。
また、上記の目的を達成するため、本発明においては、それぞれメモリを備える第一、第二の計算機とデバイスが、第一、第二のスイッチにより接続されるシステムの計算機間メモリコピー方法であって、第一のスイッチは、コピーを実施するメモリのコピー対象領域を一つ以上のメモリ領域に分割し、コピー情報として、コピー中領域の情報である第一の計算機のデータを読み出すメモリ領域と、第二の計算機にデータを書き込むメモリ領域と、複製領域の情報であるデバイスからのデータを複製すべき第一の計算機のメモリ領域と、複製した該データを書き込むべき第二の計算機のメモリ領域を、第二のスイッチに通知するステップと、第一の計算機の分割したメモリ領域からデータを読み出し、第二の計算機の分割したメモリ領域に書き込むステップと、分割したメモリ領域のコピーの完了を第二のスイッチに通知するステップを実行し、分割したメモリ領域を全て処理するまで以上のステップを繰り返す計算機間メモリコピー方法を提供する。
更に、上記の目的を達成するため、本発明においては、それぞれメモリを備える第一、第二の計算機と一つ以上のデバイスとの間に設置されるスイッチであって、メモリコピーを制御するメモリコピー制御部と、データの複製を制御する複製制御部とを有し、メモリコピー制御部は、第一の計算機のメモリのデータを第二の計算機のメモリにコピーする際に、コピー情報として、コピー中領域情報である、第一の計算機のデータを読み出すメモリ領域と第二の計算機のデータを書き込むメモリ領域と、複製領域情報である、デバイスから転送されるデータを複製すべき第一の計算機のメモリ領域と、複製した当該データを書き込むべき第二の計算機のメモリ領域を、第一、第二の計算機とデバイスとの間に設置される第二のスイッチに通知する構成のスイッチを提供する。
即ち、本発明においては、それぞれメモリを備える第一、第二の計算機と、デバイスを有する計算機システムであって、第一、第二の計算機とデバイスとの間に配置され、メモリコピー制御部を有する第一のスイッチと、複製制御部を有する第二のスイッチとを備え、第一のスイッチのメモリコピー制御部は、第一の計算機のメモリのコピー対象領域のデータを第二の計算機のメモリのコピー対象領域にコピーする際に、コピー情報として、コピー中領域情報と複製領域情報を前記第二のスイッチに通知し、第二のスイッチの複製制御部は、デバイスから、第一の計算機のメモリ領域にデータが転送される際に、複製領域情報に基づき、データの複製を行う計算機システムを提供する。
本発明によれば、それぞれメモリを備える複数の計算機からなるシステムにおいて、マイグレーション時に生じるI/Oデバイスからのメモリ変更に依る再コピーを防止することが可能となる。
各実施例に係る、複数スイッチ連携による計算機間メモリコピー方式タイムチャートを示す図である。 第二の実施例に係る、データパス(通信路)による情報交換方式のサーバによる接続のスイッチ構造の一例を示すブロック図である。 第二の実施例に係る、データパスによる情報交換方式のスイッチによる接続のスイッチ構造の他の例を示すブロック図である。 第一の実施例に係る、専用パス(通信路)による情報交換方式のスイッチ構造の一例を示すブロック図である。 第一の実施例に係る、コピー情報格納テーブルの一構成例を示す図である。 第一の実施例に係る、コピー状態格納レジスタの一構成例を示す図である。 各実施例に係る、複数スイッチ連携計算機間メモリコピーの概略を示す図である。 メモリ間コピーの概略を説明するための図である。 デバイスによるメモリ汚染を説明するための図である。 各実施例における、第一のスイッチの処理フローを示す図である。 各実施例における、第二のスイッチのコピー情報受信処理フローを示す図である。 各実施例における、第二のスイッチのデータ受信処理フロー(1)を示す図である。 各実施例における、第二のスイッチのコピー完了受信処理フローを示す図である。 各実施例における、第二のスイッチのデータ受信処理フロー(2)を示す図である。
以下、各種の実施例を図面に基づき詳細に説明する。
まず、各実施例の説明に入る前に、図6に各種の実施例を適用する計算機システムの全体概略構成を示す。各実施例が適用される計算機システムはサーバ(Server)10で代表される複数の計算機と、複数のI/Oデバイス(Device)30およびそれらを接続する複数のI/Oスイッチ(Input/Output Switch)20で構成される。サーバで代表される計算機10の内部は、図示していない通常の処理部である中央処理部(Central Procesing Unit:CPU)と、インタフェース部(Interface Unit)と、記憶部としてメモリ領域101を構成する計算機内メモリ(Memory)から構成されている。
サーバA(Server A)で構成される第一の計算機10aは、第一のスイッチ20aと第二のスイッチ20bを介して、I/Oデバイス30a及び30bと接続される。同様にサーバB(Server B)からなる第二の計算機10bも第一のスイッチ20aと第二のスイッチ20bを介して、I/Oデバイス30a及び30bと接続される。
第一の計算機10a上で動作する図示していないソフトウェアはメモリ領域101aを使用している。第二の計算機10bは前記ソフトウェアのマイグレーション先のメモリ領域101bを有する。
同図に見るように、第一のスイッチ20aには、メモリコピーを司るメモリコピー制御部(Memory Copy Controller)201aと、デバイスからのデータ書き込み要求などのメモリ変更要求を必要に応じて複製する複製制御部(Replicate Controller)202aを有す。第二のスイッチ20bは複製制御部202bを有す。第二のスイッチ20bもメモリコピー制御部(Memory Copy Controller)を有していても良い。なお、本明細書において、第一のスイッチ20aや第二のスイッチ20bのように、メモリコピー制御部や、複製制御部を有するスイッチを本発明に係るスイッチと呼ぶ場合がある。
なお、図では単純なシステム構成例を示しており、3台以上の計算機、3台以上のスイッチ、3台以上のI/Oデバイスの存在を排す物ではない。また、後で実施例を用いて詳述するように、計算機10a、10bとスイッチ20および、I/Oデバイス30aとスイッチ20の間には0台以上の任意の台数の、本発明に係るスイッチ、または本発明に依らない通常のスイッチが存在しても良い。
以上説明した計算機システムにおいて用いられるスイッチ構造の第一の実施例を図3に示す。本実施例のスイッチ構造は、専用パス(通信路)による情報交換方式によるものである。
図3において、I/Oスイッチ20はデータポート(Data Port)210aによりServer Aである第一の計算機10aと、データポート210bによりServer Bである第二の計算機10bと、データポート210dによりI/Oデバイス30aと、スイッチ間通信ポート(Communication Port)210cにより、同様の構成を有する別のI/Oスイッチ20と専用パス209を介して接続される。
I/Oスイッチ20は、受信したパケットデータを宛先に向けて振り分ける内部スイッチ(Switch)203、メモリコピー制御部201、メモリコピーの状態を保持する状態レジスタ(Status Register)207、コピー中のデータおよび複製データを保持するデータバッファ(Data Buffer)205,コピー情報を保持する保持部であるコピー情報テーブル(Copy Information Table)204,コピー情報とデバイスからのパケットデータを比較する比較器(Comparator)208、コピー情報の受信と複製シーケンスを処理する複製制御部(Replicate Controller)202、メモリコピーデータ、複製データ、コピー制御部201および複製制御部202からの制御情報の中から適切な出力を選択する選択器(Selector)206を有す。これらの各ブロック中、内部スイッチ203や、メモリ上に形成されるコピー情報テーブル204、データバッファ205、状態レジスタ207以外の機能ブロックであるコピー制御部201、複製制御部202、選択器206、比較器208等は、専用のハード構成や、CPUで実行されるプログラムによるソフトウェア処理で実現することができることは言うまでもない。
内部スイッチ203はスイッチ20内の他の要素と接続するための複数のスイッチポート(Switch port)2031を有す。図ではスイッチポート2031aはデータポート210a、スイッチポート2031bがデータポート210b、スイッチポート2031cがデータポート210dと接続されている。また、スイッチポート2031dはデータバッファ205と、2031eは選択器(Selector)206と接続されている。
図4に第一の実施例に係る、コピー情報テーブル204の構成の一具体例を示す。同図に示すように、コピー情報テーブル204は1つ以上のエントリから構成され、各エントリは第一の計算機のID(Target ID)2041、トランザクション発行元ID(Source ID)2042,コピー中領域(Copying Range)の開始アドレス2043,コピー中領域(Copying Range)のサイズ2044、複製対象領域(Replication Target Range)の開始アドレス2045、複製対象領域(Replication Target Range)のサイズ2046から構成される。なお、トランザクション発行元を特定しない場合、トランザクション発行元ID2042は省略できる。
図5に第一の実施例に係る、状態レジスタ207の構成の一具体例を示す。同図に示すように、状態レジスタ207は、第一の計算機のID(Target #1 ID)2071,第一の計算機のコピー対象領域(Copy Target Range)であるメモリ領域101aの開始アドレス(Start Address #1)2072,メモリ領域101aのサイズ(Length)2073、第二の計算機のID(Target #2 ID)2074、第二の計算機のコピーデータ転送先領域であるメモリ領域101bの開始アドレス(Start Address #2)2075,コピーすべき残りの領域のサイズ(Remain Length)2076から構成される。
なお、ここではメモリ領域を開始アドレスとサイズで指定しているが、開始あるいは先頭アドレスと最終アドレスで指定しても良い。その場合、残りサイズではなくコピー中のアドレスを用いることも出来る。
以上説明した第一の実施例においては、第一のスイッチが実行するメモリコピーに関するコピー情報を第二のスイッチに通知することで、全てのスイッチが自律的にI/Oデバイスからのトランザクションの転送・複製・保留を行うことが可能となる。また、第一の実施例においては、第一のスイッチと第二のスイッチ間に専用パスを用いるため、コピー情報の高速な転送を実現することができる。
続いて、上述した計算機システムにおいて用いられる第二の実施例のスイッチ構造を図2Aおよび図2Bに示す。第二の実施例によるスイッチ構造では、第一の実施例の専用パスによる情報交換方式と異なり、第一、第二のスイッチは、計算機やデバイスを接続するデータポートを介して接続されるデータパス(通信路)による情報交換方式を採用する。
例えば図2Aに示すように、第一の計算機10aや第二の計算機10bを介して接続してもよく、また図2Bに示すように、計算機とスイッチ間の別の第三のスイッチ211、212を介して接続してもよく、同様にスイッチとデバイス間の図示していない別のスイッチを介して接続しても良い。
図2A、図2Bに示すように、スイッチ20が、先に説明した第一のスイッチ20aとして動作する場合、メモリコピー制御部201から第二のスイッチ20bへの通信は、選択器206を経由してスイッチポート2031eから第二のスイッチに至るデータポートへ転送される。また、第二のスイッチからの応答はスイッチポート2031eに到着し、メモリコピー制御部201で受信される。
スイッチ20が第二のスイッチ20bとして動作する場合、第一のスイッチ20aからの通信は、図6で説明したように、スイッチポート2031eから複製制御部202へ転送され処理される。また、複製制御部202からの応答は選択器206へ送られ、スイッチポート2031eを経由して第一のスイッチ20aへ転送される。
続いて、図1、図9〜図12を用いて、上述した各実施例の具体的動作の一例を説明する。以下の動作例の説明中、図1に例示したメモリコピー実行時の計算機システムの各構成要素間の情報交換の手順を示したタイムチャートを逐次引用する。
図9に各実施例の計算機システムの第一のスイッチ20aが実行するメモリコピーのフローを示す。同様に、図10に第二のスイッチ20bのコピー情報受信時の動作フローを示し、図11に第二のスイッチ20bがI/Oデバイスからのパケット受信時の動作フローを示し、図12に第二のスイッチ20bのコピー完了報告受信時の動作フローを示す。
図9の動作フローにおいて、第一のスイッチ内のコピー制御部201は、ステップS101でコピー情報として、第一の計算機のID、コピー対象領域であるメモリ領域101aの先頭アドレスとサイズ、第二の計算機のID,コピーデータ転送先のメモリ領域101bの先頭アドレスを、図2A,図2B、図3、図5に示したコピー状態レジスタ207に格納する。また、図5の残りサイズレジスタ2076に、コピーする領域のサイズ2073と等しい値を格納する。
ステップS102で、指示を受けた領域全体のコピーが終了しているか、すなわちコピー状態レジスタの残りサイズレジスタ2076が0になったか確認し、終了していればメモリコピー手順は終了となる。まだコピーが終了していない場合、ステップS103以降を実行する。
ステップS103でコピー実施の単位におけるコピー情報として、第一の計算機のID、第二の計算機のID、コピー中領域のアドレスおよびサイズからなるコピー中領域情報、複製対象領域のアドレスおよびサイズからなる複製領域情報を第一のスイッチ内の複製制御部202、および全ての第二のスイッチ内の複製制御部202に送信する(図1のタイムチャートのP411)。そして、ステップ104において、第二のスイッチからの受領確認を待つ。
複製対象領域は既に第二の計算機にコピーを行ったメモリ領域を指定する。コピー対象領域であるメモリ領域101aからメモリ領域101bへの最初のコピー時にはそのメモリ領域は104aと見なすことが出来る。103aはコピー中領域であり、ここへのI/Oデバイス30a等による変更要求は、本実施例においてスイッチ20により複製されることが保証される。また、領域104aは処理が進むことで内容が領域104bにコピーされるコピー未領域である。従って、複製対象領域としてコピー済み領域102aを指定することで無駄な複製を避けることができる。
しかし、コピー対象領域101aから101bへのコピーが複数回行われている場合、以前のコピー動作によりコピー対象領域101a全体がコピー済み領域となっているため、複製対象領域として101aを指定しなければならない。
第一のスイッチはステップS104で全ての第二のスイッチからの応答(P412)を受け取った後、ステップS105で第一の計算機のコピー対象領域であるメモリ領域101aから第二の計算機のメモリ領域101bにコピーを行う。
メモリ領域103aからメモリ領域103bへデータをコピーするステップであるステップS105は、第一の計算機のデータを読み出すステップS106(P415,P416)と、読み出したデータを第二の計算機のメモリ領域に書き込むステップS107(P417)から構成される。ステップS105で実施される読み書きの単位であるデータ量、或いはメモリ領域は実装により決定される。必要に応じてステップS105を繰り返し(Loop)、ステップS101で用いた単位のコピーを実現する。
コピー後、ステップS108で第二のスイッチにコピー単位でのコピー終了を通知する(P420)。ステップS109で第二のスイッチからの完了確認である応答(P423)を待つ。
ステップS110でコピー情報レジスタ207の更新、すなわち開始アドレス2072および2075をコピー実施分進め、残りサイズ2076をコピー実施分減少させる。次のコピーのため、ステップS102に戻る。
次に、図10のフローに従い、第二のスイッチの動作を説明する。第二のスイッチ20bは第一のスイッチからのコピー情報通知(P411)を受け、図10のフローを実施する。
第二のスイッチはステップS201で受信したコピー情報をコピー情報テーブル204に格納する。ステップS202でこれ以前に第一の計算機10aに対して実行したメモリ書き込みを確実にする処理(Flush Request:P413,ACK:P414)を実施し、ステップS203で第一のスイッチに受領確認の応答を返す(P412)。
また、第二のスイッチ20bはデバイス30bからのパケット受信時に図11のフローを実施する。図11に見るように、第二のスイッチ20bはステップS221で、デバイスからのパケットを通常の処理により次の宛先に転送する。ステップS222でデバイスからのパケットがコピー情報テーブル204に登録されている第一の計算機への書き込みであるかを判断する。判断は比較器208により、パケット中の情報とコピー情報テーブル204の情報を比較することで行われる。
第一の計算機10aに対する書き込みである場合、ステップS223でコピー中領域103aに対する書き込みであるかの判断を行う。この判断も比較器208で行う。比較の結果、コピー中領域103aに対する書き込みの場合、ステップS224でデータバッファ205にデータを複製し格納する。
ステップS223でコピー中領域103aに対する書き込みで無い場合、ステップS225で複製対象領域(Repulication Target Range)に対する書き込みであるかを判断する。この判断は比較器208で行う。比較の結果、複製対象領域に対する書き込みであった場合、ステップS226で書き込みデータを複製し、第二の計算機10bに転送する。
第二のスイッチ20bは第一のスイッチ20aからのコピー完了報告受信時(P422)に図12のフローを実施する。
図12のフローにおいて、ステップS211で、ステップS224にてデータバッファ205に格納したデータを第二の計算機10bに送信する(P424)。その後、ステップS212で、送信したデータが第二の計算機10bに書き込まれることを確実にし(P425,P426)、ステップS213で第一のスイッチ20aに完了確認の応答を返す(P423)。第一のスイッチ20aと第二のスイッチ20bはP411で示すように通信を行う。
なお、第二のスイッチはI/Oデバイス30bからのパケット処理において図13で示す処理手順を用いることもできる。
第二のスイッチ20bはステップS221で、デバイスからのパケットを通常の処理により次の宛先に転送する。ステップS222でデバイスからのパケットがコピー情報テーブル204に登録されている書き込みであるかを判断する。判断は比較器208により、パケット中の情報とコピー情報テーブル204の情報を比較することで行われる。
第一の計算機10aに対する書き込みである場合、ステップS223でコピー中領域103aに対する書き込みであるかの判断を行う。この判断も比較器208で行う。比較の結果、コピー中領域103aに対する書き込みの場合、ステップS224でデータバッファにデータを複製し格納する。
ステップS223でコピー中領域103aに対する書き込みでは無い場合、ステップ227でデータバッファに以前のデータを格納済かを確認する。以前のデータ受信時のステップS224でデータバッファに格納している場合、ステップS224へ進み、データバッファが空の場合はステップS225に進む。
ステップS227によりデバイスからの第二の計算機10bへの書き込み順序を保存することができる。
ステップS225で複製対象領域(Repulication Target Range)に対する書き込みであるかを判断する。この判断は比較器208で行う。
比較の結果、複製対象領域に対する書き込みであった場合、ステップS226で書き込みデータを複製し、第二の計算機に転送する。
上述した第二の実施例においても、特に専用パスを設置することなく、第一のスイッチが実行するメモリコピーに関するコピー情報を第二のスイッチに通知することで、全てのスイッチが自律的にI/Oデバイスからのトランザクションの転送・複製・保留を行うことが可能となる。
以上、本発明の各種の実施例の計算機システムにおいて実行されるメモリ間コピー処理フローの一例を説明したが、本発明は以上説明した実施態様に限定されるものでなく、種々の変形が可能であることは言うまでもない。
本発明は、複数の計算機を用いる計算機システムに関するものであり、特に複数の計算機間メモリコピー技術として有用である。
10a、10b…計算機
20、20b、211、212…スイッチ
30、30a、30b…バイス
41…コピー情報
90,90b…デバイスからの書き込みデータ
101a、101b…計算機内メモリ
102a、102b…コピー済み領域
103a、103b…コピー中領域
104a、104b…コピー未領域
201、201a…メモリコピー制御部
202、202a、202b…複製制御部
203…内部スイッチ
204…コピー情報テーブル
205…データバッファ
206…出力データ選択器
207…コピー状態レジスタ
208…宛先情報比較器
209…専用パス
210a、210b、210d…I/Oポート
210c…スイッチ間通信ポート
911a…第一の計算機への書き込みデータ
911b…第二の計算機への書き込みデータ
1011a…デバイスからのデータで更新されたメモリ領域
2031a、2031b、2031c、2031d、2031e…内部スイッチポート
2041…対象トランザクションの宛先
2042…トランザクションのソースID
2043…コピー中領域の開始アドレス
2044…コピー中領域のサイズ
2045…複製対象領域の開始アドレス
2046…複製対象領域のサイズ
2071…コピー対象計算機ID
2072…コピー対象領域先頭アドレス(第一の計算機)
2073…コピー対象領域サイズ
2074…コピー対象計算機ID
2075…コピー対象領域先頭アドレス
2076…コピー残りサイズ。

Claims (15)

  1. それぞれメモリを備える第一、第二の計算機と、デバイスを有する計算機システムであって、
    前記第一、第二の計算機と前記デバイスとの間に配置され、メモリコピー制御部を有する第一のスイッチと、複製制御部を有する第二のスイッチとを備え、
    前記第一のスイッチの前記メモリコピー制御部は、
    前記第一の計算機のメモリのコピー対象領域のデータを前記第二の計算機のメモリのコピー対象領域にコピーする際に、コピー情報として、コピー中領域情報である、前記第一の計算機のデータを読み出すメモリ領域と前記第二の計算機のデータを書き込むメモリ領域と、複製領域情報である、前記デバイスからのデータを複製すべき前記第一の計算機のメモリ領域と、複製した該データを書き込むべき前記第二の計算機のメモリ領域を、前記第二のスイッチに通知し、
    前記第二のスイッチの前記複製制御部は、
    前記デバイスから、前記複製領域情報中の前記第一の計算機のメモリ領域にデータが転送される際に、前記複製領域情報中の前記第二の計算機のメモリ領域に該データを複製する、
    ことを特徴とする計算機システム。
  2. 請求項1に記載の計算機システムであって、
    前記第一のスイッチと前記第二のスイッチがデータ転送用とは別の専用通信路を用いて前記コピー情報の交換を行う、
    ことを特徴とする計算機システム。
  3. 請求項1に記載の計算機システムであって、
    前記第一のスイッチと前記第二のスイッチがデータ転送用と同じ通信路を用いて前記コピー情報の交換を行う、
    ことを特徴とする計算機システム。
  4. 請求項3に記載の計算機システムであって、
    前記第一のスイッチと前記第二のスイッチが、第三のスイッチを介して接続される、
    ことを特徴とする計算機システム。
  5. 請求項1に記載の計算機システムであって、
    前記第二のスイッチは、転送され、複製される前記データを記憶するデータバッファを備える、
    ことを特徴とする計算機システム。
  6. それぞれメモリを備える第一、第二の計算機とデバイスが、第一、第二のスイッチにより接続されるシステムの計算機間メモリコピー方法であって、
    前記第一のスイッチは、
    コピーを実施する前記メモリのコピー対象領域を一つ以上のメモリ領域に分割し、コピー情報として、コピー中領域の情報である前記第一の計算機のデータを読み出すメモリ領域と、前記第二の計算機にデータを書き込むメモリ領域と、複製領域の情報である前記デバイスからのデータを複製すべき前記第一の計算機のメモリ領域と、複製した該データを書き込むべき前記第二の計算機のメモリ領域を、前記第二のスイッチに通知するステップと、
    前記第一の計算機の分割した前記メモリ領域からデータを読み出し、前記第二の計算機の分割した前記メモリ領域に書き込むステップと、
    分割した前記メモリ領域のコピーの完了を前記第二のスイッチに通知するステップを実行し、
    分割した前記メモリ領域を全て処理するまで前記ステップを繰り返す、
    ことを特徴とする計算機間メモリコピー方法。
  7. 請求項6に記載の計算機間メモリコピー方法であって、
    前記第二のスイッチは、
    前記第一のスイッチからの前記コピー情報を受信し、保持するステップと、
    前記第一のスイッチに前記コピー情報の受領確認を送信するステップを実行する、
    ことを特徴とする計算機間メモリコピー方法。
  8. 請求項7に記載の計算機間メモリコピー方法であって、
    前記第二のスイッチは、
    前記デバイスから前記第一の計算機へ書き込むデータを受信するステップと、
    当該データを前記第一の計算機へ転送するステップと、
    当該データの宛先が前記コピー中領域の場合にデータバッファに蓄えるステップを実行する、
    ことを特徴とする計算機間メモリコピー方法。
  9. 請求項7に記載の計算機間メモリコピー方法であって、
    前記第二のスイッチは、
    前記デバイスから前記第一の計算機へ書き込むデータを受信するステップと、
    当該データを前記第一の計算機へ転送するステップと、
    当該データの宛先が前記複製領域の場合に前記第二の計算機に転送するステップを実行する、
    ことを特徴とする計算機間メモリコピー方法。
  10. 請求項8に記載の計算機間メモリコピー方法であって、
    前記第二のスイッチは、
    第一のスイッチから前記書き込むデータのコピーの完了の通知を受信するステップと、
    前記データバッファに蓄えたデータを第二の計算機に転送するステップと、
    前記データの転送書き込みの完了確認を、前記第一のスイッチに送信するステップを実行する、
    ことを特徴とする計算機間メモリコピー方法。
  11. それぞれメモリを備える第一、第二の計算機と一つ以上のデバイスとの間に設置されるスイッチであって、
    メモリコピーを制御するメモリコピー制御部と、データの複製を制御する複製制御部とを有し、
    前記メモリコピー制御部は、
    前記第一の計算機のメモリのデータを前記第二の計算機のメモリにコピーする際に、コピー情報として、コピー中領域情報である、前記第一の計算機のデータを読み出すメモリ領域と前記第二の計算機のデータを書き込むメモリ領域と、複製領域情報である、前記デバイスから転送されるデータを複製すべき前記第一の計算機のメモリ領域と、複製した当該データを書き込むべき前記第二の計算機のメモリ領域を、前記第一、第二の計算機と前記デバイスとの間に設置される他のスイッチに通知する、
    ことを特徴とするスイッチ。
  12. 請求項11に記載のスイッチであって、
    前記複製制御部は、
    前記デバイスから、前記複製領域情報中の前記第一の計算機のメモリ領域にデータが転送される場合に、前記複製領域情報中の前記第二の計算機のメモリ領域に当該データを複製する、
    ことを特徴とするスイッチ。
  13. 請求項11に記載のスイッチであって、
    前記他のスイッチとの間で、データ転送用とは別の専用通信路を用いて前記コピー情報の交換を行うためのスイッチ間通信ポートを備える、ことを特徴とするスイッチ。
  14. 請求項11に記載のスイッチであって、
    前記デバイスから転送され、複製される前記データを記憶するデータバッファを備える、
    ことを特徴とするスイッチ。
  15. 請求項11に記載のスイッチであって、
    前記コピー情報を保持する保持部と、
    前記デバイスから転送される前記データと前記保持部に保持された前記コピー情報とを比較する比較器とを備える、
    ことを特徴とするスイッチ。
JP2010199464A 2010-09-07 2010-09-07 計算機システム、計算機間メモリコピー方法、及びスイッチ Expired - Fee Related JP5469022B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010199464A JP5469022B2 (ja) 2010-09-07 2010-09-07 計算機システム、計算機間メモリコピー方法、及びスイッチ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010199464A JP5469022B2 (ja) 2010-09-07 2010-09-07 計算機システム、計算機間メモリコピー方法、及びスイッチ

Publications (2)

Publication Number Publication Date
JP2012058866A true JP2012058866A (ja) 2012-03-22
JP5469022B2 JP5469022B2 (ja) 2014-04-09

Family

ID=46055926

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010199464A Expired - Fee Related JP5469022B2 (ja) 2010-09-07 2010-09-07 計算機システム、計算機間メモリコピー方法、及びスイッチ

Country Status (1)

Country Link
JP (1) JP5469022B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013200651A1 (de) 2012-03-15 2013-09-19 Kabushiki Kaisha Toshiba Permanentmagnet und Motor und Stromerzeuger unter dessen Verwendung
JP2014501977A (ja) * 2010-12-10 2014-01-23 アルカテル−ルーセント 非同期仮想マシン複製

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008112399A (ja) * 2006-10-31 2008-05-15 Fujitsu Ltd ストレージ仮想化スイッチおよびコンピュータシステム
JP2009282917A (ja) * 2008-05-26 2009-12-03 Hitachi Ltd サーバ間通信機構及びコンピュータシステム
JP2010039685A (ja) * 2008-08-04 2010-02-18 Hitachi Ltd 複合型計算機及び複合型計算機の制御方法
JP2010079678A (ja) * 2008-09-26 2010-04-08 Hitachi Ltd ストレージシステムの切替えを制御する装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008112399A (ja) * 2006-10-31 2008-05-15 Fujitsu Ltd ストレージ仮想化スイッチおよびコンピュータシステム
JP2009282917A (ja) * 2008-05-26 2009-12-03 Hitachi Ltd サーバ間通信機構及びコンピュータシステム
JP2010039685A (ja) * 2008-08-04 2010-02-18 Hitachi Ltd 複合型計算機及び複合型計算機の制御方法
JP2010079678A (ja) * 2008-09-26 2010-04-08 Hitachi Ltd ストレージシステムの切替えを制御する装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014501977A (ja) * 2010-12-10 2014-01-23 アルカテル−ルーセント 非同期仮想マシン複製
US9253100B2 (en) 2010-12-10 2016-02-02 Alcatel Lucent Asynchronous virtual machine replication
DE102013200651A1 (de) 2012-03-15 2013-09-19 Kabushiki Kaisha Toshiba Permanentmagnet und Motor und Stromerzeuger unter dessen Verwendung

Also Published As

Publication number Publication date
JP5469022B2 (ja) 2014-04-09

Similar Documents

Publication Publication Date Title
JP3730907B2 (ja) ディスクアレイ装置間の遠隔データコピー方式
US8166241B2 (en) Method of improving efficiency of capacity of volume used for copy function and apparatus thereof
CN103959253B (zh) 基于硬件的存储器迁移和重新同步方法及系统
CN103176863B (zh) 使用冗余虚拟机的错误检测
US8255562B2 (en) Adaptive data throttling for storage controllers
US20090067334A1 (en) Mechanism for process migration on a massively parallel computer
US8171248B2 (en) Storage system controlling method, switch device and storage system
CN102597963B (zh) 集群中的动态副本卷交换
US8612973B2 (en) Method and system for handling interrupts within computer system during hardware resource migration
CN1573715A (zh) 在非对称异构多处理器环境中提供原子更新原语的方法
US8751878B1 (en) Automatic failover during online data migration
CN103608786A (zh) 在恢复站点处管理复制的虚拟储存器
JPH09259098A (ja) 分散メモリ型マルチプロセッサシステム及び故障回復方法
CN101807985B (zh) 一种数据中心集中式控制切换方法及系统
KR20180057639A (ko) 선택적 리소스 이동을 이용하는 네트워크 결합 메모리
CN112506620A (zh) 基于docker容器部署的ospf协议的清洗恢复方法、装置、设备和介质
JP5469022B2 (ja) 計算機システム、計算機間メモリコピー方法、及びスイッチ
JP5287974B2 (ja) 演算処理システム、再同期方法、およびファームプログラム
US20070180312A1 (en) Software duplication
JPH11242566A (ja) 多重化データ記憶システム
US10929238B2 (en) Management of changed-block bitmaps
WO2006075332A2 (en) Resuming application operation over a data network
US20020029334A1 (en) High availability shared memory system
CN100442248C (zh) 用于避免竞争的计算机系统同步单元
CN102457547A (zh) 多控制器的储存区域网络设备的升级方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130304

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131023

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131105

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131218

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140130

R150 Certificate of patent or registration of utility model

Ref document number: 5469022

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees