JP2006277364A - Execution method of program, multiprocessor system and control program therefor - Google Patents
Execution method of program, multiprocessor system and control program therefor Download PDFInfo
- Publication number
- JP2006277364A JP2006277364A JP2005095865A JP2005095865A JP2006277364A JP 2006277364 A JP2006277364 A JP 2006277364A JP 2005095865 A JP2005095865 A JP 2005095865A JP 2005095865 A JP2005095865 A JP 2005095865A JP 2006277364 A JP2006277364 A JP 2006277364A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- program
- subprogram
- processing
- processors
- 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
Images
Abstract
Description
本発明はプログラムの実行方法とマルチプロセッサシステム及びその制御プログラムとに関し、特に、複数の異なるアーキテクチャのプロセッサより構成されるマルチプロセッサシステム上で高速にプログラムの演算処理を行なうことのできるプログラムの実行方法と、マルチプロセッサシステム及びその制御プログラムとに関する。 The present invention relates to a program execution method, a multiprocessor system, and a control program therefor, and more particularly, a program execution method capable of performing program processing at high speed on a multiprocessor system composed of processors having a plurality of different architectures. And a multiprocessor system and its control program.
複数のデータに対して同一の演算を連続して行う処理を1命令で非常に高速に実行するベクトルプロセッサのように、一般的な汎用プロセッサのほかに、特定の処理を高速に実行することを目的としたアーキテクチャをもつプロセッサが存在する。このようなプロセッサと一般的な汎用プロセッサといった異なるアーキテクチャをもつプロセッサを組み合わせて、プログラムの処理を実行するマルチプロセッサシステムがある。 In addition to general general-purpose processors, such as a vector processor that executes the same operation on multiple data continuously with a single instruction, it can execute specific processing at high speed. There are processors with the desired architecture. There is a multiprocessor system that executes processing of a program by combining such processors and processors having different architectures such as general-purpose processors.
このマルチプロセッサシステムにおけるプログラムの実行方法が、特許文献1に開示されている。 A method for executing a program in this multiprocessor system is disclosed in Patent Document 1.
この従来のプログラムの実行方法は、次のように動作する。 This conventional program execution method operates as follows.
プログラムが開始されると、システムを構成する、異なるアーキテクチャをもつどのプロセッサでも実行可能なオブジェクトコードが実行され、このプログラムが動作しているプロセッサの識別情報が格納されている主記憶領域を参照し、その識別情報によって、プロセッサごとに用意されたプロセッサ固有のオブジェクトコードを実行する。
しかしながら、この従来のプログラム実行方法は、プログラムが最初にロードされたプロセッサを使用して最後まで処理を行うことしかできないため、同じ処理をより短時間で処理できる別のプロセッサが存在しても、そのプロセッサを利用して、プログラムのターンアラウンド時間を短縮することができないという課題があった。 However, since this conventional program execution method can only perform processing to the end using the processor in which the program is first loaded, even if there is another processor that can process the same processing in a shorter time, There was a problem that the turnaround time of the program could not be shortened using the processor.
また、上述したベクトルプロセッサのように、一度に多数のデータを処理する命令は、実際の演算を開始するまでの立ち上がり時間が一般的な汎用プロセッサの命令より長くかかるため、処理するデータの数があるしきい値より小さい場合、一般的な汎用プロセッサで、個々のデータを複数命令繰り返して処理するより実行時間が長くなってしまう。 In addition, as in the vector processor described above, an instruction that processes a large amount of data at a time takes a longer rise time before starting an actual operation than a general-purpose processor instruction. When the threshold value is smaller than a certain threshold value, the execution time becomes longer than when a general general-purpose processor processes individual data repeatedly by a plurality of instructions.
処理するデータ数がプログラムの実行を開始する前に決定できる場合は、実行時間が最も短くなるプロセッサを選択してプログラムの実行を行なうことで、ターンアラウンド時間を短縮することができるが、処理するデータ数がプログラムの処理の途中で決定されるような場合は、最適なプロセッサを選択できないという課題もあった。 If the number of data to be processed can be determined before the execution of the program starts, the turnaround time can be shortened by selecting the processor with the shortest execution time and executing the program. When the number of data is determined during the processing of the program, there is a problem that an optimal processor cannot be selected.
そこで、本発明は上記課題に鑑みて発明されたものであって、複数の異なるアーキテクチャを持つマルチプロセッサシステムにおいて、プログラム実行のターンアラウンド時間を短縮することができるプログラムの実行方法と、マルチプロセッサシステム及びその制御プログラムを提供することにある。 Accordingly, the present invention has been invented in view of the above problems, and in a multiprocessor system having a plurality of different architectures, a program execution method capable of reducing the turnaround time of program execution, and the multiprocessor system And providing a control program thereof.
上記課題を解決する第1の発明は、複数の異なるアーキテクチャのプロセッサより構成されるマルチプロセッサシステム上で演算処理をおこなうプログラムの実行方法であって、プログラム実行中に、所定のプロセッサが行なったプログラムの処理の中間結果を用いて、後続処理を最も高速に実行できるプロセッサを選択し、前記選択したプロセッサ上で後続処理の演算処理を行なわせることを特徴とする。 A first invention for solving the above problem is a program execution method for performing arithmetic processing on a multiprocessor system including a plurality of processors having different architectures, and a program executed by a predetermined processor during program execution Using the intermediate result of the above process, a processor that can execute the subsequent process at the highest speed is selected, and the arithmetic process of the subsequent process is performed on the selected processor.
上記課題を解決する第2の発明は、複数の異なるアーキテクチャのプロセッサより構成されるマルチプロセッサシステム上で、複数のサブプログラムから構成されるプログラムを実行するプログラム実行方法であって、前記複数の異なるアーキテクチャのプロセッサのうち、所定プロセッサが実行したサブプログラムの処理結果に基づいて、前記所定プロセッサが実行したサブプログラムの次に実行するサブプログラムの処理を最も高速に実行できるプロセッサを、前記複数の異なるアーキテクチャのプロセッサから選択するステップと、前記選択したプロセッサに、前記サブプログラムの次に実行するサブプログラムを実行させるステップとを有することを特徴とする。 A second invention for solving the above-described problem is a program execution method for executing a program composed of a plurality of subprograms on a multiprocessor system composed of a plurality of processors having different architectures. Among the processors of the architecture, a processor capable of executing the processing of the subprogram executed next to the subprogram executed by the predetermined processor at the highest speed based on the processing result of the subprogram executed by the predetermined processor is the plurality of different processors. Selecting from a processor of an architecture; and causing the selected processor to execute a subprogram to be executed next to the subprogram.
上記課題を解決する第3の発明は、上記第1の発明又は第2の発明において、プログラムの処理の中間結果、又はサブプログラムの処理結果の値に対応して、選択すべきプロセッサの条件を予め決定しておくことを特徴とする。 According to a third invention for solving the above-mentioned problem, in the first invention or the second invention, the condition of the processor to be selected is set corresponding to the intermediate result of the program processing or the value of the processing result of the subprogram. It is characterized in that it is determined in advance.
上記課題を解決する第4の発明は、複数の異なるアーキテクチャのプロセッサより構成されるマルチプロセッサシステムであって、前記複数の異なるアーキテクチャのプロセッサのうち、所定プロセッサのプログラムの処理の中間結果に基づいて、後続処理を最も高速に実行できるプロセッサを、前記複数の異なるアーキテクチャのプロセッサから選択し、前記選択したプロセッサ上で後続処理の演算処理を行なわせる選択手段を有することを特徴とする。 A fourth invention for solving the above problem is a multiprocessor system comprising a plurality of processors of different architectures, and based on an intermediate result of processing of a program of a predetermined processor among the processors of different architectures. And a selection means for selecting a processor capable of executing the subsequent processing at the highest speed from the processors of the plurality of different architectures and performing the arithmetic processing of the subsequent processing on the selected processor.
上記課題を解決する第5の発明は、複数のサブプログラムから構成されるプログラムを実行する、複数の異なるアーキテクチャのプロセッサより構成されるマルチプロセッサシステムであって、前記複数の異なるアーキテクチャのプロセッサのうち、所定プロセッサが実行したサブプログラムの処理結果に基づいて、前記所定プロセッサが実行したサブプログラムの次に実行するサブプログラムの処理を最も高速に実行できるプロセッサを、前記複数の異なるアーキテクチャのプロセッサから選択し、前記選択したプロセッサに、前記サブプログラムの次に実行するサブプログラムを実行させる選択手段を有することを特徴とする。 A fifth invention for solving the above-mentioned problem is a multiprocessor system configured by a plurality of processors having different architectures, which executes a program configured by a plurality of subprograms, and among the plurality of processors having different architectures. Based on the processing result of the subprogram executed by the predetermined processor, the processor that can execute the processing of the subprogram executed next to the subprogram executed by the predetermined processor at the highest speed is selected from the processors of the plurality of different architectures. And a selection means for causing the selected processor to execute a subprogram to be executed next to the subprogram.
上記課題を解決する第6の発明は、上記第4の発明又は第5の発明において、前記プログラムの処理の中間結果が格納される記憶手段を有することを特徴とする。 A sixth invention for solving the above-mentioned problems is characterized in that in the fourth invention or the fifth invention, there is provided storage means for storing an intermediate result of the processing of the program.
上記課題を解決する第7の発明は、上記第4から第6の発明のいずれかにおいて、プログラムの処理の中間結果、又はサブプログラムの処理結果の値に対応して、選択すべきプロセッサの条件が記憶された記憶手段を有し、前記選択手段は、プログラムの処理の中間結果、又はサブプログラムの処理結果を、前記記憶されている条件と比較し、条件に合致するプロセッサを選択する手段であることを特徴とする。 According to a seventh invention for solving the above-mentioned problem, in any one of the fourth to sixth inventions, a processor condition to be selected corresponding to an intermediate result of a program process or a value of a sub-program process result Is stored, and the selection means is a means for comparing an intermediate result of the processing of the program or a processing result of the subprogram with the stored condition, and selecting a processor that matches the condition. It is characterized by being.
上記課題を解決する第8の発明は、複数の異なるアーキテクチャのプロセッサより構成されるマルチプロセッサシステムの演算処理を制御する制御プログラムであって、前記制御プログラムは、前記マルチプロセッサシステムに、所定のプロセッサが行なった実行プログラムの処理の中間結果を用いて、前記実行プログラムの後続処理を最も高速に実行できるプロセッサを選択し、前記選択したプロセッサ上で後続処理の演算処理を行なわせる処理を実行させることを特徴とする。 An eighth invention for solving the above problem is a control program for controlling arithmetic processing of a multiprocessor system including a plurality of processors having different architectures, and the control program is provided in a predetermined processor in the multiprocessor system. Is used to select a processor that can execute the subsequent process of the execution program at the highest speed, and to execute a process for performing the arithmetic process of the subsequent process on the selected processor. It is characterized by.
上記課題を解決する第9の発明は、複数のサブプログラムから構成されるプログラムを、複数の異なるアーキテクチャのプロセッサより構成されるマルチプロセッサシステム上で実行させる際の制御プログラムであって、前記制御プログラムは、前記マルチプロセッサシステムに、前記複数の異なるアーキテクチャのプロセッサのうち、所定プロセッサが実行したサブプログラムの処理結果に基づいて、前記所定プロセッサが実行したサブプログラムの次に実行するサブプログラムの処理を最も高速に実行できるプロセッサを、前記複数の異なるアーキテクチャのプロセッサから選択する処理と、前記選択したプロセッサに、前記サブプログラムの次に実行するサブプログラムを実行させる処理とを実行させることを特徴とする。 A ninth invention for solving the above-mentioned problem is a control program for executing a program composed of a plurality of subprograms on a multiprocessor system composed of a plurality of processors having different architectures, In the multiprocessor system, processing of a subprogram executed next to a subprogram executed by the predetermined processor based on a processing result of the subprogram executed by the predetermined processor among the processors of the plurality of different architectures. A process for selecting a processor that can execute at the highest speed from the processors of the plurality of different architectures, and a process for causing the selected processor to execute a subprogram to be executed next to the subprogram. .
上記課題を解決する第10の発明は、上記第8の発明又は第9の発明において、前記制御プログラムは、前記マルチプロセッサシステムに、プログラムの処理の中間結果、又はサブプログラムの処理結果を、予め記憶されている、プログラムの処理の中間結果、又はサブプログラムの処理結果の値に対応して選択すべきプロセッサの条件と比較し、条件に合致するプロセッサを選択する処理を実行させることを特徴とする。 In a tenth aspect of the present invention for solving the above-described problems, in the eighth aspect or the ninth aspect, the control program sends an intermediate result of program processing or a processing result of a subprogram to the multiprocessor system in advance. Comparing the stored intermediate result of the processing of the program or the condition of the processor to be selected corresponding to the value of the processing result of the subprogram, the processing for selecting the processor that matches the condition is executed. To do.
本発明の作用を説明すると、例えば、図1に示される如く、プログラム3は、プロセッサ11上で動作するサブプログラム31、サブプログラム33a、サブプログラム34およびプロセッサ選択手段32と、サブプログラム33aと同等の処理をプロセッサ12上で行なうサブプログラム33bとを含む。
The operation of the present invention will be described. For example, as shown in FIG. 1, the program 3 is equivalent to the subprogram 33, the
プロセッサ選択手段32は、中間結果格納手段4に格納されている、プロセッサ11がサブプログラム31を実行することにより得た処理結果の値を参照し、その値がプロセッサ11の実行時間がプロセッサ12の実行時間より短くなる条件に合致していれば、サブプログラム33aをプロセッサ11上で実行する。
The
一方、中間結果格納手段4の値がプロセッサ11の実行時間がプロセッサ12の実行時間より短くなる条件に合致していなければ、プロセッサ12を選択し、プロセッサ12上でサブプログラム33bを実行する。
On the other hand, if the value of the intermediate result storage means 4 does not match the condition that the execution time of the
本発明は、複数の異なるアーキテクチャを持つマルチプロセッサシステムにおいて、プログラム実行のターンアラウンド時間を短縮できるという優れた効果を奏する。 The present invention has an excellent effect that the turnaround time of program execution can be shortened in a multiprocessor system having a plurality of different architectures.
その理由は、プログラム実行中に、処理の中間結果の値を用いて、後続処理を最も高速に実行できるプロセッサを選択し、そのプロセッサ上で該処理の演算処理を行なわせるためである。 The reason is that, during the execution of the program, using the value of the intermediate result of the process, a processor that can execute the subsequent process at the highest speed is selected and the arithmetic process of the process is performed on the processor.
次に、本発明の実施の形態について、図面を参照して詳細に説明する。 Next, embodiments of the present invention will be described in detail with reference to the drawings.
図1は本発明の実施の形態の構成を示すブロック図である。 FIG. 1 is a block diagram showing the configuration of the embodiment of the present invention.
図1を参照すると、本発明のマルチプロセッサシステムは、プログラム制御により動作するアーキテクチャの異なる2個のプロセッサ11及びプロセッサ12(中央処理装置又はデータ処理装置)と、これらのプロセッサと結合された主記憶装置(メモリ)2と、主記憶装置(メモリ)2中に格納されるプログラム3及び中間結果格納手段4とから構成されている。
Referring to FIG. 1, a multiprocessor system according to the present invention includes two
プログラム3は、サブプログラム31と、サブプログラム33aと、サブプログラム33bと、サブプログラム34と、プロセッサ選択手段32を機能させるプログラムとを含む。
The program 3 includes a
サブプログラム31、サブプログラム33a、サブプログラム34及びプロセッサ選択手段32は、プロセッサ11上で動作する。
The
サブプログラム33bは、サブプログラム33aと同等の処理をプロセッサ12上で行なわせるプログラムである。
The
上記プログラム3は、次のように動作する。 The program 3 operates as follows.
プログラム3が起動されると、サブプログラム31は、プロセッサ11上で実行され、中間結果の値を中間結果格納手段4に格納する。
When the program 3 is activated, the
プロセッサ選択手段32は、中間結果格納手段4の値を参照し、その値がプロセッサ11の実行時間がプロセッサ12の実行時間より短くなる条件に合致していれば、プロセッサ11を選択してサブプログラム33aをプロセッサ11上で実行する。一方、中間結果格納手段4の値がプロセッサ11の実行時間がプロセッサ12の実行時間よりも長くなる条件に合致していなければ、プロセッサ12を選択してサブプログラム33bをプロセッサ12上で実行する。
The processor selection means 32 refers to the value of the intermediate result storage means 4, and if the value matches the condition that the execution time of the
前記プロセッサ選択手段32で選択されたサブプログラム33a、又はサブプログラム33bの実行が終了すると、サブプログラム34がプロセッサ11で実行される。
When the execution of the
次に、図3のフローチャートを参照して本発明の実施の形態の動作について詳細に説明する。尚、サブプログラム33a、及びサブプログラム33bは、図2に示すFortran言語で記述された処理を行なうものとする。
Next, the operation of the embodiment of the present invention will be described in detail with reference to the flowchart of FIG. Note that the
また、プロセッサ11がサブプログラム33aを実行するのに必要な時間をT1(N)、プロセッサ12がサブプログラム33bを実行する時間をT2(N)とする。ここで、Nは図2のDOループの繰り返し数とする。Nは、サブプログラム31の処理により決定されるものとする。さらに、N≦10ならばT1(N)≦T2(N)が成り立つものとする。尚、この条件はプログラム3に記述されており、主記憶装置2に記憶されており、判断にあたってプロセッサ選択手段32が適時利用するものとする。
Further, the time required for the
まず、プログラム3が起動されると、サブプログラム31がプロセッサ11上で実行され、処理結果である決定されたNの値が中間結果格納手段4に格納される(Step 100)。
First, when the program 3 is started, the
次に、プロセッサ格納手段320は、中間結果格納手段4に格納されたNの値を参照し(Step 101)、その値がプロセッサ11の実行時間T1(N)がプロセッサ12の実行時間T2(N)より短くなる条件であるN<10に合致していれば(Step 102)、サブプログラム33aをプロセッサ11上で実行させる(Step 103)。一方、N≧10ならば、サブプログラム33bをプロセッサ12上で実行させる(Step 104)。
Next, the processor storage means 320 refers to the value of N stored in the intermediate result storage means 4 (Step 101), the value of which is the execution time T1 (N) of the
サブプログラム33a、又はサブプログラム33bの処理が終了したら、サブプログラム34がプロセッサ11上で実行される(Step 105)。
When the processing of the
このように構成された実施の形態によれば、プロセッサ選択手段32により、中間結果格納手段4を参照して、プロセッサ11とプロセッサ12とのうち、実行時間が短くなるプロセッサを選択して実行しているので、プログラムのターンアラウンド時間を短縮することができる。
According to the embodiment configured as described above, the
次に、本発明の他の実施の形態を説明する。 Next, another embodiment of the present invention will be described.
図4は本発明の他の実施の形態の構成を示すブロック図である。 FIG. 4 is a block diagram showing the configuration of another embodiment of the present invention.
図4を参照すると、他の実施の形態におけるマルチプロセッサシステムは、プログラム制御により動作するアーキテクチャの異なるn個のプロセッサ(中央処理装置;データ処理装置)プロセッサ411a、プロセッサ411b‥プロセッサ411nと、これらのプロセッサと結合された主記憶装置(メモリ)42と、主記憶装置(メモリ)42中に格納されるプログラム43及び中間結果格納手段44とから構成されている。
Referring to FIG. 4, a multiprocessor system according to another embodiment includes n processors (central processing units; data processing units)
プログラム43は、サブプログラム431と、n個のサブプログラム433a、サブプログラム433b‥サブプログラム433nと、サブプログラム434と、プロセッサ選択手段432を機能させるプログラムとを含む。
The
サブプログラム431、サブプログラム433a、サブプログラム434、及びプロセッサ選択手段432は、プロセッサ411a上で動作する。
The
サブプログラム433bはサブプログラム433aと同等の処理がプロセッサ411b上で、‥、サブプログラム433nはサブプログラム433aと同等の処理がプロセッサ411n上で行なわれる。
The
プログラム43は、次のように動作する。
The
プログラム43が起動されると、サブプログラム431は、プロセッサ411a上で実行され、中間結果の値を中間結果格納手段44に格納する。
When the
プロセッサ選択手段432は、中間結果格納手段44の値を参照し、その値がプロセッサ411aの実行時間が他のすべてのプロセッサの実行時間より短くなる条件に合致していれば、サブプログラム433aをプロセッサ411a上で実行させる。
The
また、中間結果格納手段44の値がプロセッサ411bの実行時間が他のすべてのプロセッサの実行時間より短くなる条件に合致していれば、サブプログラム433bをプロセッサ411b上で実行させる。
If the value of the intermediate result storage means 44 matches the condition that the execution time of the
同様に、プロセッサ411nの実行時間が他のすべてのプロセッサの実行時間より短くなる条件に合致していれば、サブプログラム433nをプロセッサ411n上で実行させる。
Similarly, if the condition that the execution time of the
プロセッサ選択手段432で選択されたサブプログラムの実行が終了すると、次にサブプログラム434がプロセッサ411a上で実行される。
When the execution of the subprogram selected by the processor selection means 432 is completed, the subprogram 434 is then executed on the
このように、3個以上の異なるプロセッサから構成されるマルチプロセッサシステムにおいても、プロセッサ選択手段432において、最も実行時間が短いプロセッサを選択して処理を行うため、プログラムのターンアラウンド時間を短縮することができる。 As described above, even in a multiprocessor system composed of three or more different processors, the processor selection means 432 performs processing by selecting the processor having the shortest execution time, thereby reducing the program turnaround time. Can do.
本発明は、異なるプロセッサから構成されるマルチプロセッサシステム上で効率よく実行可能なプログラムを作成するといった用途に適用することができる。 The present invention can be applied to the use of creating a program that can be efficiently executed on a multiprocessor system including different processors.
2 主記憶装置
3 プログラム
4 中間結果格納手段
11,12 プロセッサ
31 サブプログラム
32 プロセッサ選択手段
33a サブプログラム
33b サブプログラム
34 サブプログラム
2 Main storage device 3 Program 4 Intermediate result storage means 11 and 12
Claims (10)
プログラム実行中に、所定のプロセッサが行なったプログラムの処理の中間結果を用いて、後続処理を最も高速に実行できるプロセッサを選択し、前記選択したプロセッサ上で後続処理の演算処理を行なわせることを特徴とするプログラム実行方法。 An execution method of a program for performing arithmetic processing on a multiprocessor system composed of a plurality of processors of different architectures,
During execution of a program, an intermediate result of program processing performed by a predetermined processor is used to select a processor that can execute subsequent processing at the highest speed, and to perform arithmetic processing of the subsequent processing on the selected processor. A program execution method.
前記複数の異なるアーキテクチャのプロセッサのうち、所定プロセッサが実行したサブプログラムの処理結果に基づいて、前記所定プロセッサが実行したサブプログラムの次に実行するサブプログラムの処理を最も高速に実行できるプロセッサを、前記複数の異なるアーキテクチャのプロセッサから選択するステップと、
前記選択したプロセッサに、前記サブプログラムの次に実行するサブプログラムを実行させるステップと
を有することを特徴とするプログラム実行方法。 A program execution method for executing a program composed of a plurality of subprograms on a multiprocessor system composed of a plurality of processors of different architectures,
A processor capable of executing the processing of the subprogram executed next to the subprogram executed by the predetermined processor at the highest speed based on the processing result of the subprogram executed by the predetermined processor among the processors of the plurality of different architectures. Selecting from a plurality of processors of different architectures;
And a step of causing the selected processor to execute a subprogram to be executed next to the subprogram.
前記複数の異なるアーキテクチャのプロセッサのうち、所定プロセッサのプログラムの処理の中間結果に基づいて、後続処理を最も高速に実行できるプロセッサを、前記複数の異なるアーキテクチャのプロセッサから選択し、前記選択したプロセッサ上で後続処理の演算処理を行なわせる選択手段を有することを特徴とするマルチプロセッサシステム。 A multiprocessor system composed of processors of different architectures,
Based on an intermediate result of the processing of the program of the predetermined processor among the processors of the plurality of different architectures, a processor that can execute the subsequent processing at the highest speed is selected from the processors of the plurality of different architectures, and the processor on the selected processor A multiprocessor system comprising selection means for performing a subsequent processing operation.
前記複数の異なるアーキテクチャのプロセッサのうち、所定プロセッサが実行したサブプログラムの処理結果に基づいて、前記所定プロセッサが実行したサブプログラムの次に実行するサブプログラムの処理を最も高速に実行できるプロセッサを、前記複数の異なるアーキテクチャのプロセッサから選択し、前記選択したプロセッサに、前記サブプログラムの次に実行するサブプログラムを実行させる選択手段を有することを特徴とするマルチプロセッサシステム。 A multiprocessor system configured by a plurality of processors having different architectures, which executes a program including a plurality of subprograms,
A processor capable of executing the processing of the subprogram executed next to the subprogram executed by the predetermined processor at the highest speed based on the processing result of the subprogram executed by the predetermined processor among the processors of the plurality of different architectures. A multiprocessor system comprising selection means for selecting a processor of a plurality of different architectures and causing the selected processor to execute a subprogram to be executed next to the subprogram.
前記選択手段は、プログラムの処理の中間結果、又はサブプログラムの処理結果を、前記記憶されている条件と比較し、条件に合致するプロセッサを選択する手段であることを特徴とする請求項4から請求項6のいずれかに記載のマルチプロセッサシステム。 Corresponding to the value of the intermediate result of the processing of the program or the processing result of the subprogram, it has storage means for storing the condition of the processor to be selected,
5. The selecting means is means for comparing an intermediate result of program processing or a processing result of a subprogram with the stored condition and selecting a processor that matches the condition. The multiprocessor system according to claim 6.
前記制御プログラムは、前記マルチプロセッサシステムに、所定のプロセッサが行なった実行プログラムの処理の中間結果を用いて、前記実行プログラムの後続処理を最も高速に実行できるプロセッサを選択し、前記選択したプロセッサ上で後続処理の演算処理を行なわせる処理を実行させることを特徴とするマルチプロセッサシステムの制御プログラム。 A control program for controlling arithmetic processing of a multiprocessor system composed of processors of different architectures,
The control program selects, in the multiprocessor system, a processor that can execute the subsequent processing of the execution program at the highest speed by using an intermediate result of execution program processing performed by a predetermined processor. A control program for a multiprocessor system, which executes a process for performing a calculation process of a subsequent process.
前記制御プログラムは、前記マルチプロセッサシステムに、
前記複数の異なるアーキテクチャのプロセッサのうち、所定プロセッサが実行したサブプログラムの処理結果に基づいて、前記所定プロセッサが実行したサブプログラムの次に実行するサブプログラムの処理を最も高速に実行できるプロセッサを、前記複数の異なるアーキテクチャのプロセッサから選択する処理と、
前記選択したプロセッサに、前記サブプログラムの次に実行するサブプログラムを実行させる処理と
を実行させることを特徴とする制御プログラム。 A control program for executing a program composed of a plurality of subprograms on a multiprocessor system composed of a plurality of processors of different architectures,
The control program is stored in the multiprocessor system.
A processor capable of executing the processing of the subprogram executed next to the subprogram executed by the predetermined processor at the highest speed based on the processing result of the subprogram executed by the predetermined processor among the processors of the plurality of different architectures. Selecting from a plurality of processors of different architectures;
A control program for causing the selected processor to execute a process for executing a subprogram to be executed next to the subprogram.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005095865A JP2006277364A (en) | 2005-03-29 | 2005-03-29 | Execution method of program, multiprocessor system and control program therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005095865A JP2006277364A (en) | 2005-03-29 | 2005-03-29 | Execution method of program, multiprocessor system and control program therefor |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006277364A true JP2006277364A (en) | 2006-10-12 |
Family
ID=37212056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005095865A Pending JP2006277364A (en) | 2005-03-29 | 2005-03-29 | Execution method of program, multiprocessor system and control program therefor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006277364A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016095871A (en) * | 2011-03-11 | 2016-05-26 | インテル・コーポレーション | Dynamic core selection for heterogeneous multi-core systems |
-
2005
- 2005-03-29 JP JP2005095865A patent/JP2006277364A/en active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016095871A (en) * | 2011-03-11 | 2016-05-26 | インテル・コーポレーション | Dynamic core selection for heterogeneous multi-core systems |
JP2016095872A (en) * | 2011-03-11 | 2016-05-26 | インテル・コーポレーション | Dynamic core selection for heterogeneous multi-core systems |
JP2016095870A (en) * | 2011-03-11 | 2016-05-26 | インテル・コーポレーション | Dynamic core selection for heterogeneous multi-core systems |
US10437319B2 (en) | 2011-03-11 | 2019-10-08 | Intel Corporation | Dynamic core selection for heterogeneous multi-core systems |
US10437318B2 (en) | 2011-03-11 | 2019-10-08 | Intel Corporation | Dynamic core selection for heterogeneous multi-core systems |
US10534424B2 (en) | 2011-03-11 | 2020-01-14 | Intel Corporation | Dynamic core selection for heterogeneous multi-core systems |
US11755099B2 (en) | 2011-03-11 | 2023-09-12 | Intel Corporation | Dynamic core selection for heterogeneous multi-core systems |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4484925B2 (en) | Method and apparatus for control flow management in SIMD devices | |
US7366874B2 (en) | Apparatus and method for dispatching very long instruction word having variable length | |
US9176737B2 (en) | Controlling the execution of adjacent instructions that are dependent upon a same data condition | |
JP5994679B2 (en) | Processing device and control method of processing device | |
KR101660659B1 (en) | Executing subroutines in a multi-threaded processing system | |
US9355061B2 (en) | Data processing apparatus and method for performing scan operations | |
JP2008071130A (en) | Simd type microprocessor | |
US20100095091A1 (en) | Processor, Method and Computer Program | |
JP2007526571A5 (en) | ||
JP2007272353A (en) | Processor device and compound condition processing method | |
US8977837B2 (en) | Apparatus and method for early issue and recovery for a conditional load instruction having multiple outcomes | |
US20200371802A1 (en) | Vector index registers | |
JP2006277364A (en) | Execution method of program, multiprocessor system and control program therefor | |
JP5233078B2 (en) | Processor and processing method thereof | |
JP4444305B2 (en) | Semiconductor device | |
US20140281423A1 (en) | Processor and method for processing instructions using at least one processing pipeline | |
KR20230124598A (en) | Compressed Command Packets for High Throughput and Low Overhead Kernel Initiation | |
JP2004062909A (en) | System and method for software pipelining loop having multiple control flow passes | |
JP2009086870A (en) | Vector processing device | |
CN111722876A (en) | Method, apparatus, system, and medium for executing program using superscalar pipeline | |
JP2006309454A (en) | Program control method and processor | |
JP2009251724A (en) | Vector processor controller | |
GB2523805A (en) | Data processing apparatus and method for performing vector scan operation | |
US20230084603A1 (en) | Methods and apparatus for context switching | |
US20100185834A1 (en) | Data Storing Method and Processor Using the Same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Effective date: 20080115 Free format text: JAPANESE INTERMEDIATE CODE: A971007 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080326 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080523 |
|
A02 | Decision of refusal |
Effective date: 20080709 Free format text: JAPANESE INTERMEDIATE CODE: A02 |