JPH1153327A - Multiprocessor system - Google Patents
Multiprocessor systemInfo
- Publication number
- JPH1153327A JPH1153327A JP20753797A JP20753797A JPH1153327A JP H1153327 A JPH1153327 A JP H1153327A JP 20753797 A JP20753797 A JP 20753797A JP 20753797 A JP20753797 A JP 20753797A JP H1153327 A JPH1153327 A JP H1153327A
- Authority
- JP
- Japan
- Prior art keywords
- task
- processor
- memory
- processors
- processing
- 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
Links
- 230000000977 initiatory effect Effects 0.000 claims abstract description 3
- 238000000034 method Methods 0.000 claims description 6
- 239000000284 extract Substances 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Landscapes
- Multi Processors (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】この発明は、マルチプロセッ
サシステムに関し、特に動的負荷分散が可能なマルチプ
ロセッサシステムに関するものである。The present invention relates to a multiprocessor system, and more particularly to a multiprocessor system capable of dynamic load distribution.
【0002】[0002]
【従来の技術】近年の半導体技術の進展に伴い、計算機
の処理速度は飛躍的に向上しつつある。また、処理対象
のアプリケーションも、マルチメディアに代表されるよ
うに膨大な計算機リソースを要求しつつあり、さらなる
処理速度向上が要求されている。以上のような背景のも
とに、複数のプロセッサを有するマルチプロセッサ型計
算機が開発・実用化されつつある。2. Description of the Related Art With the recent development of semiconductor technology, the processing speed of computers has been dramatically improved. Also, applications to be processed are demanding enormous computer resources, as represented by multimedia, and there is a demand for further improvement in processing speed. Against this background, a multiprocessor computer having a plurality of processors is being developed and put into practical use.
【0003】従来のマルチプロセッサシステムは、1つ
の処理を複数の並列実行可能なタスクに分割し、各プロ
セッサが並列実行可能なタスクをそれぞれ実行するもの
である。一般に、タスク分割おまびプロセッサヘの割り
付けは、タスク実行前に行われ、実行後の任意のタスク
の再割り付けは行われない。In a conventional multiprocessor system, one process is divided into a plurality of tasks that can be executed in parallel, and each processor executes a task that can be executed in parallel. In general, task division and assignment to processors are performed before task execution, and any task after execution is not reassigned.
【0004】[0004]
【発明が解決しようとする課題】上述した従来のマルチ
プロセッサシステムでは、処理開始時点でタスクの各プ
ロセッサへの割り付けを決定し、以後各プロセッサの負
荷状況に応じてタスクの再割り付けを行わない静的な負
荷分散のため、各タスクの計算量が異なる場合に各プロ
セッサ間の負荷の不均衡が発生しやすい。このため、各
プロセッサの負荷を均一にし、システム全体の処理時間
を最小にすることが困難であった。In the above-described conventional multiprocessor system, the assignment of tasks to each processor is determined at the start of processing, and the task is not reassigned according to the load status of each processor. When the amount of calculation of each task is different, load imbalance among processors tends to occur due to dynamic load distribution. For this reason, it has been difficult to equalize the load on each processor and minimize the processing time of the entire system.
【0005】この発明の目的は、各プロセッサの負荷状
況に応じてタスクの再割り付けを行う動的負荷分散を実
現し、各プロセッサの嫁働率を向上させるマルチプロセ
ッサシステムを提供することにある。An object of the present invention is to provide a multiprocessor system which realizes dynamic load distribution for reallocating tasks according to the load status of each processor, and improves the ratio of each processor.
【0006】[0006]
【課題を解決するための手段】この発明は、処理を実行
する複数のプロセッサと、全ての前記プロセッサよりア
クセス可能であり、前記プロセッサが実行する命令列と
処理対象のデータを格納する共有メモリと、各プロセッ
サにおける処理待ちのタスク数および各タスクの共有メ
モリ上における開始アドレス情報を格納する領域を有す
る排他アクセスが可能なタスクメモリと、前記プロセッ
サ、前記共有メモリおよび前記タスクメモリを接続する
バスにより構成されるマルチプロセッサシステムであっ
て、処理が終了してアイドリング状態になった前記プロ
セッサは、前記タスクメモリをアクセスし、事前に決定
されたしきい値よりも多くのタスクを保持する前記プロ
セッサのタスクリストからタスクを取り出し、前記プロ
セッサのタスクリストを更新、自プロセッサのタスクと
して登録し、ただちに前記取り出したタスクの実行を開
始することを特徴とする。SUMMARY OF THE INVENTION The present invention provides a plurality of processors that execute processing, a shared memory that is accessible from all the processors, and stores an instruction sequence executed by the processors and data to be processed. An exclusive-accessible task memory having an area for storing the number of tasks waiting to be processed in each processor and start address information of each task on the shared memory, and a bus connecting the processor, the shared memory, and the task memory. A multiprocessor system configured, wherein the processor that has completed processing and is in an idling state accesses the task memory and holds more tasks than a predetermined threshold. The task is taken out of the task list and the task Update the door, registered as the own processor task, immediately characterized by initiating the execution of the extraction task.
【0007】[0007]
【発明の実施の形態】次に、この発明の実施の形態につ
いて図面を参照して説明する。Next, an embodiment of the present invention will be described with reference to the drawings.
【0008】図1は、この発明のマルチプロセッサシス
テムの実施の形態を示す構成図である。図1に示すマル
チプロセッサシステムは、複数のプロセッサ11と、共
有メモリ12と、タスクメモリ13と、バス14とによ
り構成されている。FIG. 1 is a block diagram showing an embodiment of a multiprocessor system according to the present invention. The multiprocessor system shown in FIG. 1 includes a plurality of processors 11, a shared memory 12, a task memory 13, and a bus 14.
【0009】プロセッサ11は、各タスクを処理する最
小単位であり、共有メモリ12の命令列およびデータを
読み込み、各命令を実行する。The processor 11 is a minimum unit for processing each task, reads an instruction sequence and data from the shared memory 12, and executes each instruction.
【0010】共有メモリ12は、各プロセッサ11より
アクセスされ、各プロセッサ11が実行する命令列およ
びデータを格納している。各プロセッサ11が独自のプ
ログラムカウンタを持つことにより、それぞれ異なった
命令を一度に実行することができる。[0010] The shared memory 12 is accessed by each processor 11 and stores an instruction sequence and data to be executed by each processor 11. Since each processor 11 has its own program counter, different instructions can be executed at once.
【0011】タスクメモリ13は、各プロセッサ11毎
に現在の各プロセッサが保持する処理待ちのタスクの
数、各タスクの共有メモリ上の開始アドレス(タスクリ
スト)を格納している。処理が終了したプロセッサ11
は、タスクメモリ13をアクセスし、各プロセッサ11
の保持するタスク数を検査する。あらかじめ設定された
しきい値よりも大きな数のタスクを保持するプロセッサ
11が存在する場合、タスクを現在のタスクリストより
取り出し、自プロセッサのタスクリストに登録した上で
実行する。タスクリストへのアクセスは排他的に行われ
るので、一貫性が失われることはない。The task memory 13 stores, for each processor 11, the current number of tasks waiting for processing held by each processor and the start address (task list) of each task on the shared memory. Processor 11 that has completed processing
Accesses the task memory 13 and
Check the number of tasks held by. If there is a processor 11 holding a number of tasks larger than a preset threshold, the task is extracted from the current task list, registered in the task list of the own processor, and executed. Access to the task list is exclusive, so there is no loss of consistency.
【0012】バス14は、プロセッサ11、共有メモリ
12、タスクメモリ13を接続するためのバスである。The bus 14 is a bus for connecting the processor 11, the shared memory 12, and the task memory 13.
【0013】図2は、図1に示すマルチプロセッサシス
テムのタスクメモリの構成例を示す図である。各プロセ
ッサ11あるいはプロセッサ11の特定のプロセッサ
は、処理の実行前に、処理を並列実行可能なタスクに分
解し、タスクメモリ13上に各プロセッサ11毎に割り
振られたタスク数、共有メモリ上の各タスク命令列の開
始アドレスを格納する。この例では、プロセッサ1は3
つのタスクを持ち、プロセッサ2は10のタスクを持
ち、プロセッサ3は5つのタスクを持っている。FIG. 2 is a diagram showing a configuration example of the task memory of the multiprocessor system shown in FIG. Before executing the processing, each processor 11 or a specific processor of the processor 11 decomposes the processing into tasks that can be executed in parallel, and stores the number of tasks allocated to each processor 11 in the task memory 13 and the number of tasks in the shared memory. Stores the start address of the task instruction sequence. In this example, processor 1 is 3
Processor 2 has 10 tasks, and processor 3 has 5 tasks.
【0014】プロセッサ4が処理を終了し、このタスク
メモリ13を参照した場合、プロセッサ2が他のプロセ
ッサと比較して負荷が重いことがわかる。この場合、プ
ロセッサ4は、プロセッサ2のタスクリストの最後尾の
タスクを取り外し、自プロセッサの処理としてタスクを
再登録してただちにタスクの処理を開始する。When the processor 4 completes the processing and refers to the task memory 13, it is understood that the load of the processor 2 is heavier than other processors. In this case, the processor 4 removes the last task from the task list of the processor 2, re-registers the task as a process of its own processor, and immediately starts processing the task.
【0015】[0015]
【発明の効果】以上説明したように、この発明のマルチ
プロセッサシステムは、処理が終了してアイドリング状
態となったプロセッサがタスクメモリをアクセスし、多
くのタスクを保持するプロセッサのタスクリストからタ
スクを取り出し、自己のタスクとして再登録し、ただち
に処理を開始するものであり、各タスクの動的負荷分散
の実現により各プロセッサの稼働率を向上させ、システ
ム全体としての処理時間を短縮することができるという
効果を有する。As described above, according to the multiprocessor system of the present invention, the processor which has completed the processing and has entered the idling state accesses the task memory, and selects the task from the task list of the processor holding many tasks. It takes out, re-registers as its own task, and immediately starts processing. By realizing dynamic load distribution of each task, it is possible to improve the operation rate of each processor and shorten the processing time of the entire system. It has the effect of.
【図1】この発明のマルチプロセッサシステムの実施の
形態を示す構成図である。FIG. 1 is a configuration diagram showing an embodiment of a multiprocessor system of the present invention.
【図2】図1に示すタスクメモリの構成例を示す図であ
る。FIG. 2 is a diagram illustrating a configuration example of a task memory illustrated in FIG. 1;
11 プロセッサ 12 共有メモリ 13 タスクメモリ 14 バス 11 processor 12 shared memory 13 task memory 14 bus
Claims (7)
の前記プロセッサよりアクセス可能であり、前記プロセ
ッサが実行する命令列と処理対象のデータを格納する共
有メモリと、各プロセッサにおける処理待ちのタスク数
および各タスクの共有メモリ上における開始アドレス情
報を格納する領域を有するタスクメモリと、前記プロセ
ッサ、前記共有メモリおよび前記タスクメモリを接続す
るバスにより構成されるマルチプロセッサシステムであ
って、 処理が終了してアイドリング状態になった前記プロセッ
サは、前記タスクメモリをアクセスし、処理が終了して
いない前記プロセッサのタスクリストからタスクを取り
出し、前記プロセッサのタスクリストを更新、自プロセ
ッサのタスクとして登録し、ただちに前記取り出したタ
スクの実行を開始することを特徴とするマルチプロセッ
サシステム。1. A plurality of processors for executing processing, a shared memory accessible by all of the processors and storing an instruction sequence to be executed by the processors and data to be processed, a task waiting for processing in each processor A multiprocessor system including a task memory having an area for storing the number and start address information of each task on a shared memory, and a bus connecting the processor, the shared memory, and the task memory; The processor in the idling state then accesses the task memory, retrieves a task from the task list of the processor that has not completed processing, updates the task list of the processor, registers it as a task of its own processor, Immediately execute the retrieved task A multiprocessor system, characterized in that:
前記プロセッサが、前記タスクメモリをアクセスし、事
前に決定されたしきい値よりも多くのタスクを保持する
前記プロセッサのタスクリストからタスクを取り出すこ
とを特徴とする請求項1記載のマルチプロセッサシステ
ム。2. The processor, which is in an idling state after processing is completed, accesses the task memory and selects a task from a task list of the processor which holds more tasks than a predetermined threshold. 2. The multiprocessor system according to claim 1, wherein the multiprocessor system is extracted.
前記プロセッサが、前記タスクメモリをアクセスし、事
前に決定されたしきい値よりも多くのタスクを保持する
前記プロセッサのタスクリストの最後尾からタスクを取
り出すことを特徴とする請求項1記載のマルチプロセッ
サシステム。3. The processor, which has completed processing and is in an idle state, accesses the task memory and retains more tasks than a predetermined threshold. 2. The multiprocessor system according to claim 1, wherein the task is extracted from the multiprocessor.
に行われることを特徴とする請求項1〜3のいずれかに
記載のマルチプロセッサシステム。4. The multiprocessor system according to claim 1, wherein access to the task memory is performed exclusively.
の前記プロセッサよりアクセス可能であり、前記プロセ
ッサが実行する命令列と処理対象のデータを格納する共
有メモリと、各プロセッサにおける処理待ちのタスク数
および各タスクの共有メモリ上における開始アドレス情
報を格納する領域を有するタスクメモリと、前記プロセ
ッサ、前記共有メモリおよび前記タスクメモリを接続す
るバスにより構成されるマルチプロセッサシステムの動
的負荷分散方法であって、処理が終了してアイドリング
状態になった前記プロセッサは、前記タスクメモリをア
クセスし、事前に決定されたしきい値よりも多くのタス
クを保持する前記プロセッサのタスクリストからタスク
を取り出し、前記プロセッサのタスクリストを更新、自
プロセッサのタスクとして登録し、ただちに前記取り出
したタスクの実行を開始することを特徴とするマルチプ
ロセッサシステムの動的負荷分散方法。5. A plurality of processors for executing processing, a shared memory accessible by all the processors, storing an instruction sequence to be executed by the processors and data to be processed, and a task waiting for processing in each processor. A dynamic load balancing method for a multiprocessor system comprising a task memory having an area for storing the number and start address information of each task on a shared memory, and a bus connecting the processor, the shared memory and the task memory The processor, which has been in the idling state after the processing is completed, accesses the task memory and extracts a task from the task list of the processor that holds more tasks than a predetermined threshold, Update the task list of the processor, Dynamic load balancing method of a multiprocessor system to register immediately characterized by initiating the execution of the retrieved task as.
前記プロセッサが、前記タスクメモリをアクセスし、事
前に決定されたしきい値よりも多くのタスクを保持する
前記プロセッサのタスクリストの最後尾からタスクを取
り出すことを特徴とする請求項5記載のマルチプロセッ
サシステムの動的負荷分散方法。6. The task list of the processor, in which the processor which has entered the idling state after the processing is completed, accesses the task memory and holds more tasks than a predetermined threshold. 6. The dynamic load distribution method for a multiprocessor system according to claim 5, wherein a task is extracted from the multiprocessor system.
に行われることを特徴とする請求項5または6記載のマ
ルチプロセッサシステムの動的負荷分散方法。7. The dynamic load distribution method for a multiprocessor system according to claim 5, wherein access to the task memory is performed exclusively.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20753797A JPH1153327A (en) | 1997-08-01 | 1997-08-01 | Multiprocessor system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20753797A JPH1153327A (en) | 1997-08-01 | 1997-08-01 | Multiprocessor system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH1153327A true JPH1153327A (en) | 1999-02-26 |
Family
ID=16541378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP20753797A Pending JPH1153327A (en) | 1997-08-01 | 1997-08-01 | Multiprocessor system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH1153327A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10124768A1 (en) * | 2001-05-21 | 2002-12-12 | Infineon Technologies Ag | Procedures for faster execution of data processing processes |
JP2006277487A (en) * | 2005-03-30 | 2006-10-12 | Hitachi Ltd | Disk array device and control method thereof |
JP2012044306A (en) * | 2010-08-16 | 2012-03-01 | Skill Up Japan Corp | Distribution transcoding system and method, and transcoding apparatus |
-
1997
- 1997-08-01 JP JP20753797A patent/JPH1153327A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10124768A1 (en) * | 2001-05-21 | 2002-12-12 | Infineon Technologies Ag | Procedures for faster execution of data processing processes |
JP2006277487A (en) * | 2005-03-30 | 2006-10-12 | Hitachi Ltd | Disk array device and control method thereof |
JP2012044306A (en) * | 2010-08-16 | 2012-03-01 | Skill Up Japan Corp | Distribution transcoding system and method, and transcoding apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7251814B2 (en) | Yield on multithreaded processors | |
JPS58151655A (en) | Information processing device | |
CN112346835A (en) | Scheduling processing method and system based on coroutine | |
AU603876B2 (en) | Multiple i/o bus virtual broadcast of programmed i/o instructions | |
JP5030647B2 (en) | Method for loading a program in a computer system including a plurality of processing nodes, a computer readable medium containing the program, and a parallel computer system | |
CN112860396A (en) | GPU (graphics processing Unit) scheduling method and system based on distributed deep learning | |
CN109189581B (en) | A job scheduling method and device | |
US20140189701A1 (en) | Methods, systems and apparatuses for processor selection in multi-processor systems | |
CN110333899B (en) | Data processing method, device and storage medium | |
JPH1153327A (en) | Multiprocessor system | |
US9619277B2 (en) | Computer with plurality of processors sharing process queue, and process dispatch processing method | |
CN112948069A (en) | Method for operating a computing unit | |
CN112948758B (en) | Data processing method, device and chip | |
JPS61184643A (en) | Starting control system for virtual computer | |
JPH11249917A (en) | Parallel computers, their batch processing method, and storage medium | |
JPS62221041A (en) | Dispatch controller in virtual computer system | |
JPH10507548A (en) | Data processing systems and methods and communication systems with such systems | |
JPH05298271A (en) | Parallel processing system | |
JPH11161506A (en) | Dispatch method for information processor, information processor and storage medium thereof | |
JP2023179057A (en) | Arithmetic processing unit and arithmetic processing method | |
JPH01316830A (en) | Task execution control method | |
CN117472583A (en) | Method for dynamically binding CPU cores by multiple processes in operating system | |
JPH0375832A (en) | Virtual machine control system | |
JPH0329049A (en) | Multiprocessor system | |
JPH10312298A (en) | Virtual computer system |