JP4214682B2 - 計算機およびその入出力手段 - Google Patents
計算機およびその入出力手段 Download PDFInfo
- Publication number
- JP4214682B2 JP4214682B2 JP2001015196A JP2001015196A JP4214682B2 JP 4214682 B2 JP4214682 B2 JP 4214682B2 JP 2001015196 A JP2001015196 A JP 2001015196A JP 2001015196 A JP2001015196 A JP 2001015196A JP 4214682 B2 JP4214682 B2 JP 4214682B2
- Authority
- JP
- Japan
- Prior art keywords
- partition
- transmission
- allocation
- adapter
- reception
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
【発明の属する技術分野】
本発明は情報処理装置、特に、サーバ、メインフレーム等に用いられる、1台の計算機内部に複数のパーティションを動作させることができる計算機システムおよびその入出力手段に関する。
【0002】
【従来の技術】
複数のシステムのコンソリデーションによるTCOの削減、ホットスタンバイによる可用性の向上等を目的として、1台の計算機システムを複数のパーティションに分け、異なるパーティションに別々のOSを乗せ、あたかも物理的に複数の計算機システムが有るかのように見せるシステムが広く用いられている。
【0003】
特開平6−35725においては、汎用計算機におけるロジカルパーティション(LPAR)技術が開示されている。同技術によれば、ハイパバイザと呼ばれるパーティション制御プログラムにより、複数のパーティションによりCPUを時分割で使用することにより、CPU台数を超えるパーティションを1つの計算機システム上に動作させ、コンソリデーションを実現することが可能である。さらに、各パーティションに割当てるCPU時間をハイパバイザにより制御することを可能にする。さらに、I/Oのパーティション間共有を実現する。
【0004】
特開2000−132530においては、主記憶共有型の並列計算機システムを複数のCPUのグループに分け、各々のグループを異なるパーティションとして使用する技術が開示されている。同技術によれば、並列計算機の内部を複数のパーティションに分け、各パーティションに物理的なCPU、主記憶、I/Oを割当てることを可能にする。
【0005】
近年、計算機の入出力方式の分野では計算機からの通信、I/Oの新しい方式が提案されている。コンパック(Compaq)、インテル(Intel)、マイクロソフト(Microsoft)の3社は「バーチャル・インタフェース・アーキテクチャ・スペシフィケーション(Virtual Interface Architecture Specification)」において、VIAプロトコルと言う新しい通信プロトコルを提案している。同プロトコルにおいては、下記の2つの技術により、従来の通信方式と比べて大幅に通信オーバヘッドを削減し、高速な通信、I/Oを実現する。
(1)通信起動時にOSへのシステムコールを行わずに、ユーザプログラムから直接通信を起動することを可能にする(OSレス起動)。
(2)通信データをユーザ空間の通信バッファから、OS空間の通信バッファにコピーすることなく、ユーザ空間から直接通信アダプタがコピーすることを可能にする(コピーレス起動)。
【0006】
さらに、VIAによる通信を核プロトコルとする、次世代のI/Oアーキテクチャが提案されている。従って、将来の計算機間の通信、I/Oアーキテクチャを考える場合、VIAのようなOSレス、コピーレス起動が主流になると考えられる。
【0007】
【発明が解決しようとする課題】
しかしながら、パーティションに分けられた計算機において、上記従来技術を用いてI/Oを行おうとした場合、下記の問題がある。
【0008】
各パーティションのCPUリソースの使用量に関しては柔軟に制御する手段が用意されているが、I/Oリソースの使用量は制御することは困難である。
【0009】
大型計算機のパーティションにおいては、各パーティションがCPUの何%使用できるかを、パーティション制御プログラムにより制御することが可能である。また、並列計算機のパーティションにおいても、各パーティションにCPUを何個割当てるかを制御することができる。しかし、各パーティションの入出力に関しては、パーティションにある特定の入出力アダプタを割当てることが普通であり、I/Oアダプタの共有を許しても、各パーティションへの割当てはベストエフォート(best effort)であり、I/Oの割当てを積極的に制御することは行われてこなかった。
【0010】
旧来のI/O方式では、I/Oを行うにはI/Oを起動するためのシステムコール、データ領域のコピー等、かなりのCPUパワーを必要とするため、CPUパワーさえ制御しておけば、I/OにもCPUとほぼ比例した能力を割当てることができた。
【0011】
ところが、近年実用化されつつある、次世代のI/O方式においては、I/Oの起動はOSレス、コピーレスで行われるため、CPUパワーをほとんど使用せずにI/Oを起動することが可能になる。従って、CPUパワーを制御することにより、間接的にI/Oの使用量を制御すると言う従来の方式はうまく働かなくなりつつある。
【0012】
さらに、近年飛躍的に重要さを増しつつあるインタネット関連のプログラムにおいては、従来のCPU主体のプログラムと比較して、格段に大きいI/O能力を要求するプログラムが存在する。そのようなプログラムにおいては、従来考えられていたように、CPU能力と比例したI/O能力を割当てておけばよいと言う考えでは、CPU能力とI/O能力のバランスをとることが困難になりつつある。
【0013】
さらに、現在のインタネットデータセンタのサーバにおいては、ユーザに対するSLA(サービス・レベル・アグリーメント)を守ることが必須の機能である。パーティション上で動作するユーザプログラムのSLAを守るためには、パーティションのCPU使用量の他に、I/O使用量を制御する機能は必須である。
【0014】
従って、本発明の目的は、パーティションを持った計算機システムにおいて、パーティションが使用するI/O能力をCPU割当量とは独立に制御する計算機およびその入出力手段を提供することにある。また、本発明の他の目的は、各パーティションに割当てられているI/O能力を制御することにより、各パーティション上のプログラムのSLAを保持することにある。
【0015】
また、近年のネットワーク、I/Oの高速化に伴い、1つのI/Oアダプタを1つのパーティションに占有させると、I/Oの性能を十分活かすことがでず、効率が悪い。
【0016】
本発明のさらに他の目的は、複数のパーティションが1つのI/Oアダプタを共有した場合、複数のI/Oアダプタを各パーティションに割当てた場合、双方において各パーティションへのI/O能力の割当てを制御することである。
【0017】
【課題を解決するための手段】
本発明においては上記目的を達成するために、パーティションに分けられた計算機において、
・オペレータが各パーティションへのI/O割当てを指示する手段、
・各パーティションへのI/O割当てをあらかじめ設定ファイルにより予約する手段、
・各パーティションのI/O性能を測定する手段と、I/O性能がある決められた値を下回った場合、パーティション制御プログラムが自動的にI/O割当てを変更する手段、
・I/Oアダプタの各パーティションへの割当て量を制御するために、各パーティションのユーザプログラムの性能がSLAで決められた値を下回った場合で、ユーザプログラムの性能低下がI/Oネックにより生じたと判断された場合、パーティション制御プログラムが自動的にI/O割当てを変更する手段
を具備する。
【0018】
さらに、本発明による他の望ましい態様では、各I/Oアダプタにおいて、I/Oアダプタがある第1のパーティションのI/Oをあらかじめ決められた量だけ行った後に、I/Oを一時中断する手段、その後、他のパーティションのI/Oをそれぞれある決められた量だけ実行させる手段、他のパーティションのI/Oが終わった後に、第1のパーティションのI/Oを中断した部分より再開する手段を設ける。それにより、各パーティションが上記I/Oアダプタを使用できる時間を時分割で制御することを可能にする。時分割のパラメータ(各I/Oアダプタが連続してI/Oできる量)を制御することにより、パーティションへのI/O割当て量を変更することを可能にする。
【0019】
さらに、本発明による他の望ましい態様では、複数のI/Oアダプタを持つ計算機において、各パーティションにどのI/Oアダプタを割当てることができるかを動的に制御する手段を設け、パーティションに割当てるI/O能力を制御することを可能にする。
【0020】
【発明の実施の形態】
図1は本発明に係る計算機のブロック図である。計算機はCPU10〜12、チップセット20、主記憶30、I/Oアダプタ100〜101からなっている。I/Oアダプタ100〜101は、外部のI/Oネットワーク100aに接続されている。以下ではI/Oアダプタ100の中のみ詳細に記す。他のI/Oアダプタの内部も同じ構成である。
【0021】
I/Oアダプタ100の内部で、110はどのパーティションが上記I/Oアダプタをアクセスしたかを判断するアクセスパーティション判定回路である。I/OアダプタがどのパーティションのI/Oアクセスを扱うかは、本回路110により制御される。120はCPUからのアクセスを受け付けるためのコントロールレジスタ群、130、180はCPUアクセスに呼応して実際の入出力処理(データのネットワークへの出し入れ)を行う送信・受信回路である。200は、送信・受信回路130、180が主記憶30上のデータを論理アドレスでアクセスすることを可能にするためのアドレス変換回路である。
【0022】
ユーザプログラムは、I/Oアダプタ100〜101に対して、論理アドレスで入出力を指示するため、I/Oアダプタ内部で論理/物理アドレス変換を行わなければならない。ユーザプログラムによるコントロールレジスタ群120に対する入出力の指示方法、送信回路130、受信回路180における入出力処理そのものについては、従来の入出力アダプタと同様であるので詳細は略す。
【0023】
140、190は送信・受信スケジューラであり、上記I/Oアダプタが複数のパーティションの入出力を実行するときに、各パーティションのI/Oをどのような割合で実行するかを制御する。150は送信・受信スケジューラ140、190に各パーティションの入出力割当てを指示する送受信割当てレジスタである。160は受信したI/Oメッセージのパーティションを判定する回路、170は受信メッセージバッファである。さらに、各パーティションのI/O性能をハードウェアで測定するためのモニタリング手段210を持つ。
【0024】
図2に本発明が実現するI/O割当て方式を示す。図2はシステム内部に2つのパーティションが存在する場合である。パーティションのCPU処理能力は同図(a)の300、301に示すように、各々のパーティションに50%づつ割り当ててある。I/O割当て方法としては大きく分けて同図(b)のような時分割割当ておよび同図(c)のような空間分割割当ての2つの方法がある。
【0025】
上記一方の時分割割当てにおいては、1つのI/Oアダプタを2つのパーティションが時分割で共用している。当初は2つのパーティションのI/O処理能力310、311は均等に分割されている。ここで、パーティション0の入出力能力を増加する必要が生じた場合、時分割の割当てを変更することにより、パーティションのI/O処理能力の割当てを50%づつ(315)から、パーティション0は75%、パーティション1は25%に変更する(316)。
【0026】
他方、空間分割割当ては、システム内の複数のI/Oアダプタ320〜323を各パーティションがどのように使うかを制御することにより達成される。各々のI/Oアダプタは外部にある同一のI/Oスイッチに接続され、全てのアダプタが同一の機器に通信を行なうことが可能であることが前提である。当初は331、332に示すようにパーティション0、パーティション1は2個づつのI/Oアダプタを使用しており、各パーティションのI/O処理能力は50%で同一である。ここで、パーティション0の入出力能力を増加する必要が生じた場合、今までパーティション1が使用していたアダプタ2(322)をパーティション0が使用するように割当て直すことにより(境界は332、333となる)、各パーティションへのI/O能力の割当てを、パーティション0は75%、パーティション1は25%に変更する。
【0027】
上記の時分割および空間分割は、それぞれ単独で使うほかに、時分割と空間分割を組み合わせて使うように制御することも可能である。例えば、パーティション0はアダプタ2.5個、パーティション1はアダプタ1.5個を使用するように制御することもできる。
【0028】
本発明の特徴は、I/Oアダプタ内の送受信割当てレジスタ150、送信スケジューラ140、受信スケジューラ190に、時分割割当てを制御する機能を持たせ、アクセスパーティション判定回路110に空間分割を制御する機能を持たせ、パーティションとI/Oアダプタの関連を柔軟に制御することにより、各パーティションのI/O能力を図2で示すように柔軟に制御することである。
【0029】
以下では図1、図2〜図16を用いて、本発明のI/Oアダプタの動作を詳細に説明する。以下の実施例では、説明を容易にするために、システムの最大パーティション数は4個であるが、最大パーティション数はハードウェア量の許す限り任意の個数可能である。さらに、レジスタ類を主記憶上にスワップする機能を設けることにより、アダプタの中にハードウェアで用意されているレジスタの数にとらわれずに、事実上無限個のパーティションを取り扱うことが可能である。
【0030】
図1においてCPU10〜12から出されたI/O要求は、まずアクセスパーティション判定回路110に入力され、アクセスされたアドレスより、どのパーティションからアクセスされたかを判断される。
【0031】
図6にアクセスパーティション110判定回路の詳細(アドレス部分のみ)を示す。アクセスパーティション判定回路110は、パーティションのベースアドレスレジスタ1100およびアドレス範囲判定回路1150により構成される。ベースアドレスレジスタ1100は各パーティションに対応して、各パーティションが上記I/Oアダプタをアクセスする時に使用するベースアドレス(1120〜1123)、および、各パーティションが上記I/Oアダプタをアクセスすることを許すかどうかを示すバリッド(valid)ビット1110〜1123を持ち、上記validビットが1のパーティションがアクセスを許される。
【0032】
ハイパバイザ、SVP等のパーティション制御プログラムは、上記I/Oアダプタにアクセスを許すパーティションのvalidビットを1にし、ベースアドレスをセットする。複数のパーティションから共有されているアダプタに関しては、各々のパーティションのvalidビットを1にするとともに、各パーティションに対応して、異なるベースアドレスを指定する。各パーティションのOSは、ベースアドレスレジスタで示されたアドレスで上記I/Oアダプタをアクセスするようにコンフィグレーションされる。各パーティションに属するI/Oアダプタを変更する場合は、ベースアドレスレジスタ1100を変更する。
【0033】
CPUからのI/Oアクセス信号110bのうちのアドレス部分110b1はアドレス範囲判定回路1150に入力される。アドレス判定回路1200では、validビットが1であるパーティションのエントリのうちで、CPUのアクセスアドレス110b1が、ベースアドレスと、ベースアドレス+上記I/Oアダプタの占有アドレス範囲の間に入るパーティションを判定する。該当するパーティションが見つかった場合には、パーティション番号110a2には上記で求めたパーティションの番号を出力するとともに、レジスタアドレス(110a1)においては、アクセスアドレス−上記パーティションのベースアドレスが出力される。上記の信号は、CPUアクセス信号の他の部分と共に、信号110aを通じてコントロールレジスタ群120に伝えられる。
【0034】
図7にコントロールレジスタ群120の内部構造を示す。コントロールレジスタ群120はアクセス分配回路1200と各パーティションに対応するコントロールレジスタ1210〜3により構成される。信号110aを通じて伝えられたCPUのアクセス信号は、パーティション番号110a2に応じて、該当するパーティションのコントロールレジスタ1210〜3の何れかをアクセスする。パーティション毎にコントロールレジスタを持たせることにより、複数のパーティションからのI/O要求に対処することを可能にする。
【0035】
コントロールレジスタ120に入力されたI/O要求は信号120aを通じて送信回路130もしくは受信回路180に伝えられ、送受信処理が行われる。コントロールレジスタの詳細は従来技術と同等技術であるので、説明を略す。
【0036】
送受信回路の動作の説明に先立って、本発明のシステムで使われるI/Oパケットの形式について説明する。ネットワーク上を流れるI/Oパケットの大きさは、ある決められたパケットサイズにより制限される。そのため、主記憶上のデータがパケットサイズより大きい場合には、データをパケットサイズに分割して送受信しなければならない。
【0037】
図13に主記憶上のI/Oデータ4100とI/Oパケット4300〜4303の関係を示す。図の場合は4300〜4303の4つのパケットに分割されている。各パケットはヘッダ領域4320〜4323、データ領域4310〜4313を含む。送受信データのパケットへの分割、組み立て、パケットのヘッダ形式等については、従来技術と同等であるため、説明を略する。本発明の特徴としては、パケットのヘッダ領域の中に、従来からある項目に加えて、上記データを送受信するパーティションの番号4330〜4333を表わすフィールドが追加されていることである。
【0038】
図8に送信回路130の構造を示す。送信回路は、実際の送信処理(主記憶からのDMA)を行う送信側DMAC1330、および、各パーティションの送信の途中状態を示すレジスタ群、送信中のアドレスを示すレジスタ1310〜1313、送信しなければならない残りのバイト数を示すバイトカウンタ1320〜1323、により構成される。コントロールレジスタ群120からのI/O要求120aは、送信が指示されたパーティションに該当する送信レジスタ群1300に入力される。その後、送信側DMAC1330は送信スケジューラ140の指示により動作する。
【0039】
図9に上記送信側DMAC1330の動作フローを示す。まず、送信スケジューラ140から信号140aによって伝えられた送信要求140a3が入ると、送信スケジューラ140が指示する次に送信すべきパーティション番号140a4を読込む(ステップ5000)。送信側DMAC1330は、送信状態レジスタ群1300より、指示されたパーティションのアドレスレジスタ、バイトカウンタを読込む(ステップ5001)。
【0040】
バイトカウンタが0の場合は該当するパーティションに関しては送信するデータが無いため、送信終了報告ステップ5004に飛ぶ(ステップ5002)。バイトカウンタが0ではない場合、主記憶上の送信データを1パケット分送信した(ステップ5003)後、送信スケジューラ140に信号140aを通じて、1パケット分の送信が終了したことを報告(140a1)する(ステップ5004)。
【0041】
送信スケジューラ140は、パケットの切れ目で上記パーティションのデータの送信を中断して、他のパーティションのデータを送信する必要があると判断した場合、信号140aを通じて送信中断を指示(140a2)する。中断指示140a2がない場合には、送信側DMAC1330はステップ5003に戻り、該当するパーティションのデータを送信し続ける(ステップ5005)。送信中断指示140a2がある場合には、データ送信の途中状態(アドレスレジスタ、バイトカウンタ)を、送信状態レジスタ群1300の中の、該当するパーティションのエントリに書込む。その後、送信側DMAC1330はステップ5000に戻り、次に送信すべきパーティションの番号を読込む。
【0042】
ここで、ユーザプログラムからのデータ転送要求は論理アドレスを用いて行われるため、送信側DMAC1330が主記憶上の送信データをアクセスする場合には、論理アドレスが用いられる。従って、I/Oアダプタの中に、論理アドレスから物理アドレスに変換するアドレス変換手段200が必要になる。送信回路130からは、信号200bを通じて、アクセスパーティション番号200b4、プロセス番号200b1、論理アドレス200b2が伝えられ、該当するアドレスのデータ200b3が読み出される。
【0043】
図12にアドレス変換手段200内部にあるアダプタTLB2000の構成を示す。アダプタTLB2000では、パーティション番号2001、プロセス番号2002、論理ページ番号2003から、物理ページ番号2004にアドレス変換を行うことが可能である。アドレス変換方式や、TLBの構成方式については公知の技術であるので説明を省略する。
【0044】
次いで、送信スケジューラ140の処理を図3に基づき詳細に述べる。以下の説明では、ローカルなレジスタpは次に送信するべきパーティション番号を記憶するレジスタであり、nは現在送信中のパーティションにおいて連続して送信したパケット数である。
【0045】
まず、pは0に初期化される(ステップ5100)。各パーティションに対応するデータの送信に先立ち、nが0にリセットされる(ステップ5101)。通信先のパーティションpに対応する受信バッファが満杯(フル)でないことが確認(ステップ5107)される。フルの場合はステップ5106に飛び、次のパーティションの処理を行う。受信バッファが満杯(フル)でないことが確認されると、パーティションpのメッセージを1パケット分送信することを指示し(ステップ5102)、nがインクリメントされる(ステップ5103)。
【0046】
ここで、nがパーティション毎にあらかじめ決められている、連続して送信できるパケット数の上限に達したかが検査(ステップ5104)され、上限に達していない場合はステップ5102に戻り、該当するパーティションのデータの送信を続ける。nがパケット数の上限に達した場合には、送信回路130に信号140aを通じて送信中断140a2を指示し(ステップ5105)、pをインクリメントし、ステップ5101に戻り、次のパーティションのデータ送信を開始する(ステップ5106)。pがパーティション数を超えた場合には、0にラップアラウンドする。
【0047】
ここで、連続して送信できるパケット数の上限は、送受信割当てレジスタ150の内部にパーティション毎に記憶されている(図4)。例えば図4の場合、送信回路は、
・パーティション0の通信を3パケット送信
・パーティション1の通信を1パケット送信
という動作を繰り返すことにより、パーティション0は全通信量の75%を占有し、パーティション1は25%を占有することになる。
【0048】
以上のように、パーティション制御プログラムが送受信割当てレジスタ150にあらかじめ適当な値を設定しておけば、I/Oアダプタ100のハードウェアが送受信の割当てを動的に実行する。さらに、パーティションへのI/O割当量を変更する場合には、パーティション制御プログラムが送受信割当てレジスタ150の値を変更することにより、パーティション上で動作するOSやプログラムに対して透過的(パーティション上のプログラムやOSに介入することなく、パーティション制御プログラムの処理だけで)に実現できる。
【0049】
次いで受信側の動作を述べる。図10に受信回路180の詳細、図11に受信側DMAC1830の動作フロー、図5に受信スケジューラ190の動作フローを示す。受信側の動作も送信側と基本的に同一であるので、詳細な説明は略す。相違点は、送信側DMAC1330はデータを主記憶30から読み出して、信号130aを通じてネットワークへデータを出力するのに対し、受信DMAC1830はデータを受信バッファ170から読込み、信号180a(180a3)を通じてデータを主記憶30に書込むことである。また、相手側の送信バッファフルチェックに相当する処理は存在しない。
【0050】
図14に受信バッファ170の構造を記す。受信バッファ170は各パーティション毎に独立したバッファ1700〜1703を持っており、ネットワークパケットのヘッダにあるパーティション番号4330等に対応したバッファにデータを貯える。受信バッファ170は、ネットワークから各パーティションのパケットが入力される順番と、アダプタのスケジューラが実際にデータを主記憶に書込む順番の差を吸収するために設けられている。スケジューリングされたパーティションの入力バッファが空であった場合には、データの入力が行われない。あるパーティションの入力バッファがフルになった場合には、ネットワークのフロー制御により、該当するパーティションに対する通信は抑止される。
【0051】
以上の説明はパーティションがI/Oアダプタを共有している場合に、各パーティションへのI/O割当てを時分割で制御する機構を中心に説明した(図2(a)に該当)。次に、システム内に複数のI/Oアダプタが存在し、各パーティションに必要な個数のI/Oアダプタを割り振ることにより、各パーティションのI/O割当てを空間分割で制御する方式を述べる(図2(2)に該当)。パーティションへのI/Oアダプタの割当ては、アクセスパーティション判定回路110において、上記I/Oアダプタを割当てるパーティションに対応するvalidビットを1にすることにより実現できる。
【0052】
ここで、各パーティションへのI/O割当てを変更する場合、時分割方式では、パーティション上で動作しているOSに透過的にI/Oの割当てを変更できるのに対して、空間分割方式ではパーティション(OS)に割り当てられるI/Oアダプタの数が変わるため、パーティション制御プログラムとパーティション上で動作しているOSが協調動作してパーティションへのI/Oの割当てを変更する必要がある。
【0053】
図16にI/Oアダプタのパーティション間での移動アルゴリズムを示す。この場合、I/O割当てを変更するパーティションで動作しているOSがI/Oアダプタの動的なホットプラグに対応していることが大前提である。あるI/Oアダプタを現在I/Oアダプタを所有しているパーティション(旧パーティション)から別のパーティション(新パーティション)に移動させる場合、以下のステップが必要である(図16)。
【0054】
まず、パーティション制御プログラムは、旧パーティションのOSに上記I/Oアダプタの使用停止を指示する(ステップ6000)。旧パーティションのOSは、上記I/Oアダプタの使用を停止し、OSから切り離す(ステップ6001)。続いて、パーティション制御プログラムは、I/Oアダプタのアクセスパーティション判定回路110にある、ベースアドレスレジスタ1100のvalidビット(1110〜1113)等を書き換え、上記I/Oアダプタへの旧パーティションからのアクセスを禁止し、新パーティションからのアクセスを許可する(I/Oアドレスの再割当てが必要な場合は、再割当てを行う)(ステップ6002)。次いで新パーテシションのOSに上記I/Oアダプタの使用開始を指示し(ステップ6003)、新パーティションのOSが上記I/Oアダプタを使用開始する(ステップ6004)。上記の方式により、I/Oアダプタのロジカルなホットプラグ、パーティション間の移動を実現し、空間分割によるパーティションのI/O割当ての動的な制御を可能にする。
【0055】
パーティション毎のI/O割当て制御を行うためには、パーティション毎にI/O性能を正確に知る手段が必要である。上記の目的のために、各I/Oアダプタにはモニタリング手段210を設ける。
【0056】
図15にモニタリング手段210の内部構成を示す。各パーティション、送信/受信に対応して、性能モニタリングカウンタ(2100〜2103、2110〜2113)が用意されており、パーティション別にI/O性能を計測することを可能にする。計測する項目としては以下の項目が挙げられる。
・送信側
送信までの待ち時間(送信がエンキューされてから実際にネットワークに送信されるまでの待ち時間)
送信データ量(時間で割ることにより、送信スループットが求まる)
・受信側
受信までの待ち時間(ネットワークから受信パケットが着いてから、実際にデータが主記憶にコピーされるまでの待ち時間)
受信データ量(時間で割ることにより、受信スループットが求まる)
以上の項目をモニタリングすることにより、各パーティションのI/O待ち時間と、I/Oスループットが求まり、性能ボトルネックを知ることができる。モニタリングの詳細は従来技術であるので説明を略す。
【0057】
さらに、以下のような稼働方法と機能を持つことにより、上記で述べた、パーティション毎のI/O割当ての制御をユーザへの課金に活用することができる。
(1)あらかじめ、ユーザと、パーティションへの標準のI/O割当量、パーティションのI/O割当てを変更する条件、パーティションのI/O割当てを増やした場合に払うべき割当て使用料について契約を結ぶ。
(2)パーティション制御プログラムが、あるパーティションのI/O割当てを変更した場合には、I/O割当てを変更した時間、変更後のI/O割当量をログに記録する。
(3)ユーザの使用料を計算する際に、前記ログを参照し、パーティションの標準I/O割当量よりI/O割当てが増やされていた時間に応じて、あらかじめ決めた契約に従い、ユーザへの課金を割り増す。
【0058】
以上の手段により、本I/O割当て制御機構によりユーザへのI/O割当てが増加された時間に応じて、割増し課金を賦課することができる。
【0059】
以上では、パーティションのI/O割当てを制御する機構の詳細を中心に説明した。以下では図17〜図20を用いて、上記の機構を使用してどのようにシステム性能を制御するかについて、いくつかの場合に分けて詳細に説明する。また、以下ではI/Oを時分割で割当てる場合について説明を行うが、空間分割でも同様に制御することができる。
(1)オペレータによるI/O割当ての手動変更
図17にオペレータがパーティション制御プログラムに対して、パーティションのI/O割当て変更を指示するインタフェースを示す。図で7000はコンソールの画面である。上半分7010では、各パーティションのI/O性能モニタ結果を示し、下半分7020はパーティションのI/O割当て量の変更を指示する画面である。7020では各パーティションの旧I/O割当量を示し、入力領域7030〜7031で新しいパーティションのI/O割当量を指示する。図ではパーティション0とパーティション1のI/O割当て量を50%、50%から、75%、25%への変更を指示している。
【0060】
パーティション制御プログラムでは、上記のパーティション毎のI/O割当ての割合をなるべく簡単な(場合によっては近似の)整数比に直し、図1の送受信割当てレジスタ150に各パーティションが連続して送受信できるパケット数を指示する。図17の場合、75%:25%=3:1であるので、送受信割当てレジスタのパーティション0に該当する領域1500(図4)には3が、パーティション1に該当する領域1501には1が書込まれる。
【0061】
上記の手段により、パーティション0とパーティション1のI/O割当ては75%と25%に制御することができる。以上の手段により、オペレータがシステムの稼動状況をモニタリングして、I/O割当てを変更することができる。
【0062】
図17では送信ディレイをモニタしているが、受信ディレイをモニタする場合も同様である。
(2)設定ファイルによるI/O割当ての予約、自動変更
図18に、各パーティションのI/O割当てを設定するファイルの一例を示す。図では毎日8時と18時にパーティションのI/O割当ての設定をつぎのように変更することを指示している。
・午前8時にパーティション0、パーティション1のI/O割当てを50%、50%に設定する。
・午後18時にパーティション0、パーティション1のI/O割当てを75%、25%に設定する。
【0063】
上記の設定ファイルに基づき、パーティション制御プログラムは指定された時間に、送受信割当てレジスタの内容を変更する。具体的な変更方法は(1)と同様である。
(3)CPU割当てへの自動追従
パーティション制御プログラムが各パーティションへのCPU割当てを変更する場合、I/O割当てを自動的にCPU割当てと同じ割合で変更する。I/O割当てだけを積極的に変更する要求がない場合に有効な方法である。
(4)I/O割当ての自動変更
各パーティションのI/O性能計測結果、および、あらかじめ決められたI/O割当て変更条件に基づき、パーティション制御プログラムが、オペレータの介在無しにI/O割当てを変更する。
【0064】
図19にI/O割当ての自動変更方式を示す。パーティション制御プログラムは定期的に図19に示す処理を実行する。まず、各パーティションのI/O性能をモニタリングする(ステップ7100)。モニタリングした結果、あらかじめ決められていたI/O割当て変更条件に合致するかどうかがチェックされる(ステップ7101)。ここで、I/O割当て変更条件は、次のような条件とアクションの組で表される。
・条件……パーティション0のI/Oディレイが500ms以上
・アクション……パーティション0のI/O割当て75%に増加
条件が満たされた場合、指定するアクションが実行され、I/O割当て量が変更される(ステップ7102)。
【0065】
さらに、上記パーティションのI/O割当てが増加されたことをログに記録する(ステップ7103)。これにより、上記パーティションを使用するユーザからI/O割当てを増加した時間に応じた割増し使用量を賦課することができる。
(5)SLA保証
上記(4)で述べたI/O割当ての自動保証を発展させ、I/O割当てを変更することにより、ユーザプログラムのSLAを保証することが可能である。インタネットデータセンタ等ではサーバのコストを下げるために1台のサーバに複数のパーティションを設け、複数のユーザのプログラムを実行させる事が望まれる。その場合、ユーザと約束した応答時間等のSLAを守る事が求められる。刻々と変わるインタネットの負荷に対応するためには、CPU割当てのみならずI/O割当てを負荷に合わせてアダプティブに変更する必要がある。
【0066】
パーティション制御プログラムはSLAを保証するために、図20に示す処理を実行する。まず、各パーティションのユーザプログラムの性能を測定(ステップ7201)し、SLAが満たされるかを判断する(ステップ7202)。SLAが満たされていない場合(もしくは、SLAが未達になる可能性が強い場合)、SLA未達の原因を知るために、CPU性能、I/O性能をモニタリングする(ステップ7203)。具体的には、該当するパーティションへのCPUおよびI/O割当てと、CPU、I/Oの使用時間から、上記パーティションのCPU使用率およびI/O使用率を測定し、CPUネックおよびI/Oネックのどちらであるかを判定(ステップ7204)する。例えば、CPU使用率30%、I/O使用率95%の場合は、I/Oネックであると判定する。
【0067】
I/Oネックである場合には、他のパーティションのI/O使用率に余裕があるかどうかを判定し(ステップ7207)、余裕がある場合にはシステムのI/O割当を調整し、性能ネックになっているパーティションのI/O割当を増加させる(ステップ7208)。CPUネックであると判定された場合も同様の処理を行う(ステップ7205、7206)。他のパーティションのCPUまたはI/O使用量に余裕がなく、必要なリソースの割当てを増やすことができなかった場合には、SLAを守ることができないことがログに記録される(7209)。この記録は、後刻ユーザに対して、SLAを守れなかった時間に対して返金または課金を割り引く処理などに使用される。
【0068】
以上述べた構成により、複数のパーティションを持ったシステムにおいて、各パーティションのI/Oの割当てを動的に変更する事を可能にするとともに、上記機構を用いてパーティションで実行しているユーザプログラムのSLA保持を実現する。
<変形例>
本発明は以上の実施の形態に限定されず、いろいろな変形例に適用可能である。(1)例えば、以上の実施の形態においては、アクセスパーティション判定回路110において、アクセスされたアドレスからアクセスされたパーティションを判断していたが、
・チップセットからI/Oアダプタへの信号110bにパーティション番号を示すビットを追加する、
・アダプタ側のアクセスパーティション判定回路110の内部に、アクセスパーティション番号を明にセットするレジスタを設ける(この場合、I/Oを起動する前に、OSまたはパーティション制御プログラムが上記レジスタをセットする)、
のように、明示的にパーティションを指示する方式も可能である。
(2)また、以上の実施の形態において、送・受信割当てレジスタ(150)では、送信、受信に共通に上限パケット数を記憶していたが、送信用と受信用別々に上限パケット数を記憶することにより、送信、受信のI/O割当てを別個に制御することが可能である。
(3)また、以上の実施の形態においては、各パーティションの入出力をパケット毎に切り替えていたが、タイムスライスにより、一定時間毎に切り替えることも可能である。その場合、送受信ネットワークにおいて、パーティション毎のバーチャル・チャネル制御が必要になる。
(4)また、以上の実施の形態においては、送受信割当てレジスタ150は各パーティションが連続して送受信できるパケット数という、単純なパラメータを記憶しているが、送信スケジューラ140等に機能を追加することにより、より複雑な制御を行うことが可能である。
【0069】
例えば、あるパーティションが連続して送信できるサイクル数を分数で記憶し、図3において、複数の繰り返しで1回該当するパーティションのデータ送受信を行う、等の制御が可能である。
(5)また、以上の実施の形態においては、送受信のスケジューリングをハードウェア140、190、150で行わせていたが、1パケット送信する毎にハイパバイザやSVP等のパーティション制御プログラムに割込み、パーティション制御プログラムがソフト的にI/Oのスケジューリングを行う方式も可能である。
(6)また、以上の実施の形態においては、SLAに基づき、パーティションへのI/O割当てを判断する主体が、パーティション制御プログラムであったが、パーティション制御プログラムの外部のプログラム(ポリシ制御プログラム)でI/O割当て条件を判断し、パーティション制御プログラムに実際のI/O割当ての変更を依頼する方法をとることも可能である。さらに、該当する計算機の外部の計算機(ポリシサーバ等)でシステム全体のSLAを判断し、パーティション制御プログラムにI/O割当ての変更を依頼する方法も可能である。
【0070】
上記の場合、外部のサーバからパーティション制御プログラムに対しI/Oの割当ての変更を指示するために、システム内の各パーティションに対するI/O割当て量のリストを与えるAPIが必要になる。上記のAPIを用いることにより、外部のプログラムから強制的にシステムの各パーティションのI/O割当てを変更することが可能になる。
【0071】
【発明の効果】
本発明によれば、パーティションに分けられた計算機において、各パーティションに割当てられるI/O能力を、時分割、空間分割等の方法によって制御する手段を、I/Oアダプタとパーティション制御プログラムに持たせる。それにより、各パーティションへのI/O割当てをCPU割当てとは独立に制御するとともに、動的に変更することを可能にする。さらに、I/O割当ての動的変更により、パーティション上のユーザプログラムのSLA保持を実現する。
【図面の簡単な説明】
【図1】本発明の一実施の形態を示す計算機のブロック図。
【図2】I/O割当ての例を示す説明図。
【図3】本発明の一実施の形態における送信スケジューラの動作フロー図。
【図4】本発明の一実施の形態における送受信割当てレジスタの説明図。
【図5】本発明の一実施の形態における受信スケジューラの動作フロー図。
【図6】本発明の一実施の形態におけるアクセスパーティション判定回路のブロック図。
【図7】本発明の一実施の形態におけるコントロールレジスタ群を示すブロック図。
【図8】本発明の一実施の形態における送信回路のブロック図。
【図9】本発明の一実施の形態における送信側DMACの動作フロー図。
【図10】本発明の一実施の形態における受信回路のブロック図。
【図11】本発明の一実施の形態における受信側DMACの動作フロー図。
【図12】本発明の一実施の形態におけるアダプタTLBの構成例を示す説明図。
【図13】本発明の一実施の形態におけるI/Oパケットのフォーマット例を示す説明。
【図14】本発明の一実施の形態における受信バッファの説明図。
【図15】本発明の一実施の形態におけるモニタリング手段の説明図。
【図16】本発明の一実施の形態における空間分割しているI/Oアダプタをパーティション間で移動する場合の処理フロー図。
【図17】本発明の一実施の形態におけるコンソールからI/O割当てを変更する場合のコンソール画面の説明図。
【図18】本発明の一実施の形態における設定ファイルによりI/O割当てを予約する場合の設定ファイルの構成例を示す説明図。
【図19】本発明の一実施の形態におけるI/O割当てを自動変更する処理フロー図。
【図20】本発明の一実施の形態におけるSLAを保証するための処理フロー図。
【符号の説明】
10…CPU、11…CPU、12…CPU、20…チップセット、30…主記憶、100…I/Oアダプタ、101…I/Oアダプタ、100a…外部I/Oネットワーク。
Claims (5)
- 1つ以上のCPUと、主記憶と、ネットワークに対してIOデータを送受信するIOアダプタとを有し、当該CPU、主記憶およびIOアダプタを複数のロジカルパーティションに論理的に分割して割り当てて動作させることが可能な計算機において、
前記IOアダプタは、
前記主記憶上に格納された情報をパケットサイズに分割して前記ネットワークに送信する送信回路と、
前記ネットワークから受信したパケットを前記主記憶に格納する受信回路と、
前記送信回路から送信されるパケットの数を制御する送信スケジューラと、
前記受信回路により受信されるパケットの数を制御する受信スケジューラと、
前記送信回路ないし受信回路から連続して送信ないし受信可能なパケット数を前記複数のロジカルパーティション毎に格納した送受信割り当てレジスタとを有し、
前記送信スケジューラは、前記複数のロジカルパーティションに割り当てられたIOアダプタからの送信パケット数が、前記送受信割り当てレジスタに格納された値を越えた場合には、当該ロジカルパーティションに属するパケットの送信を停止し、他のロジカルパーティションに属するパケット送信を開始することを特徴とする計算機。 - 前記ロジカルパーティションに対応して、当該ロジカルパーティションの入出力性能を測定する手段を設けたことを特徴とする請求項1記載の計算機。
- 前記計算機のオペレータが、前記連続して送信ないし受信可能なパケット数を指示するための手段を備えたことを特徴とする請求項1記載の計算機。
- パーティションの入出力割当てを増加させた時間を記録する手段、上記記録に基づき、上記パーティションのユーザへの課金を割り増す手段を設けたことを特徴とする請求項1記載の計算機。
- 各パーティションの入出力割当量を、上記パーティションへのCPU割当量と比例させて変更する手段を設けたことを特徴とする請求項1記載の計算機。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001015196A JP4214682B2 (ja) | 2001-01-24 | 2001-01-24 | 計算機およびその入出力手段 |
US09/941,734 US7281249B2 (en) | 2001-01-24 | 2001-08-30 | Computer forming logical partitions |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001015196A JP4214682B2 (ja) | 2001-01-24 | 2001-01-24 | 計算機およびその入出力手段 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002215408A JP2002215408A (ja) | 2002-08-02 |
JP4214682B2 true JP4214682B2 (ja) | 2009-01-28 |
Family
ID=18881788
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001015196A Expired - Fee Related JP4214682B2 (ja) | 2001-01-24 | 2001-01-24 | 計算機およびその入出力手段 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7281249B2 (ja) |
JP (1) | JP4214682B2 (ja) |
Families Citing this family (67)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7748005B2 (en) * | 2000-01-28 | 2010-06-29 | Hewlett-Packard Development Company, L.P. | System and method for allocating a plurality of resources between a plurality of computing domains |
US20030131042A1 (en) * | 2002-01-10 | 2003-07-10 | International Business Machines Corporation | Apparatus and method of sharing a device between partitions of a logically partitioned computer system |
US7065628B2 (en) * | 2002-05-29 | 2006-06-20 | Intel Corporation | Increasing memory access efficiency for packet applications |
US20030236852A1 (en) * | 2002-06-20 | 2003-12-25 | International Business Machines Corporation | Sharing network adapter among multiple logical partitions in a data processing system |
US7085862B2 (en) * | 2003-03-13 | 2006-08-01 | International Business Machines Corporation | Apparatus and method for controlling resource transfers in a logically partitioned computer system by placing a resource in a power on reset state when transferring the resource to a logical partition |
US20040202185A1 (en) * | 2003-04-14 | 2004-10-14 | International Business Machines Corporation | Multiple virtual local area network support for shared network adapters |
US7698700B2 (en) * | 2003-04-17 | 2010-04-13 | International Business Machines Corporation | System quiesce for concurrent code updates |
US7325062B2 (en) * | 2003-04-30 | 2008-01-29 | International Business Machines Corporation | Method and system for automated adapter reallocation and optimization between logical partitions |
US7472246B2 (en) * | 2003-04-30 | 2008-12-30 | International Business Machines Corporation | Method and system for automated memory reallocating and optimization between logical partitions |
US7478393B2 (en) * | 2003-04-30 | 2009-01-13 | International Business Machines Corporation | Method for marketing to instant messaging service users |
US7519725B2 (en) | 2003-05-23 | 2009-04-14 | International Business Machines Corporation | System and method for utilizing informed throttling to guarantee quality of service to I/O streams |
US8055838B2 (en) * | 2003-07-22 | 2011-11-08 | International Business Machines Corporation | Apparatus and method for autonomically suspending and resuming logical partitions when I/O reconfiguration is required |
US20050216716A1 (en) * | 2004-03-29 | 2005-09-29 | Hoffman Philip M | System and method for licensing and distribution of I/O in partitioned computer systems |
JP2005309644A (ja) * | 2004-04-20 | 2005-11-04 | Hitachi Ltd | リソース制御方法及びそのシステム |
US7257811B2 (en) * | 2004-05-11 | 2007-08-14 | International Business Machines Corporation | System, method and program to migrate a virtual machine |
US8914606B2 (en) | 2004-07-08 | 2014-12-16 | Hewlett-Packard Development Company, L.P. | System and method for soft partitioning a computer system |
US20060034167A1 (en) * | 2004-07-30 | 2006-02-16 | International Business Machines Corporation | Communication resource reservation system for improved messaging performance |
US20060123204A1 (en) * | 2004-12-02 | 2006-06-08 | International Business Machines Corporation | Method and system for shared input/output adapter in logically partitioned data processing system |
US20060123111A1 (en) * | 2004-12-02 | 2006-06-08 | Frank Dea | Method, system and computer program product for transitioning network traffic between logical partitions in one or more data processing systems |
US7228255B2 (en) | 2004-12-22 | 2007-06-05 | International Business Machines Corporation | Adjudication means in method and system for managing service levels provided by service providers |
US7555408B2 (en) | 2004-12-22 | 2009-06-30 | International Business Machines Corporation | Qualifying means in method and system for managing service levels provided by service providers |
CN1855932A (zh) | 2004-12-22 | 2006-11-01 | 国际商业机器公司 | 管理服务供应商提供的服务等级的系统与方法 |
US7308551B2 (en) * | 2005-02-25 | 2007-12-11 | International Business Machines Corporation | System and method for managing metrics table per virtual port in a logically partitioned data processing system |
US7685335B2 (en) * | 2005-02-25 | 2010-03-23 | International Business Machines Corporation | Virtualized fibre channel adapter for a multi-processor data processing system |
US7464191B2 (en) * | 2005-02-25 | 2008-12-09 | International Business Machines Corporation | System and method for host initialization for an adapter that supports virtualization |
US7398337B2 (en) * | 2005-02-25 | 2008-07-08 | International Business Machines Corporation | Association of host translations that are associated to an access control level on a PCI bridge that supports virtualization |
US7398328B2 (en) * | 2005-02-25 | 2008-07-08 | International Business Machines Corporation | Native virtualization on a partially trusted adapter using PCI host bus, device, and function number for identification |
US7493425B2 (en) * | 2005-02-25 | 2009-02-17 | International Business Machines Corporation | Method, system and program product for differentiating between virtual hosts on bus transactions and associating allowable memory access for an input/output adapter that supports virtualization |
US20060195617A1 (en) * | 2005-02-25 | 2006-08-31 | International Business Machines Corporation | Method and system for native virtualization on a partially trusted adapter using adapter bus, device and function number for identification |
US7543084B2 (en) * | 2005-02-25 | 2009-06-02 | International Business Machines Corporation | Method for destroying virtual resources in a logically partitioned data processing system |
US20060212870A1 (en) * | 2005-02-25 | 2006-09-21 | International Business Machines Corporation | Association of memory access through protection attributes that are associated to an access control level on a PCI adapter that supports virtualization |
US20060195623A1 (en) * | 2005-02-25 | 2006-08-31 | International Business Machines Corporation | Native virtualization on a partially trusted adapter using PCI host memory mapped input/output memory address for identification |
US7870301B2 (en) * | 2005-02-25 | 2011-01-11 | International Business Machines Corporation | System and method for modification of virtual adapter resources in a logically partitioned data processing system |
US20060195848A1 (en) * | 2005-02-25 | 2006-08-31 | International Business Machines Corporation | System and method of virtual resource modification on a physical adapter that supports virtual resources |
US7546386B2 (en) * | 2005-02-25 | 2009-06-09 | International Business Machines Corporation | Method for virtual resource initialization on a physical adapter that supports virtual resources |
US20060195618A1 (en) * | 2005-02-25 | 2006-08-31 | International Business Machines Corporation | Data processing system, method, and computer program product for creation and initialization of a virtual adapter on a physical adapter that supports virtual adapter level virtualization |
US7376770B2 (en) * | 2005-02-25 | 2008-05-20 | International Business Machines Corporation | System and method for virtual adapter resource allocation matrix that defines the amount of resources of a physical I/O adapter |
US7386637B2 (en) * | 2005-02-25 | 2008-06-10 | International Business Machines Corporation | System, method, and computer program product for a fully trusted adapter validation of incoming memory mapped I/O operations on a physical adapter that supports virtual adapters or virtual resources |
US7496790B2 (en) * | 2005-02-25 | 2009-02-24 | International Business Machines Corporation | Method, apparatus, and computer program product for coordinating error reporting and reset utilizing an I/O adapter that supports virtualization |
US20060193327A1 (en) * | 2005-02-25 | 2006-08-31 | International Business Machines Corporation | System and method for providing quality of service in a virtual adapter |
US7480742B2 (en) * | 2005-02-25 | 2009-01-20 | International Business Machines Corporation | Method for virtual adapter destruction on a physical adapter that supports virtual adapters |
US7475166B2 (en) * | 2005-02-28 | 2009-01-06 | International Business Machines Corporation | Method and system for fully trusted adapter validation of addresses referenced in a virtual host transfer request |
JP4711709B2 (ja) * | 2005-03-18 | 2011-06-29 | 富士通株式会社 | パーティション割り振り方法及びコンピュータシステム |
US20060259733A1 (en) * | 2005-05-13 | 2006-11-16 | Sony Computer Entertainment Inc. | Methods and apparatus for resource management in a logically partitioned processing environment |
US20160098279A1 (en) * | 2005-08-29 | 2016-04-07 | Searete Llc | Method and apparatus for segmented sequential storage |
JP4394624B2 (ja) * | 2005-09-21 | 2010-01-06 | 株式会社日立製作所 | 計算機システム及びi/oブリッジ |
US7657675B1 (en) * | 2005-10-17 | 2010-02-02 | Unisys Corporation | Dynamic distribution of I/O resources in a partitioned computer system |
US20070136554A1 (en) * | 2005-12-12 | 2007-06-14 | Giora Biran | Memory operations in a virtualized system |
US8677034B2 (en) | 2006-04-28 | 2014-03-18 | Hewlett-Packard Development Company, L.P. | System for controlling I/O devices in a multi-partition computer system |
JP4961833B2 (ja) * | 2006-05-19 | 2012-06-27 | 日本電気株式会社 | クラスタシステム、負荷分散方法、最適化クライアントプログラム、及び調停サーバプログラム |
US7872657B1 (en) * | 2006-06-16 | 2011-01-18 | Nvidia Corporation | Memory addressing scheme using partition strides |
JP4996929B2 (ja) * | 2007-01-17 | 2012-08-08 | 株式会社日立製作所 | 仮想計算機システム |
JP4636625B2 (ja) * | 2008-01-25 | 2011-02-23 | 株式会社日立情報システムズ | 仮想ネットワークシステムのnic接続制御方法と仮想ネットワークのnic接続制御システムおよびプログラム |
JP5262404B2 (ja) * | 2008-08-04 | 2013-08-14 | 株式会社日立製作所 | 複合型計算機及び複合型計算機の制御方法 |
US8195859B2 (en) * | 2008-12-03 | 2012-06-05 | Hitachi, Ltd. | Techniques for managing processor resource for a multi-processor server executing multiple operating systems |
JP5136658B2 (ja) * | 2009-02-09 | 2013-02-06 | 富士通株式会社 | 仮想計算機の割当方法及び割当プログラム並びに仮想計算機環境を有する情報処理装置 |
JP4947081B2 (ja) * | 2009-03-30 | 2012-06-06 | 日本電気株式会社 | パススルーi/oデバイスを伴うlparの動的マイグレーション装置、その方法及びそのプログラム |
US8135934B2 (en) * | 2009-05-28 | 2012-03-13 | International Business Machines Corporation | Dynamically allocating limited system memory for DMA among multiple adapters |
JP5555903B2 (ja) * | 2010-09-27 | 2014-07-23 | 株式会社日立製作所 | I/oアダプタ制御方法、計算機及び仮想計算機生成方法 |
KR101867960B1 (ko) * | 2012-01-05 | 2018-06-18 | 삼성전자주식회사 | 매니 코어 시스템을 위한 운영체제 동적 재구성 장치 및 방법 |
US20140130055A1 (en) * | 2012-02-14 | 2014-05-08 | Aloke Guha | Systems and methods for provisioning of storage for virtualized applications |
US9271229B2 (en) * | 2012-07-20 | 2016-02-23 | The Trustees Of Columbia University In The City Of New York | Methods, systems, and media for partial downloading in wireless distributed networks |
FR3000250B1 (fr) * | 2012-12-20 | 2015-02-13 | Thales Sa | Systeme de processeur multi-coeurs de traitement d'informations |
JP6345604B2 (ja) | 2014-01-27 | 2018-06-20 | アラクサラネットワークス株式会社 | 通信装置、拡張機能の移動方法、及び通信システム |
US9342372B1 (en) | 2015-03-23 | 2016-05-17 | Bmc Software, Inc. | Dynamic workload capping |
US9680657B2 (en) | 2015-08-31 | 2017-06-13 | Bmc Software, Inc. | Cost optimization in dynamic workload capping |
WO2017203647A1 (ja) * | 2016-05-26 | 2017-11-30 | 株式会社日立製作所 | 計算機及びi/oアダプタの割当管理方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5414851A (en) | 1992-06-15 | 1995-05-09 | International Business Machines Corporation | Method and means for sharing I/O resources by a plurality of operating systems |
US6279098B1 (en) * | 1996-12-16 | 2001-08-21 | Unisys Corporation | Method of and apparatus for serial dynamic system partitioning |
US6226734B1 (en) | 1998-06-10 | 2001-05-01 | Compaq Computer Corporation | Method and apparatus for processor migration from different processor states in a multi-processor computer system |
US6763519B1 (en) * | 1999-05-05 | 2004-07-13 | Sychron Inc. | Multiprogrammed multiprocessor system with lobally controlled communication and signature controlled scheduling |
-
2001
- 2001-01-24 JP JP2001015196A patent/JP4214682B2/ja not_active Expired - Fee Related
- 2001-08-30 US US09/941,734 patent/US7281249B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002215408A (ja) | 2002-08-02 |
US20020112102A1 (en) | 2002-08-15 |
US7281249B2 (en) | 2007-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4214682B2 (ja) | 計算機およびその入出力手段 | |
US20200241927A1 (en) | Storage transactions with predictable latency | |
US11748278B2 (en) | Multi-protocol support for transactions | |
Ramakrishnan | Performance considerations in designing network interfaces | |
US6085215A (en) | Scheduling mechanism using predetermined limited execution time processing threads in a communication network | |
KR100817676B1 (ko) | 동적 클래스-기반 패킷 스케쥴링 방법 및 장치 | |
CN107995129B (zh) | 一种nfv报文转发方法和装置 | |
US8392565B2 (en) | Network memory pools for packet destinations and virtual machines | |
US8996756B2 (en) | Using process location to bind IO resources on NUMA architectures | |
US10198294B2 (en) | Handling tenant requests in a system that uses hardware acceleration components | |
US9769081B2 (en) | Buffer manager and methods for managing memory | |
US20040054857A1 (en) | Method and system for allocating bandwidth | |
US9405725B2 (en) | Writing message to controller memory space | |
US10852990B2 (en) | Hybrid framework of NVMe-based storage system in cloud computing environment | |
US20070277179A1 (en) | Information Processing Apparatus, Communication Processing Method, And Computer Program | |
US11579803B2 (en) | NVMe-based data writing method, apparatus, and system | |
US20140068165A1 (en) | Splitting a real-time thread between the user and kernel space | |
KR20220084844A (ko) | 스토리지 장치 및 스토리지 장치의 동작 방법 | |
JP2019079348A (ja) | 通信処理装置、プログラム、および通信処理方法 | |
US10705985B1 (en) | Integrated circuit with rate limiting | |
JP2008181387A (ja) | I/oバスシステム及びその管理方法 | |
CN114675972A (zh) | 基于积分算法的云网络资源弹性调度方法及系统 | |
Lakshmi et al. | I/O Device Virtualization in the multi-core era, a QoS perspective | |
Liu et al. | QoS-aware I/O schedule for virtual machines in cloud computing environment | |
US20240104468A1 (en) | Maintenance background task regulation using feedback from instrumented waiting points |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060418 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060525 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080131 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080219 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080418 |
|
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: 20081014 |
|
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: 20081027 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111114 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111114 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121114 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121114 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131114 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |