JP2008181387A - I/o bus system and its management method - Google Patents
I/o bus system and its management method Download PDFInfo
- Publication number
- JP2008181387A JP2008181387A JP2007014964A JP2007014964A JP2008181387A JP 2008181387 A JP2008181387 A JP 2008181387A JP 2007014964 A JP2007014964 A JP 2007014964A JP 2007014964 A JP2007014964 A JP 2007014964A JP 2008181387 A JP2008181387 A JP 2008181387A
- Authority
- JP
- Japan
- Prior art keywords
- group
- bus system
- data
- traffic
- performance index
- 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.)
- Pending
Links
- 238000007726 management method Methods 0.000 title claims description 132
- 238000000034 method Methods 0.000 claims description 41
- 238000012544 monitoring process Methods 0.000 claims description 28
- 238000012545 processing Methods 0.000 claims description 23
- 238000012546 transfer Methods 0.000 claims description 23
- 238000013468 resource allocation Methods 0.000 claims description 21
- 238000006243 chemical reaction Methods 0.000 claims description 17
- 238000003860 storage Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 15
- 238000005259 measurement Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 8
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 description 7
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 description 7
- 230000005856 abnormality Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000015556 catabolic process Effects 0.000 description 3
- 238000006731 degradation reaction Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 235000019580 granularity Nutrition 0.000 description 3
- 238000005538 encapsulation Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
本発明は、CPUとI/Oデバイスを接続するI/Oバスシステム及びその管理方法に関し、I/Oデバイスの使用状況を管理することができるI/Oバスシステム及びその管理方法に関する。 The present invention relates to an I / O bus system for connecting a CPU and an I / O device and a management method thereof, and more particularly to an I / O bus system capable of managing the usage status of an I / O device and a management method thereof.
従来、この種のI/Oバスシステムに関連する技術として、例えば特許文献1に記載されるアービタにより各機能ブロックに割り当てるバス占有時間をモニタ及び制御するバスシステムがある。
Conventionally, as a technology related to this type of I / O bus system, for example, there is a bus system that monitors and controls a bus occupation time allocated to each functional block by an arbiter described in
図17は、特許文献1に記載されるバスシステムの構成を示すブロック図である。図17に示すバスシステムは、CPU920、アービタ910及びI/Oデバイス941−943がI/Oバス930に接続されている。アービタ910は、バスモニタ部911、デバイス情報管理部912及びバス使用権管理部913から構成される。
FIG. 17 is a block diagram showing the configuration of the bus system described in
バスモニタ部911は、I/Oバス930をモニタし、I/Oデバイスバス941−943を占有しているクロック数とデータ転送長を取得する。デバイス情報管理部912は、バスモニタ部911が取得したクロック数とデータ転送長からI/Oデバイス941−943が占有している実質帯域を計算し、この実質帯域に応じてバス占有時間を決定する。バス使用権管理部913は、デバイス情報管理部912が決定したバス占有時間に従い各I/Oデバイスに対してバスの使用権を与える。
The
次に上記I/Oバスシステムの動作を説明する。バスモニタ部911は、I/Oバス930をモニタし、それぞれのI/OデバイスがI/Oバスを占有しているクロック数とその間のデータ転送長を取得し、このクロック数とデータ転送長を、デバイス情報管理部912へ通知する。デバイス情報管理部912は、クロック数とデータ転送長から実際にI/Oデバイスが使用した実質帯域を計算する。実質帯域の計算の結果、例えば、I/Oデバイス941の実質帯域が、この時点での割当帯域より小さく、I/Oデバイス942の実質帯域が割当帯域より大きい場合は、デバイス情報管理部912は、I/Oデバイス941のバス占有時間を短縮し、I/Oデバイス942のバス占有時間を拡大する。この新たに決定したバス占有時間を、デバイス情報管理部912は、バス使用権管理部913へ通知する。バス使用権管理部913は、デバイス情報管理部912が決定したバス占有時間に従い、各I/Oデバイスに対してバスの使用権を与える。
Next, the operation of the I / O bus system will be described. The
以上の動作により、実際に利用されているバス帯域をモニタし、その結果に応じて各I/Oデバイスのバス占有時間を制御することができる。 With the above operation, the bus bandwidth actually used can be monitored, and the bus occupation time of each I / O device can be controlled according to the result.
また、特許文献2には、複数のアクセスモジュールを光バスで接続するATMスイッチにおいて、複数のアクセスモジュールを、グループ毎のトラヒック量が均等になるように、複数のグループに分割することの記載がある。特許文献3には、LAN制御装置と複数のハブ装置とが二本のバスに接続され、LAN制御装置はハブ装置を複数をグループに分け、バスを介したトラヒックを監視し、トラヒックに応じてグループ分割数を決定することの記載がある。しかし、特許文献2及び3ではデータをデータの内容(アプリケーションや仮想マシン単位等)でグループ化していない。
また特許文献4には、通信性能測定装置が計数用パケットを一定時間間隔で送受信しラウンドトリップタイムを測定し、直前のラウンドトリップタイムよりも長くなる割合を調査し、その割合に基づいてネットワーク経路の利用可能帯域幅が予め規定された値を超えているかを判断する性能判定を行うことの記載がある。特許文献5には、評価サーバがネットワーク上の測定ポイントでパス帯域幅、スループット、グッドプット、パケット損失レート等の性能評価量の組を生成することの記載がある。しかし、モニタしたトラヒック情報をグループ対象の種類に応じた性能指標へ変換することの記載はない。
上述したI/Oバスシステムでは、以下のような課題が存在する。
第1の課題は、複数のI/Oデバイスを組み合わせて動作する仮想マシンやアプリケーション単位での性能管理ができないことである。
The I / O bus system described above has the following problems.
The first problem is that performance management cannot be performed in units of virtual machines or applications that operate in combination with a plurality of I / O devices.
その理由は、管理対象がI/Oデバイス単位であるためである。 The reason is that the management target is an I / O device unit.
第2の課題は、I/Oデバイス以外の粒度で帯域を測定しようとするとCPUの負荷を消費することである。例えば、仮想化技術によりCPU上で複数の仮想マシンが動作している場合に、仮想マシンごとのI/Oデバイスの使用状況を把握しようとするとCPUの負荷を消費してしまうことである。 The second problem is that the CPU load is consumed when the bandwidth is measured with a granularity other than the I / O device. For example, when a plurality of virtual machines are operating on the CPU by the virtualization technology, it is necessary to consume the CPU load when trying to grasp the usage status of the I / O device for each virtual machine.
その理由は、仮想マシンごとのI/Oデバイスの使用状況をモニタするために、CPU上で動作している仮想化ソフトウェア内のスケジューラをモニタする必要があるためである。 The reason is that it is necessary to monitor the scheduler in the virtualization software running on the CPU in order to monitor the usage status of the I / O device for each virtual machine.
第3の課題は、I/Oデバイス以外の粒度で帯域を測定しようとすると測定精度が低くなることである。例えば、仮想化技術によりCPU上で複数の仮想マシンが動作している場合に、仮想マシンごとのI/Oデバイスの性能状況を把握しようとすると測定精度が低くなるということである。 A third problem is that measurement accuracy is lowered when a band is measured with a granularity other than that of an I / O device. For example, when a plurality of virtual machines are operating on the CPU by the virtualization technology, the measurement accuracy is lowered when trying to grasp the performance status of the I / O device for each virtual machine.
その理由は、仮想マシンとI/Oデバイスの関連付けを仮想化ソフトウェアが行うためである。一般的にソフトウェア処理はOSが制御可能なタイマ精度に依存する。OSで制御可能なタイマ精度が低いため、仮想マシンごとのI/Oデバイスの使用状況の測定精度も低くなる。 The reason is that the virtualization software associates the virtual machine with the I / O device. In general, software processing depends on timer accuracy controllable by the OS. Since the timer accuracy that can be controlled by the OS is low, the measurement accuracy of the usage status of the I / O device for each virtual machine is also low.
第4の課題は、複数のI/Oデバイスが存在し、I/Oデバイスの使用状況に偏りがある場合に、システム全体としてI/Oデバイスの使用効率を向上させることができないことである。 A fourth problem is that when there are a plurality of I / O devices and the usage status of the I / O devices is biased, the usage efficiency of the I / O devices cannot be improved as a whole system.
その理由は、制御できる項目がトラヒック帯域であるため、アプリケーションや仮想マシンに割り当てられたI/Oデバイスを変更する手段が設けられていないためである。
(本発明の目的)
本発明の目的は、I/Oデバイスの使用状況を精度よく測定できるI/Oバスシステムを提供することにある。
The reason for this is that the controllable item is the traffic band, and no means for changing the I / O device assigned to the application or virtual machine is provided.
(Object of the present invention)
An object of the present invention is to provide an I / O bus system capable of accurately measuring the usage status of an I / O device.
また、本発明の他の目的は、CPU負荷を抑えてI/Oデバイスの使用状況を測定できるI/Oバスシステムを提供することにある。 Another object of the present invention is to provide an I / O bus system capable of measuring the usage status of an I / O device while suppressing the CPU load.
さらに、本発明の他の目的は、仮想マシンごとやアプリケーションごとのような様々な対象ごとに性能状況を測定できるI/Oバスシステムを提供することにある。 Furthermore, another object of the present invention is to provide an I / O bus system capable of measuring the performance status for each of various objects such as each virtual machine or each application.
さらに、本発明の他の目的は、I/Oデバイスの使用状況に偏りがある場合でも、システム全体としてI/Oデバイスの使用効率を向上させることができるI/Oバスシステムを提供することにある。 Furthermore, another object of the present invention is to provide an I / O bus system capable of improving the usage efficiency of an I / O device as a whole system even when the usage status of the I / O device is biased. is there.
本発明のI/Oバスシステムは、CPUとI/Oデバイス間でデータを転送するI/Oバスシステムであって、
転送される前記データをモニタし、モニタしたデータの内容に応じてグループ化し、グループのグループIDを前記データに付与するグループID設定手段と、前記グループID設定手段で付与されたグループIDごとにトラヒックをモニタするトラヒックモニタ手段と、を備えたことを特徴とする。
The I / O bus system of the present invention is an I / O bus system for transferring data between a CPU and an I / O device,
The data to be transferred is monitored, grouped according to the contents of the monitored data, and a group ID setting means for assigning a group ID of the group to the data, and traffic for each group ID assigned by the group ID setting means And a traffic monitor means for monitoring the traffic.
本発明のI/Oバスシステム管理方法は、CPUとI/Oデバイス間でデータを転送するI/OバスシステムのI/Oバスシステム管理方法において、
転送される前記データの内容をモニタし、モニタしたデータの内容に応じてグループ化し、設定されたグループを単位としてトラヒックをモニタすることを特徴とする。
An I / O bus system management method of the present invention is an I / O bus system management method for an I / O bus system that transfers data between a CPU and an I / O device.
The contents of the data to be transferred are monitored, grouped according to the contents of the monitored data, and traffic is monitored in units of set groups.
本発明によれば、アプリケーションや仮想マシンごとにグループ化された単位での性能を測定できることである。その理由は、アプリケーションや仮想マシンごとにグループを割り当て、グループごとのトラヒックをモニタしているためである。 According to the present invention, the performance in units grouped for each application or virtual machine can be measured. The reason is that a group is assigned to each application or virtual machine, and traffic for each group is monitored.
次に、発明を実施するための最良の形態について図面を参照して説明する。 Next, the best mode for carrying out the invention will be described with reference to the drawings.
[第1の実施形態]
図1を参照すると、本実施形態のI/Oバスシステム1は、グループID設定手段となるグループID設定部113a−113f、トラヒックモニタ手段となるトラヒックモニタ部140を含んで構成される。I/Oバスシステム1は、CPU101a−101c及びI/Oデバイス102−104に接続される。
[First Embodiment]
Referring to FIG. 1, the I /
グループID設定手段113a−113fは、CPU101a−101cとI/Oデバイス102−104間とで転送される転送データの内容をモニタし、モニタしたデータ内容を予め設定されたグループ化条件に基づき、割り当てるグループIDを決定し、データにグループID(グループ識別子)を付与する。トラヒックモニタ部140は、付与されたグループIDに基づいてグループごとにトラヒックをモニタする。ここでは詳述しないが、モニタされたトラヒックに基づいて、公知の手法を用いてグループごとにトラヒックを制御することができる。トラヒックをモニタするための実現方法としては、例えば、EthernetのVLAN(Virtual LAN)を利用する方法がある。
The group ID setting means 113a-113f monitors the content of transfer data transferred between the
次にグループID設定部の構成について説明する。 Next, the configuration of the group ID setting unit will be described.
図2は、グループID設定部の構成例を示すブロック図である。なお、図2ではグループID設定部113a−113fのうちのグループID設定部113aの構成を示しているが、グループID設定部113b−113fも同様な構成である。
FIG. 2 is a block diagram illustrating a configuration example of the group ID setting unit. 2 shows the configuration of the group
図2において、グループID設定部113aは、データモニタ部151、グループID決定部152及びグループID付与部153から構成される。データモニタ部151は、転送データの内容をモニタする。グループID決定部152は、データモニタ部151によりモニタしたデータ内容を予め設定されたグループ化条件に基づき割り当てるグループIDを決定する。グループID付与部153は、決定されたグループIDをデータに付与する。
In FIG. 2, the group
次に、図1のグループID設定部の動作について、図3のフローチャートを参照して説明する。 Next, the operation of the group ID setting unit in FIG. 1 will be described with reference to the flowchart in FIG.
図3は、グループID設定部がグループIDを付与する動作を示したフローチャートである。 FIG. 3 is a flowchart showing an operation in which the group ID setting unit assigns a group ID.
グループID設定部113a−113fは、それぞれI/Oバスへ転送されるデータをモニタし(ステップS111)、データ内容がグループ条件と一致するか判断し(ステップS112)、グループ条件と一致した場合は一致したグループのグループIDをデータに付与する(ステップS113)。ステップS112において、グループ条件と一致しない場合はグループIDを付与せず、そのままデータを転送する(ステップS114)。
そして、トラヒックモニタ部140は、付与されたグループIDに基づいてグループごとにトラヒックをモニタする。
Each of the group
Then, the
次に、CPU101a−101c及びI/Oデバイス102−104をPCI Expressに対応させた場合の構成例について説明する。CPU101a−101c及びI/Oデバイス102−104はPCI Expressのアドレス(バス番号、デバイス番号)を有し、グループID設定部113a−113fはEthernet(登録商標)のMACアドレスを有する。初期設定時などにPCI ExpressのアドレスをEthernetフレームにカプセル化して送信することで、これら2つのアドレスの対応関係を取得することができる。
Next, a configuration example in the case where the
トラヒックモニタ部140は、ソフトウェア処理でもよいがハードウェア処理を行えば高速な処理を行うことができる。
The
トラヒックモニタの対象としては、例えば、スイッチポート及びVLANごとの帯域、パケット損率及びパケットサイズがある。 The traffic monitor targets include, for example, a bandwidth for each switch port and VLAN, a packet loss rate, and a packet size.
図4を参照すると、グループIDとしてVLAN IDを設定するグループID設定部113aの構成が示されている。グループID設定部113a以外のグループID設定部113b−113fもそれぞれ同様な構成を有している。
グループID設定部113aは、PCI Express処理部251、データモニタ部252、プロトコル変換部256、グループID処理部253、イーサーネット(Ethernet)処理部254(イーサーネットは登録商標)及び送受信部255で構成される。
Referring to FIG. 4, the configuration of a group
The group
PCI Express処理部251は、ネットワークへ送信する場合は、PCI Expressのヘッダ内容から宛先及び送信元を特定する識別子としてバス番号及びデバイス番号をモニタする。逆に、ネットワークから受信する場合は、宛先及び送信元のMACアドレスに応じたPCI Expressのバス番号及びデバイス番号を付与する。
When transmitting to the network, the PCI
データモニタ部252は、データの内容をモニタし、このデータを処理するアプリケーション及びコマンド種類を識別する。アプリケーションを識別する実現方法としては、例えば、データ内のTCPポート番号をモニタする方法がある。また、コマンド種類を識別する方法としては、例えば、ヘッダ内のコマンドタイプをモニタする方法がある。
The data monitor
図16はPCI Expressのヘッダフォーマットの構成を示す図である。図16のヘッダフォーマットの情報において、“R”は予約、未使用を示し、“Fmt”はパケットフォーマットの種類を示し、“Type”はパケットの命令種類を示し、“TC”はトラヒッククラスを示し、“TD”はTLPダイジェスト使用、未使用を示すビットであり、“EP”はデータ異常を示すビットであり、“Length”はパケット長を示し、“Bus Number”はバス番号を示し、“Device Number”はデバイス番号を示し、“Function Number”はファンクション番号を示す。ヘッダ情報の“Type”により、コマンドタイプ(コマンド種類)をモニタすることができ、“Bus Number”、“Device Number”、“Function Number”により、デバイス種類をモニタすることができる。 FIG. 16 is a diagram illustrating a configuration of a PCI Express header format. In the header format information of FIG. 16, “R” indicates reserved or unused, “Fmt” indicates the type of packet format, “Type” indicates the instruction type of the packet, and “TC” indicates the traffic class. , “TD” is a bit indicating whether or not a TLP digest is used, “EP” is a bit indicating data abnormality, “Length” indicates a packet length, “Bus Number” indicates a bus number, “Device” “Number” indicates a device number, and “Function Number” indicates a function number. The command type (command type) can be monitored by “Type” of the header information, and the device type can be monitored by “Bus Number”, “Device Number”, and “Function Number”.
この他にもデータ内容を識別する粒度として、PIO(Programmed IO)とDMA(Direct Memory Access)によるデータ転送方式、仮想マシンなどがある。
プロトコル変換部256は、CPU又はI/Oデバイス側のプロトコルとバス側のプロトコルの変換を行う。この変換の際には、図18に示すようなアドレス変換テーブルを参照する。図18に示したアドレス変換テーブルはCPU又はI/Oデバイス側のプロトコルとしてPCI Expressを、バス側ネットワークのアドレスとしてEthernetを利用する場合の例である。図18を参照すると、例えば、PCI ExpressでのバスID=1、デバイスID=1というアドレスにはEthernetの00:11:22:33:44:55というアドレスが対応することがわかる。
As other granularities for identifying data contents, there are a data transfer method using PIO (Programmed IO) and DMA (Direct Memory Access), a virtual machine, and the like.
The
VLAN ID処理部253は、モニタしたデータ内容とグループ管理テーブルのグループ条件にもとづいてデータに付与するVLAN IDを決定する。
The VLAN
Ethernet処理部254は、Ethernetの宛先の付与及び送信元アドレスのモニタを行い、VLAN IDを付与又は除去する。
The
送受信部255は、ネットワークのプロトコルの規格に従い、データの送受信を行う。 The transmission / reception unit 255 transmits / receives data in accordance with network protocol standards.
グループ管理テーブルの内容を図5に示す。図5に示すグループID管理テーブルは、グループIDとしてのVLAN ID、そのグループに属するためのグループ条件及びグループに割り当てられる帯域が登録されている。図5をみると、第1行目は、TCPポート番号=54321のデータに対してVLAN ID=11が割り当てられることがわかる。またVLAN ID=21のように、複数の条件を組み合わせて条件を定義してもよい。また、VLAN ID=31のように、条件の定義はAND、OR、NOT等どのような条件であってもよい。また、VLAN条件ごとに優先度を設定することで、一つのデータが複数のVLANの条件を満足する場合であっても、どのVLAN IDを割り当てるか決定することができる。 The contents of the group management table are shown in FIG. In the group ID management table shown in FIG. 5, a VLAN ID as a group ID, a group condition for belonging to the group, and a band allocated to the group are registered. Referring to FIG. 5, it can be seen that VLAN ID = 11 is assigned to the data of TCP port number = 54321 in the first line. Further, a condition may be defined by combining a plurality of conditions such as VLAN ID = 21. Further, the condition definition may be any condition such as AND, OR, NOT, etc., such as VLAN ID = 31. Also, by setting the priority for each VLAN condition, it is possible to determine which VLAN ID is to be assigned even when one piece of data satisfies a plurality of VLAN conditions.
次に、CPU101a−101c及びI/Oデバイス102−104をPCI Expressに対応させた場合の構成例の動作を説明する。
Next, an operation of a configuration example when the
I/Oバスシステム1上を転送するデータとして、CPU101a上で動作しているデータベースアプリケーション(TCPポート番号54321を利用)からI/Oデバイス103(デバイスID=3)へ転送されるデータを考える。
As data to be transferred on the I /
はじめに、CPU101aからのデータはグループID設定部113aにおいて、図3の手順に従いVLAN IDが付与される。具体的には、データのTCPポート番号をモニタし(ステップS111)、その結果、TCPポート番号として54321を取得する。このTCPポート番号がグループ管理テーブル内のグループ条件と一致するVLAN IDがあるか検索し(ステップS112)、その結果、VLAN ID=11を決定する。Ethernet処理部254が、データに対してVLAN ID=11を付与して(ステップS113)Ethernetフレームにカプセル化してデータを転送する。このとき宛先アドレスとして、デバイスIDに対応するMACアドレスを検索し、付与する。グループ条件と一致しない場合はグループIDを付与せず、そのままデータを転送する(ステップS114)。
First, the data from the
そして、トラヒックモニタ部140が、VLANごとにトラヒックをモニタする。モニタしたトラヒック情報から、公知の手法を用いてグループごとにトラヒックを制御することができる。
Then, the
トラヒックモニタ部140は、VLAN ID=11の帯域を測定する。この結果、帯域が40Mbpsであると測定されたとする。次に、この測定した帯域を基準値と比較しアクセスが集中していないか判断する。基準値を満足すれば“ボトルネック無し“と判断する。基準値を満足していないときは、VLAN ID=11のグループ条件を参照し、”データベースソフトがボトルネック“と判断し、帯域を制御する。
The
上記説明では、性能劣化の有無に関わらずトラヒックを常にモニタしたが、アプリケーションや仮想マシンを使用中に特定のアプリケーションや仮想マシンの性能が劣化した場合には、そのアプリケーションや仮想マシンに関連するVLANを測定対象としてトラヒックモニタ部140に設定することにより、性能劣化の詳細な原因を特定することができる。例えば、科学計算ソフトウェアがデバイスID=2、3の2つのストレージを利用している場合は、それぞれのデバイスに対してVLAN ID=51、52を設定し、それぞれのVLANのトラヒックをモニタする。これにより、トラヒックに異常があるVLANに属するデバイスの性能が劣化していると特定することができる。
In the above description, traffic is constantly monitored regardless of whether there is performance degradation. However, if the performance of a specific application or virtual machine deteriorates while the application or virtual machine is in use, the VLAN associated with that application or virtual machine is used. Is set as the measurement target in the
なお、帯域は、負荷状況や管理ポリシーに応じて、帯域を増大・削減のどちらを選択するかを決めることができる。 Note that it is possible to decide whether to select to increase or reduce the bandwidth according to the load status or the management policy.
上記説明では、トラヒック情報として帯域を測定したが、本発明においてトラヒック情報は、帯域に限定するものではなく、パケット損率又はデータサイズを測定し、性能指標として利用することもできる。 In the above description, the bandwidth is measured as the traffic information. However, in the present invention, the traffic information is not limited to the bandwidth, and the packet loss rate or the data size can be measured and used as a performance index.
例えば、トラヒックモニタ部140がパケット損率を測定し、基準値を超えているVLANに対して割当帯域を増やすことにより、このVLANに割り当てられたアプリケーションの性能を改善することができる。
For example, the
また、NACKコマンドに対してVLANを割り当て、トラヒックモニタでこのVLANの帯域をモニタすることにより、NACKを多く発行しているデバイスを特定することで、エラー状態にあるデバイスを特定することができる。また、NACKに割り当てた帯域が一定値以上になったらデータ内容をモニタして更に詳細なエラー情報を取得するようにすることで、異常時には詳細な情報をモニタが可能で、正常時のモニタ負荷を削減できる。
上記説明では、PCI ExpressのデータをEthernetにカプセル化し、EthernetのVLANをグループIDとして利用したが、Ethernetへのカプセル化を省略し、PCI ExpressのデータのままグループIDをPCI Expressのヘッダ又はデータの特定箇所に付与し、トラヒックモニタ手段がその箇所をモニタし、グループごとのトラヒックをモニタしてもよい。
また、上記説明では、CPU及びI/Oデバイスが対応するプロトコルとしてPCI Expressを、スイッチが対応するプロトコルとしてEthernetを例に説明したが、本発明の特徴は特定プロトコルに限定されるものではないため、その他のプロトコルを使用しても本発明の効果を得ることができる。
Further, by assigning a VLAN to the NACK command and monitoring the VLAN bandwidth by a traffic monitor, it is possible to identify a device that has issued many NACKs, thereby identifying a device in an error state. In addition, when the bandwidth allocated to NACK exceeds a certain value, the data contents are monitored to obtain more detailed error information, so that detailed information can be monitored in the event of an abnormality, and the monitor load during normal operation Can be reduced.
In the above description, PCI Express data is encapsulated in Ethernet, and Ethernet VLAN is used as a group ID. However, encapsulation in Ethernet is omitted, and the group ID is used as the PCI Express header or data in the PCI Express data. It may be assigned to a specific location, and the traffic monitoring means may monitor that location and monitor the traffic for each group.
In the above description, PCI Express is described as an example of a protocol supported by the CPU and the I / O device, and Ethernet is described as an example of a protocol supported by the switch. However, the feature of the present invention is not limited to a specific protocol. Even if other protocols are used, the effects of the present invention can be obtained.
またデータモニタ部は、データの内容としてPCI Expressのヘッダ情報をモニタする場合について説明したが、本発明の特徴は特定プロトコルに限定されるものではないため、その他のプロトコルのヘッダ情報をモニタする場合にも本発明は適用可能である。 In addition, the data monitoring unit has been described with respect to the case where the PCI Express header information is monitored as the data content. However, since the feature of the present invention is not limited to a specific protocol, the header information of other protocols is monitored. In addition, the present invention is applicable.
また、上記説明では、I/Oデバイスとして、ストレージを例に説明したが、I/Oデバイスはストレージに限定されるものではなく、他のI/Oデバイスとして、ネットワークカード、ディスプレイ、キーボード、マウス、CDドライブ、スピーカなどを使用しても本発明の効果を得ることができる。 In the above description, storage has been described as an example of an I / O device. However, the I / O device is not limited to storage, and other I / O devices include a network card, a display, a keyboard, and a mouse. Even if a CD drive, a speaker, or the like is used, the effects of the present invention can be obtained.
さらに、上記説明ではCPUを3個、I/Oデバイスを3個設けた例を説明したが、これらの数に限定されず、例えば、1つのCPUに対して複数のI/Oデバイスを設ける場合、複数のCPUに対して1つのI/Oデバイスを設ける場合にも本発明を適用可能である。 Further, in the above description, an example in which three CPUs and three I / O devices are provided has been described. However, the number of I / O devices is not limited to this number. For example, a plurality of I / O devices are provided for one CPU. The present invention can also be applied to a case where one I / O device is provided for a plurality of CPUs.
次に、本発明の第1の実施の形態の効果について説明する。本発明の第1の実施の形態では、アプリケーションや仮想マシンごとにVLANを割り当て、VLANごとの帯域を測定しているため、アプリケーションや仮想マシンごとにグループ化された単位での性能を測定できる。 Next, effects of the first exemplary embodiment of the present invention will be described. In the first embodiment of the present invention, a VLAN is assigned to each application or virtual machine, and the bandwidth for each VLAN is measured. Therefore, the performance in units grouped for each application or virtual machine can be measured.
また、アプリケーションや仮想マシンごとの性能測定もVLANのトラヒックモニタで行っているため、CPU上での負荷を増大させることなく性能を測定することができる。
また、VLANのトラヒックモニタをスイッチ上のハードウェア処理で実施しているため、測定精度を向上させることができる。
In addition, since the performance measurement for each application and virtual machine is also performed by the VLAN traffic monitor, the performance can be measured without increasing the load on the CPU.
In addition, since the VLAN traffic monitor is implemented by hardware processing on the switch, the measurement accuracy can be improved.
[第2の実施形態]
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。
[Second Embodiment]
Next, a second embodiment of the present invention will be described in detail with reference to the drawings.
図6は、本発明の第2の実施の形態の構成を示すブロック図である。
図6を参照すると、本発明の第2の実施の形態であるI/Oバスシステム2は、図1に示す第1の実施の形態の構成に、リソース割当部210を追加して含む構成である。図6に示すリソース割当部210以外の構成は図1と同じであるため、ここでの説明は省略する。
FIG. 6 is a block diagram showing the configuration of the second exemplary embodiment of the present invention.
Referring to FIG. 6, the I /
リソース割当部210は、アプリケーションや仮想マシンに対してストレージやネットワークインタフェースカード(NIC)を割り当て、リソース割当の設定を行う。リソース割当設定の具体的な実現方法としては、例えば、スイッチによる切り替え、仮想マシンモニタ(VMM:Virtual Machine Monitor)の設定変更がある。仮想マシンモニタは、仮想マシンを提供するためのソフトウエアであり、例えばVmware やXenがある。
The
次に、仮想マシンとストレージの割当状況及び仮想マシンごとの帯域のモニタ結果が、図8(a)に示したような場合を例に動作を説明する。図8(a)をみると、帯域を大量に消費する仮想マシン1(仮想マシンID=1)と仮想マシン2(仮想マシンID=2)が同じストレージデバイス(デバイスID=2)を利用していることがわかる。デバイスID=2とデバイスID=3のストレージの性能が同じとすると、システム全体の性能及び信頼性を向上させるためには、各ストレージのアクセス頻度を均一化した方がよい。 Next, the operation will be described by taking as an example a case where the allocation status of virtual machines and storage and the monitoring result of the bandwidth for each virtual machine are as shown in FIG. As shown in FIG. 8A, the virtual machine 1 (virtual machine ID = 1) and the virtual machine 2 (virtual machine ID = 2) that consume a large amount of bandwidth use the same storage device (device ID = 2). I understand that. Assuming that the storage performance of device ID = 2 and device ID = 3 is the same, in order to improve the performance and reliability of the entire system, it is better to make the access frequency of each storage uniform.
そこで、リソース割当部210が、帯域を均一化するようにリソースの割当を計算し、リソースの割当を変更する。その結果として、図8(b)に示すような割当状況となる。この結果を見ると2つのストレージへのアクセス帯域が均一化されており、性能及び信頼性を向上させることができる。仮想マシンが利用するストレージの割り当てを変更する方法としては、仮想マシンが起動しているイメージファイルを移動させる方法がある。
図7に示すように、リソース割当部210はリソース割当計算部211とリソース設定部212とから構成される。ソース割当計算部211はトラヒックモニタ部から提供されるトラヒック情報を基に、仮想マシンごとの性能が均一化されるように、リソース量の配分を行う。例えばリソースとしてストレージ帯域を大量に使用する仮想マシンのイメージファイルが同一ストレージ上に存在する場合は、ストレージアクセスがボトルネックになる。これを解消するために、ストレージのアクセス帯域が均一化されるように、仮想マシンのイメージファイルの配置を計算する。リソース設定部212はリソース割当計算部211で計算したリソースを仮想マシンに割り当てるために、仮想マシンモニタに設定を行う。図8の例では、仮想マシン2のイメージファイルをデバイスID=2からデバイスID=3に移動させ、仮想マシン3のイメージファイルをデバイスID=3からデバイスID=2に移動させる。
Therefore, the
As shown in FIG. 7, the
なお本実施形態ではトラヒックモニタ部から提供されるトラヒック情報を基に、リソース量の配分を行っているが、後述する第3の実施の形態の性能指標変換部が作成した性能指標に基に、リソース量の配分を行ってもよい。 In this embodiment, the resource amount is allocated based on the traffic information provided from the traffic monitor unit, but based on the performance index created by the performance index conversion unit of the third embodiment to be described later, The resource amount may be allocated.
本発明の第2の実施の形態は、制御対象をトラヒックからリソースの割り当て状況に広げたため、第1の実施の形態の効果に加えて、システム全体での性能向上を実現することができる。 In the second embodiment of the present invention, since the control target is expanded from traffic to resource allocation status, in addition to the effects of the first embodiment, it is possible to realize performance improvement in the entire system.
[第3の実施形態]
図9を参照すると、本実施形態のI/Oバスシステム3は、CPU101a−101cとそれぞれ接続されるグループID設定部113a−113c、I/Oデバイス102−104とそれぞれ接続されるグループID設定部113d−113f、グループID設定部113a−113fと接続されるスイッチ280、を備えている。さらに、I/Oバスシステム3は、グループID設定部113a−113f及びスイッチ280と接続されるグループトラヒック管理部211、グループID設定部113a−113f及びグループトラヒック管理部211と接続されるグループ管理テープル212、グループ管理テーブル212及びCPU101a−101cと接続される性能管理部220、を備えている。
図9では、グループトラヒック管理部211はグループID設定部113c,113fとの接続しか示していないが、グループトラヒック管理部211はその他のグループID設定部113a、113b、113d、113eとも接続される。同様に、グループ管理テーブル212はグループID設定部113c,113fとの接続しか示していないが、グループ管理テーブル212はその他のグループID設定部113a、113b、113d、113eとも接続される。
[Third Embodiment]
Referring to FIG. 9, the I /
In FIG. 9, the group
また、図9では、性能管理部220とCPU101との接続は、CPU101cとの接続しか示していないが、性能管理部220はその他のCPU101a、101bとも接続される。
I/Oバスシステム3は、CPU101a−101c及びI/Oデバイス102−104に接続される。グループトラヒック管理部211は、グループ管理テーブル212に登録されたグループの優先度に応じて各グループに対して帯域を割り当てる。グループ管理テーブル212は、グループ化する条件を保持する。グループID設定部113a−113fは、転送データの内容をモニタし、モニタしたデータ内容をグループ管理テーブル212に登録されたグループ化条件にもとづき割り当てるグループIDを決定し、データにグループIDを付与する。
9 shows only the connection between the
The I /
なお、第1の実施形態ではグループID設定部がそれぞれグループ化する条件を保持している場合について説明したが、本実施形態ではグループ管理テーブル212にグループ化する条件が登録されており、グループID設定部はグループ管理テーブルに登録されたグループ条件でグループIDを付与する。 In the first embodiment, the case has been described in which the group ID setting unit holds the conditions for grouping. However, in the present embodiment, the group management table 212 registers the conditions for grouping, and the group ID is set. The setting unit assigns a group ID under the group condition registered in the group management table.
グループID設定部113a−113fの構成例は既に説明した図2の構成と同一の構成である。
The configuration example of the group
性能管理部220は、トラヒックモニタ部240がモニタしたトラヒック情報をグループ対象の種類に応じた性能指標へ変換し、性能指標が予め定めた基準値を満足しているか判断し、満足していない場合はその箇所をボトルネックとして通知する。グループ対象の種類としては、例えば、アプリケーション、デバイス、PIO(Programmed IO)やDMA(Direct Memory Access)のようなデータ転送方式及び仮想化技術により提供される仮想マシンがある。
The
トラヒック制御部230は、グループごとにトラヒックを制御する。トラヒックモニタ部240は、グループごとにトラヒックをモニタする。グループごとにトラヒックを制御及びモニタするための実現方法としては、例えば、EthernetのVLAN(Virtual LAN)を利用する方法がある。
The
次に性能管理部220の詳細な構成について説明する。
Next, a detailed configuration of the
図10は、性能管理部220の構成例を示すブロック図である。図10において、性能管理部段220は、性能管理振分部221、アプリケーション性能管理部222、デバイス性能管理部223、データ転送方式性能管理部224、コマンド性能管理部225及び仮想マシン性能管理部226から構成される。
FIG. 10 is a block diagram illustrating a configuration example of the
性能管理振分部221は、性能を監視する対象に応じて、性能の管理方法をアプリケーション性能管理部222、デバイス性能管理部223、データ転送方式性能管理部224、コマンド性能管理部225又は仮想マシン性能管理部226から選択する。
The performance
アプリケーション性能管理部222は、アプリケーションを対象とした場合にトラヒックから性能指標を生成し、生成された性能指標が規定された範囲内であるか判断する。
図11はアプリケーション性能管理部の構成を示すブロック図である。図11に示すように、アプリケーション性能管理部222は、モニタしたトラヒックから性能指標を作成する性能指標変換部261、及び作成された性能指標が指定された範囲内であるか判断する性能指標判断部262からなる。
The application
FIG. 11 is a block diagram showing the configuration of the application performance management unit. As shown in FIG. 11, the application
デバイス性能管理部223、データ転送方式性能管理部224、コマンド性能管理部225及び仮想マシン性能管理部226は、性能管理の対象がそれぞれI/Oデバイス、データ転送方式、コマンド、仮想マシンである場合に、それぞれの対象に応じて帯域から性能指標を生成し、生成された性能指標が規定された範囲内であるか判断する。
The device
上記の性能管理の対象は説明のために示した例であり、対象に応じて新たな管理部を追加することもできるし、管理の対象としない管理部を省略することもできる。 The above performance management target is an example shown for explanation, and a new management unit can be added according to the target, or a management unit that is not a management target can be omitted.
次に、図9のI/Oバスシステム3の動作について、図12−図14のフローチャートを参照して説明する。
Next, the operation of the I /
図12は、I/Oバスシステム3がグループIDを付与する動作を示したフローチャートである。
FIG. 12 is a flowchart showing an operation in which the I /
グループID設定部113a−113fは、それぞれI/Oバスへ転送されるデータをモニタし(ステップS101)、グループ管理テーブル112を参照して、データ内容がグループ条件と一致するか判断し(ステップS102)、グループ条件と一致した場合は一致したグループのグループIDをデータに付与する(ステップS103)。ステップS102において、グループ条件と一致しない場合はグループIDを付与せず、そのままデータを転送する(ステップS104)。
Each of the group
図13は、I/Oバスシステム3が性能ボトルネックを発見する動作を示したフローチャートである。
FIG. 13 is a flowchart showing an operation in which the I /
トラヒックモニタ部240は、グループごとにトラヒックをモニタする(ステップS201)。性能指標変換部261は、モニタしたトラヒックから性能指標を作成する(ステップS202)。このときの変換は、例えば、トラヒックを1処理にかかる平均データ長で除することで処理件数を性能指標として得ることができる。性能指標判断部262は、作成された性能指標が指定された範囲内であるか判断する(ステップS203)。性能指標判断部262は、性能指標が指定された範囲内であれば、ボトルネックが無い旨を管理者へ通知する(ステップS204)。性能指標が指定された範囲外であれば、性能指標判断部262は、グループ管理テーブル212を参照して、グループ条件からボトルネックとなっている箇所を特定(ステップS205)し、ボトルネック箇所を管理者へ通知する(ステップS206)。
The
図14は、I/Oバスシステム3が性能指標を制御する動作を示したフローチャートである。
FIG. 14 is a flowchart showing an operation in which the I /
性能管理部に含まれる性能指標変換部261は、要求された性能指標を帯域に変換する(ステップS301)。グループ管理部に含まれるグループトラヒック管理部211が、グループ管理テーブル212に登録されているグループごとの優先度及びステップS301で要求される帯域にもとづき各グループに与える帯域を決定する(ステップS302)。トラヒック制御部230が、ステップS302で決定された帯域を各グループに対して設定する(ステップS303)。なお、グループ管理部はグループID設定部113a−113f、グループトラヒック管理部211、グループ管理テーブル212からなる。
次に、CPU101a−101c及びI/Oデバイス102−104をPCI Expressに対応させた場合の構成例について説明する。
The performance
Next, a configuration example in the case where the
グループID設定部113a−113fとスイッチ280との間はEthernetプロトコルで接続され、グループを実現する部としてEthernetのVLAN(Virtual LAN)を利用するI/Oバスシステム3の構成が示されている。
A group
CPU101a−101c及びI/Oデバイス102−104はPCI Expressのアドレス(バス番号、デバイス番号)を有し、グループID設定部113a−1213fはEthernetのMACアドレスを有する。初期設定時などにPCI ExpressのアドレスをEthernetフレームにカプセル化して送信することで、これら2つのアドレスの対応関係を取得することができる。
The
スイッチ280は、ポート及びVLANごとにトラヒックをモニタできるEthernetスイッチである。
The
トラヒック制御部230及びトラヒックモニタ部240は、スイッチ280が備えるVLANごとのトラヒック制御機能及びトラヒックモニタを利用して構成される。スイッチ280が備えるトラヒック制御機能及びトラヒックモニタ(トラヒックモニタ部240及びトラヒック制御部230)は、ソフトウェア処理ではなくハードウェア処理を行っているため高速な処理を行うことができる。
The
トラヒック制御の対象としては、例えば、スイッチポート及びVLANごとの帯域保証、優先制御、レイテンシー(latency)制御があり、トラヒックモニタの対象としては、例えば、スイッチポート及びVLANごとの帯域、パケット損率及びパケットサイズがある。また、トラヒック制御としてスイッチの転送方式を、カット・スルー(Cut through)方式とストア・アンド・フォワード(Store and forward)方式とで切り替えることもできる。 Traffic control targets include, for example, bandwidth guarantee, priority control, and latency control for each switch port and VLAN. Traffic monitoring targets include, for example, bandwidth for each switch port and VLAN, packet loss rate, and the like. There is a packet size. In addition, as a traffic control, the switch transfer method can be switched between a cut-through method and a store-and-forward method.
グループID設定部113aの構成は既に第1の実施形態で図4を用いて説明した構成と同じであるので説明を省略する。
The configuration of the group
またグループ管理テーブル212の内容は既に説明した図5の内容と同じである。
性能管理部220では、性能監視の対象に応じて管理対象を表わす管理テーブルを保持している。この保持している管理テーブルを図15に示す。
図15(a)は、アプリケーション管理テーブルであり、アプリケーション性能管理部が保持する。このテーブルには、アプリケーションを識別する識別子とアプリケーションの対応が登録されている。アプリケーション識別子としては、例えば、TCPポート番号やOS上でのプロセスIDがある。図15(a)をみると、アプリケーションの識別子としてTCPポート番号=54321がデータベースソフトウェアであり、TCPポート番号=56789が科学計算ソフトウェアであることがわかる。
The contents of the group management table 212 are the same as those already described with reference to FIG.
The
FIG. 15A shows an application management table held by the application performance management unit. In this table, correspondence between an identifier for identifying an application and the application is registered. Examples of the application identifier include a TCP port number and a process ID on the OS. Referring to FIG. 15A, it can be seen that the TCP port number = 54321 is the database software and the TCP port number = 56789 is the scientific calculation software as the application identifier.
図15(b)は、デバイス管理テーブルであり、デバイス性能管理部が保持する。このテーブルには、デバイスを特定するための識別子とデバイス種類の対応が登録されている。例えば、デバイスを識別する識別子としては、PCI ExpressでのバスID、デバイスIDなどがある。この他にもデバイス名等を登録することもできる。図15(b)をみると、デバイスID=2が、ネットワークアドレス01:12:23:34:45:56を持つグループID設定部に接続され、デバイス種類がストレージであることがわかる。 FIG. 15B is a device management table, which is held by the device performance management unit. In this table, correspondence between identifiers for specifying devices and device types is registered. For example, as an identifier for identifying a device, there are a bus ID and a device ID in PCI Express. In addition, a device name or the like can be registered. FIG. 15B shows that the device ID = 2 is connected to the group ID setting unit having the network address 01: 12: 23: 34: 45: 56, and the device type is storage.
図15(c)は、データ転送方式管理テーブルであり、データ転送方式性能管理部が保持する。このテーブルには、データ転送方式の種類が登録されている。図15(c)をみると、データ転送方式として、PIO及びDMAがあることがわかる。 FIG. 15C is a data transfer method management table held by the data transfer method performance management unit. In this table, the type of data transfer method is registered. FIG. 15C shows that there are PIO and DMA as data transfer methods.
図15(d)は、コマンド管理テーブルであり、コマンド性能管理部が保持する。このテーブルには、コマンドの種類(コマンド識別子)が登録されている。図15(d)をみると、コマンド種類の例として、ACK、NACK、Read及びWriteがあることがわかる。 FIG. 15D shows a command management table held by the command performance management unit. In this table, command types (command identifiers) are registered. As can be seen from FIG. 15D, examples of command types include ACK, NACK, Read, and Write.
図15(e)は、仮想マシン管理テーブルであり、仮想マシン性能管理部が保持する。このテーブルには、仮想マシンIDと割当リソースとが登録されている。図15(e)をみると、仮想マシンID=1に、割当リソースとして、CPU(デバイスID=1)、ストレージ(デバイスID=2)、NIC(Network Interface Card)(デバイスID=4)が割り当てられていることがわかる。 FIG. 15E is a virtual machine management table held by the virtual machine performance management unit. In this table, virtual machine IDs and allocated resources are registered. In FIG. 15E, a CPU (device ID = 1), a storage (device ID = 2), and a NIC (Network Interface Card) (device ID = 4) are allocated to the virtual machine ID = 1 as allocation resources. You can see that
上記で説明した性能管理部220が保持するテーブル内容を参照することで、データの内容を表す識別子と管理者が理解しやすい名称とを変換することができる。
By referring to the table contents held by the
次に、実施例の動作を説明する。 Next, the operation of the embodiment will be described.
I/Oバスシステム3上を転送するデータとして、CPU101a上で動作しているデータベースアプリケーション(TCPポート番号54321を利用)からI/Oデバイス103(デバイスID=3)へ転送されるデータを考える。
As data to be transferred on the I /
はじめに、CPU101aからのデータはグループID設定部113aにおいて、図12の手順に従いVLAN IDが付与される。具体的には、データのTCPポート番号をモニタし(ステップS101)、その結果、TCPポート番号として54321を取得する。このTCPポート番号がグループ管理テーブル内のグループ条件と一致するVLAN IDがあるか検索し(S102)、その結果、VLAN ID=11を決定する。Ethernet処理部254が、データに対してVLAN ID=11を付与してEthernetフレームにカプセル化してデータを転送する。このとき宛先アドレスとして、デバイスIDに対応するMACアドレスを検索し、付与する。
First, data from the
スイッチ280へ転送されたデータは、スイッチ280において、宛先アドレスであるグループID設定部113eへスイッチングされる。このとき、スイッチ280内のトラヒックモニタ部240が、VLANごとにトラヒックをモニタする。モニタしたトラヒック情報から、図13の手順に従い性能指標を評価する。トラヒックモニタ部240が、VLAN ID=11の帯域を測定する(S201)。この結果、帯域が40Mbpsであると測定されたとする。次に、この測定した帯域を性能管理部が性能指標に変換する(S202)。例えば、この帯域を処理1件当たりの平均データサイズで除することで、性能指標として処理件数を推測することができる。例えば、処理1件当たりの平均データサイズが10kバイトであったとすると、1秒当たり500件の処理を行っているとアプリケーションの性能指標に変換できる。次に、基準値と比較しアクセスが集中していないか判断する(S203)。1秒当たりの処理件数の基準値が300−700件の場合は、基準値を満足するので“ボトルネック無し“と判断する(S204)。基準値が100−400件の場合は基準値を満足していないため、VLAN ID=11のグループ条件を参照し、”データベースソフトがボトルネック“と判断する(S205、S206)。また、処理に要した時間を上記で求めた処理件数で除することで、I/Oデバイスの処理時間として性能指標を変換することができる。
The data transferred to the
上記説明では、性能劣化の有無に関わらずトラヒックを常にモニタしたが、アプリケーションや仮想マシンを使用中に特定のアプリケーションや仮想マシンの性能が劣化した場合には、そのアプリケーションや仮想マシンに関連するVLANを測定対象としてトラヒックモニタ部240に設定することにより、性能劣化の詳細な原因を特定することができる。例えば、科学計算ソフトウェアがデバイスID=2、3の2つのストレージを利用している場合は、それぞれのデバイスに対してVLAN ID=51、52を設定し、それぞれのVLANのトラヒックをモニタする。これにより、トラヒックに異常があるVLANに属するデバイスの性能が劣化していると特定することができる。
In the above description, traffic is constantly monitored regardless of whether there is performance degradation. However, if the performance of a specific application or virtual machine deteriorates while the application or virtual machine is in use, the VLAN associated with that application or virtual machine is used. Is set as the measurement target in the
また、トラヒック制御部230が、図14の性能指標制御手順に従い、トラヒックを制御することで性能指標を制御することも可能である。
In addition, the
例えば、上記例での処理件数500件が多すぎるので、1秒当たり400件の処理に抑えたい場合は、性能管理部220が処理件数400件を帯域32Mbpsへ変換する(S301)。次にグループトラヒック管理部211が、この計算された帯域を割当てよいか他のVLAN帯域と調整し(S302)、最後に、トラヒック制御部230がVLAN ID=11の帯域を32Mbpsに設定する。ここでの説明では、帯域を削減したが、負荷状況や管理ポリシーに応じて、帯域を増大・削減のどちらを選択するかを決めることができる。
For example, since the number of processing cases 500 in the above example is too large, the
上記説明では、トラヒック情報として帯域を測定したが、本発明においてトラヒック情報は、帯域に限定するものではなく、パケット損率又はデータサイズを測定し、性能指標として利用することもできる。 In the above description, the bandwidth is measured as the traffic information. However, in the present invention, the traffic information is not limited to the bandwidth, and the packet loss rate or the data size can be measured and used as a performance index.
例えば、トラヒックモニタ部230がパケット損率を測定し、トラヒック制御部240が基準値を超えているVLANに対して割当帯域を増やすことにより、このVLANに割り当てられたアプリケーションの性能を改善することができる。
For example, the
また、NACKコマンドに対してVLANを割り当て、トラヒックモニタでこのVLANの帯域をモニタすることにより、NACKを多く発行しているデバイスを特定することで、エラー状態にあるデバイスを特定することができる。また、NACKに割り当てた帯域が一定値以上になったらデータ内容をモニタして更に詳細なエラー情報を取得するようにすることで、異常時には詳細な情報をモニタが可能で、正常時のモニタ負荷を削減できる。 Further, by assigning a VLAN to the NACK command and monitoring the VLAN bandwidth by a traffic monitor, it is possible to identify a device that has issued many NACKs, thereby identifying a device in an error state. In addition, when the bandwidth allocated to NACK exceeds a certain value, the data contents are monitored to obtain more detailed error information, so that detailed information can be monitored in the event of an abnormality, and the monitor load during normal operation Can be reduced.
上記説明では、PCI ExpressのデータをEthernetにカプセル化し、EthernetのVLANをグループIDとして利用したが、Ethernetへのカプセル化を省略し、PCI ExpressのデータのままグループIDをPCI Expressのヘッダ又はデータの特定箇所に付与し、トラヒックモニタ部がその箇所をモニタし、グループごとのトラヒックをモニタしてもよい。 In the above description, PCI Express data is encapsulated in Ethernet, and Ethernet VLAN is used as a group ID. However, encapsulation in Ethernet is omitted, and the group ID is used as the PCI Express header or data in the PCI Express data. It may be assigned to a specific location, and the traffic monitor unit may monitor that location and monitor the traffic for each group.
また、上記説明では、CPU及びI/Oデバイスが対応するプロトコルとしてPCI Expressを、スイッチが対応するプロトコルとしてEthernetを例に説明したが、本発明の特徴は特定プロトコルに限定されるものではないため、その他のプロトコルを使用しても本発明の効果を得ることができる。
またデータモニタ部は、データの内容としてPCI Expressのヘッダ情報をモニタする場合について説明したが、本発明の特徴は特定プロトコルに限定されるものではないため、その他のプロトコルのヘッダ情報をモニタする場合にも本発明は適用可能である。
In the above description, PCI Express is described as an example of a protocol supported by the CPU and the I / O device, and Ethernet is described as an example of a protocol supported by the switch. However, the feature of the present invention is not limited to a specific protocol. Even if other protocols are used, the effects of the present invention can be obtained.
In addition, the data monitoring unit has been described with respect to the case where the PCI Express header information is monitored as the data content. However, since the feature of the present invention is not limited to a specific protocol, the header information of other protocols is monitored. In addition, the present invention is applicable.
また、上記説明では、スイッチは1個の例で説明したが、本発明の実施の形態においてスイッチ数は1個に限定されるものではなく、複数のスイッチがネットワークを構成している場合であっても本発明の効果を得ることができる。 In the above description, the example of one switch has been described. However, in the embodiment of the present invention, the number of switches is not limited to one, and this is a case where a plurality of switches constitute a network. However, the effect of the present invention can be obtained.
また、上記説明では、I/Oデバイスとして、ストレージを例に説明したが、I/Oデバイスはストレージに限定されるものではなく、他のI/Oデバイスとして、ネットワークカード、ディスプレイ、キーボード、マウス、CDドライブ、スピーカなどを使用しても本発明の効果を得ることができる。
さらに、上記説明ではCPUを3個、I/Oデバイスを3個設けた例を説明したが、これらの数に限定されず、例えば、1つのCPUに対して複数のI/Oデバイスを設ける場合、複数のCPUに対して1つのI/Oデバイスを設ける場合にも本発明を適用可能である。
In the above description, storage has been described as an example of an I / O device. However, the I / O device is not limited to storage, and other I / O devices include a network card, a display, a keyboard, and a mouse. Even if a CD drive, a speaker, or the like is used, the effects of the present invention can be obtained.
Further, in the above description, an example in which three CPUs and three I / O devices are provided has been described. However, the number of I / O devices is not limited to this number. For example, a plurality of I / O devices are provided for one CPU. The present invention can also be applied to a case where one I / O device is provided for a plurality of CPUs.
次に、本発明の第3の実施の形態の効果について説明する。本発明の第3の実施の形態では、アプリケーションや仮想マシンごとにVLANを割り当て、VLANごとの帯域を測定しているため、アプリケーションや仮想マシンごとにグループ化された単位での性能を測定できる。 Next, effects of the third exemplary embodiment of the present invention will be described. In the third embodiment of the present invention, a VLAN is assigned to each application or virtual machine, and the bandwidth for each VLAN is measured. Therefore, the performance in units grouped for each application or virtual machine can be measured.
また、アプリケーションや仮想マシンごとの性能測定もVLANのトラヒックモニタで行っているため、CPU上での負荷を増大させることなく性能を測定することができる。 In addition, since the performance measurement for each application and virtual machine is also performed by the VLAN traffic monitor, the performance can be measured without increasing the load on the CPU.
また、VLANのトラヒックモニタをスイッチ上のハードウェア処理で実施しているため、測定精度を向上させることができる。 In addition, since the VLAN traffic monitor is implemented by hardware processing on the switch, the measurement accuracy can be improved.
本発明は、I/Oデバイスの使用状況を管理することができるI/Oバスシステム及びその管理方法に用いられるものである。 The present invention is used for an I / O bus system capable of managing the usage status of an I / O device and a management method thereof.
1−3、930 I/Oバスシステム
101、920 CPU
102−104、941−943 I/Oデバイス
110 グループ管理部
111、211 グループトラヒック管理部
112、212 グループ管理テーブル
113、213 グループID設定部
120、220 性能管理部
121 性能管理振分部
130、230 トラヒック制御部
140、240 トラヒックモニタ部
151 データモニタ部
152 グループID決定部
153 グループID付与部
161 性能指標変換部
162 性能指標判断部
280 スイッチ
910 アービタ
911 バスモニタ部
912 バス帯域管理部
913 バス使用権管理部
1-3, 930 I / O bus system 101, 920 CPU
102-104, 941-943 I / O device 110
Claims (31)
転送される前記データをモニタし、モニタしたデータの内容に応じてグループ化し、グループのグループIDを前記データに付与するグループID設定手段と、前記グループID設定手段で付与されたグループIDごとにトラヒックをモニタするトラヒックモニタ手段と、を備えたことを特徴とするI/Oバスシステム。 An I / O bus system for transferring data between a CPU and an I / O device,
The data to be transferred is monitored, grouped according to the contents of the monitored data, and a group ID setting means for assigning a group ID of the group to the data, and traffic for each group ID assigned by the group ID setting means An I / O bus system comprising: a traffic monitoring means for monitoring the traffic.
該変換されたトラヒックとグループの優先度に基づいて、グループごとに割り当てるトラヒックを決定するグループトラヒック管理手段を備えたことを特徴とする請求項8から12のいずれか1項に記載のI/Oバスシステム。 The performance index conversion means converts the requested performance into traffic,
The I / O according to any one of claims 8 to 12, further comprising group traffic management means for determining traffic to be allocated for each group based on the converted traffic and the priority of the group. Bus system.
転送される前記データの内容をモニタし、モニタしたデータの内容に応じてグループ化し、設定されたグループを単位としてトラヒックをモニタすることを特徴とするI/Oバスシステム管理方法。 In an I / O bus system management method of an I / O bus system for transferring data between a CPU and an I / O device,
An I / O bus system management method characterized by monitoring the contents of the transferred data, grouping according to the contents of the monitored data, and monitoring the traffic in units of set groups.
転送される前記データの内容をモニタし、モニタしたデータの内容とグループ管理テーブルに登録されたグループ条件とが一致したグループのグループIDを該データに付与し、前記グループIDごとにトラヒックをモニタすることを特徴とするI/Oバスシステム管理方法。 In an I / O bus system management method of an I / O bus system for transferring data between a CPU and an I / O device,
The contents of the data to be transferred are monitored, and the group ID of the group in which the contents of the monitored data and the group condition registered in the group management table match is given to the data, and the traffic is monitored for each group ID. An I / O bus system management method.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007014964A JP2008181387A (en) | 2007-01-25 | 2007-01-25 | I/o bus system and its management method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007014964A JP2008181387A (en) | 2007-01-25 | 2007-01-25 | I/o bus system and its management method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2008181387A true JP2008181387A (en) | 2008-08-07 |
Family
ID=39725237
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007014964A Pending JP2008181387A (en) | 2007-01-25 | 2007-01-25 | I/o bus system and its management method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2008181387A (en) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2010005085A1 (en) | 2008-07-11 | 2010-01-14 | 旭硝子株式会社 | Fluororesin film for agricultural use |
| JP2013196604A (en) * | 2012-03-22 | 2013-09-30 | Hitachi Ltd | Computer and band control method |
| KR101480140B1 (en) | 2013-01-03 | 2015-01-07 | 주식회사 비티비솔루션 | Multi injection server and method thereof |
| WO2015040728A1 (en) * | 2013-09-20 | 2015-03-26 | 富士通株式会社 | Information processing device, information processing method, program, and recording medium |
| WO2015190079A1 (en) * | 2014-06-12 | 2015-12-17 | 日本電気株式会社 | Computer system, connection management method for remote device, and program recording medium |
| US10318392B2 (en) | 2014-10-06 | 2019-06-11 | Nec Corporation | Management system for virtual machine failure detection and recovery |
Citations (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6410352A (en) * | 1987-07-03 | 1989-01-13 | Fujitsu Ltd | Group division processing method for index file |
| JPH1155496A (en) * | 1997-07-31 | 1999-02-26 | Ricoh Co Ltd | Printing control method |
| JP2002259327A (en) * | 2001-02-28 | 2002-09-13 | Hitachi Ltd | Bus control circuit |
| JP2003022209A (en) * | 2001-07-05 | 2003-01-24 | Nri & Ncc Co Ltd | Distributed server system |
| JP2003030133A (en) * | 2001-07-13 | 2003-01-31 | Nec Corp | Bus type communication arbitration method and bus arbitration system |
| JP2003248558A (en) * | 2002-02-21 | 2003-09-05 | Canon Inc | Data transfer method and device |
| JP2004220183A (en) * | 2003-01-10 | 2004-08-05 | Sony Corp | Information processor and information processing method, and computer program |
| JP2005301796A (en) * | 2004-04-14 | 2005-10-27 | Matsushita Electric Ind Co Ltd | Mail creation device |
| JP2006254219A (en) * | 2005-03-11 | 2006-09-21 | Olympus Corp | Digital camera, information processing apparatus and information processing program |
| JP2006285463A (en) * | 2005-03-31 | 2006-10-19 | Canon Inc | Resource download apparatus, peripheral devices thereof, and resource download scheduling method |
| JP2006318139A (en) * | 2005-05-11 | 2006-11-24 | Matsushita Electric Ind Co Ltd | Data transfer device, data transfer method and program |
-
2007
- 2007-01-25 JP JP2007014964A patent/JP2008181387A/en active Pending
Patent Citations (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6410352A (en) * | 1987-07-03 | 1989-01-13 | Fujitsu Ltd | Group division processing method for index file |
| JPH1155496A (en) * | 1997-07-31 | 1999-02-26 | Ricoh Co Ltd | Printing control method |
| JP2002259327A (en) * | 2001-02-28 | 2002-09-13 | Hitachi Ltd | Bus control circuit |
| JP2003022209A (en) * | 2001-07-05 | 2003-01-24 | Nri & Ncc Co Ltd | Distributed server system |
| JP2003030133A (en) * | 2001-07-13 | 2003-01-31 | Nec Corp | Bus type communication arbitration method and bus arbitration system |
| JP2003248558A (en) * | 2002-02-21 | 2003-09-05 | Canon Inc | Data transfer method and device |
| JP2004220183A (en) * | 2003-01-10 | 2004-08-05 | Sony Corp | Information processor and information processing method, and computer program |
| JP2005301796A (en) * | 2004-04-14 | 2005-10-27 | Matsushita Electric Ind Co Ltd | Mail creation device |
| JP2006254219A (en) * | 2005-03-11 | 2006-09-21 | Olympus Corp | Digital camera, information processing apparatus and information processing program |
| JP2006285463A (en) * | 2005-03-31 | 2006-10-19 | Canon Inc | Resource download apparatus, peripheral devices thereof, and resource download scheduling method |
| JP2006318139A (en) * | 2005-05-11 | 2006-11-24 | Matsushita Electric Ind Co Ltd | Data transfer device, data transfer method and program |
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2010005085A1 (en) | 2008-07-11 | 2010-01-14 | 旭硝子株式会社 | Fluororesin film for agricultural use |
| JP2013196604A (en) * | 2012-03-22 | 2013-09-30 | Hitachi Ltd | Computer and band control method |
| KR101480140B1 (en) | 2013-01-03 | 2015-01-07 | 주식회사 비티비솔루션 | Multi injection server and method thereof |
| WO2015040728A1 (en) * | 2013-09-20 | 2015-03-26 | 富士通株式会社 | Information processing device, information processing method, program, and recording medium |
| JPWO2015040728A1 (en) * | 2013-09-20 | 2017-03-02 | 富士通株式会社 | Information processing apparatus, information processing method, and program |
| WO2015190079A1 (en) * | 2014-06-12 | 2015-12-17 | 日本電気株式会社 | Computer system, connection management method for remote device, and program recording medium |
| JPWO2015190079A1 (en) * | 2014-06-12 | 2017-04-20 | 日本電気株式会社 | Computer system, remote device connection management method and program |
| US20170116151A1 (en) * | 2014-06-12 | 2017-04-27 | Nec Corporation | Computer system, connection management method for remote device, and program recording medium |
| US10157163B2 (en) | 2014-06-12 | 2018-12-18 | Nec Corporation | Computer system, connection management method for remote device, and program recording medium |
| US10318392B2 (en) | 2014-10-06 | 2019-06-11 | Nec Corporation | Management system for virtual machine failure detection and recovery |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11336547B2 (en) | Technologies for dynamically managing resources in disaggregated accelerators | |
| US12153962B2 (en) | Storage transactions with predictable latency | |
| US11381515B2 (en) | On-demand packet queuing in a network device | |
| US8634294B2 (en) | Discovery and capability exchange management in a virtualized computing platform | |
| CN119697117A (en) | System and method for facilitating efficient load balancing in a network interface controller (NIC) | |
| US9813283B2 (en) | Efficient data transfer between servers and remote peripherals | |
| US11099906B2 (en) | Handling tenant requests in a system that uses hardware acceleration components | |
| US8180949B1 (en) | Resource virtualization switch | |
| US11567556B2 (en) | Platform slicing of central processing unit (CPU) resources | |
| CN100448221C (en) | Method and device for sharing ethernet adapter in computer server | |
| EP3672172B1 (en) | Allocation of processors for processing packets | |
| JP2008181387A (en) | I/o bus system and its management method | |
| TW202516343A (en) | Method for dynamic virtual system on chip, processor device thereof and non-transitory computer-readable medium thereof | |
| KR20130137539A (en) | System for performing data cut-through | |
| US11271897B2 (en) | Electronic apparatus for providing fast packet forwarding with reference to additional network address translation table | |
| CN104125166A (en) | Queue scheduling method and computing system | |
| US9985886B2 (en) | Technologies for network packet pacing during segmentation operations | |
| US20180091447A1 (en) | Technologies for dynamically transitioning network traffic host buffer queues | |
| US11736415B2 (en) | Backpressure from an external processing system transparently connected to a router | |
| US8004991B1 (en) | Method and system for processing network information | |
| KR101773528B1 (en) | Network interface apparatus and method for processing virtual machine packets | |
| WO2016006228A1 (en) | Virtualization system and virtualization method | |
| KR102091152B1 (en) | Method and apparatus for processing packet using multi-core in hierarchical networks | |
| JP6491944B2 (en) | Packet processing apparatus and program | |
| KR20200044642A (en) | Packet processing method and apparatus in multi-layered network environment |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080618 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081016 |
|
| RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20100908 |
|
| RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20100908 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110117 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110426 |