[go: up one dir, main page]

JPH09160889A - Control method for multiprocessor system - Google Patents

Control method for multiprocessor system

Info

Publication number
JPH09160889A
JPH09160889A JP7321461A JP32146195A JPH09160889A JP H09160889 A JPH09160889 A JP H09160889A JP 7321461 A JP7321461 A JP 7321461A JP 32146195 A JP32146195 A JP 32146195A JP H09160889 A JPH09160889 A JP H09160889A
Authority
JP
Japan
Prior art keywords
job
functional processor
processor group
cache memory
load
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
JP7321461A
Other languages
Japanese (ja)
Inventor
Yoshihito Nakagawa
義仁 中川
Shizuo Yokohata
静生 横畑
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP7321461A priority Critical patent/JPH09160889A/en
Publication of JPH09160889A publication Critical patent/JPH09160889A/en
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 機能分散型マルチプロセッサシステムにおい
て負荷バランスを最適化する。 【解決手段】 キャッシュメモリ119とホストコンピ
ュータ101、チャネル制御装置102との間のデータ
転送を行う同期チャネルジョブを専ら実行する機能プロ
セッサ群104と、キャッシュメモリ119とドライブ
120〜122との間のデータ転送を行う同期/非同期
コマンドジョブを専ら実行する機能プロセッサ群111
と、共用メモリ118を含む、機能分散型マルチプロセ
ッサシステムのディスク制御装置103において、ディ
スク制御装置103の構成を管理する構成管理ジョブ、
およびキャッシュメモリ119上の空きスペースを管理
するキャッシュ管理ジョブの実行を特定の機能プロセッ
サ群104または111のいずれにも固定せず、負荷の
低い方の機能プロセッサ群で実行させる。
(57) Abstract: A load balancing is optimized in a function distributed multiprocessor system. SOLUTION: A functional processor group 104 that exclusively executes a synchronous channel job for transferring data between a cache memory 119, a host computer 101, and a channel control device 102, and data between a cache memory 119 and drives 120 to 122. Functional processor group 111 that exclusively executes synchronous / asynchronous command jobs for transfer
And a configuration management job for managing the configuration of the disk controller 103 in the disk controller 103 of the function-distributed multiprocessor system including the shared memory 118,
The execution of the cache management job that manages the free space on the cache memory 119 is not fixed to any of the specific functional processor groups 104 and 111, but is executed by the functional processor group with the lower load.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、マルチプロセッサ
システムの制御技術に関し、特に、ジョブ毎に当該ジョ
ブを実行する機能プロセッサ群が固定されている機能分
散型マルチプロセッサシステム等に適用して有効な技術
に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a control technology for a multiprocessor system, and is particularly effective when applied to a function distributed multiprocessor system in which a functional processor group for executing the job is fixed for each job. Regarding technology.

【0002】[0002]

【従来の技術】たとえば、岩波書店、1990年5月2
5日発行、「岩波情報科学辞典」P438〜P439、
等の文献にも記載されているように、情報処理技術の分
野では、複数のプロセッサ(処理装置)を並列に動作さ
せることで、高性能で、信頼性、拡張性等の点で優れた
情報処理システムを構築することが可能なマルチプロセ
ッサシステムが知られている。このようなマルチプロセ
ッサシステムでは、各プロセッサ間の負荷を均一に維持
することがシステムの処理効率の向上に不可欠である。
2. Description of the Related Art For example, Iwanami Shoten, May 2, 1990.
Published on 5th, "Iwanami Information Science Dictionary" P438-P439,
In the field of information processing technology, a plurality of processors (processors) are operated in parallel as described in the literatures such as the above, so that high performance, excellent information in terms of reliability, expandability, etc. A multiprocessor system capable of constructing a processing system is known. In such a multiprocessor system, it is essential to improve the processing efficiency of the system to maintain the load evenly among the processors.

【0003】従来の機能分散型のマルチプロセッサシス
テムにおける負荷バランス制御としては、たとえば、特
開平6−35871号公報の「マルチプロセッサシステ
ム」に記載されているように、ジョブ毎に機能プロセッ
サ群を固定し、ジョブに起動要求があるとき当該ジョブ
を固定された機能プロセッサ群内のプロセッサで実行す
るときに、その機能プロセッサ群内での負荷バランスを
制御しようとする技術が知られている。
As load balancing control in a conventional function-distributed multiprocessor system, for example, a function processor group is fixed for each job as described in "Multiprocessor system" of Japanese Patent Laid-Open No. 6-35871. However, there is known a technique in which, when a job has a start request, when the job is executed by a processor in a fixed functional processor group, the load balance in the functional processor group is controlled.

【0004】[0004]

【発明が解決しようとする課題】上述の従来技術では、
機能プロセッサ群間の負荷バランス制御については考慮
されていない。すなわち、上記従来技術は、いずれの機
能プロセッサ群にも属さないジョブであっても実行する
機能プロセッサ群が固定されているため、当該ジョブの
起動要求があるとき固定された機能プロセッサ群内のプ
ロセッサ間で負荷バランス制御を行って当該ジョブを実
行することとなる。当該機能プロセッサ群に属するプロ
セッサの負荷が、その他の機能プロセッサ群に属するプ
ロセッサの負荷より高くても当該ジョブの起動を行わな
ければならないので、本機能プロセッサ群がシステムの
ボトルネックになる。このように上記従来技術では、シ
ステム内のプロセッサ群間の負荷分散、負荷バランスの
点について配慮されておらず、システム性能低下が懸念
される、という技術的課題があった。
In the above-mentioned prior art,
The load balance control between the functional processor groups is not considered. That is, in the above-described conventional technology, since the functional processor group that executes even a job that does not belong to any functional processor group is fixed, the processor in the fixed functional processor group when there is a request to start the job. The job is executed by performing load balance control between them. Even if the load of the processor belonging to the functional processor group is higher than the load of the processor belonging to the other functional processor group, the job must be started, and thus the functional processor group becomes a bottleneck of the system. As described above, the above-mentioned conventional technology has a technical problem that the performance of the system is deteriorated because the load distribution and the load balance between the processor groups in the system are not taken into consideration.

【0005】本発明の目的は、機能分散型マルチプロセ
ッサシステムにおいて、複数の機能プロセッサまたは機
能プロセッサ群の間の負荷バランスを均一化して、シス
テム全体の処理性能を向上させることが可能なマルチプ
ロセッサシステムの制御技術を提供することにある。
An object of the present invention is, in a function distributed multiprocessor system, a multiprocessor system capable of improving the processing performance of the entire system by equalizing the load balance among a plurality of function processors or a group of function processors. To provide the control technology of.

【0006】[0006]

【課題を解決するための手段】本発明は、ジョブ毎にそ
のジョブを実行する機能プロセッサまたは機能プロセッ
サ群(実行プロセッサ群)を固定させているマルチプロ
セッサシステムにおいて、いずれの機能プロセッサ群に
も属さないジョブは、機能プロセッサまたは機能プロセ
ッサ群を固定せず、任意の機能プロセッサまたは機能プ
ロセッサ群で実行させるようにしたマルチプロセッサシ
ステムである。いずれの機能プロセッサまたは機能プロ
セッサ群にも属さないジョブの実行要求があるとき、シ
ステム内の機能プロセッサまたは機能プロセッサ群の中
で負荷の低い機能プロセッサまたは機能プロセッサ群に
当該ジョブを実行させるように負荷バランスを制御す
る。
The present invention is applicable to any functional processor group in a multiprocessor system in which a functional processor or a functional processor group (execution processor group) for executing the job is fixed for each job. A non-job is a multiprocessor system in which a functional processor or a functional processor group is not fixed and is executed by an arbitrary functional processor or functional processor group. When there is a job execution request that does not belong to any functional processor or functional processor group, the load is set so that the functional processor or functional processor group with the lightest load among the functional processor or functional processor groups in the system executes the job. Control balance.

【0007】上述の負荷バランスの制御を実現するため
には、一例として、以下に示す4つの手段を用いること
ができる。すなわち、(1)いずれの機能プロセッサ群
にも属さないジョブを、いずれの機能プロセッサ群でも
起動できる手段、(2)各機能プロセッサ群の負荷管理
を行う手段、(3)各機能プロセッサ群の負荷判定を行
い、当該ジョブを起動する負荷の低い機能プロセッサ群
を決定する手段、(4)上記(3)の手段で決定した機
能プロセッサ群で当該ジョブを起動する手段、の各手段
である。(1)の手段により、いずれの機能プロセッサ
群にも属さないジョブの起動を行う機能プロセッサ群が
分散され、更に、(2)(3)(4)の手段により、シ
ステム内の機能プロセッサ群の負荷バランスが均等化さ
れ、システム性能が向上する。
In order to realize the above load balance control, the following four means can be used as an example. That is, (1) means for starting a job that does not belong to any functional processor group in any functional processor group, (2) means for managing the load of each functional processor group, (3) load of each functional processor group. It is a means for making a determination and determining a functional processor group having a low load for activating the job, and (4) a means for activating the job with the functional processor group determined by the means of (3) above. By means of (1), the functional processor groups for activating jobs that do not belong to any of the functional processor groups are distributed, and by means of (2), (3) and (4), the functional processor groups in the system are The load balance is equalized and the system performance is improved.

【0008】[0008]

【発明の実施の形態】以下、本発明の実施の形態を図面
を参照しながら詳細に説明する。
BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described in detail below with reference to the drawings.

【0009】図1は、本発明の一実施の形態であるマル
チプロセッサシステムの制御方法が実施されるキャッシ
ュ付きディスクサブシステムの構成の一例を示す概念図
である。図1において、ディスク制御装置103は、上
位側でチャネル制御装置102を介してホストコンピュ
ータ101と接続され、また下位側では、たとえば磁気
ディスク等を記録媒体として備えた記憶装置であるドラ
イブ120、ドライブ121、ドライブ122と接続さ
れる。ディスク制御装置103は、ドライブ120、1
21、122上でホストコンピュータ101の要求に応
じてデータのリード、ライトを行う。ホストコンピュー
タ101とドライブ120、121、122との間のデ
ータ転送を制御するのは、ディスク制御装置103に内
蔵されたチャネル制御部105、チャネル制御部108
およびディスク制御部112、ディスク制御部115で
ある。
FIG. 1 is a conceptual diagram showing an example of a configuration of a cached disk subsystem in which a method for controlling a multiprocessor system according to an embodiment of the present invention is implemented. In FIG. 1, the disk control device 103 is connected to the host computer 101 via the channel control device 102 on the upper side, and on the lower side, a drive 120, which is a storage device including a magnetic disk or the like as a recording medium. 121 and the drive 122 are connected. The disk controller 103 includes drives 120, 1
Data is read or written on the terminals 21 and 122 in response to a request from the host computer 101. The data transfer between the host computer 101 and the drives 120, 121, 122 is controlled by the channel control unit 105 and the channel control unit 108 built in the disk control device 103.
And a disk control unit 112 and a disk control unit 115.

【0010】これら制御部は内部にそれぞれプロセッサ
106、プロセッサ109、プロセッサ113、プロセ
ッサ116、およびローカルメモリ107、ローカルメ
モリ110、ローカルメモリ114、ローカルメモリ1
17を持ち、制御部間の共通制御用に共用メモリ118
を持つ。チャネル制御部105、108は、チャネル制
御装置102を介してホストコンピュータ101からの
要求を受け付け、ホストコンピュータ101とキャッシ
ュメモリ119との間のデータ転送を行う。ディスク制
御部112、115は、キャッシュメモリ119とドラ
イブ120、121、122との間のデータ転送を行
う。チャネル制御部105、108からディスク制御部
112、115へのデータ転送の要求とディスク制御部
112、115からチャネル制御部105、108への
データ転送完了報告は、共用メモリ118を介して行
う。
These control units are internally provided with a processor 106, a processor 109, a processor 113, a processor 116, a local memory 107, a local memory 110, a local memory 114 and a local memory 1, respectively.
17 and a shared memory 118 for common control between control units
have. The channel control units 105 and 108 accept requests from the host computer 101 via the channel control device 102, and transfer data between the host computer 101 and the cache memory 119. The disk control units 112 and 115 transfer data between the cache memory 119 and the drives 120, 121 and 122. A request for data transfer from the channel control units 105 and 108 to the disk control units 112 and 115 and a data transfer completion report from the disk control units 112 and 115 to the channel control units 105 and 108 are performed via the shared memory 118.

【0011】図2は、共用メモリ118上にあるテーブ
ルの構成の一例を示す概念図である。負荷情報テーブル
201は、プロセッサ106,109,113,116
の各々に対する負荷率202、負荷率203、負荷率2
04、負荷率205が格納されている。ジョブ管理テー
ブル206(Job Control Block:以
下、JCBと略記する)は各ジョブに1対1に対応し
て、当該ジョブの識別情報であるJCBID207a、
ジョブの起動要求時間207b、当該ジョブのステータ
ス207c、当該ジョブを実行中のプロセッサを示す実
行中プロセッサ番号207d、等の情報が格納されてい
る。レディジョブキュー208は、プロセッサ106,
109,113,116の各々に1対1に対応し、各プ
ロセッサに対するジョブの実行待ちキュー209、実行
待ちキュー210、実行待ちキュー211、実行待ちキ
ュー212でJCB206がキューイングされる。構成
情報テーブル213は、ディスク制御装置103、ドラ
イブ120、121、122の構成を管理するテーブル
である。
FIG. 2 is a conceptual diagram showing an example of the structure of a table on the shared memory 118. The load information table 201 includes processors 106, 109, 113 and 116.
Load factor 202, load factor 203, load factor 2 for each of the
04 and load factor 205 are stored. The job management table 206 (Job Control Block: hereinafter abbreviated as JCB) has a one-to-one correspondence with each job, and has a JCB ID 207a that is identification information of the job,
Information such as a job activation request time 207b, a status 207c of the job, an executing processor number 207d indicating a processor executing the job, and the like are stored. The ready job queue 208 includes a processor 106,
The JCB 206 is queued in the job execution waiting queue 209, the execution waiting queue 210, the execution waiting queue 211, and the execution waiting queue 212 in a one-to-one correspondence with each of the 109, 113, and 116. The configuration information table 213 is a table for managing the configurations of the disk control device 103 and the drives 120, 121, 122.

【0012】図3は、ディスク制御装置103において
実行される各種ジョブの構成の一例を示す概念図であ
る。本実施の形態のディスク制御装置103におけるジ
ョブ構成は、ホストコンピュータ101とキャッシュメ
モリ119間のデータ転送を行う同期チャネルジョブ3
01、同期チャネルジョブ301の指示でキャッシュメ
モリ119とドライブ120、121、122間のデー
タ転送を行う同期コマンドジョブ302、同期チャネル
ジョブ301の指示ではなく、キャッシュメモリ119
上のデータ量により起動する非同期コマンドジョブ30
3、ディスク制御装置103の構成を管理する構成管理
ジョブ304、キャッシュメモリ119上の空きスペー
スを管理するキャッシュ管理ジョブ305がある。
FIG. 3 is a conceptual diagram showing an example of the configuration of various jobs executed in the disk control device 103. The job configuration in the disk control device 103 according to the present embodiment is the synchronous channel job 3 for transferring data between the host computer 101 and the cache memory 119.
01, a synchronous command job 302 for transferring data between the cache memory 119 and the drives 120, 121, 122 according to the instruction of the synchronous channel job 301, not the instruction of the synchronous channel job 301, but the cache memory 119
Asynchronous command job 30 that starts depending on the amount of data above
3, a configuration management job 304 that manages the configuration of the disk control device 103, and a cache management job 305 that manages free space on the cache memory 119.

【0013】各ジョブには、前述のように、16進数で
4桁(2バイト)のJCBID207aが付与されてい
る。一例として、各ジョブのJCBID207aは、同
期チャネルジョブ301には“5800”が、同期コマ
ンドジョブ302には“3C00”が、非同期コマンド
ジョブ303には“3800”が、構成管理ジョブ30
4には“2500”が、キャッシュ管理ジョブ305に
は“2400”が、それぞれ付与されている。
As described above, each job is provided with a JCBID 207a of 4 digits (2 bytes) in hexadecimal. As an example, the JCB ID 207a of each job is “5800” for the synchronous channel job 301, “3C00” for the synchronous command job 302, “3800” for the asynchronous command job 303, and the configuration management job 30.
4 is assigned “2500”, and the cache management job 305 is assigned “2400”.

【0014】上述の各種ジョブの各々の処理内容につい
て説明する。
The processing contents of each of the above-described various jobs will be described.

【0015】同期チャネルジョブ301は、ホストコン
ピュータ101からの要求をチャネル制御装置102を
介して受け付け、リード要求のとき、要求されたデータ
がキャッシュメモリ119上にあるかチェックを行い、
キャッシュメモリ119上にあるときはキャッシュメモ
リ119上のデータをホストコンピュータ101に転送
し、当該データがないときはディスク制御部112、1
15にドライブ120、121、122からキャッシュ
メモリ119への当該データのステージ(ステージ:ド
ライブ120、121、122からキャッシュメモリ1
19上へ転送する操作)要求を行い、キャッシュメモリ
119上に当該データが転送されたら、キャッシュメモ
リ119上の当該データをホストコンピュータ101に
転送する。ライト要求のときは、ライト要求データに対
する旧データがキャッシュメモリ119上あるかチェッ
クを行い、キャッシュメモリ119上にあるときはホス
トコンピュータ101からキャッシュメモリ119上に
ライトデータを転送し、キャッシュメモリ119上にな
いときは、ディスク制御部112、115にドライブ1
20、121、122からキャッシュメモリ119への
当該データのステージ要求を行い、キャッシュメモリ1
19上に当該データが転送されたら、ホストコンピュー
タ101からキャッシュメモリ119上にライトデータ
を転送する。
The synchronous channel job 301 receives a request from the host computer 101 via the channel control device 102, and at the time of a read request, checks whether the requested data is in the cache memory 119,
When it is in the cache memory 119, the data in the cache memory 119 is transferred to the host computer 101, and when there is no such data, the disk control unit 112, 1
15 the stage of the data from the drives 120, 121, 122 to the cache memory 119 (stage: the drives 120, 121, 122 to the cache memory 1
19) operation, and when the data is transferred to the cache memory 119, the data in the cache memory 119 is transferred to the host computer 101. When a write request is made, it is checked whether old data corresponding to the write request data exists in the cache memory 119, and when it is in the cache memory 119, the write data is transferred from the host computer 101 to the cache memory 119, and then in the cache memory 119. If not, drive 1 to disk controller 112, 115
20, 121, 122 make a stage request of the data to the cache memory 119, and the cache memory 1
When the data is transferred to the cache memory 19, the write data is transferred from the host computer 101 to the cache memory 119.

【0016】同期コマンドジョブ302は、同期チャネ
ルジョブ301から要求されたデータのステージング、
または要求されたデータのデステージ(デステージ:キ
ャッシュメモリ119からドライブ120、121、1
22へデータ転送する操作)を実行する。
The sync command job 302 staging the data requested by the sync channel job 301,
Alternatively, the requested data is destaged (destage: cache memory 119 to drives 120, 121, 1
22) Data transfer operation).

【0017】非同期コマンドジョブ303は、同期チャ
ネルジョブ301からの要求がなくても、キャッシュメ
モリ119上のデータでデステージされていないデータ
があればデステージを行ったり、ホストコンピュータ1
01から要求がありそうなデータのステージを行う。
The asynchronous command job 303 performs destaging if there is undestaged data in the cache memory 119 even if there is no request from the synchronous channel job 301, or the host computer 1
The data stage that is likely to be requested from 01 is performed.

【0018】構成管理ジョブ304は、ディスク制御装
置103、ドライブ120、121、122の構成を共
用メモリ118上にある構成情報テーブル213で管理
し、構成変更が生じたとき当該テーブルの更新を行い、
各チャネル制御部105、108、およびディスク制御
部112、115へ構成変更発生を通知する。
The configuration management job 304 manages the configurations of the disk controller 103 and the drives 120, 121, 122 with the configuration information table 213 in the shared memory 118, updates the table when a configuration change occurs,
The channel control units 105 and 108 and the disk control units 112 and 115 are notified of the configuration change occurrence.

【0019】キャッシュ管理ジョブ305は、キャッシ
ュメモリ119上のスペース管理を行うジョブで、キャ
ッシュメモリ119上にあるデータで既にドライブ上へ
のライトが終了しているデータがあれば、キャッシュメ
モリ119上の当該データで使用していたスペースの解
放を行う。構成管理ジョブ304、キャッシュ管理ジョ
ブ305は、一定周期で起動を行う。
The cache management job 305 is a job for managing the space in the cache memory 119. If there is data in the cache memory 119 that has already been written to the drive, it is stored in the cache memory 119. Frees the space used by the data. The configuration management job 304 and the cache management job 305 are activated at regular intervals.

【0020】本実施の形態の機能プロセッサ群について
説明する。
The functional processor group of this embodiment will be described.

【0021】同期チャネルジョブ301の機能を実行可
能な機能プロセッサ群104は、チャネル制御部10
5、108内部のプロセッサ106、プロセッサ109
からなる。同期コマンドジョブ302、非同期コマンド
ジョブ303の機能を実行可能な機能プロセッサ群11
1は、ディスク制御部112、115の内部のプロセッ
サ113、プロセッサ116からなる。構成管理ジョブ
304、キャッシュ管理ジョブ305は、機能プロセッ
サ群104、111のいずれにも属さないジョブであ
る。
The functional processor group 104 capable of executing the functions of the synchronous channel job 301 is the channel control unit 10.
5, processor 109 inside processor 108
Consists of Functional processor group 11 capable of executing the functions of the synchronous command job 302 and the asynchronous command job 303
1 comprises processors 113 and 116 inside the disk control units 112 and 115. The configuration management job 304 and the cache management job 305 are jobs that do not belong to any of the functional processor groups 104 and 111.

【0022】図4はローカルメモリ107、110、1
14、117上にある負荷情報作成用テーブル401の
内容の一例を示す概念図であり、図5は負荷情報の更新
処理の一例を示すフローチャートである。負荷情報の更
新処理は、ジョブ起動前に起動時間をジョブ起動時間4
02に設定(ステップ501)し、ジョブを起動する
(ステップ502)。ジョブ終了時に終了時間をジョブ
終了時間403に設定(ステップ503)し、ジョブ終
了時間403とジョブ起動時間402の差分のジョブ実
行時間をジョブ実行時間404に設定(ステップ50
4)し、ジョブ実行積算時間405にジョブ実行時間4
04を加算する(ステップ505)。ジョブ実行積算開
始時間406からT秒(たとえば1秒)が経過するまで
(ステップ506)ジョブ実行積算時間405の更新を
行い(ステップ501、502、503、504、50
5)、経過すればジョブ実行積算終了時間をジョブ実行
積算終了時間407に設定(ステップ507)し、ジョ
ブ実行積算時間405/(ジョブ実行積算終了時間40
7−ジョブ実行積算開始時間406)を負荷率として負
荷情報テーブル201の自プロセッサの負荷率に設定し
(ステップ508)、ジョブ実行積算時間405のクリ
ア(ステップ509)とジョブ実行積算開始時間406
の再設定(ステップ510)を行い、負荷情報作成処理
を続ける。
FIG. 4 shows local memories 107, 110, 1
14 and 117 are conceptual diagrams showing an example of the contents of the load information creation table 401, and FIG. 5 is a flowchart showing an example of load information update processing. In the load information update processing, the start time is set to the job start time 4 before the job is started.
02 is set (step 501) and the job is started (step 502). When the job ends, the end time is set to the job end time 403 (step 503), and the job execution time which is the difference between the job end time 403 and the job start time 402 is set to the job execution time 404 (step 50).
4) and then the job execution time 4 is added to the job execution accumulated time 405.
04 is added (step 505). The job execution accumulated time 405 is updated until T seconds (for example, 1 second) has elapsed from the job execution accumulated start time 406 (step 506) (steps 501, 502, 503, 504, 50).
5) If the time has elapsed, the job execution integrated end time is set to the job execution integrated end time 407 (step 507), and the job execution integrated time 405 / (job execution integrated end time 40
7-job execution integrated start time 406) is set as the load ratio of the own processor in the load information table 201 (step 508), the job execution integrated time 405 is cleared (step 509), and the job execution integrated start time 406 is set.
Is reset (step 510) and the load information creation process is continued.

【0023】図6および図7は、負荷バランス制御によ
る構成管理ジョブ304、キャッシュ管理ジョブ305
の起動処理の一例を示すフローチャートである。これら
のジョブは一定周期で起動するジョブで、後述の図7の
ステップ703でジョブ終了時に起動要求時間を自JC
B206の起動要求時間207bに設定する。機能プロ
セッサ群104、111のプロセッサ106、109、
113、116が、一定周期で共用メモリ118上のJ
CB206の起動要求時間207bのチェックを行い
(ステップ601)、起動要求時間に達したJCB20
6が、JCBID207aの判別によって構成管理ジョ
ブ304、キャッシュ管理ジョブ305であると判明し
たとき(ステップ602)、負荷情報テーブル201よ
り一番負荷率が低いプロセッサを特定し(ステップ60
3)、当該プロセッサに対するレディジョブキューに当
該JCBをキューイングする(ステップ604)。ま
た、前記ステップ601において、起動要求時間に達し
たジョブがない場合には、なにもしない。さらに、前記
ステップ602において、起動要求時間に達したJCB
206が実行する機能プロセッサ群が固定のジョブ(同
期チャネルジョブ301、同期コマンドジョブ302、
非同期コマンドジョブ303)の場合には、対応する機
能プロセッサ群に属するプロセッサ106,109また
はプロセッサ113,116のレディジョブキュー20
8に当該ジョブをキューイングする(ステップ60
5)。
6 and 7 show a configuration management job 304 and a cache management job 305 under load balance control.
5 is a flowchart showing an example of a startup process of FIG. These jobs are jobs that are started at a fixed cycle, and the start request time is set to the own JC at the end of the job in step 703 of FIG. 7 described later.
The start request time 207b of B206 is set. Processors 106 and 109 of the functional processor groups 104 and 111,
113 and 116 are stored in J on the shared memory 118 at regular intervals.
The start request time 207b of the CB 206 is checked (step 601), and the JCB 20 that has reached the start request time
6 is determined to be the configuration management job 304 and the cache management job 305 by the JCB ID 207a (step 602), the processor with the lowest load factor is specified from the load information table 201 (step 60).
3) Queue the JCB in the ready job queue for the processor (step 604). In step 601, if there is no job that has reached the activation request time, nothing is done. Further, in step 602, the JCB which has reached the activation request time
Jobs in which the functional processors executed by 206 are fixed (sync channel job 301, sync command job 302,
In the case of the asynchronous command job 303), the ready job queue 20 of the processor 106, 109 or the processor 113, 116 belonging to the corresponding functional processor group
The job is queued in step 8 (step 60)
5).

【0024】各プロセッサは、自プロセッサに対応する
レディジョブキューにキューイングしているJCBの有
無のチェックを行い(ステップ701)、キューイング
JCBがあれば、当該JCBに対応するジョブを起動す
る(ステップ702)。当該ジョブが終了したとき、次
回起動する時間を当該ジョブに対応するJCBの起動要
求時間207bに設定する(ステップ703)。
Each processor checks whether or not there is a JCB queued in the ready job queue corresponding to its own processor (step 701), and if there is a queuing JCB, the job corresponding to that JCB is started (step 701). Step 702). When the job is finished, the next start time is set to the JCB start request time 207b corresponding to the job (step 703).

【0025】以上、本実施の形態におけるディスク制御
装置103内の各機能プロセッサ群の動作について説明
した。このように、本実施の形態では、機能プロセッサ
群104と機能プロセッサ群111のどちらにも属さな
い構成管理ジョブ304とキャッシュ管理ジョブ305
を起動する機能プロセッサ群を負荷バランス制御により
特定し、負荷がより小さいと特定された機能プロセッサ
群で起動するので、機能プロセッサ群104と機能プロ
セッサ群111の負荷バランスを均一化することができ
る。
The operation of each functional processor group in the disk control device 103 in this embodiment has been described above. As described above, in this embodiment, the configuration management job 304 and the cache management job 305 that do not belong to either the functional processor group 104 or the functional processor group 111.
The functional processor group that activates is specified by the load balance control, and the functional processor group that is specified as having a smaller load is activated, so that the load balance between the functional processor group 104 and the functional processor group 111 can be made uniform.

【0026】すなわち、たとえば、従来技術では、これ
らのジョブを便宜的に機能プロセッサ群104に固定さ
せたとき、ホストコンピュータからの要求データが常に
キャッシュメモリ119上にあれば、機能プロセッサ群
104の負荷は高く、機能プロセッサ群111の負荷は
低いにもかかわらず、機能プロセッサ群104で起動し
なければならない。また、機能プロセッサ群111に固
定させたときは、キャッシュメモリ119上のデータの
デステージが大量に行われたとき、機能プロセッサ群1
11の負荷は高く、機能プロセッサ群104の負荷は低
いにもかかわらず、機能プロセッサ群111で起動しな
ければならない。この結果、負荷のアンバランスが増大
する。
That is, for example, in the prior art, when these jobs are fixed to the functional processor group 104 for convenience, if the requested data from the host computer is always in the cache memory 119, the load of the functional processor group 104 is increased. Is high and the load of the functional processor group 111 is low, the functional processor group 104 must be activated. When fixed to the functional processor group 111, when a large amount of data is destaged in the cache memory 119, the functional processor group 1
Although the load of 11 is high and the load of the functional processor group 104 is low, the functional processor group 111 must be activated. As a result, the load imbalance increases.

【0027】これに対して、本実施の形態のように、負
荷の低いプロセッサ(機能プロセッサ群)を選択して当
該プロセッサ(機能プロセッサ群)で、いずれの機能プ
ロセッサ群にも固定されていない構成管理ジョブ304
およびキャッシュ管理ジョブ305を起動することによ
り、構成管理ジョブ304およびキャッシュ管理ジョブ
305の実行に伴う負荷が分散され、データ転送処理中
の各機能プロセッサ群(プロセッサ)への影響がなくな
り、機能分散型のマルチプロセッサシステムにおけるデ
ータ転送速度等のシステム性能の向上を実現できる。
On the other hand, as in the present embodiment, a processor (functional processor group) having a low load is selected and the processor (functional processor group) is not fixed to any functional processor group. Management job 304
By activating the cache management job 305 and the cache management job 305, the load associated with the execution of the configuration management job 304 and the cache management job 305 is distributed, and each functional processor group (processor) during the data transfer process is not affected and the function distribution type It is possible to improve the system performance such as data transfer rate in the multiprocessor system.

【0028】以上本発明者によってなされた発明を実施
の形態に基づき具体的に説明したが、本発明は前記実施
の形態に限定されるものではなく、その要旨を逸脱しな
い範囲で種々変更可能であることはいうまでもない。
Although the invention made by the present inventor has been specifically described based on the embodiments, the present invention is not limited to the above-described embodiments and can be variously modified without departing from the gist thereof. Needless to say, there is.

【0029】たとえば、マルチプロセッサシステムとし
ては、上述の実施の形態で例示したディスク制御装置に
限らず、マルチプロセッサ構成の一般の情報処理技術に
広く適用することができる。
For example, the multiprocessor system is not limited to the disk control device exemplified in the above embodiment, but can be widely applied to general information processing technology of multiprocessor configuration.

【0030】[0030]

【発明の効果】本発明のマルチプロセッサシステムの制
御方法によれば、機能分散型マルチプロセッサシステム
において、複数の機能プロセッサまたは機能プロセッサ
群の間の負荷バランスを均一化して、システム全体の処
理性能を向上させることができる、という効果が得られ
る。
According to the control method of a multiprocessor system of the present invention, in a function distributed multiprocessor system, the load balance among a plurality of function processors or a group of function processors is made uniform to improve the processing performance of the entire system. The effect that it can be improved is obtained.

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

【図1】本発明の一実施の形態であるマルチプロセッサ
システムの制御方法が実施されるキャッシュ付きディス
クサブシステムの構成の一例を示す概念図である。
FIG. 1 is a conceptual diagram showing an example of a configuration of a disk subsystem with cache in which a method for controlling a multiprocessor system according to an embodiment of the present invention is implemented.

【図2】本発明の一実施の形態であるマルチプロセッサ
システムの制御方法が実施されるキャッシュ付きディス
クサブシステムにおいて用いられる制御情報の一例を示
す概念図である。
FIG. 2 is a conceptual diagram showing an example of control information used in a cached disk subsystem in which a method for controlling a multiprocessor system according to an embodiment of the present invention is implemented.

【図3】本発明の一実施の形態であるマルチプロセッサ
システムの制御方法が実施されるキャッシュ付きディス
クサブシステムにおけるジョブ構成の一例を示す概念図
である。
FIG. 3 is a conceptual diagram showing an example of a job configuration in a cached disk subsystem in which a method for controlling a multiprocessor system according to an embodiment of the present invention is implemented.

【図4】本発明の一実施の形態であるマルチプロセッサ
システムの制御方法が実施されるキャッシュ付きディス
クサブシステムにおいて用いられる制御情報の一例を示
す概念図である。
FIG. 4 is a conceptual diagram showing an example of control information used in a cached disk subsystem in which a method for controlling a multiprocessor system according to an embodiment of the present invention is implemented.

【図5】本発明の一実施の形態であるマルチプロセッサ
システムの制御方法が実施されるキャッシュ付きディス
クサブシステムの作用の一例を示すフローチャートであ
る。
FIG. 5 is a flowchart showing an example of the operation of the cached disk subsystem in which the method for controlling a multiprocessor system according to an embodiment of the present invention is implemented.

【図6】本発明の一実施の形態であるマルチプロセッサ
システムの制御方法が実施されるキャッシュ付きディス
クサブシステムの作用の一例を示すフローチャートであ
る。
FIG. 6 is a flowchart showing an example of the operation of the cached disk subsystem in which the method for controlling a multiprocessor system according to an embodiment of the present invention is implemented.

【図7】本発明の一実施の形態であるマルチプロセッサ
システムの制御方法が実施されるキャッシュ付きディス
クサブシステムの作用の一例を示すフローチャートであ
る。
FIG. 7 is a flowchart showing an example of an operation of a disk subsystem with cache in which a control method for a multiprocessor system according to an embodiment of the present invention is implemented.

【符号の説明】[Explanation of symbols]

101…ホストコンピュータ、102…チャネル制御装
置、103…ディスク制御装置、104,111…機能
プロセッサ群(プロセッサ群)、105,108…チャ
ネル制御部、112,115…ディスク制御部、10
6,109,113,116…プロセッサ、107,1
10,114,117…ローカルメモリ、118…共用
メモリ、119…キャッシュメモリ、120,121,
122…ドライブ、201…負荷情報テーブル、20
2,203,204,205…負荷率、206…ジョブ
管理テーブル(JCB)、207a…JCBID、20
7b…起動要求時間、207c…ステータス、207d
…実行中プロセッサ番号、208…レディジョブキュ
ー、209,210,211,212…実行待ちキュ
ー、213…構成情報テーブル、301…同期チャネル
ジョブ(第1のジョブ)、302…同期コマンドジョブ
(第1のジョブ)、303…非同期コマンドジョブ(第
1のジョブ)、304…構成管理ジョブ(第2のジョ
ブ)、305…キャッシュ管理ジョブ(第2のジョ
ブ)。
101 ... Host computer, 102 ... Channel control device, 103 ... Disk control device, 104, 111 ... Functional processor group (processor group), 105, 108 ... Channel control unit, 112, 115 ... Disk control unit, 10
6, 109, 113, 116 ... Processor, 107, 1
10, 114, 117 ... Local memory, 118 ... Shared memory, 119 ... Cache memory, 120, 121,
122 ... Drive, 201 ... Load information table, 20
2, 203, 204, 205 ... Load factor, 206 ... Job management table (JCB), 207a ... JCBID, 20
7b ... Activation request time, 207c ... Status, 207d
... Processing processor number, 208 ... Ready job queue, 209, 210, 211, 212 ... Execution waiting queue, 213 ... Configuration information table, 301 ... Sync channel job (first job), 302 ... Sync command job (first Job), 303 ... Asynchronous command job (first job), 304 ... Configuration management job (second job), 305 ... Cache management job (second job).

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 複数のプロセッサまたはプロセッサ群
と、複数の前記プロセッサまたはプロセッサ群の何れか
に実行が固定された少なくとも一つの第1のジョブと、
任意の前記プロセッサまたはプロセッサ群において実行
可能な少なくとも一つの第2のジョブとを含むマルチプ
ロセッサシステムの制御方法であって、 前記ジョブの起動要求が発生した時、前記第1および第
2のジョブのいずれであるかを識別し、前記第2のジョ
ブの起動要求時には、負荷がより小さい前記プロセッサ
またはプロセッサ群に前記第2のジョブの実行を割り当
てることを特徴とするマルチプロセッサシステムの制御
方法。
1. A plurality of processors or processor groups, and at least one first job whose execution is fixed to any of the plurality of processors or processor groups,
A method for controlling a multiprocessor system including at least one second job that can be executed by any of the processors or a group of processors, wherein the first and second jobs are executed when a request to start the job is issued. A method for controlling a multiprocessor system, which is identified, and when the activation request for the second job is made, the execution of the second job is assigned to the processor or processors having a smaller load.
JP7321461A 1995-12-11 1995-12-11 Control method for multiprocessor system Pending JPH09160889A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7321461A JPH09160889A (en) 1995-12-11 1995-12-11 Control method for multiprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7321461A JPH09160889A (en) 1995-12-11 1995-12-11 Control method for multiprocessor system

Publications (1)

Publication Number Publication Date
JPH09160889A true JPH09160889A (en) 1997-06-20

Family

ID=18132832

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7321461A Pending JPH09160889A (en) 1995-12-11 1995-12-11 Control method for multiprocessor system

Country Status (1)

Country Link
JP (1) JPH09160889A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001167040A (en) * 1999-12-14 2001-06-22 Hitachi Ltd Storage subsystem and storage controller
JP2003532165A (en) * 1999-01-05 2003-10-28 ルーセント テクノロジーズ インコーポレーテッド Apparatus and method for dynamically reconfiguring input / output devices
EP1708077A1 (en) * 2005-03-30 2006-10-04 Hitachi, Ltd. Disk array apparatus and method of controlling the same
WO2008149459A1 (en) * 2007-06-08 2008-12-11 Fujitsu Limited Storage device and control method
US7886114B2 (en) 2005-09-14 2011-02-08 Hitachi, Ltd. Storage controller for cache slot management
WO2012029259A1 (en) * 2010-08-31 2012-03-08 Nec Corporation Storage system
WO2016092610A1 (en) * 2014-12-08 2016-06-16 株式会社日立製作所 Storage device and data backup method therefor

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003532165A (en) * 1999-01-05 2003-10-28 ルーセント テクノロジーズ インコーポレーテッド Apparatus and method for dynamically reconfiguring input / output devices
JP2001167040A (en) * 1999-12-14 2001-06-22 Hitachi Ltd Storage subsystem and storage controller
US7213141B2 (en) 1999-12-14 2007-05-01 Hitachi, Ltd. Storage subsystem and storage controller
US7461245B2 (en) 1999-12-14 2008-12-02 Hitachi, Ltd. Storage subsystem and storage controller
US8015325B2 (en) 1999-12-14 2011-09-06 Hitachi, Ltd. Storage subsystem and storage controller having memory which stores management information indicating corresponding relations between processors and identifies of logical units
EP1708077A1 (en) * 2005-03-30 2006-10-04 Hitachi, Ltd. Disk array apparatus and method of controlling the same
US7617360B2 (en) 2005-03-30 2009-11-10 Hitachi, Ltd. Disk array apparatus and method of controlling the same by a disk array controller having a plurality of processor cores
US7886114B2 (en) 2005-09-14 2011-02-08 Hitachi, Ltd. Storage controller for cache slot management
WO2008149459A1 (en) * 2007-06-08 2008-12-11 Fujitsu Limited Storage device and control method
WO2012029259A1 (en) * 2010-08-31 2012-03-08 Nec Corporation Storage system
US9182923B2 (en) 2010-08-31 2015-11-10 Nec Corporation Controlling throughput of processing units associated with different load types in storage system
WO2016092610A1 (en) * 2014-12-08 2016-06-16 株式会社日立製作所 Storage device and data backup method therefor

Similar Documents

Publication Publication Date Title
US6055603A (en) Method and apparatus for performing pre-request operations in a cached disk array storage system
US6360300B1 (en) System and method for storing compressed and uncompressed data on a hard disk drive
US5752268A (en) Minimum-delay recoverable disk control system using checkpoints and nonvolatile memory
EP0205965A2 (en) Peripheral subsystem having read/write cache with record access
EP1434125A2 (en) Raid apparatus and logical device expansion method thereof
JPH0458051B2 (en)
JPH07504527A (en) High performance non-volatile RAM protected write cache accelerator system
JPS60147855A (en) Memory managing apparatus
US8650339B2 (en) Control of data transfer
US5815648A (en) Apparatus and method for changing the cache mode dynamically in a storage array system
JPH07225715A (en) Method and system for accessing data in cache
JPH09160889A (en) Control method for multiprocessor system
JPH11143779A (en) Paging processing system for virtual storage device
US6209001B1 (en) Back-up system capable of performing back-up operation at optional time
JP2005258789A (en) Storage apparatus, storage controller, and write-back cache control method
JPH08147115A (en) Document processor
JPH11212733A (en) External storage system
JP3236166B2 (en) Cache control method and information processing device
JP3385407B2 (en) Non-stop program change method for multiprocessor system and multiprocessor system
JP3425355B2 (en) Multiple write storage
JPH10254643A (en) Storage system
JP2854668B2 (en) Disk cache control method
JP3614886B2 (en) File system
JPH10240450A (en) Storage system
JPH0973370A (en) Information processing system