JP2902746B2 - Virtual computer control method - Google Patents

Virtual computer control method

Info

Publication number
JP2902746B2
JP2902746B2 JP19972590A JP19972590A JP2902746B2 JP 2902746 B2 JP2902746 B2 JP 2902746B2 JP 19972590 A JP19972590 A JP 19972590A JP 19972590 A JP19972590 A JP 19972590A JP 2902746 B2 JP2902746 B2 JP 2902746B2
Authority
JP
Japan
Prior art keywords
vector
cpu
real
virtual
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP19972590A
Other languages
Japanese (ja)
Other versions
JPH0484335A (en
Inventor
隆 大黒
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP19972590A priority Critical patent/JP2902746B2/en
Publication of JPH0484335A publication Critical patent/JPH0484335A/en
Application granted granted Critical
Publication of JP2902746B2 publication Critical patent/JP2902746B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 〔概要〕 実ベクトル計算機を備えたマルチプロセッサシステム
にいて,仮想ベクトル計算機の切り換え制御を効率化し
た仮想計算機制御方式に関し, ベクトルレジスタの退避・復元のためのVMモニタによ
るオーバヘッドを小さくすることを目的とし, 1台の実ベクトル計算機を,複数の仮想ベクトル計算
機ができるだけ競合して使用することがないように,仮
想ベクトル計算機を実ベクトル計算機にくくりつけて割
り当てる制御を行う起動制御部と,実ベクトル計算機を
他の仮想ベクトル計算機と競合して使用する場合にの
み,ベクトルレジスタの退避・復元を行うディスパッチ
制御部とを備えるように構成する。また,優先的に実行
させる仮想ベクトル計算機を外部から指定する優先実行
指示手段と,優先実行指示があった仮想ベクトル計算機
を特定の実ベクトル計算機にくくりつける制御を行う起
動制御部とを備えるように構成する。
DETAILED DESCRIPTION OF THE INVENTION [Summary] In a multiprocessor system provided with a real vector computer, a virtual computer control method that makes switching control of a virtual vector computer more efficient, uses a VM monitor for saving and restoring vector registers. In order to reduce the overhead, a virtual vector computer is tied to a real vector computer and assigned so that a single real vector computer is not used by multiple virtual vector computers in competition as much as possible. An activation control unit and a dispatch control unit that saves and restores a vector register only when a real vector computer is used in competition with another virtual vector computer are provided. Also, a priority execution instructing means for externally designating a virtual vector computer to be preferentially executed, and an activation control unit for controlling the virtual vector computer for which the priority execution instruction has been issued to a specific real vector computer are provided. Constitute.

〔産業上の利用分野〕[Industrial applications]

本発明は,実ベクトル計算機を備えたマルチプロセッ
サシステムにおいて,仮想ベクトル計算機の切り換え制
御を効率化した仮想計算機制御方式に関する。
The present invention relates to a virtual computer control method in a multiprocessor system including a real vector computer, which makes switching control of a virtual vector computer more efficient.

大量なデータを高速に処理するために,スーパーコン
ピュータと呼ばれるベクトル演算機能を持つベクトル計
算機が多く用いられるようになってきている。これに伴
い,仮想計算機においても,仮想的なベクトル計算機を
実現することが必要とされ,効率的な割り当て制御が必
要とされている。
In order to process a large amount of data at high speed, a vector computer having a vector operation function called a supercomputer has been frequently used. Accordingly, it is necessary to realize a virtual vector computer in a virtual computer, and efficient allocation control is required.

以下の説明では,次のように用語を使用する。 In the following description, the following terms are used.

・VMモニタとは,仮想計算機システム全体を制御する制
御プログラムを意味する。
• VM monitor means a control program that controls the entire virtual machine system.

・VM-CPUとは,仮想計算機(VM:Virtual Machine)のCP
Uを意味する。
・ VM-CPU is the CP of a virtual machine (VM)
Means U.

・ベクトル−CPUとは,ベクトルレジスタ(VR)を備
え,ベクトル演算機能を持つCPUを意味する。
-Vector-CPU means a CPU that has a vector register (VR) and has a vector operation function.

・ベクトル−VMとは,1台以上のベクトル−CPUを備えた
仮想計算機を意味する。
-Vector-VM means a virtual machine having one or more vector-CPUs.

・VM−ベクトル−CPUとは,仮想計算機のベクトル−CPU
を意味する。
・ VM-vector-CPU is the vector-CPU of the virtual machine
Means

〔従来の技術〕[Conventional technology]

従来,実CPUがマルチプロセッサ構成をとる計算機上
で複数のVM-CPUを動作させる場合,VM-CPUを特定の実CPU
でのみ動作させるというように,特定の実CPUにくくり
つけることはなかった。すなわち,VMモニタは,以下の
(1)〜(5)の処理を繰り返していた。
Conventionally, when multiple VM-CPUs are operated on a computer that has a multiprocessor configuration, the VM-CPUs are assigned to a specific real CPU.
It was not tied to a specific real CPU, such as running on only one. That is, the VM monitor repeats the following processes (1) to (5).

(1)次のVM-CPUが使用するレジスタ類の内容を復元す
ると同時に,タイムカンタムを与えるための特殊タイマ
をセットする。
(1) At the same time as restoring the contents of the registers used by the next VM-CPU, a special timer for giving time quantum is set.

(2)次のVM-CPUに制御を渡す(次のVM-CPUをディスパ
ッチする)。
(2) Transfer control to the next VM-CPU (dispatch the next VM-CPU).

(3)特殊タイマにセットした時間が到来する(これを
“タイムカンタムエンドが発生する”という)と,VMモ
ニタに割込みが発生する。
(3) When the time set in the special timer arrives (this is called "time quantum end occurs"), an interrupt occurs in the VM monitor.

(4)タイムカンタムエンドが発生したVM-CPUのレジス
タ類の内容を退避する。
(4) Save the contents of the registers of the VM-CPU in which the time quantum end has occurred.

(5)次に制御を渡すべきVM-CPUを決定する。次に制御
を渡すべきVM-CPUは,その時点で実CPUが割り当てられ
ていないVM-CPU群の中で,最も実行優先順位が高いVM-C
PUである。このとき,どのVM-CPUも,その実CPUを割り
当てられる権利を持っている。これが,どのVM-CPUも特
定実CPUにくくりつけられていない理由である。
(5) Next, a VM-CPU to which control is to be passed is determined. The VM-CPU to which control is to be passed next is the VM-C with the highest execution priority among the VM-CPUs to which no real CPU has been assigned at that time.
PU. At this time, any VM-CPU has the right to be assigned the real CPU. This is why no VM-CPU is tied to a specific real CPU.

ところで,CPUの中には,主に科学技術計算を得意とす
るベクトル−CPUと呼ばれるものがある。ベクトル−CPU
は,通常のCPUが備えている汎用レジスタ類に加えて,
大容量のベクトルレジスタ(VR)を備えている。一般
に,ベクトルレジスタの容量は大きいため,ベクトルレ
ジスタの退避・復元にはかなりの時間を要する。
By the way, among CPUs, there is a so-called vector-CPU which is mainly good at scientific and technical calculations. Vector-CPU
Is in addition to the general-purpose registers that a normal CPU has,
It has a large capacity vector register (VR). Generally, since the capacity of the vector register is large, it takes a considerable amount of time to save and restore the vector register.

〔発明が解決しようとする課題〕[Problems to be solved by the invention]

タイムカンタムエンドになって,実CPUを他のVM-CPU
に割り当てるときには,ベクトルレジスタを含むレジス
タ類を退避・復元する必要があるが,従来からの考えに
従って,タイムカンタムエンドごとにベクトルレジスタ
の内容を退避し,ディスパッチごとにベクトルレジスタ
の内容を復元すると,それらの処理に時間を要し,VMモ
ニタのオーバヘッドが大きくなるという問題がある。
Become a time quantum end and replace the real CPU with another VM-CPU
When assigning to registers, it is necessary to save and restore registers including vector registers. However, according to conventional thinking, if the contents of vector registers are saved at each time quantum end and the contents of vector registers are restored at each dispatch, There is a problem that it takes time to perform those processes, and the overhead of the VM monitor increases.

本発明は上記問題点の解決を図り,ベクトルレジスタ
の退避・復元のためのVMモニタによるオーバヘッドを小
さくすることを目的としている。
An object of the present invention is to solve the above-described problem and to reduce the overhead of a VM monitor for saving and restoring a vector register.

〔課題を解決するための手段〕[Means for solving the problem]

第1図は本発明の構成例を示す。 FIG. 1 shows a configuration example of the present invention.

本発明を実現する仮想計算機システムのハードウェア
構成は,例えば第1図(イ)に示すようななっており,
複数のCPU11-1,11-2,…が主記憶装置10を共用する構成
になっている。CPU11-1,11-2,…の中には,ベクトルレ
ジスタを持ち,ベクトル演算命令を実行できるようにな
っているものと,ベクトルレジスタを持たないものとが
混在している。
The hardware configuration of the virtual machine system for realizing the present invention is, for example, as shown in FIG.
Are configured to share the main storage device 10. Some of the CPUs 11-1, 11-2,... Have a vector register and can execute a vector operation instruction, and some have no vector register.

このうえで実現される仮想計算機システムの構成は,
第1図(ロ)に示すようになっている。
The configuration of the virtual computer system realized on this
This is as shown in FIG.

第1図(ロ)において,12は仮想計算機の構成定義情
報を記憶するVM構成情報ファイル,13は仮想計算機シス
テム全体を制御するVMモニタ,14はタイムカンタムエン
ドごとに動作して仮想計算機の切り換え制御を行うディ
スパッチ制御部,15は仮想計算機を生成して起動する起
動制御部,16は仮想計算機の操作に関するコマンドを受
け付けて処理するコマンド受付部,17はコマンド等を入
力するためのオペレータコンソール,18は優先実行指示
手段,19は実CPUの割り当てを持つ仮想計算機の情報を保
持するキュー,VM1,VM2は仮想計算機を表す。
In FIG. 1 (b), 12 is a VM configuration information file for storing configuration definition information of a virtual machine, 13 is a VM monitor for controlling the entire virtual machine system, and 14 is a virtual machine switching at each time quantum end. A dispatch control unit that performs control, 15 is a start control unit that generates and starts a virtual machine, 16 is a command receiving unit that receives and processes commands related to operations of the virtual machine, 17 is an operator console for inputting commands and the like, Reference numeral 18 denotes priority execution instructing means, 19 denotes a queue for holding information on virtual machines having real CPU assignments, and VM1 and VM2 denote virtual machines.

オペレータコンソール17から,VM生成コマンド,VM起動
コマンド,VM終了コマンドなどのコマンドが投入される
と,コマンド受付部16は,そのコマンドで指定された処
理を実行する。VM生成コマンドでは,VM識別名,CPU台
数,ベクトルレジスタの使用有無,使用する入出力装置
などの情報がパラメタとして指定可能である。特に,本
発明では,仮想ベクトル計算機について,優先実行させ
るかどうかをこのパラメタの中で指定できるようになっ
ている。
When a command such as a VM creation command, a VM start command, or a VM end command is input from the operator console 17, the command receiving unit 16 executes a process specified by the command. In the VM generation command, information such as a VM identification name, the number of CPUs, whether or not to use a vector register, and an input / output device to be used can be specified as parameters. In particular, in the present invention, whether or not to execute the virtual vector computer with priority can be designated in this parameter.

コマンド受付部16は,VM生成コマンドが投入される
と,それを解析し,解析結果をVM構成情報として,VM構
成情報ファイル12に格納する。
When a VM generation command is input, the command receiving unit 16 analyzes the command and stores the analysis result in the VM configuration information file 12 as VM configuration information.

VM起動コマンドが投入されると,コマンド受付部16
は,起動するVM識別名を起動制御部15に通知する。これ
に対し,起動制御部15は,VM構成情報ファイル12から該
当する仮想計算機の構成情報を読み出し,その仮想計算
機を生成して,ディスパッチ制御部14が管理するキュー
19に,仮想計算機の管理制御表を接続する。
When a VM start command is input, the command receiving unit 16
Notifies the activation control unit 15 of the VM identifier to be activated. On the other hand, the start control unit 15 reads the configuration information of the relevant virtual machine from the VM configuration information file 12, generates the virtual machine, and creates a queue managed by the dispatch control unit 14.
Connect the management control table of the virtual machine to 19.

起動する仮想計算機の中でベクトルレジスタを使用す
る仮想ベクトル計算機があると,起動制御部15は,1台の
実ベクトル計算機を,複数の仮想ベクトル計算機ができ
るだけ競合して使用することがないように,仮想ベクト
ル計算機を実ベクトル計算機にくくりつけて割り当てる
制御を行う。
If there is a virtual vector computer that uses a vector register among the virtual machines to be activated, the activation control unit 15 prevents one virtual vector computer from conflicting with another virtual vector computer as much as possible. , And performs control of allocating a virtual vector computer to a real vector computer.

また,起動制御部15は,優先的に実行させる仮想ベク
トル計算機を外部から指定された場合に,その仮想ベク
トル計算機を特定の実ベクトル計算機にくくりつけ,他
の仮想ベクトル計算機を,その特定の実ベクトル計算機
に割り当てない制御を行う。
In addition, when a virtual vector computer to be executed preferentially is specified from the outside, the activation control unit 15 ties the virtual vector computer to a specific real vector computer and assigns another virtual vector computer to the specific real vector computer. Performs control that is not assigned to a vector computer.

ディスパッチ制御部14は,タイムカンタムエンドが発
生して,仮想ベクトル計算機をディスパッチするとき
に,実ベクトル計算機を他の仮想ベクトル計算機と競合
して使用する場合にのみ,ベクトルレジスタの退避・復
元を行い,他の仮想ベクトル計算機と競合しない場合に
は,汎用のレジスタ類の退避・復元だけを行って,ベク
トルレジスタについては退避・復元の処理を省略する。
The dispatch control unit 14 saves and restores the vector register only when the virtual vector computer is dispatched when a time quantum end occurs and the real vector computer is used in competition with another virtual vector computer. When there is no conflict with other virtual vector computers, only saving and restoring of general-purpose registers are performed, and saving and restoring processing of vector registers is omitted.

〔作用〕[Action]

従来技術の問題は,以下の点にある。 The problems of the prior art are as follows.

(1)VM−ベクトル−CPUのタイムカンタムエンドが発
生したとき,それ以後にその実CPU上でそのVM−ベクト
ル−CPUとは異なるVM−ベクトル−CPUが動作する可能性
があり,ベクトルレジスタの内容を退避しておかなけれ
ばならない。
(1) When the time quantum end of the VM-vector-CPU occurs, a VM-vector-CPU different from the VM-vector-CPU may operate on the real CPU thereafter, and the contents of the vector register Must be evacuated.

(2)次に制御を渡すべきVM-CPUがVM−ベクトル−CPU
である場合,その実CPU上のその時点のベクトルレジス
タの内容が,制御を渡されるVM−ベクトル−CPUが期待
している内容であるとは限らず,ベクトルレジスタの復
元が必要である。
(2) The VM-CPU to which control is to be passed next is the VM-vector-CPU
In this case, the content of the vector register on the real CPU at that time is not always the content expected by the VM-vector-CPU to which control is passed, and the vector register needs to be restored.

この問題点の分析から明らかなように,1つの実CPU上
で動作するVM−ベクトル−CPUが1つであれば,その実C
PUのベクトルレジスタの内容が破壊される心配はなく,
ベクトルレジスタの退避・復元を行う必要がない。
As is clear from the analysis of this problem, if there is one VM-vector-CPU running on one real CPU, the real C
There is no worry about the contents of the PU vector register being destroyed.
There is no need to save and restore vector registers.

本発明はこの点に着目し,起動制御部15により,可能
な限り1つの実CPU上で動作するVM−ベクトル−CPUの数
を1つにし,ディスパッチ制御部14では,必要のないベ
クトルレジスタの退避・復元の処理を省略して,VMモニ
タ13のオーバヘッドを少なくする。
The present invention focuses on this point, and the activation control unit 15 reduces the number of VM-vector-CPUs operating on one real CPU to one as much as possible, and the dispatch control unit 14 The save / restore process is omitted to reduce the overhead of the VM monitor 13.

〔実施例〕〔Example〕

第2図は本発明の実施例に係るくくりつけ制御説明
図,第3図は本発明の実施例に係るベクトルレジスタの
退避・復元説明図,第4図は本発明の実施例に係るCPU
の割り当て例,第5図は本発明の実施例に係る優先割り
当ての例,第6図は本発明の実施例における実CPUへの
くくりつけを止める例,第7図は本発明の実施例におけ
る新たなVMの起動を許可しない例,第8図は本発明の実
施例による4台の実CPUへの割り当て例,第9図は本発
明の実施例によるディスパッチ制御部の処理フローを示
す。
FIG. 2 is an explanatory diagram of the joining control according to the embodiment of the present invention, FIG. 3 is an explanatory diagram of saving and restoring of the vector register according to the embodiment of the present invention, and FIG. 4 is a CPU according to the embodiment of the present invention.
5 is an example of priority assignment according to the embodiment of the present invention, FIG. 6 is an example of stopping the connection to the real CPU in the embodiment of the present invention, and FIG. 7 is an example of the embodiment of the present invention. FIG. 8 shows an example in which starting of a new VM is not permitted, FIG. 8 shows an example of allocation to four real CPUs according to the embodiment of the present invention, and FIG. 9 shows a processing flow of the dispatch control unit according to the embodiment of the present invention.

第2図に示す例では,3台の実CPUがあり,このうち実C
PU11a,11bがベクトルレジスタを持ち,実CPU11cがベク
トルレジスタを持たない。また,仮想計算機VM1〜VM6は
それぞれ1台のCPUを使用し,このうちVM1とVM2がベク
トルレジスタを使用するものとする。
In the example shown in Fig. 2, there are three real CPUs,
The PUs 11a and 11b have vector registers, and the real CPU 11c has no vector registers. The virtual machines VM1 to VM6 each use one CPU, and among them, VM1 and VM2 use vector registers.

このVM1,VM2を起動するとき,第1図に示す起動制御
部15は,VM1を実CPU11aでだけ動作させ,VM2を実CPU11bで
だけ動作させるというような,実CPUをくくりつけた起
動を行う。他のベクトルレジスタを使用しないVM3〜VM6
の4台については,任意の実CPU11a〜11cで動作できる
ようにする。
When starting the VM1 and the VM2, the start control unit 15 shown in FIG. 1 performs a start with the real CPUs connected, such as operating the VM1 only on the real CPU 11a and operating the VM2 only on the real CPU 11b. . VM3 to VM6 without using other vector registers
The four units can be operated by arbitrary real CPUs 11a to 11c.

例えば,第3図(イ)に示すように,1つの実CPU11
で,ベクトルレジスタを使用するVM1と,ベクトルレジ
スタを使用しないVM3とが動作するとき,VM3は動作中に
ベクトルレジスタの内容を破壊することはない。したが
って,VM1がタイムカンタムエンドになったときに,それ
が使用していたベクトルレジスタの退避は不要であり,
また動作再開時に復元も不要である。
For example, as shown in FIG.
Therefore, when VM1 using the vector register and VM3 not using the vector register operate, VM3 does not destroy the contents of the vector register during operation. Therefore, when VM1 reaches the time quantum end, it is not necessary to save the vector register used by VM1.
Restoration is not required when the operation is resumed.

第3図(ロ)に示すように,やむを得ず1つの実CPU1
1上でベクトルレジスタを使用する2以上のVM1,VM2が動
作する場合にのみ,ベクトルレジスタの退避・復元を行
えばよい。
As shown in Fig. 3 (b), one real CPU
Only when two or more VM1 and VM2 using vector registers operate on 1, the vector registers need only be saved and restored.

本発明によれば,第2図に示すように,可能な限りVM
−ベクトル−CPUの競合が起こらないように,実CPUのく
くりつけが行われるので,ベクトルレジスタの退避・復
元は,ほとんどの場合について省略可能になる。
According to the present invention, as shown in FIG.
Since the actual CPUs are connected so as not to cause a vector-CPU conflict, saving and restoring the vector registers can be omitted in most cases.

ベクトルレジスタを持つ実CPUの数よりも,起動され
たVM−ベクトル−CPUの数のほうが多い場合,競合が生
じるが,優先実行指示により,特定のVM−ベクトル−CP
Uを競合させないようにし,その処理の高速化を図るこ
とも可能である。
If the number of activated VM-vector-CPUs is greater than the number of real CPUs having vector registers, a conflict occurs.
It is also possible to prevent U from competing and speed up the processing.

次に,実CPUが2台の場合についての割り当て例を,
第4図に従って説明する。
Next, an example of the assignment when there are two real CPUs is shown below.
This will be described with reference to FIG.

1)実CPUの台数は2台であるとする。この時点では,VM
−ベクトル−CPUは動作していない。
1) Assume that the number of real CPUs is two. At this point, the VM
-Vector-CPU is not running.

2)新しく,ベクトル−VM1が起動されたとき,そのVM
−ベクトル−CPU数を調べる。
2) When vector-VM1 is newly activated, the VM
-Vector-Check the number of CPUs.

VM−ベクトル−CPUが1台であれば,そのVM−ベクト
ル−CPUは,実CPU1または実CPU2にくくりつける。な
お,実CPUへのくくりつけの選択順位は,例えばVM−ベ
クトル−CPUがまだくくりつけられていない実CPU内の,
最若CPUアドレスを持つ実CPUまたは最老CPUアドレスを
持つ実CPUとすることなどが考えられる。説明の都合
上,ここでは実CPU1にくくりつけるものとする。
If there is one VM-vector-CPU, the VM-vector-CPU is tied to the real CPU1 or real CPU2. Note that the selection order of the connection to the real CPU is, for example, the VM-vector-CPU in the real CPU to which the CPU has not yet been connected.
For example, a real CPU having the youngest CPU address or a real CPU having the oldest CPU address can be considered. For convenience of explanation, it is assumed here that it is attached to the real CPU1.

VM1が,2台のVM−ベクトル−CPUを使用するとき,片方
のVM−ベクトル−CPUを実CPU1に,他方のVM−ベクトル
−CPUを実CPU2にくくりつける。このときの実CPUへのく
くりつけのアルゴリズムは,例えば最若アドレスVM-CPU
を,最若アドレスの実CPUにくくりつける方式が考えら
れる。
When VM1 uses two VM-vector-CPUs, one VM-vector-CPU is attached to the real CPU1 and the other VM-vector-CPU is attached to the real CPU2. At this time, the algorithm of connection to the real CPU is, for example, the lowest address VM-CPU
Can be tied to the real CPU at the youngest address.

この場合,VM−ベクトル−CPUが3台以上であることは
ない。なぜなら,そのようなVMは起動時にチェックし,
起動させないからである。
In this case, there are no more than three VM-vector-CPUs. Because such VMs are checked at startup,
This is because it is not started.

3)次に,ベクトル−VM2が起動されたとする。このと
きもまた,そのVM−ベクトル−CPU数を調べる。
3) Next, it is assumed that the vector -VM2 is activated. Also at this time, the VM-vector-CPU number is checked.

もし,ベクトル−VM1のVM−ベクトル−CPU数が1台で
あり,ベクトル−VM2のVM−ベクトル−CPUも1台であれ
ば,VM−ベクトル−CPUがくくりつけられていない実CPU2
に,ベクトル−VM2のVM−ベクトル−CPUをくくりつけ
る。この場合,VM1とVM2のVM−ベクトル−CPUは1台ずつ
であり,別々の実CPUにくくりつけられるため,VM−ベク
トル−CPUの競合は生じておらず,VMモニタのオーバヘッ
ドが増大することはない。
If the number of VM-vector-CPUs in vector-VM1 is one and the number of VM-vector-CPUs in vector-VM2 is also one, the actual CPU2 with no VM-vector-CPU attached
Next, the VM-vector-CPU of vector-VM2 is connected. In this case, there is only one VM-vector-CPU for VM1 and VM2, and since they are tied to different real CPUs, there is no competition between VM-vector-CPU and the overhead of the VM monitor increases. There is no.

他の場合,VM−ベクトル−CPUを実CPUにどのようにく
くりつけたとしても,競合が生じる。この場合,VMモニ
タのオーバヘッドをどうするかの考え方の違いに応じ
て,以下の方法などを採用できる。
In other cases, no matter how the VM-vector-CPU is tied to the real CPU, a conflict occurs. In this case, the following method can be adopted depending on the difference in the concept of how to handle the overhead of the VM monitor.

(a)特定のVM−ベクトル−CPUを優先し,そのVM−ベ
クトル−CPUは,他のものと競合しないようにする。こ
の指定は,例えばVMシステム利用者に指定させてもよい
し,VMモニタが自動的に決定してもよい。
(A) Give priority to a specific VM-vector-CPU so that the VM-vector-CPU does not compete with others. This specification may be performed by, for example, a VM system user, or may be automatically determined by a VM monitor.

(b)上記のような優先VM−ベクトル−CPUは設けず
に,以前に実CPUにくくりつけていたVM−ベクトル−CPU
のくくりつけ制御もやめる。
(B) The VM-vector-CPU that was previously tied to the real CPU without providing the priority VM-vector-CPU as described above
Also stop the control of the connection.

(c)くくりつけの競合が生じるベクトル−VMの起動を
許可しない。
(C) The activation of the vector-VM in which the binding conflict occurs is not permitted.

この(a)〜(c)のどれにするかは,仮想計算機シ
ステムのオプションとして,任意に選択できるようにし
てもよい。
Any one of (a) to (c) may be arbitrarily selected as an option of the virtual machine system.

第5図は,上記(a)の優先割り当てをする例を示し
ている。
FIG. 5 shows an example in which the above-mentioned (a) priority assignment is performed.

第5図(イ)の例では,VM2の2番目のVM−ベクトル−
CPU2に優先実行指示があり,実CPU2がくくりつけられて
いる。このVM−ベクトル−CPUだけは,他のVM−ベクト
ル−CPUと競合しない。
In the example of FIG. 5A, the second VM-vector-of VM2
There is a priority execution instruction for CPU2, and the actual CPU2 is attached. This VM-vector-CPU alone does not compete with other VM-vector-CPUs.

第5図(ロ)の例では,VM1のVM−ベクトル−CPUにつ
いて優先実行指示があるので,VM2のVM−ベクトル−CPU
は実CPU2でのみ動作する。
In the example of FIG. 5 (b), since there is a priority execution instruction for the VM-vector-CPU of VM1, the VM-vector-CPU
Runs only on real CPU2.

第6図は,上記(b)のくくりつけを止める例を示し
ている。
FIG. 6 shows an example in which the above-mentioned connection (b) is stopped.

VM2の起動以前には,VM1のVM−ベクトル−CPUを実CPU1
にくくりつけるが,2台のVM−ベクトル−CPUを使うVM2が
起動されると,必ず競合が生じる。そこでこの例では,
全VM−ベクトル−CPUについて,特定実CPUへのくくりつ
けを止める。この場合,従来と同様にディスパッチ時に
は,ベクトルレジスタの退避・復元が必要になる。
Before starting VM2, the VM-vector-CPU of VM1 is
As a rule, when VM2 that uses two VM-vector-CPUs is started, a conflict always occurs. So in this example,
Stop connection to the specific real CPU for all VM-vector-CPUs. In this case, it is necessary to save and restore the vector register at the time of dispatch, as in the conventional case.

第7図は,上記(c)の競合が生じるような新たなVM
の起動を許可しない例を示している。
FIG. 7 shows a new VM in which the above-mentioned conflict (c) occurs.
An example is shown in which the activation of is not permitted.

VM1の起動については,その時点で競合が生じないの
で起動を許可する。新たにVM2を起動しようとすると,
競合が生じるので,その起動を不許可とし,VM1が終了し
てから,VM2の起動を許すようにする。
The activation of VM1 is permitted because no conflict occurs at that time. If you try to start a new VM2,
Since a conflict occurs, the activation is not permitted, and the activation of VM2 is permitted after the termination of VM1.

第8図は,実CPUが4台の場合の割り当ての例を示し
ている。
FIG. 8 shows an example of assignment when there are four real CPUs.

1)実CPUの台数は4台である。この時点では,第8図
に示すように,VM1〜VM5が起動されており,競合が生じ
ているが,それぞれ実CPUにくくりつけられている。
1) The number of real CPUs is four. At this point, as shown in FIG. 8, VM1 to VM5 have been activated and conflicts have occurred, but each is tied to the real CPU.

2)VM2が終了したとする。このとき,実CPU3に「空
き」が生じるため,くくりつけの変更を行い,VM5のVM−
ベクトル−CPUを実CPU3にくくりつける。
2) Assume that VM2 has ended. At this time, since there is “vacancy” in the real CPU3, change the connection and change the VM-
Attach the vector CPU to the real CPU3.

3)その後,VM1が終了したとする。実CPU2に「空き」が
生じる。そこで,VM4のVM−ベクトル−CPUを,それぞれ
実CPU1,実CPU2にくくりつける。
3) After that, it is assumed that VM1 is terminated. An “empty” occurs in the real CPU 2. Therefore, the VM-vector-CPU of VM4 is attached to the real CPU1 and the real CPU2, respectively.

実CPUが2台とか4台に限らず,任意の台数につい
て,同様に本実施例のようなくくりつけの制御が可能で
ある。くくりつけの情報は,例えば第1図に示すキュー
19につながれるVM-CPUの制御表内に,どの実CPUで動作
させてよいかの印をつけることにより管理する。この印
には,例えばCPUアドレスを利用することも可能であ
る。
The number of real CPUs is not limited to two or four, and any number of CPUs can be similarly connected as in this embodiment. The connection information is, for example, the queue shown in Fig. 1.
It is managed by marking which real CPU can be operated in the control table of the VM-CPU connected to 19. For this mark, for example, a CPU address can be used.

第1図に示すディスパッチ制御部14は,例えば各タイ
ムカンタムエンドごとに,第9図に示す処理を行う。以
下,第9図に示す〜に従って説明する。
The dispatch control unit 14 shown in FIG. 1 performs the processing shown in FIG. 9, for example, for each time quantum end. Hereinafter, description will be made in accordance with the flowcharts shown in FIG.

特殊タイマにセットした時間がきて,タイムカンタム
エンドになったならば,その対象となっているVM-CPU
が,VM−ベクトル−CPUかどうかを調べる。VM−ベクトル
−CPUでなければ,処理へスキップし,ベクトルレジ
スタの退避を行わない。
If the time set in the special timer comes and the time quantum end is reached, the target VM-CPU
Is a VM-vector-CPU. If it is not VM-vector-CPU, skip to the process and do not save the vector register.

VM−ベクトル−CPUであれば,その実CPUを他のVM−ベ
クトル−CPUと競合して使うかどうかを調べる。競合し
なければ処理へ移る。
If it is a VM-vector-CPU, it is checked whether or not the real CPU is used in competition with another VM-vector-CPU. If there is no conflict, the process proceeds.

他のVM−ベクトル−CPUと競合する場合にのみ,ベク
トルレジスタの内容を退避する。
Only when there is a conflict with another VM-vector-CPU, the contents of the vector register are saved.

汎用レジスタなどの,その他のレジスタ類を退避す
る。
Save other registers such as general-purpose registers.

次に制御を渡すべきVM-CPUをキューから選び出し,決
定する。
Next, a VM-CPU to be given control is selected from the queue and determined.

選択したVM-CPUは,今まで動作していて空きになった
実CPU上で動作させてよいかどうかを判定する。他の実C
PUにくくりつけられている場合には,動作不可であるの
で,処理に戻って,次のVM-CPUについての処理を行
う。
It is determined whether the selected VM-CPU can be operated on a real CPU that has been operating and has become available. Other real C
If it is tied to the PU, it is inoperable, so it returns to the processing and performs the processing for the next VM-CPU.

決定したVM-CPUは,VM−ベクトル−CPUかどうかを調べ
る。VM−ベクトル−CPUでない場合,処理へ移る。
It is checked whether the determined VM-CPU is VM-vector-CPU. If not VM-vector-CPU, go to processing.

VM−ベクトル−CPUである場合,他のVM−ベクトル−C
PUと競合しているかどうかを調べる。すなわち,ベクト
ルレジスタの復元が必要かどうかを調べる。復元の必要
がない場合,処理へ移る。
If VM-vector-CPU, another VM-vector-C
Find out if there is a conflict with the PU. That is, it is determined whether the vector register needs to be restored. If there is no need to restore, move on to the process.

ベクトルレジスタを所定の退避域から復元する。The vector register is restored from a predetermined save area.

その他のレジスタ類を復元する。Restore other registers.

新しいVM-CPUに制御を渡し,ディスパッチを終了す
る。
Transfer control to the new VM-CPU and end dispatching.

〔発明の効果〕〔The invention's effect〕

ベクトルレジスタの退避・復元には,データ量が多い
ため時間がかかるが,本発明によれば,仮想計算機のタ
イムカンタムエンド時に,その仮想計算機の全レジスタ
の内容を必ず退避・復元しなければならないということ
がなく,ベクトル計算機上のVMモニタのオーバヘッドが
小さくなる。また,ベクトルレジスタを使用する仮想計
算機が複数ある場合に,特定のものを優先させて,高速
に処理させることができるようになる。
Saving and restoring a vector register takes a long time due to the large amount of data. However, according to the present invention, at the time quantum end of a virtual machine, the contents of all registers of the virtual machine must be saved and restored. Therefore, the overhead of the VM monitor on the vector computer is reduced. Further, when there are a plurality of virtual machines using the vector register, it is possible to perform processing at high speed by giving priority to a specific one.

【図面の簡単な説明】[Brief description of the drawings]

第1図は本発明の構成例, 第2図は本発明の実施例に係るくくりつけ制御説明図, 第3図は本発明の実施例に係るベクトルレジスタの退避
・復元説明図, 第4図は本発明の実施例に係るCPUの割り当て例, 第5図は本発明の実施例に係る優先割り当ての例, 第6図は本発明の実施例における実CPUへのくくりつけ
を止める例, 第7図は本発明の実施例における新たなVMの起動を許可
しない例, 第8図は本発明の実施例による4台の実CPUへの割り当
て例, 第9図は本発明の実施例によるディスパッチ制御部の処
理フローを示す、 図中,10は主記憶装置,11-1,11-2,…はCPU,12はVM構成情
報ファイル,13はVMモニタ,14はディスパッチ制御部,15
は起動制御部,16はコマンド受付部,17はオペレータコン
ソール,18は優先実行指示手段,19はキュー,VM1,VM2は仮
想計算機を表す。
FIG. 1 is a configuration example of the present invention, FIG. 2 is an explanatory diagram of a joining control according to an embodiment of the present invention, FIG. 3 is an explanatory diagram of saving and restoring of a vector register according to the embodiment of the present invention, FIG. FIG. 5 is an example of CPU allocation according to the embodiment of the present invention, FIG. 5 is an example of priority allocation according to the embodiment of the present invention, FIG. 6 is an example of stopping binding to the real CPU in the embodiment of the present invention, FIG. FIG. 7 is an example in which the activation of a new VM is not permitted in the embodiment of the present invention, FIG. 8 is an example of allocation to four real CPUs according to the embodiment of the present invention, and FIG. 9 is dispatch according to the embodiment of the present invention. The processing flow of the control unit is shown. In the figure, 10 is a main storage device, 11-1, 11-2,... Are CPUs, 12 is a VM configuration information file, 13 is a VM monitor, 14 is a dispatch control unit, 15
Denotes a start control unit, 16 denotes a command receiving unit, 17 denotes an operator console, 18 denotes a priority execution instruction unit, 19 denotes a queue, and VM1 and VM2 denote virtual machines.

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】少なくとも1台以上の実ベクトル計算機を
備えたマルチプロセッサシステムにおける仮想計算機制
御方式において, 1台の実ベクトル計算機を,複数の仮想ベクトル計算機
ができるだけ競合して使用することがないように,仮想
ベクトル計算機を実ベクトル計算機にくくりつけて割り
当てる制御を行う起動制御部(15)と, 仮想ベクトル計算機をディスパッチするときに,実ベク
トル計算機を他の仮想ベクトル計算機と競合して使用す
る場合にのみ,ベクトルレジスタの退避・復元を行うデ
ィスパッチ制御部(14)とを備えたことを特徴とする仮
想計算機制御方式。
In a virtual computer control system in a multiprocessor system having at least one real vector computer, a plurality of virtual vector computers use one real vector computer so as not to compete with each other as much as possible. In addition, the activation control unit (15) that controls the virtual vector computer to be allocated to the real vector computer, and the case where the real vector computer is used in conflict with another virtual vector computer when dispatching the virtual vector computer And a dispatch control unit (14) for saving and restoring a vector register.
【請求項2】少なくとも1台以上の実ベクトル計算機を
備えたマルチプロセッサシステムにおける仮想計算機制
御方式において, 優先的に実行させる仮想ベクトル計算機を外部から指定
する優先実行指示手段(18)と, 優先的に実行させる仮想ベクトル計算機を外部から指定
された場合に,その仮想ベクトル計算機を特定の実ベク
トル計算機にくくりつけ,他の仮想ベクトル計算機を,
その特定の実ベクトル計算機に割り当てない制御を行う
起動制御部(15)とを備えたことを特徴とする仮想計算
機制御方式。
2. A virtual machine control method in a multiprocessor system having at least one real vector computer, wherein priority execution instructing means for externally designating a virtual vector computer to be executed preferentially; When a virtual vector computer to be executed by a user is specified from outside, the virtual vector computer is tied to a specific real vector computer, and the other virtual vector computers are
A start control unit (15) for performing control that is not assigned to the specific real vector computer.
JP19972590A 1990-07-27 1990-07-27 Virtual computer control method Expired - Fee Related JP2902746B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19972590A JP2902746B2 (en) 1990-07-27 1990-07-27 Virtual computer control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19972590A JP2902746B2 (en) 1990-07-27 1990-07-27 Virtual computer control method

Publications (2)

Publication Number Publication Date
JPH0484335A JPH0484335A (en) 1992-03-17
JP2902746B2 true JP2902746B2 (en) 1999-06-07

Family

ID=16412579

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19972590A Expired - Fee Related JP2902746B2 (en) 1990-07-27 1990-07-27 Virtual computer control method

Country Status (1)

Country Link
JP (1) JP2902746B2 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7793286B2 (en) * 2002-12-19 2010-09-07 Intel Corporation Methods and systems to manage machine state in virtual machine operations
US7904903B2 (en) * 2005-06-30 2011-03-08 Intel Corporation Selective register save and restore upon context switch using trap
WO2007148371A1 (en) * 2006-06-19 2007-12-27 Nec Corporation Performance management system and performance management method for virtual machine
JP5149732B2 (en) 2008-07-30 2013-02-20 株式会社日立製作所 Virtual computer system
CN102334102B (en) * 2009-02-24 2013-11-20 松下电器产业株式会社 Processor apparatus and multithread processor apparatus
JP5553851B2 (en) * 2012-03-05 2014-07-16 株式会社日立製作所 Computer, virtualization mechanism, and virtual machine activation management method
JP6214142B2 (en) * 2012-10-09 2017-10-18 キヤノン株式会社 Information processing apparatus, information processing method, and program

Also Published As

Publication number Publication date
JPH0484335A (en) 1992-03-17

Similar Documents

Publication Publication Date Title
US5553291A (en) Virtual machine control method and virtual machine system
JP4056471B2 (en) System for transferring to a processor
JPH031698B2 (en)
JPH064405A (en) Computer with extended virtual storage
KR20070090649A (en) Apparatus and method for providing cooperative scheduling on multi-core system
JP2009223842A (en) Virtual machine control program and virtual machine system
JP2902746B2 (en) Virtual computer control method
JP5131269B2 (en) Multi-processing system
JPH07160656A (en) External interruption control method
JPH0926889A (en) Virtual machine system
JPH02210542A (en) Execution control system for virtual computer system
JPH0363768B2 (en)
JPS603229B2 (en) Information processing method
JPS6152761A (en) Arithmetic unit
JPH02184925A (en) Virtual computer system
JPH03204731A (en) Device and method for executing emulation of virtual computer
JPH06110717A (en) Complex computer system
JPH11249917A (en) Parallel computers, their batch processing method, and storage medium
JPS6223895B2 (en)
JPS63197239A (en) Saving/storing system for control information of virtual processor
JPH0831045B2 (en) Virtual machine memory clear processing method
JPH0296833A (en) Different type job control system
JPH04346136A (en) Virtual instruction processor structure control method
JPS635790B2 (en)
JPH08272757A (en) Multiprocessor system and program starting method

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees