JPH03148730A - Process queue processing system - Google Patents

Process queue processing system

Info

Publication number
JPH03148730A
JPH03148730A JP28758389A JP28758389A JPH03148730A JP H03148730 A JPH03148730 A JP H03148730A JP 28758389 A JP28758389 A JP 28758389A JP 28758389 A JP28758389 A JP 28758389A JP H03148730 A JPH03148730 A JP H03148730A
Authority
JP
Japan
Prior art keywords
queue
storage device
control block
process group
shared storage
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
JP28758389A
Other languages
Japanese (ja)
Inventor
Shin Hashimoto
伸 橋本
Yoshio Kato
加藤 喜郎
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.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
Agency of Industrial Science and Technology
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 Agency of Industrial Science and Technology filed Critical Agency of Industrial Science and Technology
Priority to JP28758389A priority Critical patent/JPH03148730A/en
Publication of JPH03148730A publication Critical patent/JPH03148730A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To decrease access to a shared memory and to control a process by a process queue to be efficiently generated by linking the queue of a required process group by a control block sub link. CONSTITUTION:A process queue 14 connects a queue 15 of the required process group to an individual control block 16 and successively links the control blocks 16. When the process queue is added, a link relation between queue elements to be added is simultaneously set and connected to the control block 16 in the end of the existent queue. Namely, for a control program to be executed by a required arithmetic unit 11, the added part of the process queue 15 is prepared on a main storage 12 and afterwards transferred to a shared memory 13 and when only one link of the control block 16 in the end is updated, the queue can be generated on the shared memory 13 by twice access at a maximum. Thus, the access to the shared memory is decreased and the process can be controlled by the process queue to be efficiently generated.

Description

【発明の詳細な説明】 〔概 要〕 共有記憶装置と、個別の主記憶装置とを有する演算装置
からなるマルチプロセッサシステムで実行するプロセス
のキューに関し、 共有記憶装置へのアクセスを減少して効率よく生成でき
るプロセスキューによって、プロセスを制御する、プロ
セスキュー処理方式を目的とし、複数の演算装置及び主
記憶装置と、共有記憶装置とを有し、各該演算装置は、
個別の該主記憶装置と、共通の該共有記憶装置とに接続
し、各該演算装置は、該共有記憶装置上に置かれたプロ
セスキューから、指定のプロセス群のプロセスを取り出
して、該主記憶装置にロードされた該プロセスのプログ
ラムを実行し、該プロセスキューは、所要の該プロセス
群のキューを、個別の制御ブロックに接続し、該制御ブ
ロックを順次リンクしてなり、各該プロセス群のキュー
は当該プロセス群ごとの該プロセスのキューであるよう
に構成する。
[Detailed Description of the Invention] [Summary] Regarding the queuing of processes executed in a multiprocessor system consisting of an arithmetic unit having a shared storage device and a separate main storage device, efficiency is improved by reducing accesses to the shared storage device. The objective is a process queue processing method in which processes are controlled by process queues that can be easily generated, and includes a plurality of arithmetic units, a main storage device, and a shared storage device, and each of the arithmetic units includes:
The individual main storage devices are connected to the common shared storage device, and each processing unit takes out a process of a designated process group from the process queue placed on the shared storage device and processes the main storage device. The process program loaded in the storage device is executed, and the process queue is formed by connecting the queues of the required process groups to individual control blocks and sequentially linking the control blocks. The queue is configured to be a queue of the process for each process group.

〔産業上の利川分野〕[Industrial Icheon field]

本発明は、共有記憶装置4、個別の主記憶装置とを有す
る演算装置からなるマルチプロセッサシステムで実行す
るプロセスのキューの処理方式に関する。
The present invention relates to a process queue processing method executed in a multiprocessor system consisting of an arithmetic unit having a shared storage device 4 and an individual main storage device.

〔従来の技術) 第2図はマルチプロセッサシステムの構成例を示すブロ
ック図である。
[Prior Art] FIG. 2 is a block diagram showing an example of the configuration of a multiprocessor system.

複数の演算装置lは、個別の主記憶装置2と接続し、各
演算装置1はそれぞれ別途主記憶装置2にロードされた
プログラムを実行して、主記憶装置2又は共有記憶装置
3に保持されるデータにアクセスして、必要なシステム
管理や応用業務の処理を実行する。
The plurality of processing devices 1 are connected to individual main storage devices 2, and each processing device 1 executes programs separately loaded into the main storage device 2 and stored in the main storage device 2 or the shared storage device 3. access data to perform necessary system management and applied business processing.

共有記憶装置3はすべての演算装置2からアクセスでき
るようにされ、共通に使川する管理データや業務処理の
作業データの領域が置かれる。
The shared storage device 3 can be accessed by all the computing devices 2, and contains areas for commonly used management data and work data for business processing.

このシステム構成により、例えば必要な複数の演算装置
の主記憶装置2にプログラムをロードし、共有記憶装置
3に設ける管理情報に従って、各演算装置lで実行され
るタスクが、プログラムの実行を分損することにより、
1つのプログラムを適当な構成に分割して、複数のタス
クで並列に実行することができる。
With this system configuration, for example, a program is loaded into the main memory device 2 of a plurality of necessary arithmetic devices, and a task executed by each arithmetic device 1 can partially interrupt the execution of the program according to management information provided in the shared storage device 3. By this,
A single program can be divided into appropriate configurations and executed in parallel by multiple tasks.

そのために、コンパイラは目的プログラムを生成する場
合に、プログラムをプロセスに分gL、更に同一の演算
装置W 1で実行されるべきプロセスに群分けしてプロ
セス群とし、それらのプロセスを演算装置の各タスクが
順次実行するようにする。
For this purpose, when a compiler generates a target program, it divides the program into processes, and further divides the program into processes that should be executed on the same arithmetic unit W1 to form a process group, and divides these processes into processes for each of the arithmetic units. Make tasks run sequentially.

なお、各演算装置lには複数のタスクが存在してよく、
更に各演算装置が複数の処理ユニットで構成されてよく
、その場合には演算装置ごとにも、複数のタスクが並行
に実行できる。
Note that each arithmetic unit l may have multiple tasks,
Further, each arithmetic device may be composed of a plurality of processing units, in which case each arithmetic device can also execute a plurality of tasks in parallel.

以上のプロセスの制御のために、例えばいわゆるジョブ
ステップの開始時に、ある演算装置1で実行する管理プ
ログラムが、そのジョブステップで実行すべきプログラ
ムのプロセスのプロセス制御ブロック(PCB)をリン
クしたキュー9を共有記憶装置3上に生成して、例えば
その演算装置lのタスクがそのPCBに従ってプロセス
の実行を開始し、プログラムが所定の並列処理呼び出し
命令の実行に至ると、こ\でその並列処理に必要な複数
のプロセスのための一般に複数のキュー9を共有記憶装
置3上に追加し、又所要のキュー9にプロセスを追加す
る。
In order to control the above-mentioned processes, for example, at the start of a so-called job step, a management program executed on a certain computing device 1 sends a queue 9 to which process control blocks (PCBs) of processes of programs to be executed in that job step are linked. is generated on the shared storage device 3, and for example, when the task of the arithmetic unit l starts executing a process according to the PCB, and the program reaches the execution of a predetermined parallel processing call instruction, the parallel processing is executed. Typically multiple queues 9 for the required processes are added on the shared storage 3 and processes are added to the required queues 9.

各演算装置1では別途指定されるプロセス群番号に従っ
て、各演算装Wiのタスクが、該当するプロセス群のキ
ュー9から、キュ一要素としてつながるPCBを取り出
し、その情報に従って、当該プロセスのプログラムを実
行する。各PCBは、例えば第3図(a)のような構成
で、図示のようにキューのリンクを作るためのPCBリ
ンク、PCB群を識別するプロセス群番号、プログラム
の入口名、パラメータ領域アドレス、プロセス名等から
なる。
In each processing device 1, according to the process group number specified separately, the task of each processing device Wi takes out a PCB connected as a queue element from the queue 9 of the corresponding process group, and executes the program of the process according to the information. do. Each PCB has a configuration, for example, as shown in FIG. Consists of first name, etc.

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

共有記憶装置3は大量のデータを記憶できるように比較
的大容N(例えば数ギガバイト)を要し、経済的な要求
から比較的低速の記憶素子によって構成し、又大量デー
タのブロックの転送を効率よく処理するように構成され
ていて、前記のようなキュー9の生成やキューへのPC
Bの追加等のためのアクセスは比較的効率が悪く、各プ
ロセス群ごとのキュー生成や追加に比較的大きな処理時
間を要するという問題がある。
The shared storage device 3 requires a relatively large capacity N (for example, several gigabytes) to be able to store a large amount of data, is configured with relatively low-speed storage elements due to economical requirements, and is not capable of transferring blocks of large amounts of data. It is configured to process efficiently, and the generation of the queue 9 as described above and the PC input to the queue are
There is a problem in that access for adding B and the like is relatively inefficient, and that creating and adding queues for each process group requires a relatively long processing time.

本発明は、共有記憶装置へのアクセスを減少して効率よ
く生成できる構成のプロセスキューによって、プロセス
の実行を制御するようにした、プロセスキュー処理方式
を目的とする。
An object of the present invention is to provide a process queue processing method that controls the execution of processes using a process queue that can be efficiently generated by reducing access to a shared storage device.

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

第1図は、本発明の構成を示すブロック図である。 FIG. 1 is a block diagram showing the configuration of the present invention.

 図はプロセスキュー処理方式の構成であって、複数の
演算装置11及び主記憶装置12と、J−有記泣装置1
3とを有し、各演算装置11は、個別の主記憶装置12
と、共通の共有記憶装置13とに接続し、各演算装置1
1は、共存記憶装置13上に置かれたブロセスキユー1
4から、指定のプロセス群のプロセスを取り出して、主
記憶装置12にロードされた該プロセスのプログラムを
実行し、プロセスキュー14は、所要のプロセス群のキ
ュー15を、個別の制御ブロック16に接続し、制御ブ
ロック16を順次リンクしてなり、各プロセス群のキュ
ー15は当該プロセス群ごとの該プロセスのキューであ
る。
The figure shows the configuration of a process queue processing system, which includes a plurality of arithmetic units 11, a main storage device 12, and a J-recording device 1.
3, and each arithmetic unit 11 has an individual main memory 12
and a common shared storage device 13, each computing device 1
1 is a block queue 1 placed on the co-located storage device 13.
4, the process of the specified process group is taken out and the program of the process loaded into the main memory 12 is executed, and the process queue 14 connects the queue 15 of the required process group to the individual control block 16. The control blocks 16 are sequentially linked, and the queue 15 of each process group is a queue of the process for each process group.

〔作 用〕[For production]

以上の処理方式によって、例えば並列処理の開始時に、
その並列処理に必要なプロセスを含むプロセスキューを
追加するものとして、本発明のキュー構成にすれば、追
加するキュ一要素の間のリンク関係をすべて一度に設定
し、既存のキューの末尾の制御ブロック16に接続する
ようにすればよいので、所要の演算装置11で実行する
管理プログラムは、主記憶装置t2の上でプロセスキュ
ー15の追加部分を作成したのち、それを共有記憶装置
13へ転送し、末尾の制御ブロック16のリンク1個所
のみを更新すれば、高々2回のアクセスで共有記憶装置
上に効率良くキューを生成できる。キューにアクセスす
る場合には、所要のプロセス群を前記制御ブロック16
を走査することによって検索できるので、所要のプロセ
ス群のキュー15へのアクセスも甚だしく効率を悪化す
ることはなく、総合的にシステムの処理効率を改善でき
る。
With the above processing method, for example, at the start of parallel processing,
When adding a process queue containing the processes necessary for parallel processing, if the queue configuration of the present invention is used, all the link relationships between the added queue elements can be set at once, and the end of the existing queue can be controlled. Since the management program executed on the required processing unit 11 creates an additional part of the process queue 15 on the main storage device t2, it transfers it to the shared storage device 13. However, by updating only one link in the control block 16 at the end, a queue can be efficiently generated on the shared storage device with at most two accesses. When accessing a queue, the required process group is controlled by the control block 16.
Since the search can be performed by scanning the queue 15 of the required process group, the efficiency of accessing the queue 15 of the required process group does not deteriorate significantly, and the processing efficiency of the system can be improved overall.

〔実施例〕〔Example〕

第1図のシステムにおいて、ある演算装置1で実行する
プログラムが、並列処理呼び出し命令の実行に至ると、
こ\でその並列処理に必要な複数のプロセスのためのキ
ューを共有記憶装置3上に追加するために、主記憶装置
12上にプロセスキュー14の追加部分のプロトタイプ
を作成する。
In the system shown in FIG. 1, when a program executed by a certain arithmetic unit 1 reaches the execution of a parallel processing call instruction,
Now, in order to add queues for the plurality of processes necessary for the parallel processing to the shared storage device 3, a prototype of an additional part of the process queue 14 is created on the main storage device 12.

即ち、先ずその並列処理部分を構成するプロセス群ごと
のプロセスをリンクしたプロセス群のキュー15を主記
憶装x12に生成する。各プロセス群のキュー15は、
前記従来の場合と同様の第3図(a)に示すPCBをキ
ュ一要素として構成する。
That is, first, a process group queue 15 is created in the main memory x12, in which the processes of each process group constituting the parallel processing part are linked. The queue 15 of each process group is
A PCB shown in FIG. 3(a) similar to the conventional case is configured as a cue element.

次にプロセス群のキュー15を、ぞれぞれ個別の制御ブ
ロック16に接続する。制御ブロック16は例えば第3
図(ロ)に示す構成とし、PCBリンクでプロセス群の
キュー15の先頭を指示し、サブリンクで、制御ブロッ
ク16間をリンクし、又接続するプロセス群のキュー1
5と同じプロセス群番号の欄と、その他の情報からなる
The queues 15 of the process group are then each connected to a separate control block 16. The control block 16 is, for example, a third
With the configuration shown in Figure (B), the head of the process group queue 15 is indicated by a PCB link, and the control blocks 16 are linked and connected by sublinks to the process group queue 1.
It consists of the same process group number column as 5 and other information.

このようにして必要なプロセス群のキュー15を制御ブ
ロック16のサブリンクでリンクして、プロセスキュー
14の追加部分のプロトタイプを、主記憶装置12の連
続領域に作成すると、それを一括して共有記憶装W13
の所定領域に転送する。
In this way, by linking the queues 15 of the necessary process groups with the sublinks of the control block 16 and creating a prototype of the additional part of the process queue 14 in a contiguous area of the main storage 12, it can be shared all at once. Memory device W13
to the specified area.

こ\で末尾の制御ブロック16のサブリンクは、末尾を
示す所定の記号になっているので、次に共有記憶装f1
3上の以前のキューの末尾制御ブロック16のサブリン
クの値を、追加キューの先頭の制御ブロック16を指示
するように更新することにより、共有記憶装置13上の
プロセスキュー14へのキューの追加が完了する。
Here, the sublink of the last control block 16 has a predetermined symbol indicating the end, so next the shared storage device f1
Adding a queue to the process queue 14 on the shared storage device 13 by updating the value of the sublink of the tail control block 16 of the previous queue on 3 to point to the head control block 16 of the added queue. is completed.

各演算装置lでは別途指定されるプロセス群番号に従っ
て、各演算装21のタスクが、該当するプロセス群のキ
ュー15を検索するために、先ずプロセスキュー14の
制御ブロック16を、そのサブリンクに従ってたどり、
各制御ブロック16に保持されるプロセス群番号によっ
て、所要のキューを決定し、そのプロセス群のキューI
5からPCBを取り出し、その情報に従って、当該プロ
セスのプログラムを実行する。
In each processing unit 1, in accordance with a separately specified process group number, the task of each processing unit 21 first traces the control block 16 of the process queue 14 according to its sublinks in order to search the queue 15 of the corresponding process group. ,
The required queue is determined by the process group number held in each control block 16, and the queue I of that process group is determined.
5, and execute the program of the process according to the information.

〔発明の効果〕〔Effect of the invention〕

以上の説明から明らかなように本発明によれば、共有記
憶装置と、個別の主記憶装置とを有する演算装置からな
るマルチプロセッサシステムにおいて、共有記憶装置へ
のアクセスを減少して効率よく生成できるプロセスキュ
ーによって、プロセスを制御するので、システムの処理
効率を改善するという著しい工業的効果がある。
As is clear from the above description, according to the present invention, in a multiprocessor system consisting of an arithmetic unit having a shared storage device and a separate main storage device, accesses to the shared storage device can be reduced and generation can be performed efficiently. Since the process is controlled by the process queue, it has a significant industrial effect of improving the processing efficiency of the system.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明の構成を示すブロック図、第2図は従来
の構成例を示すブロック図、第3図はキュ一要素の説明
回 である。 図において、 1.11は演算装置、   2.12は主記憶装置、3
.13は共有記憶装置、9はキュー、14はプロセスキ
ュー、 15はプロセス群のキュー、16は制御ブロッ
ク を示す。 特許出願人 工業技術院長 杉 浦  賢1抱捲J  
   1,3 LIe116ロー 1   し叶i 制御ブロック 本発明の構成を示すブロック回 第 1 図
FIG. 1 is a block diagram showing the configuration of the present invention, FIG. 2 is a block diagram showing an example of a conventional configuration, and FIG. 3 is an explanation of one cue element. In the figure, 1.11 is an arithmetic unit, 2.12 is a main storage device, and 3
.. 13 is a shared storage device, 9 is a queue, 14 is a process queue, 15 is a process group queue, and 16 is a control block. Patent applicant: Director of the Agency of Industrial Science and Technology Ken Sugiura J
1,3 LIe116 row 1 control block Block diagram showing the configuration of the present invention Figure 1

Claims (1)

【特許請求の範囲】 複数の演算装置(11)及び主記憶装置(12)と、共
有記憶装置(13)とを有し、 各該演算装置(11)は、個別の該主記憶装置(12)
と、共通の該共有記憶装置(13)とに接続し、各該演
算装置(11)は、該共有記憶装置(13)上に置かれ
たプロセスキュー(14)から、指定のプロセス群のプ
ロセスを取り出して、該主記憶装置(12)にロードさ
れた該プロセスのプログラムを実行し、 該プロセスキュー(14)は、所要の該プロセス群のキ
ュー(15)を、個別の制御ブロック(16)に接続し
、該制御ブロックを順次リンクしてなり、 各該プロセス群のキュー(15)は当該プロセス群ごと
の該プロセスのキューであることを特徴とするプロセス
キュー処理方式。
[Claims] It has a plurality of arithmetic units (11), a main memory device (12), and a shared memory device (13), and each of the arithmetic units (11) has a separate main memory device (12). )
and the common shared storage device (13), and each computing device (11) selects a process of a designated process group from the process queue (14) placed on the shared storage device (13). and executes the program of the process loaded in the main memory (12), and the process queue (14) stores the queue (15) of the required process group as an individual control block (16). 1. A process queue processing method, characterized in that the control blocks are sequentially linked to each other, and the queue (15) of each process group is a queue of the process of each process group.
JP28758389A 1989-11-06 1989-11-06 Process queue processing system Pending JPH03148730A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28758389A JPH03148730A (en) 1989-11-06 1989-11-06 Process queue processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28758389A JPH03148730A (en) 1989-11-06 1989-11-06 Process queue processing system

Publications (1)

Publication Number Publication Date
JPH03148730A true JPH03148730A (en) 1991-06-25

Family

ID=17719187

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28758389A Pending JPH03148730A (en) 1989-11-06 1989-11-06 Process queue processing system

Country Status (1)

Country Link
JP (1) JPH03148730A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11328080A (en) * 1998-03-20 1999-11-30 Internatl Business Mach Corp <Ibm> System and method for operating remote device through network

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5758697A (en) * 1980-09-26 1982-04-08 Chugai Pharmaceut Co Ltd Novel coenzyme a compound and tis preparation
JPH01120635A (en) * 1987-11-04 1989-05-12 Nec Corp Data control method for inter-process communication
JPH01316830A (en) * 1988-06-16 1989-12-21 Hitachi Ltd Task execution control system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5758697A (en) * 1980-09-26 1982-04-08 Chugai Pharmaceut Co Ltd Novel coenzyme a compound and tis preparation
JPH01120635A (en) * 1987-11-04 1989-05-12 Nec Corp Data control method for inter-process communication
JPH01316830A (en) * 1988-06-16 1989-12-21 Hitachi Ltd Task execution control system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11328080A (en) * 1998-03-20 1999-11-30 Internatl Business Mach Corp <Ibm> System and method for operating remote device through network

Similar Documents

Publication Publication Date Title
JPH0131214B2 (en)
JPS6027964A (en) Memory access control circuit
JPH04229355A (en) Data access method and data processing system
US11308171B2 (en) Apparatus and method for searching linked lists
JPS61160176A (en) Vector processor
JPH06131181A (en) Hierarchical parallel processing type central processing unit
JPH03148730A (en) Process queue processing system
JPS63142431A (en) Pipeline control system
JPH05324430A (en) Data processor
JPS6349945A (en) Process roll-in system for data processor
JPH05143633A (en) Isogeometric fast fourier transform realizing system
JPH06230963A (en) Memory access controller
JPH06309349A (en) Program-controlled processor
JPS60169946A (en) Task control system
JPS5856153A (en) Subroutine return system
JPS6049464A (en) Inter-processor communication system of multi-processor computer
JPS5995646A (en) Arithmetic control system
JP2005148899A (en) Simd-type processor
JPS63239533A (en) Control system for electronic computer
JPH03100853A (en) Inter-processor communication system
JPS59212957A (en) Microprogram controller
JPS63155338A (en) Control system for record of program executing history
JPS62169236A (en) Information processor with queue control function
JPH0418658A (en) Function distributed computer system
JPS6252899B2 (en)