JP2015228075A - Computer resources allocation device and computer resources allocation program - Google Patents

Computer resources allocation device and computer resources allocation program Download PDF

Info

Publication number
JP2015228075A
JP2015228075A JP2014112692A JP2014112692A JP2015228075A JP 2015228075 A JP2015228075 A JP 2015228075A JP 2014112692 A JP2014112692 A JP 2014112692A JP 2014112692 A JP2014112692 A JP 2014112692A JP 2015228075 A JP2015228075 A JP 2015228075A
Authority
JP
Japan
Prior art keywords
virtual
computer resource
computer
resource allocation
guest
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014112692A
Other languages
Japanese (ja)
Other versions
JP6158751B2 (en
Inventor
祐喜 浅野
Yuki Asano
祐喜 浅野
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2014112692A priority Critical patent/JP6158751B2/en
Publication of JP2015228075A publication Critical patent/JP2015228075A/en
Application granted granted Critical
Publication of JP6158751B2 publication Critical patent/JP6158751B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To achieve combination of security of a real time property required by an OS with effective utilization of computer resources.SOLUTION: A data storage section 11 stores guest OS profile information on a virtual apparatus necessary for operation of a guest OS and computer resources allocation policy information on combination of virtual apparatuses capable of sharing the same computer resources. A computer resources allocation management section 12 generates a virtual apparatus required by a guest OS on a hypervisor based on the guest OS profile information to allocate computer resources to the virtual apparatuses on the basis of the computer resources allocation policy information.

Description

本発明は、ハイパーバイザ上の仮想機器にコンピュータの計算機資源を割り当てる技術に関する。   The present invention relates to a technique for allocating computer resources to a virtual device on a hypervisor.

近年、ハイパーバイザ上にオペレーティングシステム(OS)を集約することにより、コンピュータの計算機資源を有効に活用する取り組みが進んでいる。ハイパーバイザ技術は、ハードウェアとOSとの間で用いられ、ハイパーバイザ機能上で動作するOS(以下、ゲストOS)に対して計算機資源を疑似的に提供する技術である。具体的には、図8に示すように、ゲストOSを動作させるための仮想機器をソフトウェアプログラムで生成し、その仮想機器に対して計算装置等の計算機資源を割り当て、この仮想機器上でゲストOSを動作させることにより、処理負荷の小さいゲストOSや処理負荷特性の異なるゲストOSを同一のハードウェア上に集約し、計算機資源の有効利用を実現する。   In recent years, efforts have been made to effectively use computer resources of a computer by consolidating operating systems (OS) on a hypervisor. The hypervisor technology is used between hardware and an OS, and is a technology that artificially provides computer resources to an OS (hereinafter referred to as a guest OS) operating on a hypervisor function. Specifically, as shown in FIG. 8, a virtual device for operating a guest OS is generated by a software program, a computer resource such as a computing device is allocated to the virtual device, and the guest OS is run on this virtual device. , The guest OS having a small processing load and the guest OS having different processing load characteristics are aggregated on the same hardware, thereby realizing effective use of computer resources.

小比賀、外1名、“仮想化環境における通信処理要求の処理時間安定化方式”、NECクラウドシステム研究所、電子情報通信学会総合大会、情報・システム講演論文集1、2013年、p.60Kobiga, 1 other, “Processing time stabilization method for communication processing requests in virtualized environment”, NEC Cloud Systems Laboratory, IEICE General Conference, Information and Systems Proceedings 1, 2013, p.60

しかしながら、異なるゲストOS間やゲストOSとハイパーバイザ間で計算機資源を共有するため、同一の計算装置、記憶装置、入出力装置等への同時アクセスにより性能干渉が発生する。ゆえに、常に安定した応答性が要求されるリアルタイムシステムをハイパーバイザ上に搭載する際には、実時間性の確保と、ハイパーバイザ適用のメリットである計算機資源の有効利用との両立が課題であった。   However, since computer resources are shared between different guest OSes and between the guest OS and the hypervisor, performance interference occurs due to simultaneous access to the same computing device, storage device, input / output device, and the like. Therefore, when mounting a real-time system that always requires stable responsiveness on the hypervisor, it is a challenge to ensure both real-time performance and effective use of computer resources, which is a merit of applying the hypervisor. It was.

従来ではゲストOSのリアルタイム要件をハイパーバイザ側で把握できず、ゲストOSの要求するリアルタイム性を保証するためには、図9に示すように、そのゲストOSを動作させる仮想機器に対して計算機資源を占有させていた。しかし、本方法では、実時間性の確保を実現できるが、ハイパーバイザ適用のメリットである計算機資源の利用効率が大きく低下していた。   Conventionally, the real-time requirements of the guest OS cannot be grasped on the hypervisor side, and in order to guarantee the real-time property required by the guest OS, as shown in FIG. Was occupied. However, with this method, real-time performance can be ensured, but the utilization efficiency of computer resources, which is a merit of applying the hypervisor, has greatly decreased.

本発明は、上記事情を鑑みてなされたものであり、OSが要求する実時間性の確保と計算機資源の有効利用との両立を実現することを目的とする。   The present invention has been made in view of the above circumstances, and an object of the present invention is to achieve both real-time performance required by the OS and effective use of computer resources.

以上の課題を解決するため、請求項1に記載の計算機資源割当装置は、プログラムで生成されたハイパーバイザ上の仮想機器にコンピュータの計算機資源を割り当てる計算機資源割当装置において、オペレーティングシステムの動作に必要な仮想機器に関する第1の情報と、同一の計算機資源を共有可能な仮想機器の組み合わせに関する第2の情報とを記憶しておくデータ記憶手段と、前記データ記憶手段から前記第1の情報および前記第2の情報を読み出して、前記第1の情報に基づきハイパーバイザ上のオペレーティングシステムが必要とする仮想機器を生成し、前記第2の情報に基づき当該仮想機器に計算機資源を割り当てる計算機資源割当手段と、を有することを要旨とする。   In order to solve the above problems, the computer resource allocation device according to claim 1 is necessary for the operation of the operating system in the computer resource allocation device that allocates the computer resource of the computer to the virtual device on the hypervisor generated by the program. Data storage means for storing first information relating to a virtual device and second information relating to a combination of virtual devices that can share the same computer resource; from the data storage means the first information and Computer resource allocation means for reading the second information, generating a virtual device required by the operating system on the hypervisor based on the first information, and allocating a computer resource to the virtual device based on the second information The gist is to have.

本発明によれば、OSの動作に必要な仮想機器に関する第1の情報と、同一の計算機資源を共有可能な仮想機器の組み合わせに関する第2の情報とを記憶しておき、第1の情報に基づきハイパーバイザ上のOSが必要とする仮想機器を生成し、第2の情報に基づき当該仮想機器に計算機資源を割り当てるため、OSが要求する実時間性の確保と計算機資源の有効利用との両立を実現できる。   According to the present invention, the first information related to virtual devices necessary for the operation of the OS and the second information related to combinations of virtual devices that can share the same computer resource are stored in the first information. Based on the second information, a virtual device required by the OS on the hypervisor is generated, and computer resources are allocated to the virtual device based on the second information. Therefore, both real-time performance required by the OS and effective use of computer resources are achieved. Can be realized.

請求項2に記載の計算機資源割当装置は、請求項1に記載の計算機資源割当装置において、前記計算機資源割当手段は、前記組み合わせに含まれる複数の仮想機器に同一の計算機資源を割り当てることを要旨とする。   The computer resource allocation device according to claim 2 is the computer resource allocation device according to claim 1, wherein the computer resource allocation means allocates the same computer resource to a plurality of virtual devices included in the combination. And

請求項3に記載の計算機資源割当装置は、請求項1又は2に記載の計算機資源割当装置において、前記計算機資源割当手段は、前記割り当てられた計算機資源の処理負荷状況に応じて当該計算機資源の数を変更することを要旨とする。   The computer resource allocating device according to claim 3 is the computer resource allocating device according to claim 1 or 2, wherein the computer resource allocating means determines the computer resource according to the processing load status of the allocated computer resource. The gist is to change the number.

請求項4に記載の計算機資源割当プログラムは、請求項1乃至3のいずれかに記載の計算機資源割当装置としてコンピュータを機能させることを要旨とする。   According to a fourth aspect of the present invention, there is provided a computer resource allocation program that causes a computer to function as the computer resource allocation apparatus according to any one of the first to third aspects.

本発明によれば、OSが要求する実時間性の確保と計算機資源の有効利用との両立を実現できる。   According to the present invention, it is possible to realize both real-time performance required by the OS and effective use of computer resources.

計算機資源割当装置の機能ブロック構成を示す図である。It is a figure which shows the functional block structure of a computer resource allocation apparatus. ゲストOSプロファイル情報の例を示す図である。It is a figure which shows the example of guest OS profile information. 計算機資源割当ポリシ情報の例を示す図である。It is a figure which shows the example of computer resource allocation policy information. 計算機資源の割り当て方法を示す図である。It is a figure which shows the allocation method of a computer resource. 計算機資源の割り当て方法の具体例を示す図である。It is a figure which shows the specific example of the allocation method of a computer resource. 計算機資源の割り当て数の増加方法を示す図である。It is a figure which shows the increase method of the allocation number of computer resources. 計算機資源の割り当て数の減少方法を示す図である。It is a figure which shows the reduction method of the allocation number of computer resources. コンピュータ上におけるハイパーバイザ機能部の物理的な位置関係を示す図である。It is a figure which shows the physical positional relationship of the hypervisor function part on a computer. 従来の計算機資源の割り当て例を示す図である。It is a figure which shows the example of allocation of the conventional computer resource.

本発明は、ゲストOSが要求する実時間性の確保とハイパーバイザ適用のメリットである計算機資源の有効利用とを両立するため、ゲストOSの処理特性やリアルタイム要件等をハイパーバイザ側で考慮し、仮想機器に対する利用計算機資源の割り当てを決定するようにする。例えば、同一CPUを共有してもよい仮想機器や共有できない仮想機器を予め定義しておき、その定義に基づき仮想機器へCPUを振り分けるようにする。以下、本発明を実施する一実施の形態について図面を用いて説明する。   The present invention takes into account the processing characteristics and real-time requirements of the guest OS on the hypervisor side in order to achieve both real-time performance required by the guest OS and effective use of computer resources, which is a merit of applying the hypervisor. The allocation of used computer resources to the virtual device is determined. For example, virtual devices that may share the same CPU or virtual devices that cannot be shared are defined in advance, and CPUs are distributed to virtual devices based on the definition. Hereinafter, an embodiment for carrying out the present invention will be described with reference to the drawings.

図1は、本実施の形態に係る計算機資源割当装置1の機能ブロック構成を示す図である。この計算機資源割当装置1は、データ記憶部11と、計算機資源割当管理部12と、を備えて構成される。ハイパーバイザ機能を具備し、かつ、1つ以上のゲストOSを同時に実行するコンピュータ上で動作する。   FIG. 1 is a diagram showing a functional block configuration of a computer resource allocation apparatus 1 according to the present embodiment. The computer resource allocation apparatus 1 includes a data storage unit 11 and a computer resource allocation management unit 12. It operates on a computer having a hypervisor function and executing one or more guest OSs simultaneously.

データ記憶部11は、ゲストOSの処理負荷特性を含む情報を記述したゲストOSプロファイル情報と、処理負荷特性に応じた仮想機器への計算機資源の割り当てポリシを記述した計算機資源割当ポリシ情報と、を記憶しておく機能部である。   The data storage unit 11 includes guest OS profile information describing information including processing load characteristics of the guest OS, and computer resource allocation policy information describing a policy of assigning computer resources to virtual devices according to the processing load characteristics. This is a functional unit to be memorized.

ゲストOSプロファイル情報には、ゲストOSが起動時に必要な計算機資源(仮想機器)に関する情報、ゲストOSの負荷特性に関する情報が含まれている。特にゲストOSの負荷特性に関する情報には、例えば、データベース、ウェブサーバ、VoIPサーバといったサーバの用途に関する情報、物理環境又は仮想環境上で過去に動作させた際の実測性能に関する情報が含まれている。この実測性能に関する情報には、例えば、CPU使用率、メモリ使用量、IO使用率といったOS側で測定可能なハードウェア資源利用状況情報、ゲストOS上で動作するプロセス及びスレッドに関する情報が含まれている。このプロセス及びスレッドに関する情報には、例えば、動作するプロセス及びスレッドのコマンド名又は実行ファイル名、動作するプロセス及びスレッドの実行優先度やスケジューリング方式が含まれている。ゲストOSプロファイル情報の例を図2に示す。   The guest OS profile information includes information related to computer resources (virtual devices) required when the guest OS is started up, and information related to the load characteristics of the guest OS. In particular, the information on the load characteristics of the guest OS includes, for example, information on the usage of a server such as a database, a web server, and a VoIP server, and information on measured performance when operated in the past in a physical environment or a virtual environment. . The information related to the actually measured performance includes, for example, hardware resource usage information that can be measured on the OS side, such as CPU usage, memory usage, and IO usage, and information about processes and threads that run on the guest OS. Yes. The information regarding the process and thread includes, for example, the command name or execution file name of the operating process and thread, the execution priority of the operating process and thread, and the scheduling method. An example of guest OS profile information is shown in FIG.

一方、計算機資源割当ポリシ情報には、ゲストOSの処理負荷特性に対応する計算機資源の割り当てポリシが記述されている。具体的には、仮想機器間における同一計算機資源の共有可否を判断するための情報として、仮想機器の組み合わせより共有可否を決定するための表形式の2次元配列情報、実測値に基づく計算機資源の使用量と計算機資源から共有可否を判断するための条件式が含まれている。2次元配列情報には、占有可否を決定するための情報や共有範囲の情報を含むようにしてもよい。計算機資源割当ポリシ情報の例を図3に示す。本例はDBサーバの場合を例示しており、仮想機器間(仮想CPUと仮想HDDと仮想NICとの各間)での同一CPUの共有可否を示している。APサーバやVoIPサーバについても処理負荷特性に応じて同様に定義される。   On the other hand, in the computer resource allocation policy information, a computer resource allocation policy corresponding to the processing load characteristic of the guest OS is described. Specifically, as information for determining whether or not the same computer resource can be shared between virtual devices, two-dimensional array information in a tabular format for determining whether or not the same computer resource can be shared from a combination of virtual devices; A conditional expression for determining whether sharing is possible from the usage amount and computer resources is included. The two-dimensional array information may include information for determining whether to occupy or information on the sharing range. An example of computer resource allocation policy information is shown in FIG. This example illustrates the case of a DB server, and indicates whether or not the same CPU can be shared between virtual devices (between a virtual CPU, a virtual HDD, and a virtual NIC). The AP server and the VoIP server are similarly defined according to the processing load characteristics.

計算機資源割当管理部12は、ゲストOSプロファイル情報及び計算機資源割当ポリシ情報に基づき仮想機器に計算機資源を割り当てる機能部である。すなわち、データ記憶部11からそれら2つの情報を取得し、各情報を基に仮想機器間での計算機資源の共有の可否を判定し、各仮想機器が使用可能な計算機資源を定義して、定義した計算機資源の割り当てをハイパーバイザ機能内のディスパッチャ機能やスケジューラ機能に設定する。   The computer resource allocation management unit 12 is a functional unit that allocates computer resources to virtual devices based on guest OS profile information and computer resource allocation policy information. That is, these two pieces of information are acquired from the data storage unit 11, based on each piece of information, it is determined whether or not a computer resource can be shared between virtual devices, and a computer resource that can be used by each virtual device is defined and defined. The assigned computer resources are set in the dispatcher function and scheduler function in the hypervisor function.

次に、図4を参照しながら、計算機資源割当装置1で行う計算機資源の割り当て方法について説明する。なお、図4は最小の構成例であり、実施時には同図内に未記載の機器やシステムを接続し、他の機能部やデータを更に用いてもよい。特に、実施例の簡略化のため、計算機資源の管理対象として代表的なCPUを用いている。CPU以外に、メモリやモニタ等のハードウェア資源やソフトウェア資源であっても構わない。   Next, a computer resource allocation method performed by the computer resource allocation apparatus 1 will be described with reference to FIG. Note that FIG. 4 shows a minimum configuration example, and at the time of implementation, devices and systems not described in the figure may be connected, and other functional units and data may be further used. In particular, to simplify the embodiment, a typical CPU is used as a management target of computer resources. In addition to the CPU, hardware resources such as a memory and a monitor, and software resources may be used.

最初に、ステップS1において、計算機資源割当管理部12は、データ記憶部11からゲストOSプロファイル情報を読み出す。このゲストOSプロファイル情報には、上述したように、ゲストOSが起動時に必要な計算機資源に関する情報等が含まれている。   First, in step S <b> 1, the computer resource allocation management unit 12 reads guest OS profile information from the data storage unit 11. As described above, the guest OS profile information includes information related to computer resources required when the guest OS is started.

次に、ステップS2において、計算機資源割当管理部12は、ステップS1で取得したゲストOSプロファイル情報を基に仮想機器を生成する。例えば、図2に示したゲストOSプロファイル情報の場合、ゲストOS1やゲストOS2については、それぞれ、2つの仮想CPU、1つの仮想NIC、1つの仮想HDDを生成する。一方、ゲストOS3については、4つの仮想CPU、1つの仮想NIC、1つの仮想HDDを生成する。   Next, in step S2, the computer resource allocation management unit 12 generates a virtual device based on the guest OS profile information acquired in step S1. For example, in the case of the guest OS profile information shown in FIG. 2, for the guest OS 1 and guest OS 2, two virtual CPUs, one virtual NIC, and one virtual HDD are generated, respectively. On the other hand, for the guest OS 3, four virtual CPUs, one virtual NIC, and one virtual HDD are generated.

次に、ステップS3において、計算機資源割当管理部12は、データ記憶部11から読み出した計算機資源割当ポリシ情報を参照し、ステップS2で生成した仮想機器において同一CPUを共有可能な組み合わせを判定する。例えば、図3に示した計算機資源割当ポリシ情報の場合、仮想HDD同士、仮想HDD−仮想NIC、又は仮想NIC同士であれば同一CPUを共有できると判定する。   Next, in step S3, the computer resource allocation management unit 12 refers to the computer resource allocation policy information read from the data storage unit 11, and determines a combination that can share the same CPU in the virtual device generated in step S2. For example, in the case of the computer resource allocation policy information shown in FIG. 3, it is determined that the same CPU can be shared between virtual HDDs, virtual HDD-virtual NIC, or virtual NICs.

次に、ステップS4において、計算機資源割当管理部12は、ステップS2で生成した仮想機器群と、ステップS3で判定した同一CPUの共有可能な組み合わせ情報とに基づき、当該仮想機器群を動作させるCPUを仮想機器毎に割り当てる。例えば、同一CPUを共有可能な複数の仮想機器に対しては1つのCPUを割り当て、同一CPUを共有できない仮想機器に対しては1つのCPUを仮想機器毎に割り当てる。その後、CPUの割り当て結果をディスパッチャ機能部やスケジューラ機能部へ通知する。   Next, in step S4, the computer resource allocation management unit 12 operates the virtual device group based on the virtual device group generated in step S2 and the sharable combination information of the same CPU determined in step S3. Is assigned to each virtual device. For example, one CPU is assigned to a plurality of virtual devices that can share the same CPU, and one CPU is assigned to each virtual device to a virtual device that cannot share the same CPU. Thereafter, the CPU allocation result is notified to the dispatcher function unit and the scheduler function unit.

最後に、ステップS5において、その通知を受けたディスパッチャ機能部又はスケジューラ機能部は、ステップS4で通知されたCPUの割り当て結果に基づき仮想機器群に対するCPUの割り当て処理を実行する。   Finally, in step S5, the dispatcher function unit or scheduler function unit that receives the notification executes CPU allocation processing for the virtual device group based on the CPU allocation result notified in step S4.

続いて、図5を参照しながら、ステップS4で説明したCPUの割り当て方法を具体的に説明する。なお、ここではゲストOS1を用いて説明する。ステップS2を行ったタイミングで当該ゲストOS1のサーバ種別と、必要な仮想機器の種類及び数が確定している。すなわち、ゲストOS1のサーバ種別はDBサーバであり、仮想機器として仮想CPU1、仮想CPU2、仮想NIC、仮想HDDが生成されているものとする。   Next, the CPU allocation method described in step S4 will be specifically described with reference to FIG. Here, the description will be made using the guest OS 1. At the timing when step S2 is performed, the server type of the guest OS 1 and the types and number of necessary virtual devices are determined. That is, it is assumed that the server type of the guest OS 1 is a DB server, and virtual CPU 1, virtual CPU 2, virtual NIC, and virtual HDD are generated as virtual devices.

まず、計算機資源割当管理部12は、計算機資源割当ポリシ情報の行を上から探索し、行に該当する種別の仮想機器の中で、動作可能CPUが未定義の仮想機器を1つ抽出し、動作可能CPUの番号C(C∈C⊂N、Cは他のゲストOSに割り当てられていないCPU番号の集合、Nは自然数)を定義する(ステップS4−1)。ここでは理解を容易にするため、仮想HDDに番号CのCPUが定義されたとする。ここで動作可能CPUの番号が未定義の仮想機器がない場合は、処理を終了する。 First, the computer resource allocation management unit 12 searches the computer resource allocation policy information row from above, extracts one virtual device whose operable CPU is undefined from the types of virtual devices corresponding to the row, An operable CPU number C i (C i εC⊂N, C is a set of CPU numbers not assigned to other guest OSes, N is a natural number) is defined (step S4-1). Here, in order to facilitate understanding, it is assumed that the CPU of number C 0 is defined in the virtual HDD. If there is no virtual device for which the number of operable CPUs is undefined, the process ends.

次に、計算機資源割当管理部12は、ステップS4−1で定義を行った仮想機器が属する行の列を1列目から順次探索し、同一CPUを共有可能な仮想機器の中で動作可能CPUの番号が未定義の仮想機器を探索する。当該仮想機器が発見された場合には、当該仮想機器にも同じ番号CのCPUを定義する(ステップS4−2)。その後、1列目に戻り、同じ番号Cで動作する仮想機器と共存可能な仮想機器を新たに探索する。なお、同一CPUを共有可能かつ動作可能CPUの番号が未定義な仮想機器を発見できない場合は、CPU番号の識別子iをインクリメント(i=i+1)してステップS4−1へ戻る。 Next, the computer resource allocation management unit 12 sequentially searches the column of the row to which the virtual device defined in step S4-1 belongs from the first column, and can operate among virtual devices that can share the same CPU. Search for a virtual device whose number is undefined. When the virtual device is found, a CPU with the same number C 0 is also defined for the virtual device (step S4-2). Thereafter, returning to the first column, a new virtual device that can coexist with a virtual device operating with the same number C 0 is searched. When a virtual device that can share the same CPU and whose CPU number is undefined cannot be found, the CPU number identifier i is incremented (i = i + 1), and the process returns to step S4-1.

ステップS4−1〜ステップS4−2を繰り返し行うことにより、同一CPUを共有可能な複数の仮想機器に対しては1つのCPUが割り当てられ、同一CPUを共有できない仮想機器に対しては1つのCPUが仮想機器毎に割り当てられる。   By repeating Step S4-1 to Step S4-2, one CPU is assigned to a plurality of virtual devices that can share the same CPU, and one CPU is assigned to a virtual device that cannot share the same CPU. Is assigned to each virtual device.

ここまで、同一CPUを共有可能な複数の仮想機器に対して1つのCPU(最小数のCPU)を割り当てる実施例を説明した。一方、そのような複数の仮想機器に対して複数のCPUを割り当てても構わない。例えば、後述するステップS6を周期的に実行し、同一CPUを共有可能な複数の仮想機器に対し、処理負荷状況に応じてCPU番号の割り当てを増減させる。以下、図6を参照しながら、CPU番号の割り当て増減方法を説明する。   So far, the embodiment in which one CPU (minimum number of CPUs) is allocated to a plurality of virtual devices that can share the same CPU has been described. On the other hand, a plurality of CPUs may be assigned to such a plurality of virtual devices. For example, step S6 to be described later is periodically executed to increase or decrease the CPU number assignment for a plurality of virtual devices that can share the same CPU according to the processing load status. Hereinafter, the CPU number allocation increase / decrease method will be described with reference to FIG.

まず、ステップS6−1において、計算機資源割当管理部12は、仮想機器と当該仮想機器に対して割り当てられた動作可能CPUとを対応付けた配列データを探索し、同一の動作可能CPUの番号を持つ仮想機器の組を抽出する。例えば、番号CのCPUが割り当てられた仮想HDDと仮想NICの組を抽出する。 First, in step S6-1, the computer resource allocation management unit 12 searches for array data in which a virtual device and an operable CPU assigned to the virtual device are associated with each other, and sets the same operable CPU number. Extract a set of virtual devices. For example, a set of a virtual HDD and a virtual NIC to which the CPU with the number C 0 is assigned is extracted.

次に、ステップS6−2において、計算機資源割当管理部12は、抽出した組のCPU番号に対応するCPUについて、その処理負荷状況をスケジューラ機能部等から取得し、所定の閾値に基づき組毎にCPUの処理負荷状態(高負荷状態、通常状態、低負荷状態)を判定する。ある組において動作可能なCPU番号が複数ある場合には、その平均値等を用いて判定する。また、処理負荷状況の判断指標や閾値については、ゲストOSプロファイル情報に記述があればそれを用いてもよい。また、閾値は使用中のCPU番号やCPU数等から動的に変更してもよい。   Next, in step S6-2, the computer resource allocation management unit 12 acquires the processing load status of the CPU corresponding to the extracted CPU number from the scheduler function unit and the like, and sets the CPU for each set based on a predetermined threshold. The processing load state (high load state, normal state, low load state) of the CPU is determined. When there are a plurality of CPU numbers operable in a certain group, the determination is made using the average value or the like. Further, if there is a description in the guest OS profile information, the processing load status determination index and threshold value may be used. Further, the threshold value may be dynamically changed based on the CPU number being used, the number of CPUs, and the like.

その後、ステップS6−3において、計算機資源割当管理部12は、ステップS6−2での処理負荷の判定の結果、判定対象の組が高負荷状態と判定された場合、他のゲストOSに割り当てられていないCPU番号の集合CからCPUを取得し、当該組に属する各仮想機器の動作可能CPUとして追加する。例えば、番号CのCPU使用率が80%以上の場合、そのCPUを高負荷状態と判定し、集合Cから未割当である番号CのCPUを更に割り当てる。 Thereafter, in step S6-3, the computer resource allocation management unit 12 is allocated to another guest OS when the determination target group is determined to be in a high load state as a result of the determination of the processing load in step S6-2. A CPU is acquired from a set C of CPU numbers that are not present, and is added as an operable CPU of each virtual device belonging to the set. For example, when the CPU usage rate of the number C 0 is 80% or more, the CPU is determined to be in a high load state, and the CPU of the number C 3 that is not allocated from the set C is further allocated.

一方、図7に示すように、仮想機器の組に複数の動作可能なCPUが既に割り当てられており、かつ、その組が低負荷状態と判定された場合は、番号の大きいCPUを当該組に属する各仮想機器の動作可能CPUから除外する。例えば、番号Cと番号Cの2つのCPUが割り当てられており、それら使用率の平均値が40%以下の場合には、それらCPUを低負荷状態と判定し、番号の大きいCのCPUを動作可能CPUから除外する。これにより、割り当てられたCPUの処理負荷状況に応じて、仮想機器に割り当てられるCPU資源を増減できる。 On the other hand, as shown in FIG. 7, when a plurality of operable CPUs are already assigned to a set of virtual devices and the set is determined to be in a low load state, a CPU with a larger number is assigned to the set. It is excluded from the operable CPU of each virtual device to which it belongs. For example, when two CPUs of number C 0 and number C 3 are allocated and the average value of their usage rate is 40% or less, these CPUs are determined to be in a low load state, and the number of C 3 having a large number is determined. The CPU is excluded from the operable CPU. Thereby, the CPU resource allocated to the virtual device can be increased or decreased according to the processing load status of the allocated CPU.

本実施の形態によれば、データ記憶部11が、ゲストOSの動作に必要な仮想機器に関するゲストOSプロファイル情報と、同一の計算機資源を共有可能な仮想機器の組み合わせに関する計算機資源割当ポリシ情報とを記憶しておき、計算機資源割当管理部12が、ゲストOSプロファイル情報に基づきハイパーバイザ上のゲストOSが必要とする仮想機器を生成し、計算機資源割当ポリシ情報に基づき当該仮想機器に計算機資源を割り当てるので、ゲストOSが要求する実時間性の確保と計算機資源の有効利用との両立を実現できる。また、ハイパーバイザによる仮想環境を提供する事業者とゲストOSの所有者が異なる場合でも、ゲストOSの処理特性に応じて仮想機器へ計算資源を割り当てることができる。   According to the present embodiment, the data storage unit 11 obtains guest OS profile information related to a virtual device necessary for the operation of the guest OS and computer resource allocation policy information related to a combination of virtual devices that can share the same computer resource. The computer resource allocation management unit 12 stores a virtual device required by the guest OS on the hypervisor based on the guest OS profile information, and allocates a computer resource to the virtual device based on the computer resource allocation policy information. Therefore, it is possible to achieve both real-time performance required by the guest OS and effective use of computer resources. Further, even when the provider providing the virtual environment using the hypervisor and the owner of the guest OS are different, it is possible to allocate computing resources to the virtual device according to the processing characteristics of the guest OS.

最後に、本実施の形態で説明した計算機資源割当装置1をプログラムとして構築し、コンピュータにインストールして実行させることや、通信ネットワークを介して流通させることも可能である。   Finally, the computer resource allocation device 1 described in the present embodiment can be constructed as a program, installed in a computer and executed, or distributed via a communication network.

1…計算機資源割当装置
11…データ記憶部
12…計算機資源割当管理部
S1〜S6、S4−1〜S4−2、S6−1〜S6−3…ステップ
DESCRIPTION OF SYMBOLS 1 ... Computer resource allocation apparatus 11 ... Data storage part 12 ... Computer resource allocation management part S1-S6, S4-1-S4-2, S6-1-S6-3 ... Step

Claims (4)

プログラムで生成されたハイパーバイザ上の仮想機器にコンピュータの計算機資源を割り当てる計算機資源割当装置において、
オペレーティングシステムの動作に必要な仮想機器に関する第1の情報と、同一の計算機資源を共有可能な仮想機器の組み合わせに関する第2の情報とを記憶しておくデータ記憶手段と、
前記データ記憶手段から前記第1の情報および前記第2の情報を読み出して、前記第1の情報に基づきハイパーバイザ上のオペレーティングシステムが必要とする仮想機器を生成し、前記第2の情報に基づき当該仮想機器に計算機資源を割り当てる計算機資源割当手段と、
を有することを特徴とする計算機資源割当装置。
In a computer resource allocation device for allocating computer resources to a virtual device on a hypervisor generated by a program,
Data storage means for storing first information relating to virtual devices required for operating the operating system and second information relating to combinations of virtual devices that can share the same computer resource;
The first information and the second information are read from the data storage means, a virtual device required by the operating system on the hypervisor is generated based on the first information, and based on the second information A computer resource allocation means for allocating computer resources to the virtual device;
A computer resource allocation device comprising:
前記計算機資源割当手段は、
前記組み合わせに含まれる複数の仮想機器に同一の計算機資源を割り当てることを特徴とする請求項1に記載の計算機資源割当装置。
The computer resource allocation means includes:
The computer resource allocation apparatus according to claim 1, wherein the same computer resource is allocated to a plurality of virtual devices included in the combination.
前記計算機資源割当手段は、
前記割り当てられた計算機資源の処理負荷状況に応じて当該計算機資源の数を変更することを特徴とする請求項1又は2に記載の計算機資源割当装置。
The computer resource allocation means includes:
3. The computer resource allocation apparatus according to claim 1, wherein the number of the computer resources is changed in accordance with a processing load status of the allocated computer resources.
請求項1乃至3のいずれかに記載の計算機資源割当装置としてコンピュータを機能させるための計算機資源割当プログラム。   A computer resource allocation program for causing a computer to function as the computer resource allocation apparatus according to any one of claims 1 to 3.
JP2014112692A 2014-05-30 2014-05-30 Computer resource allocation apparatus and computer resource allocation program Active JP6158751B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014112692A JP6158751B2 (en) 2014-05-30 2014-05-30 Computer resource allocation apparatus and computer resource allocation program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014112692A JP6158751B2 (en) 2014-05-30 2014-05-30 Computer resource allocation apparatus and computer resource allocation program

Publications (2)

Publication Number Publication Date
JP2015228075A true JP2015228075A (en) 2015-12-17
JP6158751B2 JP6158751B2 (en) 2017-07-05

Family

ID=54885524

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014112692A Active JP6158751B2 (en) 2014-05-30 2014-05-30 Computer resource allocation apparatus and computer resource allocation program

Country Status (1)

Country Link
JP (1) JP6158751B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020021167A (en) * 2018-07-30 2020-02-06 日本電信電話株式会社 Control device and control method
JP2021060857A (en) * 2019-10-08 2021-04-15 横河電機株式会社 Communication processing apparatus, communication processing method, and program

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7017132B2 (en) 2018-09-25 2022-02-08 トヨタ車体株式会社 Manufacturing method of sound absorbing and insulating member

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000215071A (en) * 1999-01-21 2000-08-04 Hitachi Ltd Virtual computer system
JP2002202959A (en) * 2000-12-28 2002-07-19 Hitachi Ltd Virtual computer system for performing dynamic resource distribution
JP2007316724A (en) * 2006-05-23 2007-12-06 Hitachi Ltd Computer system, management computer, and program distribution method
JP2010134496A (en) * 2008-12-02 2010-06-17 Hitachi Ltd Virtual machine system, hypervisor in virtual machine system, and scheduling method in virtual machine system
JP2011258119A (en) * 2010-06-11 2011-12-22 Hitachi Ltd Cluster configuration management method, management device and program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000215071A (en) * 1999-01-21 2000-08-04 Hitachi Ltd Virtual computer system
JP2002202959A (en) * 2000-12-28 2002-07-19 Hitachi Ltd Virtual computer system for performing dynamic resource distribution
JP2007316724A (en) * 2006-05-23 2007-12-06 Hitachi Ltd Computer system, management computer, and program distribution method
JP2010134496A (en) * 2008-12-02 2010-06-17 Hitachi Ltd Virtual machine system, hypervisor in virtual machine system, and scheduling method in virtual machine system
JP2011258119A (en) * 2010-06-11 2011-12-22 Hitachi Ltd Cluster configuration management method, management device and program

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
小倉 佑太,外2名: "「マルチコアプロセッサを用いた組込みシステム向けVMMの設計と実装」", 情報処理学会 研究報告 計算機アーキテクチャ(ARC) 2013−ARC−205 [ONLINE], JPN6017020335, 18 April 2013 (2013-04-18), pages 1 - 8, ISSN: 0003571181 *
小林 峰子: "「仮想マシンを操るテクニック ノウハウ習得へ Xen・分身の術! 第4回 仮想CPUの割り当て」", LINUX WORLD, vol. 第5巻 第9号, JPN6017020338, 1 September 2006 (2006-09-01), pages 116 - 119, ISSN: 0003571182 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020021167A (en) * 2018-07-30 2020-02-06 日本電信電話株式会社 Control device and control method
WO2020026993A1 (en) * 2018-07-30 2020-02-06 日本電信電話株式会社 Control device and control method
JP2021060857A (en) * 2019-10-08 2021-04-15 横河電機株式会社 Communication processing apparatus, communication processing method, and program
JP7120199B2 (en) 2019-10-08 2022-08-17 横河電機株式会社 Communication processing device, communication processing method, and program

Also Published As

Publication number Publication date
JP6158751B2 (en) 2017-07-05

Similar Documents

Publication Publication Date Title
Wang et al. Dominant resource fairness in cloud computing systems with heterogeneous servers
US9342376B2 (en) Method, system, and device for dynamic energy efficient job scheduling in a cloud computing environment
US8959526B2 (en) Scheduling execution of complementary jobs based on resource usage
US9686141B2 (en) Systems and methods for resource sharing between two resource allocation systems
Guo et al. Investigation of data locality and fairness in mapreduce
Subramanian et al. An adaptive algorithm for dynamic priority based virtual machine scheduling in cloud
Convolbo et al. GEODIS: towards the optimization of data locality-aware job scheduling in geo-distributed data centers
Katyal et al. Application of selective algorithm for effective resource provisioning in cloud computing environment
JP2016133964A (en) Computation resource allocation method and system
Vasudevan et al. Profile-based application assignment for greener and more energy-efficient data centers
JP2012226427A (en) Resource management method and computer system
US9262217B1 (en) Computation resource cyclic utilization
Liu et al. Preemptive hadoop jobs scheduling under a deadline
US20140201371A1 (en) Balancing the allocation of virtual machines in cloud systems
Wang et al. Optimizing big data processing performance in the public cloud: opportunities and approaches
Han et al. Energy efficient VM scheduling for big data processing in cloud computing environments
JPWO2012127641A1 (en) Information processing system
Tan et al. Resource stealing: a resource multiplexing method for mix workloads in cloud system
Babu et al. Interference aware prediction mechanism for auto scaling in cloud
JP6158751B2 (en) Computer resource allocation apparatus and computer resource allocation program
Wu et al. Designing parallel loop self-scheduling schemes using the hybrid MPI and OpenMP programming model for multi-core grid systems
W. Cassales et al. Improving the performance of Apache Hadoop on pervasive environments through context-aware scheduling
Shabeera et al. Optimising virtual machine allocation in MapReduce cloud for improved data locality
Chaudhary et al. An analysis of the load scheduling algorithms in the cloud computing environment: A survey
Maleki et al. TMaR: a two-stage MapReduce scheduler for heterogeneous environments

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160715

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170526

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170606

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170608

R150 Certificate of patent or registration of utility model

Ref document number: 6158751

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150