[go: up one dir, main page]

JP2008181387A - I/o bus system and its management method - Google Patents

I/o bus system and its management method Download PDF

Info

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
Application number
JP2007014964A
Other languages
Japanese (ja)
Inventor
Teruyuki Baba
輝幸 馬場
Yoichi Tobitaka
洋一 飛鷹
Jun Suzuki
順 鈴木
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2007014964A priority Critical patent/JP2008181387A/en
Publication of JP2008181387A publication Critical patent/JP2008181387A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an I/O bus system which can measure performance in a unit, which is grouped for each application or for each virtual machine, independently of an I/O device unit. <P>SOLUTION: The I/O bus system is provided with: grouped ID-setting parts 113a-113f which become grouping means grouping, in an application unit or in a virtual machine unit, the data flowing on the I/O bus system where the data are transmitted between CPUs 101a-101c and I/O devices 102-104; and a traffic monitor part 140 which monitors traffics in a group unit. The grouped ID-setting means can determine an grouped ID which is allocated according to grouping conditions stored in a group management table which holds the grouping conditions. <P>COPYRIGHT: (C)2008,JPO&INPIT

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 Patent Document 1.

図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 Patent Document 1. In FIG. In the bus system shown in FIG. 17, a CPU 920, an arbiter 910, and I / O devices 941 to 943 are connected to an I / O bus 930. The arbiter 910 includes a bus monitor unit 911, a device information management unit 912, and a bus usage right management unit 913.

バスモニタ部911は、I/Oバス930をモニタし、I/Oデバイスバス941−943を占有しているクロック数とデータ転送長を取得する。デバイス情報管理部912は、バスモニタ部911が取得したクロック数とデータ転送長からI/Oデバイス941−943が占有している実質帯域を計算し、この実質帯域に応じてバス占有時間を決定する。バス使用権管理部913は、デバイス情報管理部912が決定したバス占有時間に従い各I/Oデバイスに対してバスの使用権を与える。   The bus monitor unit 911 monitors the I / O bus 930 and acquires the number of clocks and the data transfer length occupying the I / O device bus 941 to 943. The device information management unit 912 calculates the actual bandwidth occupied by the I / O devices 941 to 943 from the number of clocks and the data transfer length acquired by the bus monitor unit 911, and determines the bus occupation time according to the actual bandwidth. To do. The bus usage right management unit 913 gives a bus usage right to each I / O device according to the bus occupation time determined by the device information management unit 912.

次に上記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 bus monitor unit 911 monitors the I / O bus 930, acquires the number of clocks that each I / O device occupies the I / O bus and the data transfer length therebetween, and the number of clocks and the data transfer length. Is notified to the device information management unit 912. The device information management unit 912 calculates the actual bandwidth actually used by the I / O device from the number of clocks and the data transfer length. As a result of the calculation of the real band, for example, when the real band of the I / O device 941 is smaller than the allocated band at this time and the real band of the I / O device 942 is larger than the allocated band, the device information management unit 912 The bus occupation time of the I / O device 941 is shortened, and the bus occupation time of the I / O device 942 is expanded. The device information management unit 912 notifies the bus usage right management unit 913 of the newly determined bus occupation time. The bus usage right management unit 913 gives a bus usage right to each I / O device according to the bus occupation time determined by the device information management unit 912.

以上の動作により、実際に利用されているバス帯域をモニタし、その結果に応じて各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ではデータをデータの内容(アプリケーションや仮想マシン単位等)でグループ化していない。   Patent Document 2 describes that in an ATM switch in which a plurality of access modules are connected by an optical bus, the plurality of access modules are divided into a plurality of groups so that the traffic amount for each group is equal. is there. In Patent Document 3, a LAN control device and a plurality of hub devices are connected to two buses. The LAN control device divides a plurality of hub devices into groups, monitors traffic via the bus, and responds to the traffic. There is a description of determining the number of group divisions. However, in Patent Documents 2 and 3, data is not grouped by data contents (application, virtual machine unit, etc.).

また特許文献4には、通信性能測定装置が計数用パケットを一定時間間隔で送受信しラウンドトリップタイムを測定し、直前のラウンドトリップタイムよりも長くなる割合を調査し、その割合に基づいてネットワーク経路の利用可能帯域幅が予め規定された値を超えているかを判断する性能判定を行うことの記載がある。特許文献5には、評価サーバがネットワーク上の測定ポイントでパス帯域幅、スループット、グッドプット、パケット損失レート等の性能評価量の組を生成することの記載がある。しかし、モニタしたトラヒック情報をグループ対象の種類に応じた性能指標へ変換することの記載はない。
特開2003−30133号公報 特開2000−069048号公報(段落番号[0028]、[0029]等) 特開平7−107099号公報(請求項1,3、段落番号[0016]等) 特開2000−106557号公報(段落番号[0018]等) 特開2001−197085号公報(段落番号[0020]−[0022]等)
In Patent Document 4, a communication performance measuring device transmits and receives counting packets at regular time intervals to measure a round trip time, investigates a ratio that is longer than the immediately preceding round trip time, and determines a network route based on the ratio. There is a description of performing performance determination for determining whether the available bandwidth exceeds a predetermined value. Patent Document 5 describes that an evaluation server generates a set of performance evaluation amounts such as a path bandwidth, throughput, goodput, and packet loss rate at a measurement point on a network. However, there is no description of converting the monitored traffic information into a performance index corresponding to the type of group target.
JP 2003-30133 A JP 2000-069048 A (paragraph numbers [0028], [0029], etc.) JP-A-7-107099 (Claims 1 and 3, paragraph number [0016], etc.) JP 2000-106557 A (paragraph number [0018] etc.) Japanese Patent Laid-Open No. 2001-197085 (paragraph numbers [0020]-[0022] etc.)

上述した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 / O bus system 1 of the present embodiment includes a group ID setting unit 113a-113f serving as a group ID setting unit and a traffic monitor unit 140 serving as a traffic monitoring unit. The I / O bus system 1 is connected to the CPUs 101a to 101c and the I / O devices 102 to 104.

グループ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 CPUs 101a-101c and the I / O devices 102-104, and assigns the monitored data content based on preset grouping conditions. A group ID is determined, and a group ID (group identifier) is assigned to the data. The traffic monitor unit 140 monitors traffic for each group based on the assigned group ID. Although not described in detail here, based on the monitored traffic, traffic can be controlled for each group using a known method. As an implementation method for monitoring traffic, for example, there is a method of using Ethernet VLAN (Virtual LAN).

次にグループ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 ID setting unit 113a among the group ID setting units 113a to 113f, the group ID setting unit 113b to 113f has the same configuration.

図2において、グループID設定部113aは、データモニタ部151、グループID決定部152及びグループID付与部153から構成される。データモニタ部151は、転送データの内容をモニタする。グループID決定部152は、データモニタ部151によりモニタしたデータ内容を予め設定されたグループ化条件に基づき割り当てるグループIDを決定する。グループID付与部153は、決定されたグループIDをデータに付与する。   In FIG. 2, the group ID setting unit 113 a includes a data monitor unit 151, a group ID determination unit 152, and a group ID provision unit 153. The data monitor unit 151 monitors the contents of the transfer data. The group ID determining unit 152 determines a group ID to which the data content monitored by the data monitoring unit 151 is allocated based on a preset grouping condition. The group ID assigning unit 153 assigns the determined group ID to the data.

次に、図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 ID setting units 113a to 113f monitors data transferred to the I / O bus (step S111), determines whether the data content matches the group condition (step S112), and if the data matches the group condition. The group ID of the matched group is assigned to the data (step S113). If it does not match the group condition in step S112, the group ID is not assigned and the data is transferred as it is (step S114).
Then, the traffic monitor unit 140 monitors the traffic for each group based on the assigned group ID.

次に、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 CPUs 101a to 101c and the I / O devices 102 to 104 are made compatible with PCI Express will be described. The CPUs 101a to 101c and the I / O devices 102 to 104 have PCI Express addresses (bus numbers and device numbers), and the group ID setting units 113a to 113f have Ethernet (registered trademark) MAC addresses. The correspondence between these two addresses can be acquired by encapsulating the PCI Express address in an Ethernet frame and transmitting it at the time of initial setting or the like.

トラヒックモニタ部140は、ソフトウェア処理でもよいがハードウェア処理を行えば高速な処理を行うことができる。   The traffic monitor unit 140 may be software processing, but can perform high-speed processing by performing hardware processing.

トラヒックモニタの対象としては、例えば、スイッチポート及び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 ID setting unit 113a that sets a VLAN ID as a group ID is shown. The group ID setting units 113b to 113f other than the group ID setting unit 113a have the same configuration.
The group ID setting unit 113a includes a PCI Express processing unit 251, a data monitoring unit 252, a protocol conversion unit 256, a group ID processing unit 253, an Ethernet processing unit 254 (Ethernet is a registered trademark), and a transmission / reception unit 255. Is done.

PCI Express処理部251は、ネットワークへ送信する場合は、PCI Expressのヘッダ内容から宛先及び送信元を特定する識別子としてバス番号及びデバイス番号をモニタする。逆に、ネットワークから受信する場合は、宛先及び送信元のMACアドレスに応じたPCI Expressのバス番号及びデバイス番号を付与する。   When transmitting to the network, the PCI Express processing unit 251 monitors the bus number and the device number as an identifier for specifying the destination and the transmission source from the header contents of the PCI Express. Conversely, when receiving from the network, the PCI Express bus number and device number corresponding to the destination and the source MAC address are assigned.

データモニタ部252は、データの内容をモニタし、このデータを処理するアプリケーション及びコマンド種類を識別する。アプリケーションを識別する実現方法としては、例えば、データ内のTCPポート番号をモニタする方法がある。また、コマンド種類を識別する方法としては、例えば、ヘッダ内のコマンドタイプをモニタする方法がある。   The data monitor unit 252 monitors the contents of data and identifies the application and command type that process this data. As an implementation method for identifying an application, for example, there is a method of monitoring a TCP port number in data. As a method for identifying the command type, for example, there is a method for monitoring the command type in the header.

図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 protocol conversion unit 256 converts a protocol on the CPU or I / O device side and a protocol on the bus side. In this conversion, an address conversion table as shown in FIG. 18 is referred to. The address conversion table shown in FIG. 18 is an example when PCI Express is used as the protocol on the CPU or I / O device side and Ethernet is used as the address on the bus side network. Referring to FIG. 18, it can be seen that, for example, the address of 00: 11: 22: 33: 44: 55 of Ethernet corresponds to the address of bus ID = 1 and device ID = 1 in PCI Express.

VLAN ID処理部253は、モニタしたデータ内容とグループ管理テーブルのグループ条件にもとづいてデータに付与するVLAN IDを決定する。   The VLAN ID processing unit 253 determines a VLAN ID to be given to the data based on the monitored data contents and the group condition of the group management table.

Ethernet処理部254は、Ethernetの宛先の付与及び送信元アドレスのモニタを行い、VLAN IDを付与又は除去する。   The Ethernet processing unit 254 assigns an Ethernet destination and monitors a transmission source address, and assigns or removes a VLAN ID.

送受信部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 CPUs 101a to 101c and the I / O devices 102 to 104 are made compatible with PCI Express will be described.

I/Oバスシステム1上を転送するデータとして、CPU101a上で動作しているデータベースアプリケーション(TCPポート番号54321を利用)からI/Oデバイス103(デバイスID=3)へ転送されるデータを考える。   As data to be transferred on the I / O bus system 1, data transferred from the database application (using the TCP port number 54321) operating on the CPU 101a to the I / O device 103 (device ID = 3) is considered.

はじめに、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 CPU 101a is assigned a VLAN ID in the group ID setting unit 113a according to the procedure of FIG. Specifically, the TCP port number of the data is monitored (step S111), and as a result, 54321 is acquired as the TCP port number. It is searched whether there is a VLAN ID whose TCP port number matches the group condition in the group management table (step S112), and as a result, VLAN ID = 11 is determined. The Ethernet processing unit 254 assigns VLAN ID = 11 to the data (step S113), encapsulates it in an Ethernet frame, and transfers the data. At this time, the MAC address corresponding to the device ID is searched and assigned as the destination address. If it does not match the group condition, the group ID is not assigned and the data is transferred as it is (step S114).

そして、トラヒックモニタ部140が、VLANごとにトラヒックをモニタする。モニタしたトラヒック情報から、公知の手法を用いてグループごとにトラヒックを制御することができる。   Then, the traffic monitor unit 140 monitors traffic for each VLAN. From the monitored traffic information, traffic can be controlled for each group using a known method.

トラヒックモニタ部140は、VLAN ID=11の帯域を測定する。この結果、帯域が40Mbpsであると測定されたとする。次に、この測定した帯域を基準値と比較しアクセスが集中していないか判断する。基準値を満足すれば“ボトルネック無し“と判断する。基準値を満足していないときは、VLAN ID=11のグループ条件を参照し、”データベースソフトがボトルネック“と判断し、帯域を制御する。   The traffic monitor unit 140 measures the band of VLAN ID = 11. As a result, it is assumed that the bandwidth is measured to be 40 Mbps. Next, the measured bandwidth is compared with a reference value to determine whether access is concentrated. If the reference value is satisfied, it is determined that “no bottleneck”. When the reference value is not satisfied, the group condition of VLAN ID = 11 is referred to, “database software is determined to be a bottleneck”, and the bandwidth is controlled.

上記説明では、性能劣化の有無に関わらずトラヒックを常にモニタしたが、アプリケーションや仮想マシンを使用中に特定のアプリケーションや仮想マシンの性能が劣化した場合には、そのアプリケーションや仮想マシンに関連する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 traffic monitor unit 140, and the detailed cause of the performance deterioration can be specified. For example, when the scientific calculation software uses two storage devices with device IDs = 2 and 3, VLAN ID = 51 and 52 are set for each device, and the traffic of each VLAN is monitored. Thereby, it can be specified that the performance of a device belonging to a VLAN having an abnormality in traffic is deteriorated.

なお、帯域は、負荷状況や管理ポリシーに応じて、帯域を増大・削減のどちらを選択するかを決めることができる。   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 traffic monitor unit 140 measures the packet loss rate and increases the allocated bandwidth for the VLAN exceeding the reference value, thereby improving the performance of the application allocated to the VLAN.

また、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 / O bus system 2 according to the second embodiment of the present invention has a configuration including a resource allocation unit 210 in addition to the configuration of the first embodiment shown in FIG. is there. Since the configuration other than the resource allocation unit 210 shown in FIG. 6 is the same as that of FIG. 1, the description thereof is omitted here.

リソース割当部210は、アプリケーションや仮想マシンに対してストレージやネットワークインタフェースカード(NIC)を割り当て、リソース割当の設定を行う。リソース割当設定の具体的な実現方法としては、例えば、スイッチによる切り替え、仮想マシンモニタ(VMM:Virtual Machine Monitor)の設定変更がある。仮想マシンモニタは、仮想マシンを提供するためのソフトウエアであり、例えばVmware やXenがある。   The resource allocation unit 210 allocates storage or a network interface card (NIC) to an application or a virtual machine, and performs resource allocation settings. Specific implementation methods of resource allocation setting include, for example, switching by a switch and setting change of a virtual machine monitor (VMM: Virtual Machine Monitor). The virtual machine monitor is software for providing a virtual machine, such as Vmware or Xen.

次に、仮想マシンとストレージの割当状況及び仮想マシンごとの帯域のモニタ結果が、図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 resource allocation unit 210 calculates resource allocation so as to equalize the bandwidth, and changes the resource allocation. As a result, an allocation state as shown in FIG. As can be seen from this result, the access bandwidth to the two storages is made uniform, and the performance and reliability can be improved. As a method of changing the allocation of storage used by a virtual machine, there is a method of moving an image file in which a virtual machine is activated.
As shown in FIG. 7, the resource allocation unit 210 includes a resource allocation calculation unit 211 and a resource setting unit 212. Based on the traffic information provided from the traffic monitor unit, the source allocation calculation unit 211 distributes the resource amount so that the performance of each virtual machine is equalized. For example, when virtual machine image files that use a large amount of storage bandwidth as resources exist on the same storage, storage access becomes a bottleneck. In order to solve this problem, the arrangement of the virtual machine image file is calculated so that the storage access bandwidth is made uniform. The resource setting unit 212 sets the virtual machine monitor in order to allocate the resource calculated by the resource allocation calculation unit 211 to the virtual machine. In the example of FIG. 8, the image file of the virtual machine 2 is moved from device ID = 2 to device ID = 3, and the image file of the virtual machine 3 is moved from device ID = 3 to device ID = 2.

なお本実施形態ではトラヒックモニタ部から提供されるトラヒック情報を基に、リソース量の配分を行っているが、後述する第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 / O bus system 3 of the present embodiment includes a group ID setting unit 113a-113c connected to each of the CPUs 101a-101c, and a group ID setting unit connected to each of the I / O devices 102-104. 113d-113f and a switch 280 connected to the group ID setting unit 113a-113f. Further, the I / O bus system 3 includes a group traffic management unit 211 connected to the group ID setting units 113a to 113f and the switch 280, a group management table connected to the group ID setting units 113a to 113f and the group traffic management unit 211. 212, a group management table 212, and a performance management unit 220 connected to the CPUs 101a to 101c.
In FIG. 9, the group traffic management unit 211 only shows connection with the group ID setting units 113c and 113f, but the group traffic management unit 211 is also connected with other group ID setting units 113a, 113b, 113d, and 113e. Similarly, the group management table 212 only shows connection with the group ID setting units 113c and 113f, but the group management table 212 is also connected with other group ID setting units 113a, 113b, 113d, and 113e.

また、図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 performance management unit 220 and the CPU 101 with the CPU 101c, the performance management unit 220 is also connected to the other CPUs 101a and 101b.
The I / O bus system 3 is connected to the CPUs 101a to 101c and the I / O devices 102 to 104. The group traffic management unit 211 allocates a band to each group according to the priority of the group registered in the group management table 212. The group management table 212 holds conditions for grouping. The group ID setting units 113a to 113f monitor the contents of the transfer data, determine a group ID to be assigned based on the grouping conditions registered in the group management table 212, and assign the group ID to the data.

なお、第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 ID setting units 113a to 113f is the same as the configuration of FIG.

性能管理部220は、トラヒックモニタ部240がモニタしたトラヒック情報をグループ対象の種類に応じた性能指標へ変換し、性能指標が予め定めた基準値を満足しているか判断し、満足していない場合はその箇所をボトルネックとして通知する。グループ対象の種類としては、例えば、アプリケーション、デバイス、PIO(Programmed IO)やDMA(Direct Memory Access)のようなデータ転送方式及び仮想化技術により提供される仮想マシンがある。   The performance management unit 220 converts the traffic information monitored by the traffic monitoring unit 240 into a performance index corresponding to the type of group target, determines whether the performance index satisfies a predetermined reference value, and if not satisfied Notifies the location as a bottleneck. Examples of types of groups include virtual machines provided by applications, devices, data transfer methods such as PIO (Programmed IO) and DMA (Direct Memory Access), and virtualization technology.

トラヒック制御部230は、グループごとにトラヒックを制御する。トラヒックモニタ部240は、グループごとにトラヒックをモニタする。グループごとにトラヒックを制御及びモニタするための実現方法としては、例えば、EthernetのVLAN(Virtual LAN)を利用する方法がある。   The traffic control unit 230 controls traffic for each group. The traffic monitor unit 240 monitors traffic for each group. As an implementation method for controlling and monitoring the traffic for each group, for example, there is a method using Ethernet VLAN (Virtual LAN).

次に性能管理部220の詳細な構成について説明する。   Next, a detailed configuration of the performance management unit 220 will be described.

図10は、性能管理部220の構成例を示すブロック図である。図10において、性能管理部段220は、性能管理振分部221、アプリケーション性能管理部222、デバイス性能管理部223、データ転送方式性能管理部224、コマンド性能管理部225及び仮想マシン性能管理部226から構成される。   FIG. 10 is a block diagram illustrating a configuration example of the performance management unit 220. 10, the performance management unit stage 220 includes a performance management distribution unit 221, an application performance management unit 222, a device performance management unit 223, a data transfer method performance management unit 224, a command performance management unit 225, and a virtual machine performance management unit 226. Consists of

性能管理振分部221は、性能を監視する対象に応じて、性能の管理方法をアプリケーション性能管理部222、デバイス性能管理部223、データ転送方式性能管理部224、コマンド性能管理部225又は仮想マシン性能管理部226から選択する。   The performance management distribution unit 221 selects a performance management method as an application performance management unit 222, a device performance management unit 223, a data transfer method performance management unit 224, a command performance management unit 225, or a virtual machine according to the performance monitoring target. Select from the performance management unit 226.

アプリケーション性能管理部222は、アプリケーションを対象とした場合にトラヒックから性能指標を生成し、生成された性能指標が規定された範囲内であるか判断する。
図11はアプリケーション性能管理部の構成を示すブロック図である。図11に示すように、アプリケーション性能管理部222は、モニタしたトラヒックから性能指標を作成する性能指標変換部261、及び作成された性能指標が指定された範囲内であるか判断する性能指標判断部262からなる。
The application performance management unit 222 generates a performance index from traffic when an application is targeted, and determines whether the generated performance index is within a specified range.
FIG. 11 is a block diagram showing the configuration of the application performance management unit. As shown in FIG. 11, the application performance management unit 222 includes a performance index conversion unit 261 that creates a performance index from monitored traffic, and a performance index determination unit that determines whether the created performance index is within a specified range. 262.

デバイス性能管理部223、データ転送方式性能管理部224、コマンド性能管理部225及び仮想マシン性能管理部226は、性能管理の対象がそれぞれI/Oデバイス、データ転送方式、コマンド、仮想マシンである場合に、それぞれの対象に応じて帯域から性能指標を生成し、生成された性能指標が規定された範囲内であるか判断する。   The device performance management unit 223, the data transfer method performance management unit 224, the command performance management unit 225, and the virtual machine performance management unit 226 each have a performance management target of an I / O device, a data transfer method, a command, and a virtual machine. Then, a performance index is generated from the band according to each target, and it is determined whether the generated performance index is within a specified range.

上記の性能管理の対象は説明のために示した例であり、対象に応じて新たな管理部を追加することもできるし、管理の対象としない管理部を省略することもできる。   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 / O bus system 3 of FIG. 9 will be described with reference to the flowcharts of FIGS.

図12は、I/Oバスシステム3がグループIDを付与する動作を示したフローチャートである。   FIG. 12 is a flowchart showing an operation in which the I / O bus system 3 assigns a group ID.

グループID設定部113a−113fは、それぞれI/Oバスへ転送されるデータをモニタし(ステップS101)、グループ管理テーブル112を参照して、データ内容がグループ条件と一致するか判断し(ステップS102)、グループ条件と一致した場合は一致したグループのグループIDをデータに付与する(ステップS103)。ステップS102において、グループ条件と一致しない場合はグループIDを付与せず、そのままデータを転送する(ステップS104)。   Each of the group ID setting units 113a to 113f monitors data transferred to the I / O bus (step S101) and refers to the group management table 112 to determine whether the data content matches the group condition (step S102). ), If it matches the group condition, the group ID of the matched group is assigned to the data (step S103). If it does not match the group condition in step S102, the group ID is not assigned and the data is transferred as it is (step S104).

図13は、I/Oバスシステム3が性能ボトルネックを発見する動作を示したフローチャートである。   FIG. 13 is a flowchart showing an operation in which the I / O bus system 3 finds a performance bottleneck.

トラヒックモニタ部240は、グループごとにトラヒックをモニタする(ステップS201)。性能指標変換部261は、モニタしたトラヒックから性能指標を作成する(ステップS202)。このときの変換は、例えば、トラヒックを1処理にかかる平均データ長で除することで処理件数を性能指標として得ることができる。性能指標判断部262は、作成された性能指標が指定された範囲内であるか判断する(ステップS203)。性能指標判断部262は、性能指標が指定された範囲内であれば、ボトルネックが無い旨を管理者へ通知する(ステップS204)。性能指標が指定された範囲外であれば、性能指標判断部262は、グループ管理テーブル212を参照して、グループ条件からボトルネックとなっている箇所を特定(ステップS205)し、ボトルネック箇所を管理者へ通知する(ステップS206)。   The traffic monitor unit 240 monitors traffic for each group (step S201). The performance index conversion unit 261 creates a performance index from the monitored traffic (step S202). In this conversion, for example, the number of processes can be obtained as a performance index by dividing the traffic by the average data length for one process. The performance index determination unit 262 determines whether the created performance index is within a specified range (step S203). If the performance index is within the specified range, the performance index determination unit 262 notifies the administrator that there is no bottleneck (step S204). If the performance index is out of the specified range, the performance index determining unit 262 refers to the group management table 212 to identify the bottleneck location from the group condition (step S205), and identify the bottleneck location. The administrator is notified (step S206).

図14は、I/Oバスシステム3が性能指標を制御する動作を示したフローチャートである。   FIG. 14 is a flowchart showing an operation in which the I / O bus system 3 controls the performance index.

性能管理部に含まれる性能指標変換部261は、要求された性能指標を帯域に変換する(ステップS301)。グループ管理部に含まれるグループトラヒック管理部211が、グループ管理テーブル212に登録されているグループごとの優先度及びステップS301で要求される帯域にもとづき各グループに与える帯域を決定する(ステップS302)。トラヒック制御部230が、ステップS302で決定された帯域を各グループに対して設定する(ステップS303)。なお、グループ管理部はグループID設定部113a−113f、グループトラヒック管理部211、グループ管理テーブル212からなる。
次に、CPU101a−101c及びI/Oデバイス102−104をPCI Expressに対応させた場合の構成例について説明する。
The performance index conversion unit 261 included in the performance management unit converts the requested performance index into a band (step S301). The group traffic management unit 211 included in the group management unit determines a band to be given to each group based on the priority for each group registered in the group management table 212 and the band requested in step S301 (step S302). The traffic control unit 230 sets the bandwidth determined in step S302 for each group (step S303). The group management unit includes a group ID setting unit 113a-113f, a group traffic management unit 211, and a group management table 212.
Next, a configuration example in the case where the CPUs 101a to 101c and the I / O devices 102 to 104 are made compatible with PCI Express will be described.

グループID設定部113a−113fとスイッチ280との間はEthernetプロトコルで接続され、グループを実現する部としてEthernetのVLAN(Virtual LAN)を利用するI/Oバスシステム3の構成が示されている。   A group ID setting unit 113a-113f and a switch 280 are connected by the Ethernet protocol, and a configuration of an I / O bus system 3 that uses an Ethernet VLAN (Virtual LAN) as a unit for realizing a group is illustrated.

CPU101a−101c及びI/Oデバイス102−104はPCI Expressのアドレス(バス番号、デバイス番号)を有し、グループID設定部113a−1213fはEthernetのMACアドレスを有する。初期設定時などにPCI ExpressのアドレスをEthernetフレームにカプセル化して送信することで、これら2つのアドレスの対応関係を取得することができる。   The CPUs 101a to 101c and the I / O devices 102 to 104 have PCI Express addresses (bus numbers and device numbers), and the group ID setting units 113a to 1213f have Ethernet MAC addresses. The correspondence between these two addresses can be acquired by encapsulating the PCI Express address in an Ethernet frame and transmitting it at the time of initial setting or the like.

スイッチ280は、ポート及びVLANごとにトラヒックをモニタできるEthernetスイッチである。   The switch 280 is an Ethernet switch that can monitor traffic for each port and VLAN.

トラヒック制御部230及びトラヒックモニタ部240は、スイッチ280が備えるVLANごとのトラヒック制御機能及びトラヒックモニタを利用して構成される。スイッチ280が備えるトラヒック制御機能及びトラヒックモニタ(トラヒックモニタ部240及びトラヒック制御部230)は、ソフトウェア処理ではなくハードウェア処理を行っているため高速な処理を行うことができる。   The traffic control unit 230 and the traffic monitor unit 240 are configured using a traffic control function and a traffic monitor for each VLAN included in the switch 280. The traffic control function and traffic monitor (traffic monitor unit 240 and traffic control unit 230) included in the switch 280 can perform high-speed processing because it performs hardware processing instead of software processing.

トラヒック制御の対象としては、例えば、スイッチポート及び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 ID setting unit 113a is the same as the configuration already described in the first embodiment with reference to FIG.

またグループ管理テーブル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 performance management unit 220 holds a management table representing a management target according to the performance monitoring target. The held management table is shown in FIG.
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 performance management unit 220 described above, an identifier representing the data contents and a name that can be easily understood by the administrator can be converted.

次に、実施例の動作を説明する。   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 / O bus system 3, consider data transferred from a database application (using TCP port number 54321) running on the CPU 101a to the I / O device 103 (device ID = 3).

はじめに、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 CPU 101a is assigned a VLAN ID in the group ID setting unit 113a according to the procedure of FIG. Specifically, the TCP port number of the data is monitored (step S101), and as a result, 54321 is acquired as the TCP port number. Whether or not there is a VLAN ID whose TCP port number matches the group condition in the group management table is searched (S102), and as a result, VLAN ID = 11 is determined. The Ethernet processing unit 254 assigns VLAN ID = 11 to the data, encapsulates it in an Ethernet frame, and transfers the data. At this time, the MAC address corresponding to the device ID is searched and assigned as the destination address.

スイッチ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 switch 280 is switched in the switch 280 to the group ID setting unit 113e which is a destination address. At this time, the traffic monitor unit 240 in the switch 280 monitors the traffic for each VLAN. The performance index is evaluated from the monitored traffic information according to the procedure shown in FIG. The traffic monitor unit 240 measures the band of VLAN ID = 11 (S201). As a result, it is assumed that the bandwidth is measured to be 40 Mbps. Next, the performance management unit converts the measured bandwidth into a performance index (S202). For example, by dividing this bandwidth by the average data size per process, the number of processes can be estimated as a performance index. For example, if the average data size per process is 10 kbytes, it can be converted into an application performance index when 500 processes are performed per second. Next, it is determined whether the access is concentrated compared with the reference value (S203). If the reference value for the number of processing cases per second is 300 to 700, it satisfies the reference value, so that “no bottleneck” is determined (S204). When the reference value is 100 to 400, the reference value is not satisfied, so the group condition of VLAN ID = 11 is referred to and “database software is determined to be a bottleneck” (S205, S206). Further, the performance index can be converted as the processing time of the I / O device by dividing the time required for the processing by the number of processing cases obtained above.

上記説明では、性能劣化の有無に関わらずトラヒックを常にモニタしたが、アプリケーションや仮想マシンを使用中に特定のアプリケーションや仮想マシンの性能が劣化した場合には、そのアプリケーションや仮想マシンに関連する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 traffic monitor unit 240, and the detailed cause of the performance degradation can be specified. For example, when the scientific calculation software uses two storage devices with device IDs = 2 and 3, VLAN ID = 51 and 52 are set for each device, and the traffic of each VLAN is monitored. Thereby, it can be specified that the performance of a device belonging to a VLAN having an abnormality in traffic is deteriorated.

また、トラヒック制御部230が、図14の性能指標制御手順に従い、トラヒックを制御することで性能指標を制御することも可能である。   In addition, the traffic control unit 230 can control the performance index by controlling the traffic according to the performance index control procedure of FIG.

例えば、上記例での処理件数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 performance management unit 220 converts the number of processing cases 400 into a bandwidth of 32 Mbps when it is desired to suppress the processing to 400 cases per second (S301). Next, the group traffic management unit 211 adjusts the calculated bandwidth with other VLAN bandwidths to be allocated (S302). Finally, the traffic control unit 230 sets the bandwidth of VLAN ID = 11 to 32 Mbps. In the description here, the bandwidth is reduced, but it is possible to decide whether 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.

例えば、トラヒックモニタ部230がパケット損率を測定し、トラヒック制御部240が基準値を超えているVLANに対して割当帯域を増やすことにより、このVLANに割り当てられたアプリケーションの性能を改善することができる。   For example, the traffic monitor unit 230 measures the packet loss rate, and the traffic control unit 240 increases the allocated bandwidth for the VLAN exceeding the reference value, thereby improving the performance of the application allocated to the VLAN. it can.

また、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の実施の形態のブロック図である。It is a block diagram of a 1st embodiment of the present invention. グループID設定部の構成のブロック図である。It is a block diagram of a structure of a group ID setting part. グループID付与のフローチャートである。It is a flowchart of group ID assignment. グループ設定部の構成のブロック図である。It is a block diagram of a structure of a group setting part. グループ管理テーブルの例である。It is an example of a group management table. 本発明の第2の実施の形態のブロック図である。It is a block diagram of the 2nd Embodiment of this invention. リソース割り当て部の構成のブロック図である。It is a block diagram of a structure of a resource allocation part. 仮想マシンの性能情報の例である。It is an example of the performance information of a virtual machine. 本発明の第3の実施の形態のブロック図である。It is a block diagram of the 3rd Embodiment of this invention. 性能管理部の構成のブロック図である。It is a block diagram of a structure of a performance management part. アプリケーション性能管理部の構成のブロック図である。It is a block diagram of a structure of an application performance management part. グループID付与のフローチャートである。It is a flowchart of group ID assignment. 性能指標評価のフローチャートである。It is a flowchart of performance index evaluation. 性能指標制御のフローチャートである。It is a flowchart of performance index control. 性能管理部が保持する情報の例である。It is an example of the information which a performance management part hold | maintains. PCI Express のヘッダフォーマットを示す図である。It is a figure which shows the header format of PCI Express. 従来のI/Oバスシステムのブロック図である。It is a block diagram of a conventional I / O bus system. アドレス変換テーブルを示す図である。It is a figure which shows an address conversion table.

符号の説明Explanation of symbols

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 Group management unit 111, 211 Group traffic management unit 112, 212 Group management table 113, 213 Group ID setting unit 120, 220 Performance management unit 121 Performance management distribution unit 130, 230 Traffic control unit 140, 240 Traffic monitor unit 151 Data monitor unit 152 Group ID determination unit 153 Group ID assignment unit 161 Performance index conversion unit 162 Performance index determination unit 280 Switch 910 Arbiter 911 Bus monitor unit 912 Bus band management unit 913 Bus usage right Management Department

Claims (31)

CPUとI/Oデバイス間でデータを転送するI/Oバスシステムであって、
転送される前記データをモニタし、モニタしたデータの内容に応じてグループ化し、グループのグループ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.
前記グループID設定手段は、グループ化する条件を保持するグループ管理テーブルに保持された該グループ化する条件に従って、割り当てるグループIDを決定することを特徴とする請求項1に記載のI/Oバスシステム。   2. The I / O bus system according to claim 1, wherein the group ID setting means determines a group ID to be assigned in accordance with the grouping condition held in a group management table holding a grouping condition. . 前記データの内容は前記データのヘッダに含まれる情報である請求項1又は2に記載のI/Oバスシステム。   The I / O bus system according to claim 1, wherein the content of the data is information included in a header of the data. 前記データの内容は、前記データのTCPポート番号であり、前記グループID設定手段は、該TCPポート番号ごとにグループ化を行い、前記グループIDを決定することを特徴とする請求項1又は2に記載のI/Oバスシステム。   The content of the data is a TCP port number of the data, and the group ID setting unit performs grouping for each TCP port number and determines the group ID. The I / O bus system described. 前記データの内容は、前記データ内のコマンド識別子であり、前記グループID設定手段は、該コマンド識別子ごとにグループ化を行い、前記グループIDを決定することを特徴とする請求項1又は2に記載のI/Oバスシステム。   The content of the data is a command identifier in the data, and the group ID setting unit performs grouping for each command identifier and determines the group ID. I / O bus system. 前記データの内容は、前記データ内のバス番号とデバイス番号であり、前記グループID設定手段は、該バス番号とデバイス番号ごとにグループ化を行い、前記グループIDを決定することを特徴とする請求項1又は2に記載のI/Oバスシステム。   The content of the data is a bus number and a device number in the data, and the group ID setting unit performs grouping for each bus number and device number to determine the group ID. Item 3. The I / O bus system according to Item 1 or 2. 前記グループID設定手段は、転送データの内容をモニタするデータモニタ手段と、モニタしたデータ内容に基づき、前記グループ管理テーブルに保持されたグループ化条件に従って割り当てるグループIDを決定するグループID決定手段と、モニタした前記データに該グループIDを付与するグループID付与手段と、を備えたことを特徴とする請求項1から6のいずれか1項に記載のI/Oバスシステム。   The group ID setting means includes a data monitoring means for monitoring the contents of the transfer data, a group ID determining means for determining a group ID to be assigned according to the grouping condition held in the group management table based on the monitored data contents, The I / O bus system according to any one of claims 1 to 6, further comprising group ID assigning means for assigning the group ID to the monitored data. 前記トラヒックモニタ手段がモニタしたトラヒック情報をグループ対象の種類に応じた性能指標へ変換する性能指標変換手段を備えたことを特徴とする請求項1から7のいずれか1項に記載のI/Oバスシステム。   The I / O according to any one of claims 1 to 7, further comprising performance index conversion means for converting the traffic information monitored by the traffic monitoring means into a performance index corresponding to a type of group target. Bus system. 前記グループ対象に応じた性能指標は、アプリケーションの単位時間当たりの処理件数であることを特徴とする請求項8に記載のI/Oバスシステム。   9. The I / O bus system according to claim 8, wherein the performance index corresponding to the group target is the number of processes per unit time of the application. 前記グループ対象に応じた性能指標は、I/Oデバイスの単位時間当たりの処理件数であることを特徴とする請求項8に記載のI/Oバスシステム。   9. The I / O bus system according to claim 8, wherein the performance index corresponding to the group target is the number of processes per unit time of the I / O device. 前記グループ対象に応じた性能指標は、I/Oデバイスの処理時間であることを特徴とする請求項8に記載のI/Oバスシステム。   9. The I / O bus system according to claim 8, wherein the performance index corresponding to the group target is a processing time of the I / O device. 前記性能指標変換手段が変換した性能指標を正常値であるか判断する性能指標判断手段を備えたことを特徴とする請求項8から11のいずれか1項に記載のI/Oバスシステム。   The I / O bus system according to any one of claims 8 to 11, further comprising performance index determination means for determining whether the performance index converted by the performance index conversion means is a normal value. 前記性能指標変換手段は要求された性能をトラヒックに変換し、
該変換されたトラヒックとグループの優先度に基づいて、グループごとに割り当てるトラヒックを決定するグループトラヒック管理手段を備えたことを特徴とする請求項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.
前記グループID設定手段を複数有し、前記グループID設定手段間をスイッチで接続し、前記スイッチ内に前記トラヒックモニタ手段及びトラヒックを制御するトラヒック制御手段を備えたことを特徴とする請求項1から13のいずれか1項に記載のI/Oバスシステム。   2. The apparatus according to claim 1, further comprising a plurality of the group ID setting means, wherein the group ID setting means are connected by a switch, and the traffic monitoring means and traffic control means for controlling traffic are provided in the switch. 14. The I / O bus system according to any one of items 13. 前記スイッチがイーサーネット(Ethernet)対応であることを特徴とする請求項14に記載のI/Oバスシステム。   15. The I / O bus system according to claim 14, wherein the switch is compatible with Ethernet. 前記グループとしてイーサーネット(Ethernet)のVLANを利用することを特徴とする請求項15に記載のI/Oバスシステム。   The I / O bus system according to claim 15, wherein an Ethernet VLAN is used as the group. 前記グループID設定手段においてプロトコル変換を行うことを特徴とする請求項1から16のいずれか1項に記載のI/Oバスシステム。   17. The I / O bus system according to claim 1, wherein protocol conversion is performed in the group ID setting means. 前記性能指標変換手段が作成した性能指標に基づいてリソース割当を計算し、リソース割当を設定するリソース管理手段を備えたことを特徴とする請求項8から17のいずれか1項に記載のI/Oバスシステム。   18. The I / O according to claim 8, further comprising: a resource management unit that calculates resource allocation based on the performance index created by the performance index conversion unit and sets the resource allocation. O bus system. 前記トラヒックモニタ手段によりモニタされたトラヒックに基づいてリソース割当を計算し、リソース割当を設定するリソース管理手段を備えたことを特徴とする請求項1から17のいずれか1項に記載のI/Oバスシステム。   The I / O according to any one of claims 1 to 17, further comprising resource management means for calculating resource allocation based on traffic monitored by the traffic monitoring means and setting resource allocation. Bus system. CPUとI/Oデバイス間でデータを転送するI/OバスシステムのI/Oバスシステム管理方法において、
転送される前記データの内容をモニタし、モニタしたデータの内容に応じてグループ化し、設定されたグループを単位としてトラヒックをモニタすることを特徴とする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.
CPUとI/Oデバイス間でデータを転送するI/OバスシステムのI/Oバスシステム管理方法において、
転送される前記データの内容をモニタし、モニタしたデータの内容とグループ管理テーブルに登録されたグループ条件とが一致したグループのグループ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.
転送される前記データのTCPポート番号をモニタし、該TCPポート番号ごとにグループを割り当て、前記グループIDを付与することを特徴とする請求項21に記載のI/Oバスシステム管理方法。   The I / O bus system management method according to claim 21, wherein a TCP port number of the data to be transferred is monitored, a group is assigned to each TCP port number, and the group ID is assigned. 転送される前記データ内のコマンド識別子をモニタし、該コマンド識別子ごとにグループを割り当て、前記グループIDを付与することを特徴とする請求項21に記載のI/Oバスシステム管理方法。   22. The I / O bus system management method according to claim 21, wherein a command identifier in the transferred data is monitored, a group is assigned to each command identifier, and the group ID is assigned. 転送される前記データ内のバス番号とデバイス番号をモニタし、該バス番号とデバイス番号ごとにグループを割り当て、前記グループIDを付与することを特徴とする請求項21に記載のI/Oバスシステム管理方法。   The I / O bus system according to claim 21, wherein a bus number and a device number in the transferred data are monitored, a group is assigned to each bus number and device number, and the group ID is assigned. Management method. 前記グループIDごとにトラヒックをモニタした後、モニタしたトラヒック情報をグループ対象の種類に応じた性能指標へ変換することを特徴とする請求項21から23のいずれか1項に記載のI/Oバスシステム管理方法。   The I / O bus according to any one of claims 21 to 23, wherein after monitoring traffic for each group ID, the monitored traffic information is converted into a performance index corresponding to the type of group target. System management method. 前記グループ対象に応じた性能指標は、アプリケーションの単位時間当たりの処理件数であることを特徴とする請求項25に記載のI/Oバスシステム管理方法。   26. The I / O bus system management method according to claim 25, wherein the performance index corresponding to the group target is the number of applications processed per unit time. 前記グループ対象に応じた性能指標は、I/Oデバイスの単位時間当たりの処理件数であることを特徴とする請求項25に記載のI/Oバスシステム管理方法。   26. The I / O bus system management method according to claim 25, wherein the performance index corresponding to the group target is the number of processes per unit time of an I / O device. 前記グループ対象に応じた性能指標は、I/Oデバイスの処理時間であることを特徴とする請求項25に記載のI/Oバスシステム管理方法。   26. The I / O bus system management method according to claim 25, wherein the performance index corresponding to the group target is a processing time of an I / O device. モニタしたトラヒック情報をグループ対象の種類に応じた性能指標へ変換した後、グループ対象の種類に応じた性能指標を正常値であるか判断することを特徴とする請求項25から28のいずれか1項に記載のI/Oバスシステム管理方法。   29. One of the claims 25 to 28, wherein the monitored traffic information is converted into a performance index corresponding to the type of the group target, and then it is determined whether the performance index corresponding to the type of the group target is a normal value. The I / O bus system management method according to the item. モニタしたトラヒック情報をグループ対象の種類に応じた性能指標へ変換した後、性能指標に応じたリソース割当を計算し、リソース割当結果に応じてリソースを設定することを特徴とする請求項25から28のいずれか1項に記載のI/Oバスシステム管理方法。   29. The resource allocation according to the performance index is calculated after the monitored traffic information is converted into the performance index according to the type of the group target, and the resource is set according to the resource allocation result. The I / O bus system management method according to any one of the above. モニタしたトラヒック情報に応じたリソース割当を計算し、リソース割当結果に応じてリソースを設定することを特徴とする請求項25から28のいずれか1項に記載のI/Oバスシステム管理方法。   29. The I / O bus system management method according to any one of claims 25 to 28, wherein resource allocation according to the monitored traffic information is calculated, and resources are set according to the resource allocation result.
JP2007014964A 2007-01-25 2007-01-25 I/o bus system and its management method Pending JP2008181387A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (11)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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