JP2006277637A - Multiprocessor computer system for allocating job by temperature monitoring, and computer program - Google Patents

Multiprocessor computer system for allocating job by temperature monitoring, and computer program Download PDF

Info

Publication number
JP2006277637A
JP2006277637A JP2005099580A JP2005099580A JP2006277637A JP 2006277637 A JP2006277637 A JP 2006277637A JP 2005099580 A JP2005099580 A JP 2005099580A JP 2005099580 A JP2005099580 A JP 2005099580A JP 2006277637 A JP2006277637 A JP 2006277637A
Authority
JP
Japan
Prior art keywords
processor
job
memory
temperature
computer system
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
JP2005099580A
Other languages
Japanese (ja)
Inventor
Akifumi Matsukuma
亮文 松熊
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2005099580A priority Critical patent/JP2006277637A/en
Publication of JP2006277637A publication Critical patent/JP2006277637A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To prevent performance deterioration caused by an increase in temperature of a processor in a multiprocessor computer system. <P>SOLUTION: The multiprocessor computer system 1 that enables each processor to access even a memory corresponding to a processor in a certain unit, wherein the memory is associated with a processor in a different unit, is provided with a memory map control means 50 for performing address assignment control using the entire memories as a single memory space; a temperature detecting means 10 for detecting the temperature of each processor; a job memory map analyzing means 30 for requesting a processor closest to a memory storing data to be used by a job to assign the job on the basis of a distance between the processor and the memory; and a scheduler 20 for controlling job assignment from a processor whose temperature is not higher than a certain threshold to a processor closest to the request of the job memory map analyzing means 30. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、複数個のプロセッサを有するマルチプロセッサ計算機システムにおいて、複数個のプロセッサへジョブを割り当てるジョブスケジューリング方法、及びそのジョブスケジューリング方法を有するマルチプロセッサ計算機システムに関する。   The present invention relates to a job scheduling method for assigning jobs to a plurality of processors and a multiprocessor computer system having the job scheduling method in a multiprocessor computer system having a plurality of processors.

従来、電子計算機のプロセッサには半導体素子が使われるのが一般的である。半導体素子に電流が流れると、内部損失によって熱が発生する。半導体素子の接合部温度(ジャンクション温度)が許容値を超えると機能劣化や故障の原因となり、著しい場合は半導体素子が破壊される。   Conventionally, a semiconductor element is generally used for a processor of an electronic computer. When a current flows through the semiconductor element, heat is generated due to internal loss. If the junction temperature of the semiconductor element (junction temperature) exceeds an allowable value, it may cause functional deterioration or failure, and in a severe case, the semiconductor element is destroyed.

電子計算機の性能を決める要因として、メモリアクセスによる遅延、いわゆるノイマンボトルネックがあるが、メモリアクセス速度を速くして、プロセッサの動作クロック周波数を上げていくと、スイッチング動作の消費電力が増加し、半導体素子の接合部温度が許容値を超えることになる。   Factors that determine the performance of a computer include a delay due to memory access, the so-called Neumann bottleneck, but increasing the memory access speed and increasing the processor operating clock frequency increases the power consumption of the switching operation. The junction temperature of the semiconductor element exceeds the allowable value.

そのため、接合部温度が許容値を超えない範囲にクロック周波数を制限しなければならず、動作速度をそれ以上速くできないという問題が発生する。   For this reason, the clock frequency must be limited to a range in which the junction temperature does not exceed the allowable value, and the operation speed cannot be increased any more.

そこで、プロセッサ毎の負荷状況を比較して、負荷の軽いプロセッサにジョブを割り当てる方法(特許文献1参照)がある。また、プロセッサの温度を監視して、一定以上の温度になったプロセッサは、その動作クロック周波数を下げる方法、及び温度の低いプロセッサにジョブを割り当てる方法が提案されている(特許文献2参照)。   Therefore, there is a method (see Patent Document 1) that compares the load status of each processor and assigns a job to a processor with a light load. In addition, a method has been proposed in which the processor temperature is monitored and the operating clock frequency of a processor that has reached a certain temperature is lowered, and a job is assigned to a processor having a lower temperature (see Patent Document 2).

一方、電子計算機の処理能力を高めるために複数のプロセッサを備えるマルチプロセッサ計算機システムが使用されている。マルチプロセッサ計算機システムでは、近年、論理共有メモリによる容易な並列プログラミングと、物理分散メモリによる性能スケーラビリティを両立させる並列計算機として、分散共有メモリ型並列計算機(DSM:Distributed Shared Memory processor computer)が注目されている。DSMでは、他プロセッサの物理メモリも自プロセッサの物理メモリと同様に通常のメモリ参照命令でアクセスできるが、前者は後者に比較して時間がかかる、という特性を持つ。このため、DSM上で十分な性能を得るには、データをどのプロセッサに配置するかを決めるデータ分散が重要である。   On the other hand, a multiprocessor computer system including a plurality of processors is used in order to increase the processing capability of an electronic computer. In the multiprocessor computer system, a distributed shared memory processor (DSM) has recently attracted attention as a parallel computer that combines easy parallel programming with logical shared memory and performance scalability with physical distributed memory. Yes. In DSM, the physical memory of another processor can be accessed by a normal memory reference instruction in the same manner as the physical memory of its own processor, but the former has a characteristic that it takes more time than the latter. For this reason, in order to obtain sufficient performance on the DSM, data distribution that determines which processor the data is allocated to is important.

データ分散には、次のような方法が提案されている。特許文献3の方法は、メモリアクセス装置は、複数のコマンドキューと、スケジューラと、スケジューラからの管理情報を用いてメモリアクセスを実行するメモリアクセス部と、1つのコマンドキューへのメモリアクセス要求の発信頻度を用いて、スケジューラに対して帯域変更を要求する制御部とインタフェース部とから構成される。各プロセッサの負荷変動に追随したメモリアクセス処理が可能になる、共有メモリシステムである。   The following methods have been proposed for data distribution. In the method of Patent Literature 3, a memory access device includes a plurality of command queues, a scheduler, a memory access unit that executes memory access using management information from the scheduler, and a memory access request to one command queue. It is composed of a control unit and an interface unit that request a bandwidth change to the scheduler using the frequency. This is a shared memory system that enables memory access processing following the load fluctuation of each processor.

特許文献4は、分散メモリ方式、もしくは、プロセッサとメモリ間の距離によってプロセッサからメモリへのアクセス速度に差がある共有メモリ方式のマルチプロセッサ計算機システムにおいて、1つのソースプログラムを複数のプロセッサにより分担して並列実行する際、ソースプログラム中の1つの配列データを複数のプロセッサのメモリへ分割して割り当てる方法を提案する。その方法によれば、並列実行用プログラムを容易に記述することが可能になると同時に、データ参照時のデータ転送時間を削減することができる。命令部の各プロセッサへの分割と配列データの分割とを一致させることにより、配列データと命令における繰り返し回数が異なっていても、各プロセッサにおいて、問題なく並列実行を行うことができる。   Patent Document 4 discloses that a single source program is shared by a plurality of processors in a distributed memory system or a shared memory multiprocessor computer system in which the access speed from the processor to the memory varies depending on the distance between the processor and the memory. In parallel execution, a method is proposed in which one array data in a source program is divided and allocated to memories of a plurality of processors. According to this method, it is possible to easily describe a parallel execution program, and at the same time, it is possible to reduce the data transfer time when referring to data. By matching the division of the instruction section into each processor and the division of the array data, parallel execution can be performed without any problem in each processor even if the number of repetitions in the array data and the instruction is different.

現在のプロセッサでは、ある温度以上になると、クロックダウンして動作することで、さらなる温度上昇を抑制する機能を有するものがある。しかしながら、このプロセッサを用いて複数のプロセッサを有するシステムを構築した場合、温度上昇を検出してクロックダウンしたプロセッサにジョブが割り当てられ、期待される性能が得られない場合があるという問題があった。この問題解決のために、前述したとおりプロセッサの温度を監視し、温度の低いプロセッサに優先的にジョブを割り当てる方式が提案されてきた。しかし、この方式によるジョブ割り当てでは、分散したメモリを単一のアドレス空間として扱う方式のマルチプロセッサシステムにおいてはジョブがアクセスするメモリとジョブが割り当てられたCPUとの論理的距離が遠くなることによりメモリアクセスに遅延が生じ、性能が低下する場合があるという問題があった。
特開2001−147908号公報 特開2004−240669号公報 特開2004−126694号公報 特開平6−131313号公報
Some current processors have a function of suppressing further temperature rise by operating with a clock down when a certain temperature is exceeded. However, when a system having a plurality of processors is constructed using this processor, there is a problem that a job is assigned to a processor that is clocked down by detecting a temperature rise, and the expected performance may not be obtained. . In order to solve this problem, a method has been proposed in which the temperature of a processor is monitored and jobs are preferentially assigned to processors having a low temperature as described above. However, in this type of job allocation, in a multiprocessor system in which distributed memory is handled as a single address space, the logical distance between the memory accessed by the job and the CPU to which the job is allocated increases. There has been a problem that access may be delayed and performance may be reduced.
JP 2001-147908 A Japanese Patent Application Laid-Open No. 2004-240669 JP 2004-126694 A JP-A-6-131313

本発明は、上記事情に鑑みてなされたものであり、複数のプロセッサを有し、分散したメモリを単一のアドレス空間として扱うことのできるマルチプロセッサ計算機システムにおいて、プロセッサの温度上昇による性能低下を防止することを目的とする。   The present invention has been made in view of the above circumstances, and in a multiprocessor computer system having a plurality of processors and capable of handling a distributed memory as a single address space, performance degradation due to an increase in processor temperature is reduced. The purpose is to prevent.

本発明のマルチプロセッサ計算機システムは、ある単位のプロセッサにメモリが対応付けられており、他の単位のプロセッサに対応するメモリに対しても、当該他のプロセッサの制御系を介してアクセスすることで、全てのプロセッサが全てのメモリにアクセス可能であるマルチプロセッサ計算機システムであって、
前記全てのメモリを単一のメモリ空間としてアドレス割付制御を行うメモリマップ制御手段と、
前記各プロセッサの温度を検出する温度検出手段と、
プロセッサとメモリとの距離に基づいて、ジョブが使用するデータが格納されたメモリに最も近いプロセッサへ、ジョブの割付の要求を行うジョブメモリマップ解析手段と、
前記ジョブメモリマップ解析手段と温度検出手段の情報に基づいて、あるしきい値以下の温度のプロセッサからジョブメモリマップ解析手段の要求に最も近いプロセッサへのジョブ割り当てを制御するスケジューラ手段と、
を備えることを特徴とする。
In the multiprocessor computer system of the present invention, a memory is associated with a processor of a certain unit, and a memory corresponding to a processor of another unit is accessed via the control system of the other processor. A multiprocessor computer system in which all processors can access all memories,
Memory map control means for performing address allocation control with all the memories as a single memory space;
Temperature detecting means for detecting the temperature of each processor;
Job memory map analysis means for requesting job allocation to the processor closest to the memory storing the data used by the job based on the distance between the processor and the memory;
Based on the information of the job memory map analyzing means and the temperature detecting means, a scheduler means for controlling job assignment from a processor having a temperature below a certain threshold value to a processor closest to the request of the job memory map analyzing means,
It is characterized by providing.

また、本発明のマルチプロセッサ計算機システムは、前記スケジューラ手段のジョブ割り当て履歴を記憶するジョブ割当履歴記憶手段を備え、前記ジョブメモリマップ解析手段が要求するジョブ割付と異なるプロセッサへジョブ割当が行われる状態が継続している場合に、前記スケジューラ手段にジョブ実行の一時停止を指令し、ジョブ割り当て要求の多いデータがより低温のプロセッサに対応付けられたメモリに格納されるように、データの再配置をメモリマップ制御手段に指令する温度ジョブ履歴管理手段を有することを特徴とする。   The multiprocessor computer system according to the present invention further includes a job allocation history storage unit that stores a job allocation history of the scheduler unit, and the job allocation to a processor different from the job allocation requested by the job memory map analysis unit is performed. If this is the case, the scheduler unit is instructed to temporarily stop job execution, and data relocation is performed so that data with many job allocation requests is stored in a memory associated with a lower temperature processor. It has temperature job history management means for instructing the memory map control means.

本発明のマルチプロセッサ計算機システムは、前記ジョブメモリ解析手段におけるジョブ割付の要求が、ジョブが割り付けられたプロセッサとそのジョブが使用するメモリの距離を、各プロセッサに割り付けられるすべてのジョブで合計した値が最小になるような割付であることが好ましい。   In the multiprocessor computer system of the present invention, the job allocation request in the job memory analyzing means is a value obtained by summing the distance between the processor to which the job is allocated and the memory used by the job for all the jobs allocated to each processor. It is preferable that the allocation is such that is minimized.

本発明のマルチプロセッサ計算機システムにおけるコンピュータプログラムは、ある単位のプロセッサにメモリが対応付けられており、他の単位のプロセッサに対応するメモリに対しても、当該他のプロセッサの制御系を介してアクセスすることで、全てのプロセッサが全てのメモリにアクセス可能であるマルチプロセッサ計算機システムにおいて、コンピュータを、
前記全てのメモリを単一のメモリ空間としてアドレス割付制御を行うメモリマップ制御手段と、
前記各プロセッサの温度を検出する温度検出手段と、
プロセッサとメモリとの距離に基づいて、ジョブが使用するデータが格納されたメモリに最も近いプロセッサへ、ジョブの割付の要求を行うジョブメモリマップ解析手段と、
前記ジョブメモリマップ解析手段と温度検出手段の情報に基づいて、あるしきい値以下の温度のプロセッサからジョブメモリマップ解析手段の要求に最も近いプロセッサへのジョブ割り当てを制御するスケジューラ手段と、
して機能させることを特徴とする。
In the computer program in the multiprocessor computer system of the present invention, a memory is associated with a processor of a certain unit, and a memory corresponding to a processor of another unit is also accessed via the control system of the other processor. In a multiprocessor computer system in which all processors can access all memories,
Memory map control means for performing address allocation control with all the memories as a single memory space;
Temperature detecting means for detecting the temperature of each processor;
Job memory map analysis means for requesting job allocation to the processor closest to the memory storing the data used by the job based on the distance between the processor and the memory;
Based on the information of the job memory map analyzing means and the temperature detecting means, a scheduler means for controlling job assignment from a processor having a temperature below a certain threshold value to a processor closest to the request of the job memory map analyzing means,
It is characterized by functioning.

本発明のマルチプロセッサ計算機システムによれば、不適切なプロセッサへのジョブ割り当てによる性能低下を防止することができる。また、不適切なプロセッサへのジョブ割り当てが連続することによる性能低下を抑制することができる。   According to the multiprocessor computer system of the present invention, it is possible to prevent performance degradation caused by job assignment to an inappropriate processor. In addition, it is possible to suppress a decrease in performance due to continuous job assignment to inappropriate processors.

以下、本発明の一実施の形態に係るマルチプロセッサ計算機システムを、図面を参照して説明する。   A multiprocessor computer system according to an embodiment of the present invention will be described below with reference to the drawings.

(実施の形態1)
図1は、本発明の実施の形態1に係るマルチプロセッサ計算機システムの論理的構成を示すブロック図である。図2は、本発明の実施の形態1に係るマルチプロセッサ計算機システムの一実施例を示すブロック図である。
(Embodiment 1)
FIG. 1 is a block diagram showing a logical configuration of a multiprocessor computer system according to Embodiment 1 of the present invention. FIG. 2 is a block diagram showing an example of the multiprocessor computer system according to the first embodiment of the present invention.

本実施の形態1に係るマルチプロセッサ計算機システム1は、図1に示すように、複数のプロセッサ(CPU)61、62、63を備え、それぞれのプロセッサにメモリ81、82、83が対応付けられている。本実施の形態1では、理解を容易にするために、プロセッサの数が3の場合について説明するが、本発明はプロセッサの数に制限されるものではない。各プロセッサ61、62、63はそれぞれメモリコントローラ(MMC)71、72、73を介してメモリにアクセスする。各プロセッサは対応付けられたメモリ以外に、他のプロセッサに対応付けられたメモリにプロセッサ間接続を通じてアクセスすることができる。プロセッサ61,62,63にはその温度を検出する手段として、温度検出手段(温度センサ)10が備えられている。温度検出手段10が検出した温度情報は、スケジューラ20に送られる。一方、ジョブメモリマップ解析手段30は、例えば、専用コントローラチップ(専用プロセッサチップ)等から構成され、各ジョブが使用するデータ(各ジョブのプログラムを含む)が格納されたメモリ81,82,83とプロセッサ61、62,63との距離(アクセスの時間)を算出し、データが格納されているメモリに近い順にジョブを割り当てるべきプロセッサを選定する。ジョブメモリマップ解析手段30のプロセッサ選定情報は、スケジューラ20に読み込まれる。そして、スケジューラ20は、プロセッサ61、62,63の温度とジョブメモリマップ解析手段30のプロセッサ選定情報から、ジョブを割り当てるべきプロセッサを選択して、ジョブをプロセッサ61、62,63に割り当てる。   As shown in FIG. 1, the multiprocessor computer system 1 according to the first embodiment includes a plurality of processors (CPUs) 61, 62, and 63, and memories 81, 82, and 83 are associated with the processors. Yes. In the first embodiment, the case where the number of processors is three will be described for easy understanding, but the present invention is not limited to the number of processors. Each processor 61, 62, 63 accesses the memory via a memory controller (MMC) 71, 72, 73, respectively. In addition to the associated memory, each processor can access a memory associated with another processor through an interprocessor connection. The processors 61, 62, and 63 are provided with a temperature detecting means (temperature sensor) 10 as means for detecting the temperature. The temperature information detected by the temperature detection means 10 is sent to the scheduler 20. On the other hand, the job memory map analyzing means 30 is composed of, for example, a dedicated controller chip (dedicated processor chip) or the like, and includes memories 81, 82, and 83 storing data (including programs for each job) used by each job. The distance (access time) to the processors 61, 62, and 63 is calculated, and the processor to which the job is to be assigned is selected in the order of the closest memory to which the data is stored. The processor selection information of the job memory map analyzing unit 30 is read into the scheduler 20. The scheduler 20 selects a processor to which a job is to be assigned from the temperatures of the processors 61, 62, and 63 and the processor selection information of the job memory map analysis unit 30, and assigns the job to the processors 61, 62, and 63.

ジョブをプロセッサに割り当てた結果は、温度ジョブ履歴管理手段40に蓄積される。温度ジョブ履歴管理手段40は、例えば、履歴記憶用のメモリを内蔵する専用コントローラチップ(専用プロセッサチップ)から構成され、ジョブの割当履歴から、メモリ81、82、83の再配置(リマップ)が必要かどうかを判断する。メモリマップ制御手段50が温度ジョブ履歴管理手段40と各メモリコントローラ71、72、73に連携している。メモリマップ制御手段50は、専用コントローラチップ(専用プロセッサチップ)から構成され、データをメモリのどこに格納するかをメモリコントローラ71、72、73に指令する。温度ジョブ履歴管理手段40が、メモリリマップが必要と判断すると、メモリマップ制御手段50に指令して、データの再配置が行われる。   The result of assigning the job to the processor is stored in the temperature job history management means 40. The temperature job history management means 40 is composed of, for example, a dedicated controller chip (dedicated processor chip) incorporating a memory for history storage, and it is necessary to rearrange (remapping) the memories 81, 82, and 83 from the job allocation history. Determine whether or not. A memory map control means 50 is linked to the temperature job history management means 40 and each of the memory controllers 71, 72, 73. The memory map control means 50 is composed of a dedicated controller chip (dedicated processor chip), and instructs the memory controllers 71, 72, 73 where to store data in the memory. When the temperature job history management means 40 determines that the memory remapping is necessary, it instructs the memory map control means 50 to perform data rearrangement.

その他、マルチプロセッサ計算機システム1は、予備メモリ84とそのメモリコントローラ74を備える。予備メモリ84とそのメモリコントローラ74は、各プロセッサ61、62、63からアクセスすることができて、メモリリマップを行うときに、メモリの内容を一時待避させるために用いられる。また、各プロセッサに対応付けられたメモリ又はメモリコントローラに障害があったときに、それらの代替をする。   In addition, the multiprocessor computer system 1 includes a spare memory 84 and its memory controller 74. The spare memory 84 and its memory controller 74 can be accessed from each of the processors 61, 62, and 63, and are used to temporarily save the contents of the memory when performing memory remapping. Also, when there is a failure in the memory or memory controller associated with each processor, they are replaced.

図2は、図1に示すマルチプロセッサ計算機システム1のハードウェア構成の一例を示すブロック図である。マルチプロセッサ計算機システム1は、図2に示すように、制御部2、主記憶部3、入出力部5、制御チャネル6及び温度センサ入力部11を備える。主記憶部3、入出力部5、制御チャネル6及び温度センサ入力部11はいずれも内部バスBを介して制御部2に接続されている。   FIG. 2 is a block diagram showing an example of a hardware configuration of the multiprocessor computer system 1 shown in FIG. As shown in FIG. 2, the multiprocessor computer system 1 includes a control unit 2, a main storage unit 3, an input / output unit 5, a control channel 6, and a temperature sensor input unit 11. The main storage unit 3, the input / output unit 5, the control channel 6, and the temperature sensor input unit 11 are all connected to the control unit 2 via the internal bus B.

複数のプロセッサ61〜63にはそれぞれ、メモリコントローラ71〜73を介して、メモリ81〜83が接続されている。各プロセッサ61〜63は、後述する制御バス7を経由して他のプロセッサに通信することができて、他のプロセッサに対応づけられたメモリの内容を他のプロセッサ経由で読み書き(アクセス)することができる。   Memories 81 to 83 are connected to the plurality of processors 61 to 63 via memory controllers 71 to 73, respectively. Each of the processors 61 to 63 can communicate with other processors via a control bus 7 described later, and reads / writes (accesses) the contents of the memory associated with the other processors via the other processors. Can do.

1つのプロセッサからメモリへの距離は、例えば次のように定義される。1つのプロセッサから他のプロセッサまでに経由する制御バス又はネットワークのリンクの数だけ、それぞれのデータ転送レートの逆数を合計した数値をプロセッサとメモリの距離とする。データ転送レートが全て等しい場合は、経由するプロセッサの数又はネットワークのリンク数(これらをホップ数ともいう)で定義することもできる。   The distance from one processor to the memory is defined as follows, for example. The distance between the processor and the memory is a value obtained by summing up the reciprocal of each data transfer rate by the number of control buses or network links passing from one processor to another. When the data transfer rates are all equal, it can be defined by the number of processors that pass through or the number of links in the network (these are also called hop numbers).

制御部2はCPU(Central Processing Unit)等から構成され、内部の論理回路及び/又はコード化されたプログラムに従って、後述するジョブメモリマップ解析、ジョブのスケジューラ、温度ジョブ履歴管理、メモリマップ制御などの処理を実行する。   The control unit 2 is composed of a CPU (Central Processing Unit) or the like, and performs job memory map analysis, job scheduler, temperature job history management, memory map control, etc., which will be described later, according to internal logic circuits and / or coded programs. Execute the process.

主記憶部3はRAM(Random-Access Memory)等から構成され、各プロセッサ61〜63の温度、各メモリ81〜83領域へ格納されているデータの配置、各プロセッサ61〜63へのジョブの割当及びその履歴等を記憶し、制御部2の作業領域として用いられる。   The main storage unit 3 is composed of a RAM (Random-Access Memory) or the like. The temperature of each of the processors 61 to 63, the arrangement of the data stored in each of the memories 81 to 83, and the assignment of jobs to each of the processors 61 to 63 The history and the like are stored and used as a work area of the control unit 2.

入出力部5はキーボードおよびマウスなどのポインティングデバイス等と、キーボードおよびポインティングデバイス等を内部バスBに接続するインターフェース装置から構成されている。入出力部5を介して、ジョブの入力、ジョブの開始、実行、終了などの指令、ジョブの状況モニタ指令などが入力され、制御部2に供給される。   The input / output unit 5 includes a pointing device such as a keyboard and a mouse, and an interface device that connects the keyboard and the pointing device to the internal bus B. A job input, a job start, execution, end command, a job status monitor command, and the like are input via the input / output unit 5 and supplied to the control unit 2.

制御チャネル6は、制御部2と各プロセッサ61〜63を接続し、制御部2の指令又はデータを各プロセッサ61〜63に伝達し、各プロセッサ61〜63からのデータを制御部2に伝える。制御チャネル6を介して、ジョブが各プロセッサ61〜63に入力され、ジョブの実行が指示される。また、メモリマップ制御、すなわちメモリ81〜83へのデータの格納及びメモリ81〜83からのデータの読み出しが指示される。   The control channel 6 connects the control unit 2 and the processors 61 to 63, transmits commands or data of the control unit 2 to the processors 61 to 63, and transmits data from the processors 61 to 63 to the control unit 2. A job is input to each of the processors 61 to 63 via the control channel 6, and execution of the job is instructed. In addition, memory map control, that is, data storage in the memories 81 to 83 and data reading from the memories 81 to 83 are instructed.

各プロセッサ61〜63には、温度センサ12が備えられている。各温度センサ12は温度検出ライン8を通じて温度センサ入力部11に接続している。制御部2は温度センサ入力部11を介して、各プロセッサ61〜63の温度を検出することができる。   Each processor 61 to 63 is provided with a temperature sensor 12. Each temperature sensor 12 is connected to the temperature sensor input unit 11 through the temperature detection line 8. The control unit 2 can detect the temperatures of the processors 61 to 63 via the temperature sensor input unit 11.

次に、図1及び図2に示すマルチプロセッサ計算機システム1の動作を、図3〜6を参照して説明する。なお、上述のように、マルチプロセッサ計算機システム1の動作は、制御部2が主記憶部3、入出力部5、制御チャネル6、温度センサ入力部11及び各プロセッサ61〜63と協働して行う。   Next, the operation of the multiprocessor computer system 1 shown in FIGS. 1 and 2 will be described with reference to FIGS. As described above, the operation of the multiprocessor computer system 1 is performed by the control unit 2 in cooperation with the main storage unit 3, the input / output unit 5, the control channel 6, the temperature sensor input unit 11, and the processors 61 to 63. Do.

図3は、本発明の実施の形態に係るマルチプロセッサ計算機システム1において、各プロセッサ61〜63の温度によって、各プロセッサの動作クロック周波数を制御する動作の一例を示すフローチャートである。図4は、本発明の実施の形態に係るマルチプロセッサ計算機システム1のジョブメモリ解析の動作の一例を示すフローチャートである。図5は、本発明の実施の形態に係るマルチプロセッサ計算機システム1のジョブ割当の動作の一例を示すフローチャートである。   FIG. 3 is a flowchart showing an example of an operation of controlling the operation clock frequency of each processor according to the temperature of each of the processors 61 to 63 in the multiprocessor computer system 1 according to the embodiment of the present invention. FIG. 4 is a flowchart showing an example of job memory analysis operation of the multiprocessor computer system 1 according to the embodiment of the present invention. FIG. 5 is a flowchart showing an example of job assignment operation of the multiprocessor computer system 1 according to the embodiment of the present invention.

図3に示すように、制御部2は各プロセッサ61〜63の温度を順に検出し、プロセッサの温度が所定のしきい値を超えている場合は、そのプロセッサの動作クロック周波数を下げる。図3では、プロセッサの数をmとしている。制御部2は変数iを1に初期化して(ステップS31)、i番目のプロセッサの温度を、温度センサ入力部11を介して読み込む(ステップS32)。検出したi番目のプロセッサの温度がしきい値以下であるとき(ステップS33からNOに分岐)は、制御部2は制御チャネル6を介して、i番目のプロセッサの動作クロック周波数を正常な値にし(ステップS34)、プロセッサの温度がしきい値を超えている場合(ステップS33からYESに分岐)は、動作クロック周波数を正常な値から規定の値に下げる(ステップS35)。次に、変数iをインクリメントして(ステップS36)、変数iがプロセッサの数mを超えていなければ(ステップS37)、次のプロセッサの温度を検出する。この動作を繰り返して、すべてのプロセッサの温度を検出し、各プロセッサの温度に応じて、そのプロセッサの動作クロック周波数を制御する。   As shown in FIG. 3, the control unit 2 sequentially detects the temperatures of the processors 61 to 63, and when the processor temperature exceeds a predetermined threshold, the operation clock frequency of the processor is lowered. In FIG. 3, the number of processors is m. The control unit 2 initializes the variable i to 1 (step S31), and reads the temperature of the i-th processor via the temperature sensor input unit 11 (step S32). When the detected temperature of the i-th processor is equal to or lower than the threshold value (branch from step S33 to NO), the control unit 2 sets the operation clock frequency of the i-th processor to a normal value via the control channel 6. (Step S34) If the temperature of the processor exceeds the threshold value (branch to YES from Step S33), the operating clock frequency is lowered from a normal value to a specified value (Step S35). Next, the variable i is incremented (step S36), and if the variable i does not exceed the number m of processors (step S37), the temperature of the next processor is detected. This operation is repeated to detect the temperatures of all the processors, and the operation clock frequency of each processor is controlled according to the temperature of each processor.

あるジョブの開始がオペレーティングシステム又は他のジョブから指令されたとき、あるいはジョブの開始が入出力部5から入力されたとき、制御部2はそのジョブをいずれかのプロセッサに割り当てる。そのジョブが使用するデータが格納されたメモリにもっとも近い空きプロセッサの候補を選ぶ(本発明では、ジョブを割り付けるという)。ジョブが使用するデータには、そのジョブ自身のプログラムが含まれる。図4に示すように、そのジョブが使用するデータが格納されているメモリを調べる(ステップS41)。他のジョブを実行していない空きのプロセッサすべてについて、そのジョブが使用するメモリとそのプロセッサとの距離を計算する(ステップS42)。空きプロセッサすべてについて、プロセッサとジョブが使用するメモリとの距離が小さい順に空きプロセッサの番号を並べて、ジョブメモリマップ解析結果を得る(ステップS43)。   When the start of a job is instructed by the operating system or another job, or when the start of a job is input from the input / output unit 5, the control unit 2 assigns the job to one of the processors. A candidate free processor closest to the memory storing the data used by the job is selected (in the present invention, the job is allocated). The data used by a job includes its own program. As shown in FIG. 4, a memory in which data used by the job is stored is checked (step S41). For all the empty processors that are not executing other jobs, the distance between the memory used by the job and the processor is calculated (step S42). For all the free processors, the free processor numbers are arranged in ascending order of the distance between the processor and the memory used by the job, and the job memory map analysis result is obtained (step S43).

次に、制御部2は、プロセッサとジョブが使用するメモリとの距離が小さい順に並べられた空きプロセッサのなかから、プロセッサの温度が低いものを選定して、ジョブをそのプロセッサに割り当てる。図5に示すように、制御部2はジョブメモリマップ解析結果を読み込む(ステップS51)。図5では、空きプロセッサの数をnとしている。制御部2は変数iを1に初期化して(ステップS52)、i番目のプロセッサの温度がしきい値を超えているかどうか判定する(ステップS53)。i番目のプロセッサの温度がしきい値を超えている場合(ステップS53からYESに分岐)は、変数iをインクリメントして(ステップS54)、変数iが空きプロセッサの数を超えていなければ(ステップS55からNOに分岐)次のプロセッサの温度がしきい値を超えているかどうか判定する(ステップS53)。i番目のプロセッサの温度がしきい値を超えていなければ(ステップS53からNOに分岐)、そのプロセッサは動作クロックが下げられていないので、そのプロセッサにジョブを割り当てる(ステップS56)。   Next, the control unit 2 selects a processor having a low processor temperature from among the free processors arranged in ascending order of the distance between the processor and the memory used by the job, and assigns the job to the processor. As shown in FIG. 5, the control unit 2 reads the job memory map analysis result (step S51). In FIG. 5, n is the number of free processors. The control unit 2 initializes the variable i to 1 (step S52), and determines whether or not the temperature of the i-th processor exceeds the threshold value (step S53). If the temperature of the i-th processor exceeds the threshold value (branch from step S53 to YES), the variable i is incremented (step S54), and if the variable i does not exceed the number of free processors (step S54). (S55 branches to NO) It is determined whether or not the temperature of the next processor exceeds the threshold value (step S53). If the temperature of the i-th processor does not exceed the threshold value (branch to NO from step S53), since the operation clock of the processor has not been lowered, a job is assigned to that processor (step S56).

このようにして制御部2は、ジョブメモリマップ解析結果から、プロセッサとジョブが使用するメモリとの距離が小さい順に、空きプロセッサの温度がしきい値を超えているかどうかを判定し、温度がしきい値を超えていないプロセッサのうち、ジョブが使用するメモリとの距離が最も小さいプロセッサにジョブを割り当てる。   In this way, the control unit 2 determines whether the temperature of the free processor exceeds the threshold value in ascending order of the distance between the processor and the memory used by the job from the job memory map analysis result. Of the processors not exceeding the threshold, the job is assigned to the processor having the smallest distance from the memory used by the job.

空きプロセッサの温度が全て、しきい値を超えている場合(ステップS55からYESに分岐)は、本実施の形態では、ジョブが使用するメモリに最も近いプロセッサ(すなわちジョブメモリマップ解析結果の1番目のプロセッサ)に、ジョブを割り当てる(ステップS57)。この場合、ジョブを割り当てず、又はジョブを割り当てた上で、温度の低いプロセッサがないことを警告するようにしてもよい。   If all the free processor temperatures exceed the threshold value (branch from step S55 to YES), in this embodiment, the processor closest to the memory used by the job (that is, the first job memory map analysis result) The job is assigned to the processor (step S57). In this case, a job may not be assigned, or a job may be assigned to warn that there is no processor having a low temperature.

最後に制御部2は、ジョブとそのジョブを割り当てたプロセッサとを、ジョブ割り当て履歴に登録する(ステップS58)。図6は、ジョブ割り当て履歴の表の一例を示す図である。ジョブ割り当て履歴は例えば、図6に示すように、ジョブを割り当てた時刻、ジョブを識別するID、空きプロセッサのうちジョブが使用するメモリに最も近いプロセッサ(割付要求CPU)、実際に割り当てたプロセッサ(割当CPU)、及び割り当てたプロセッサのそのときの動作クロック周波数を含む。割当CPUの動作クロックを履歴に含むのは、割り当てたプロセッサの温度がしきい値を超えていたかどうかが判定できるからである。図5のステップS57の場合のように、空きプロセッサの温度が全てしきい値をこえている場合に、割付プロセッサと割当プロセッサが同じであっても、動作クロック周波数が低い場合があり得る。   Finally, the control unit 2 registers the job and the processor to which the job is assigned in the job assignment history (step S58). FIG. 6 is a diagram illustrating an example of a job allocation history table. For example, as shown in FIG. 6, the job allocation history includes a job allocation time, an ID for identifying the job, a processor (allocation request CPU) closest to the memory used by the job among the free processors, and an actually allocated processor ( Allocation CPU) and the current operating clock frequency of the allocated processor. The operation clock of the assigned CPU is included in the history because it can be determined whether or not the temperature of the assigned processor has exceeded the threshold value. As in the case of step S57 in FIG. 5, when all the temperatures of the free processors exceed the threshold value, the operation clock frequency may be low even if the allocated processor and the allocated processor are the same.

上述のとおり、本発明によれば、ジョブ毎に、プロセッサの温度と、メモリとの論理的距離関係が最適なプロセッサへの割り当てを要求し、そのプロセッサへの割り当てができない場合には、要求に近いプロセッサを割り当てるので、不適切なCPUへのジョブ割り当てによる性能低下を防止することができる。   As described above, according to the present invention, for each job, an allocation to a processor having an optimum logical distance relationship between the processor temperature and the memory is requested, and if the allocation to the processor cannot be performed, the request is made. Since close processors are allocated, it is possible to prevent performance degradation due to job allocation to inappropriate CPUs.

上述したように、空きプロセッサのうち、ジョブが使用するメモリに最も近いプロセッサから、動作クロック周波数が正常なものが選択されて、ジョブが割り当てられる。ジョブの割当が繰り返し行われると、ジョブが使用するメモリに近いプロセッサの温度が高い場合があり、動作クロック周波数が正常で、かつ使用するメモリに近いプロセッサにジョブが割り当てられるとは限らない。そこで本発明では、ジョブが使用するメモリに最も近いプロセッサと、実際にジョブが割り当てられたプロセッサとが異なるケースが連続した場合に、ジョブ割当履歴に基づいて、メモリをリマップする。   As described above, from among the free processors that are closest to the memory used by the job, the processor having the normal operation clock frequency is selected and assigned to the job. When job assignment is repeated, the temperature of the processor close to the memory used by the job may be high, and the job is not always assigned to a processor having a normal operation clock frequency and close to the memory used. Therefore, in the present invention, when a case where a processor closest to a memory used by a job is different from a processor to which a job is actually allocated continues, the memory is remapped based on the job allocation history.

本発明のジョブ割当履歴に基づいてメモリリマップを行う動作について説明する。図7は、本発明の実施の形態に係るマルチプロセッサ計算機システム1における、ジョブ割当履歴によってメモリリマップを行う動作の一例を示すフローチャートである。本実施の形態では、ジョブが使用するメモリに最も近いプロセッサと、実際にジョブが割り当てられたプロセッサとが異なるケースが連続してk回発生した場合に、メモリをリマップする。メモリリマップを起動するための、異なるプロセッサ割当連続発生回数kはマルチプロセッサ計算機システム1の構成に合わせて、適当な回数に設定することができる。   An operation for performing memory remapping based on the job allocation history of the present invention will be described. FIG. 7 is a flowchart showing an example of an operation for performing memory remapping based on the job allocation history in the multiprocessor computer system 1 according to the embodiment of the present invention. In the present embodiment, the memory is remapped when a case in which the processor closest to the memory used by the job and the processor to which the job is actually assigned occurs continuously k times. The different number k of consecutive processor allocations for starting the memory remapping can be set to an appropriate number according to the configuration of the multiprocessor computer system 1.

制御部2は、ジョブが使用するメモリに最も近い空きプロセッサ(割付プロセッサという)と異なるプロセッサに、連続してジョブ割当が行われた回数を表す変数iを1に初期化する(ステップS71)。次に制御部2は、例えば前記図5に示す動作で、新たなジョブをプロセッサに割り当て、ジョブ割当履歴に登録する(ステップS72)。割当プロセッサが割付プロセッサと同じである場合(ステップS73でYESに分岐)、さらに割当プロセッサの動作クロック周波数が正常であるかダウンしているかを判定する(ステップS74)。割当プロセッサの動作クロック周波数が正常である場合(ステップS74からNOに分岐)は、フローチャートの最初に戻って変数iを初期値1にする(ステップS71)。   The control unit 2 initializes to 1 a variable i indicating the number of times job assignment has been performed continuously to a processor different from the free processor closest to the memory used by the job (referred to as an assigned processor) (step S71). Next, the control unit 2 assigns a new job to the processor and registers it in the job assignment history, for example, by the operation shown in FIG. 5 (step S72). If the allocation processor is the same as the allocation processor (branch to YES in step S73), it is further determined whether the operation clock frequency of the allocation processor is normal or down (step S74). If the operation clock frequency of the assigned processor is normal (branch from step S74 to NO), the process returns to the beginning of the flowchart to set the variable i to the initial value 1 (step S71).

ステップS73で、割当プロセッサが割付プロセッサと異なる場合(ステップS73からNOに分岐)、変数iをインクリメントする(ステップS75)。ステップS74で割当プロセッサの動作クロック周波数がダウンしていた場合(ステップS74からYESに分岐)も、変数iをインクリメントする(ステップS75)。次いで、変数iがまだ所与の回数kを超えていなければ(ステップS76からNOに分岐)、変数iをそのまま保持して次のジョブ割当を行う(ステップS72)。変数iが所与の回数kを超えている場合(ステップS76からYESに分岐)は、ジョブの実行を停止して、メモリリマップを行う(ステップS77)。   If the assigned processor is different from the assigned processor in step S73 (branch from step S73 to NO), the variable i is incremented (step S75). If the operation clock frequency of the assigned processor is down in step S74 (branch from step S74 to YES), the variable i is also incremented (step S75). Next, if the variable i has not yet exceeded the given number of times k (branch from step S76 to NO), the variable i is held as it is and the next job allocation is performed (step S72). If the variable i exceeds the given number of times k (branch from step S76 to YES), the job execution is stopped and memory remapping is performed (step S77).

メモリリマップは、アクセス頻度の高いデータが温度の低いプロセッサに対応するメモリに格納されるように、データを配置する。その時点で割り当てられているジョブが使用するデータを、そのジョブが割り当てられているプロセッサに対応するメモリに格納するように優先順位をつけてもよい。   The memory remapping arranges data so that frequently accessed data is stored in a memory corresponding to a processor having a low temperature. Priorities may be set so that data used by the job assigned at that time is stored in a memory corresponding to the processor to which the job is assigned.

このようにメモリリマップを行うことによって、アクセス頻度の高いデータが、温度の低いプロセッサに対応するメモリに格納されるので、ジョブが使用するメモリに近く、かつ温度の低いプロセッサに、そのジョブが割り当てられる確率が高くなり、結果としてマルチプロセッサ計算機システム1の処理能力が高くなるのである。   By performing memory remapping in this manner, frequently accessed data is stored in the memory corresponding to the processor having a low temperature, so that the job is close to the memory used by the job and the processor having a low temperature. As a result, the processing capability of the multiprocessor computer system 1 increases.

(実施の形態2)
図8は、本発明の実施の形態2に係るマルチプロセッサ計算機システム1の論理的構成を示すブロック図である。図9は、本発明の実施の形態2に係るマルチプロセッサ計算機システム1の一実施例を示すブロック図である。
(Embodiment 2)
FIG. 8 is a block diagram showing a logical configuration of the multiprocessor computer system 1 according to the second embodiment of the present invention. FIG. 9 is a block diagram showing an example of the multiprocessor computer system 1 according to the second embodiment of the present invention.

本実施の形態2に係るマルチプロセッサ計算機システム1は、図8及び9に示すように、マルチプロセッサ計算機システム1が、複数のプロセッサを有する複数のノードから構成され、ノード間がネットワークで接続されており、1つのノードから他のノードのメモリにはネットワーク90を経由してアクセスする点で、実施の形態1と異なる。本実施の形態2は、制御部2等の構成は実施の形態1と同じであり、同様の構成については説明を省略する。   In the multiprocessor computer system 1 according to the second embodiment, as shown in FIGS. 8 and 9, the multiprocessor computer system 1 is composed of a plurality of nodes having a plurality of processors, and the nodes are connected by a network. The second embodiment is different from the first embodiment in that the memory of one node is accessed via the network 90 from one node. In the second embodiment, the configuration of the control unit 2 and the like is the same as that of the first embodiment, and the description of the same configuration is omitted.

本実施の形態2では、各プロセッサは対応付けられたメモリ以外に、他のプロセッサに対応付けられたメモリにネットワーク90を通じてアクセスすることができる。各プロセッサに備えられた温度検出手段10、メモリに近い順にジョブを割り当てるべきプロセッサを選定するジョブメモリマップ解析手段30、検出した温度情報が送られ、ジョブを割り当てるべきプロセッサを選択して、ジョブをプロセッサに割り当てるスケジューラ20、ジョブの割当履歴から、メモリ81、82、83の再配置(リマップ)が必要かどうかを判断する温度ジョブ履歴管理手段40、及びデータをメモリのどこに格納するかをメモリコントローラ71、72、73に指令するメモリマップ制御手段50は、実施の形態1と同様である。   In the second embodiment, each processor can access a memory associated with another processor through the network 90 in addition to the associated memory. The temperature detecting means 10 provided in each processor, the job memory map analyzing means 30 for selecting a processor to which a job is to be assigned in the order close to the memory, the detected temperature information is sent, the processor to which the job is to be assigned is selected, and the job is The scheduler 20 assigned to the processor, the temperature job history management means 40 for judging whether or not the relocation (remapping) of the memories 81, 82, 83 is necessary from the job assignment history, and the memory controller where the data is stored in the memory The memory map control means 50 for instructing 71, 72, 73 is the same as in the first embodiment.

図9は、図8に示すマルチプロセッサ計算機システム1のハードウェア構成の一例を示すブロック図である。図9は、図8の各プロセッサ61、62、63が、それぞれ共有メモリ81、82、83を備える複数のプロセッサから構成されるノード51〜53の場合を示している。ノード51〜53は1つのプロセッサから構成される場合もあるし、図2のように複数のプロセッサから構成される場合もある。図9では、図8のプロセッサ62、メモリコントローラ72、メモリ82に該当するノードの記載を、紙幅の都合で省略している。   FIG. 9 is a block diagram showing an example of a hardware configuration of the multiprocessor computer system 1 shown in FIG. FIG. 9 shows a case where the processors 61, 62, and 63 in FIG. 8 are nodes 51 to 53 each including a plurality of processors including shared memories 81, 82, and 83, respectively. The nodes 51 to 53 may be composed of a single processor, or may be composed of a plurality of processors as shown in FIG. In FIG. 9, the description of the nodes corresponding to the processor 62, the memory controller 72, and the memory 82 of FIG.

マルチプロセッサ計算機システム1は、図9に示すように、制御部2、主記憶部3、外部記憶部4、入出力部5、制御チャネル6及び温度センサ入力部11を備える。主記憶部3、外部記憶部4、入出力部5、制御チャネル6及び温度センサ入力部11はいずれも内部バスBを介して制御部2に接続されている。   As shown in FIG. 9, the multiprocessor computer system 1 includes a control unit 2, a main storage unit 3, an external storage unit 4, an input / output unit 5, a control channel 6, and a temperature sensor input unit 11. The main storage unit 3, the external storage unit 4, the input / output unit 5, the control channel 6, and the temperature sensor input unit 11 are all connected to the control unit 2 via the internal bus B.

各ノード51〜53は、それぞれ、1つ又は複数のプロセッサ61〜63、メモリ81〜83、入出力部91〜93から構成される。メモリ81〜83及び入出力部91〜93はノード内の各プロセッサ61〜63にクロスバCを介して接続されている。ノード内の複数のプロセッサ61〜63は、ノード内のメモリ81〜83をそれぞれ共有している。入出力部91〜93はノード間のネットワーク90に接続されている。各ノードのプロセッサ61〜63は、入出力部91〜93及びネットワーク90を介して、他のノードのメモリにアクセスすることができる。図8のメモリコントローラ71、72、73は、クロスバC及びそれを制御するプロセッサ上のプログラムから構成される。   Each of the nodes 51 to 53 includes one or more processors 61 to 63, memories 81 to 83, and input / output units 91 to 93. The memories 81 to 83 and the input / output units 91 to 93 are connected to the processors 61 to 63 in the node via the crossbar C. The plurality of processors 61 to 63 in the node share the memories 81 to 83 in the node, respectively. The input / output units 91 to 93 are connected to a network 90 between nodes. The processors 61 to 63 of each node can access the memories of other nodes via the input / output units 91 to 93 and the network 90. The memory controllers 71, 72, and 73 shown in FIG. 8 include a crossbar C and a program on a processor that controls the crossbar C.

1つのノード内のプロセッサから他のノードのメモリへの距離は、例えば次のように定義される。1つのノードから他のノードまでに経由するノード又はネットワークのリンクの数だけ、それぞれのデータ転送レートの逆数を合計した数値をプロセッサとメモリの距離とする。データ転送レートが全て等しい場合は、経由するノードの数又はネットワークのリンク数(これらをホップ数ともいう)で定義することもできる。   The distance from the processor in one node to the memory of another node is defined as follows, for example. The distance between the processor and the memory is a value obtained by summing up the reciprocal of each data transfer rate by the number of nodes or network links that pass from one node to another. When all the data transfer rates are equal, it can be defined by the number of nodes that pass through or the number of links in the network (these are also called hop numbers).

制御部2はCPU(Central Processing Unit)等から構成され、外部記憶部4に記憶されているプログラムに従って、後述するジョブメモリマップ解析、ジョブのスケジューラ、温度ジョブ履歴管理、メモリマップ制御などの処理を実行する。制御部2は、実施の形態1と同様に、内部の論理回路及び/又はコード化されたプログラムから構成されていてもよい。   The control unit 2 includes a CPU (Central Processing Unit) and the like, and performs processing such as job memory map analysis, job scheduler, temperature job history management, and memory map control, which will be described later, according to a program stored in the external storage unit 4. Execute. As in the first embodiment, the control unit 2 may be configured by an internal logic circuit and / or a coded program.

主記憶部3はRAM(Random-Access Memory)等から構成され、外部記憶部4に記憶されているプログラムをロードし、制御部2の作業領域として用いられる。   The main storage unit 3 is composed of a RAM (Random-Access Memory) or the like, and loads a program stored in the external storage unit 4 and is used as a work area of the control unit 2.

外部記憶部4は、フラッシュメモリ、ハードディスク、DVD(Digital Versatile Disc)、DVD−RAM(Digital Versatile Disc Random-Access Memory)、DVD−RW(Digital Versatile Disc Rewritable)等の不揮発性メモリから構成され、前記の処理を制御部2に行わせるためのプログラムを予め記憶し、また、制御部2の指示に従って、このプログラムが記憶するデータを制御部2に供給し、制御部2から供給されたデータを記憶する。   The external storage unit 4 includes a nonvolatile memory such as a flash memory, a hard disk, a DVD (Digital Versatile Disc), a DVD-RAM (Digital Versatile Disc Random-Access Memory), a DVD-RW (Digital Versatile Disc Rewritable), and the like. The program for causing the control unit 2 to perform the above process is stored in advance, and the data stored in the program is supplied to the control unit 2 according to the instruction of the control unit 2, and the data supplied from the control unit 2 is stored. To do.

入出力部5はキーボードおよびマウスなどのポインティングデバイス等と、キーボードおよびポインティングデバイス等を内部バスBに接続するインターフェース装置から構成されている。入出力部5を介して、ジョブの入力、ジョブの開始、実行、終了などの指令、ジョブの状況モニタ指令などが入力され、制御部2に供給される。   The input / output unit 5 includes a pointing device such as a keyboard and a mouse, and an interface device that connects the keyboard and the pointing device to the internal bus B. A job input, a job start, execution, end command, a job status monitor command, and the like are input via the input / output unit 5 and supplied to the control unit 2.

制御チャネル6は、制御部2と各プロセッサ61〜63を接続し、制御部2の指令又はデータを各プロセッサ61〜63に伝達し、各プロセッサ61〜63からのデータを制御部2に伝える。制御チャネル6を介して、ジョブが各プロセッサ61〜63に入力され、ジョブの実行が指示される。また、メモリマップ制御、すなわちメモリ81〜83へのデータの格納及びメモリ81〜83からのデータの読み出しが指示される。   The control channel 6 connects the control unit 2 and the processors 61 to 63, transmits commands or data of the control unit 2 to the processors 61 to 63, and transmits data from the processors 61 to 63 to the control unit 2. A job is input to each of the processors 61 to 63 via the control channel 6, and execution of the job is instructed. In addition, memory map control, that is, data storage in the memories 81 to 83 and data reading from the memories 81 to 83 are instructed.

各プロセッサ61〜63には、温度センサ12が備えられている。各温度センサ12は温度検出ライン8を通じて温度センサ入力部11に接続している。制御部2は温度センサ入力部11を介して、各プロセッサ61〜63の温度を検出することができる。   Each processor 61 to 63 is provided with a temperature sensor 12. Each temperature sensor 12 is connected to the temperature sensor input unit 11 through the temperature detection line 8. The control unit 2 can detect the temperatures of the processors 61 to 63 via the temperature sensor input unit 11.

制御チャネル6は、制御部2と各ノード51〜53のプロセッサ61〜63を接続し、制御部2の指令又はデータを各ノード51〜53に伝達し、各ノード51〜53からのデータを制御部2に伝える。制御チャネル6を介して、ジョブが各ノード51〜53に入力され、ジョブの実行が指示される。また、メモリマップ制御、すなわちメモリ81〜83へのデータの格納及びメモリ81〜83からのデータの読み出しが指示される。   The control channel 6 connects the control unit 2 and the processors 61 to 63 of the nodes 51 to 53, transmits the command or data of the control unit 2 to the nodes 51 to 53, and controls the data from the nodes 51 to 53. Tell part 2. A job is input to each of the nodes 51 to 53 via the control channel 6, and execution of the job is instructed. In addition, memory map control, that is, data storage in the memories 81 to 83 and data reading from the memories 81 to 83 are instructed.

各プロセッサ61〜63には、温度センサ12が備えられている。各温度センサ12は温度検出ライン8を通じて温度センサ入力部11に接続している。制御部2は温度センサ入力部11を介して、各ノード51〜53のプロセッサ61〜63の温度を検出することができる。   Each processor 61 to 63 is provided with a temperature sensor 12. Each temperature sensor 12 is connected to the temperature sensor input unit 11 through the temperature detection line 8. The control unit 2 can detect the temperatures of the processors 61 to 63 of the nodes 51 to 53 via the temperature sensor input unit 11.

本実施の形態2は、マルチプロセッサ計算機システム1が、複数のプロセッサを有する複数のノードから構成され、ノード間がネットワーク90で接続されており、1つのノードから他のノードのメモリにはネットワーク90を経由してアクセスする点で、実施の形態1と異なる。そのため、本実施の形態2では、プロセッサとメモリとの距離がネットワーク90の構成に合わせて計算されるが、本実施の形態2におけるクロック周波数制御、メモリ解析、ジョブ割当及びメモリリマップは実施の形態1と全く同様に行われる。   In the second embodiment, the multiprocessor computer system 1 is composed of a plurality of nodes having a plurality of processors, the nodes are connected by a network 90, and a network 90 is connected to the memory of one node from another node. This is different from the first embodiment in that it is accessed via the network. Therefore, in the second embodiment, the distance between the processor and the memory is calculated according to the configuration of the network 90, but the clock frequency control, memory analysis, job allocation, and memory remapping in the second embodiment are implemented. This is performed in the same manner as in the first mode.

従って、ジョブ毎に、プロセッサの温度と、メモリとの論理的距離関係が最適なプロセッサへの割り当てを要求し、そのプロセッサへの割り当てができない場合には、要求に近いプロセッサを割り当てるので、不適切なCPUへのジョブ割り当てによる性能低下を防止することができる、という効果も同様である。また、メモリリマップを行うことによって、ジョブが使用するメモリに近く、かつ温度の低いプロセッサに、そのジョブが割り当てられる確率が高くなり、結果としてマルチプロセッサ計算機システム1の処理能力が高くなる、という同様の効果を奏することができる。   Therefore, for each job, the processor temperature and the logical distance relation between the memory require the assignment to the optimum processor, and if the assignment to the processor is not possible, the processor close to the request is assigned. This also has the same effect that performance degradation due to job assignment to a CPU can be prevented. Further, by performing the memory remapping, the probability that the job is assigned to a processor close to the memory used by the job and at a low temperature is increased, and as a result, the processing capability of the multiprocessor computer system 1 is increased. Similar effects can be achieved.

実施の形態1及び実施の形態2について、前記のハードウエア構成やフローチャートは一例であり、任意に変更及び修正が可能である。   Regarding the first embodiment and the second embodiment, the hardware configuration and the flowchart described above are merely examples, and can be arbitrarily changed and modified.

制御部2、主記憶部3、外部記憶部4、入出力部5、内部バスBなどから構成されるジョブ割当処理を行う中心となる部分は、専用のシステムによらず、1つのプロセッサとメモリの組(実施の形態1の場合)又は1つのノード(実施の形態2の場合)を用いて実現してもよい。例えば、前記の動作を実行するためのコンピュータプログラムを、コンピュータが読みとり可能な記録媒体(フレキシブルディスク、CD-ROM、DVD-ROM等)に格納して配布し、当該コンピュータプログラムをマルチプロセッサ計算機システムの1つのプロセッサ又はノードにインストールすることにより、前記の処理を実行する装置を構成してもよい。また、インターネット等の通信ネットワーク上のサーバ装置が有する記憶装置に当該コンピュータプログラムを格納しておき、通常のマルチプロセッサ計算機システムがダウンロード等することで本発明のマルチプロセッサ計算機システム1を構成してもよい。   The central part that performs job allocation processing including the control unit 2, the main storage unit 3, the external storage unit 4, the input / output unit 5, the internal bus B, and the like is not based on a dedicated system, but a single processor and memory. It may be realized using a set of (in the case of the first embodiment) or one node (in the case of the second embodiment). For example, a computer program for executing the above operations is stored and distributed on a computer-readable recording medium (flexible disk, CD-ROM, DVD-ROM, etc.), and the computer program is distributed in a multiprocessor computer system. An apparatus that executes the above-described processing may be configured by installing the program on one processor or node. Further, the computer program is stored in a storage device included in a server device on a communication network such as the Internet, and the multiprocessor computer system 1 of the present invention is configured by downloading or the like by a normal multiprocessor computer system. Good.

前記制御部の機能を1つのプロセッサ又はノードで実現するのでなく、複数のプロセッサ又はノードに当該プログラムを分散して配置し、その複数のプロセッサ又はノードが協働して前記機能を実現してもよい。   The function of the control unit is not realized by one processor or node, but the program is distributed and arranged in a plurality of processors or nodes, and the functions are realized by the cooperation of the plurality of processors or nodes. Good.

また、前記の各機能を、OS(オペレーティングシステム)とアプリケーションプログラムの分担、またはOSとアプリケーションプログラムとの協働により実現する場合などには、アプリケーションプログラム部分のみを記録媒体や記憶装置に格納してもよい。   When each of the above functions is realized by sharing an OS (operating system) and an application program, or by cooperation between the OS and the application program, only the application program part is stored in a recording medium or a storage device. Also good.

また、搬送波に上述のコンピュータプログラムを重畳し、通信ネットワークを介して配信することも可能である。   It is also possible to superimpose the above computer program on a carrier wave and distribute it via a communication network.

本発明の実施の形態1に係るマルチプロセッサ計算機システムの論理的構成を示すブロック図である。It is a block diagram which shows the logical structure of the multiprocessor computer system which concerns on Embodiment 1 of this invention. 本発明の実施の形態1に係るマルチプロセッサ計算機システムの一例を示すブロック図である。It is a block diagram which shows an example of the multiprocessor computer system which concerns on Embodiment 1 of this invention. 本発明の実施の形態に係るマルチプロセッサ計算機システムにおいて、プロセッサの温度によってプロセッサの動作クロック周波数を制御する動作の一例を示すフローチャートである。6 is a flowchart illustrating an example of an operation of controlling the operation clock frequency of the processor according to the temperature of the processor in the multiprocessor computer system according to the embodiment of the present invention. 本発明の実施の形態に係るマルチプロセッサ計算機システムのジョブメモリ解析の動作の一例を示すフローチャートである。It is a flowchart which shows an example of the operation | movement of the job memory analysis of the multiprocessor computer system which concerns on embodiment of this invention. 本発明の実施の形態に係るマルチプロセッサ計算機システムのジョブ割当の動作の一例を示すフローチャートである。It is a flowchart which shows an example of the job allocation operation | movement of the multiprocessor computer system which concerns on embodiment of this invention. 本発明の実施の形態に係るマルチプロセッサ計算機システムにおける、ジョブ割当履歴の表の一例を示す図である。It is a figure which shows an example of the table of the job allocation history in the multiprocessor computer system which concerns on embodiment of this invention. 本発明の実施の形態に係るマルチプロセッサ計算機システムにおける、ジョブ割当履歴によってメモリリマップを行う動作の一例を示すフローチャートである。6 is a flowchart showing an example of an operation for performing memory remapping based on a job allocation history in the multiprocessor computer system according to the embodiment of the present invention. 本発明の実施の形態2に係るマルチプロセッサ計算機システムの論理的構成を示すブロック図である。It is a block diagram which shows the logical structure of the multiprocessor computer system which concerns on Embodiment 2 of this invention. 本発明の実施の形態2に係るマルチプロセッサ計算機システムの一実施例を示すブロック図である。It is a block diagram which shows one Example of the multiprocessor computer system which concerns on Embodiment 2 of this invention.

符号の説明Explanation of symbols

1 マルチプロセッサ計算機システム
2 制御部
3 主記憶部
4 外部記憶部
5 入出力部
6 制御チャネル
7 制御バス
8 温度検出ライン
10 温度検出手段
11 温度センサ入力部
12 温度センサ
20 スケジューラ
30 ジョブメモリマップ解析手段
40 温度ジョブ履歴管理手段
50 メモリマップ制御手段
51、53 ノード
61、62、63 プロセッサ
71、72、73 メモリコントローラ
81、82、83 メモリ
90 ネットワーク
91、93 入出力部
B 内部バス
C クロスバ
1 Multiprocessor computer system
2 Control unit
3 Main memory
4 External storage
5 I / O section
6 Control channel
7 Control bus
8 Temperature detection line
10 Temperature detection means
11 Temperature sensor input section
12 Temperature sensor
20 Scheduler
30 Job memory map analysis means
40 Temperature job history management means
50 Memory map control means
51, 53 Node 61, 62, 63 Processor 71, 72, 73 Memory controller 81, 82, 83 Memory
90 network
91, 93 Input / output section
B Internal bus
C Crossbar

Claims (4)

ある単位のプロセッサにメモリが対応付けられており、他の単位のプロセッサに対応するメモリに対しても、当該他のプロセッサの制御系を介してアクセスすることで、全てのプロセッサが全てのメモリにアクセス可能であるマルチプロセッサ計算機システムであって、
前記全てのメモリを単一のメモリ空間としてアドレス割付制御を行うメモリマップ制御手段と、
前記各プロセッサの温度を検出する温度検出手段と、
プロセッサとメモリとの距離に基づいて、ジョブが使用するデータが格納されたメモリに最も近いプロセッサへ、ジョブの割付の要求を行うジョブメモリマップ解析手段と、
前記ジョブメモリマップ解析手段と温度検出手段の情報に基づいて、あるしきい値以下の温度のプロセッサからジョブメモリマップ解析手段の要求に最も近いプロセッサへのジョブ割り当てを制御するスケジューラ手段と、
を備えることを特徴とするマルチプロセッサ計算機システム。
A memory is associated with a processor of a certain unit, and all the processors can access all the memories by accessing the memory corresponding to the processor of another unit via the control system of the other processor. A multiprocessor computer system that is accessible,
Memory map control means for performing address allocation control with all the memories as a single memory space;
Temperature detecting means for detecting the temperature of each processor;
Job memory map analysis means for requesting job allocation to the processor closest to the memory storing the data used by the job based on the distance between the processor and the memory;
Based on the information of the job memory map analyzing means and the temperature detecting means, a scheduler means for controlling job assignment from a processor having a temperature below a certain threshold value to a processor closest to the request of the job memory map analyzing means,
A multiprocessor computer system comprising:
前記スケジューラ手段のジョブ割り当て履歴を記憶するジョブ割当履歴記憶手段を備え、前記ジョブメモリマップ解析手段が要求するジョブ割付と異なるプロセッサへジョブ割当が行われる状態が継続している場合に、前記スケジューラ手段にジョブ実行の一時停止を指令し、ジョブ割り当て要求の多いデータがより低温のプロセッサに対応付けられたメモリに格納されるように、データの再配置をメモリマップ制御手段に指令する温度ジョブ履歴管理手段を有する請求項1に記載のマルチプロセッサ計算機システム。   Job scheduler history storage means for storing the job assignment history of the scheduler means, and when the state where job assignment to a processor different from the job assignment requested by the job memory map analyzing means continues, the scheduler means Temperature job history management that instructs the memory map control to rearrange the data so that the job execution request is temporarily stopped and the data with many job allocation requests is stored in the memory associated with the cooler processor The multiprocessor computer system according to claim 1, further comprising means. 前記ジョブメモリ解析手段におけるジョブ割付の要求が、ジョブが割り付けられたプロセッサとそのジョブが使用するメモリの距離を、各プロセッサに割り付けられるすべてのジョブで合計した値が最小になるような割付である請求項1又は2に記載のマルチプロセッサ計算機システム。   The job allocation request in the job memory analysis means is an allocation in which the distance between the processor to which the job is allocated and the memory used by the job is the sum of all jobs allocated to each processor is minimized. The multiprocessor computer system according to claim 1 or 2. ある単位のプロセッサにメモリが対応付けられており、他の単位のプロセッサに対応するメモリに対しても、当該他のプロセッサの制御系を介してアクセスすることで、全てのプロセッサが全てのメモリにアクセス可能であるマルチプロセッサ計算機システムにおいて、コンピュータを、
前記全てのメモリを単一のメモリ空間としてアドレス割付制御を行うメモリマップ制御手段と、
前記各プロセッサの温度を検出する温度検出手段と、
プロセッサとメモリとの距離に基づいて、ジョブが使用するデータが格納されたメモリに最も近いプロセッサへ、ジョブの割付の要求を行うジョブメモリマップ解析手段と、
前記ジョブメモリマップ解析手段と温度検出手段の情報に基づいて、あるしきい値以下の温度のプロセッサからジョブメモリマップ解析手段の要求に最も近いプロセッサへのジョブ割り当てを制御するスケジューラ手段と、
して機能させるためのコンピュータプログラム。
A memory is associated with a processor of a certain unit, and all the processors can access all the memories by accessing the memory corresponding to the processor of another unit via the control system of the other processor. In a multiprocessor computer system that is accessible, the computer
Memory map control means for performing address allocation control with all the memories as a single memory space;
Temperature detecting means for detecting the temperature of each processor;
Job memory map analysis means for requesting job allocation to the processor closest to the memory storing the data used by the job based on the distance between the processor and the memory;
Based on the information of the job memory map analyzing means and the temperature detecting means, a scheduler means for controlling job assignment from a processor having a temperature below a certain threshold value to a processor closest to the request of the job memory map analyzing means,
Computer program to make it function.
JP2005099580A 2005-03-30 2005-03-30 Multiprocessor computer system for allocating job by temperature monitoring, and computer program Pending JP2006277637A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005099580A JP2006277637A (en) 2005-03-30 2005-03-30 Multiprocessor computer system for allocating job by temperature monitoring, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005099580A JP2006277637A (en) 2005-03-30 2005-03-30 Multiprocessor computer system for allocating job by temperature monitoring, and computer program

Publications (1)

Publication Number Publication Date
JP2006277637A true JP2006277637A (en) 2006-10-12

Family

ID=37212292

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005099580A Pending JP2006277637A (en) 2005-03-30 2005-03-30 Multiprocessor computer system for allocating job by temperature monitoring, and computer program

Country Status (1)

Country Link
JP (1) JP2006277637A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008262340A (en) * 2007-04-11 2008-10-30 Denso Corp Automatic code generating device for dual core
JP2011197715A (en) * 2010-03-17 2011-10-06 Fujitsu Ltd Load distribution system and computer program
JP2012215936A (en) * 2011-03-31 2012-11-08 Nec Corp Job scheduling method by io configuration
JPWO2013008325A1 (en) * 2011-07-13 2015-02-23 富士通株式会社 Multi-core processor system and control method
JP2016139171A (en) * 2015-01-26 2016-08-04 日本電信電話株式会社 Resource allocation device, resource allocation system and resource allocation method
US9588577B2 (en) 2013-10-31 2017-03-07 Samsung Electronics Co., Ltd. Electronic systems including heterogeneous multi-core processors and methods of operating same
CN113032145A (en) * 2021-03-18 2021-06-25 北京计算机技术及应用研究所 Task scheduling method based on localization multi-NUMA node CPU junction temperature balancing strategy

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008262340A (en) * 2007-04-11 2008-10-30 Denso Corp Automatic code generating device for dual core
JP2011197715A (en) * 2010-03-17 2011-10-06 Fujitsu Ltd Load distribution system and computer program
US9152472B2 (en) 2010-03-17 2015-10-06 Fujitsu Limited Load distribution system
JP2012215936A (en) * 2011-03-31 2012-11-08 Nec Corp Job scheduling method by io configuration
JPWO2013008325A1 (en) * 2011-07-13 2015-02-23 富士通株式会社 Multi-core processor system and control method
US9547576B2 (en) 2011-07-13 2017-01-17 Fujitsu Limited Multi-core processor system and control method
US9588577B2 (en) 2013-10-31 2017-03-07 Samsung Electronics Co., Ltd. Electronic systems including heterogeneous multi-core processors and methods of operating same
JP2016139171A (en) * 2015-01-26 2016-08-04 日本電信電話株式会社 Resource allocation device, resource allocation system and resource allocation method
CN113032145A (en) * 2021-03-18 2021-06-25 北京计算机技术及应用研究所 Task scheduling method based on localization multi-NUMA node CPU junction temperature balancing strategy
CN113032145B (en) * 2021-03-18 2023-12-26 北京计算机技术及应用研究所 Task scheduling method based on domestic multi-NUMA node CPU junction temperature balancing strategy

Similar Documents

Publication Publication Date Title
US10817217B2 (en) Data storage system with improved time-to-ready
US8327103B1 (en) Scheduling data relocation activities using configurable fairness criteria
US10642500B2 (en) Methods, systems and computer readable media for intelligent fetching of data storage device commands from submission queues
JP2006277637A (en) Multiprocessor computer system for allocating job by temperature monitoring, and computer program
US20170083474A1 (en) Distributed memory controller
US9823875B2 (en) Transparent hybrid data storage
JP2006302255A (en) Data storage device with nonvolatile memory of different kind and method for driving thereof
JP2009528610A (en) Method and apparatus for dynamically resizing cache partition based on task execution phase
JP2021166034A (en) Network-on-chip data processing method and device
JP2007026094A (en) Execution device and application program
CN107273200B (en) Task scheduling method for heterogeneous storage
TWI533146B (en) Virtual resource adjusting method, device and computer readable storage medium for storing thereof
KR101140914B1 (en) Technique for controlling computing resources
KR20130035934A (en) Method for dynamically configuring resouces in storage device and the storage device and storage medium therefor
US11231872B2 (en) Identification of substitute controllers based on temperature data
US9465745B2 (en) Managing access commands by multiple level caching
JP2009277022A (en) Information processing system, load control method, and load control program
US10872015B2 (en) Data storage system with strategic contention avoidance
US20160363973A1 (en) Workload allocation based on downstream thermal impacts
US20220113898A1 (en) Data storage system with workload-based asymmetry compensation
JP2022121124A (en) Job assignment control device, job assignment control method, and job assignment control program
KR20230068709A (en) Scheduler, method for operating the same and electronic device including the same
JP6364827B2 (en) Information processing apparatus, resource access method thereof, and resource access program
WO2024009747A1 (en) Information processing device, information processing method, and program
CN112352216A (en) Data storage method and data storage device

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070126

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080213

RD04 Notification of resignation of power of attorney

Effective date: 20080527

Free format text: JAPANESE INTERMEDIATE CODE: A7424

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091105

A131 Notification of reasons for refusal

Effective date: 20091117

Free format text: JAPANESE INTERMEDIATE CODE: A131

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100309