[go: up one dir, main page]

JP2010039802A - Multiprocessor system, scheduling method and program therefor - Google Patents

Multiprocessor system, scheduling method and program therefor Download PDF

Info

Publication number
JP2010039802A
JP2010039802A JP2008202629A JP2008202629A JP2010039802A JP 2010039802 A JP2010039802 A JP 2010039802A JP 2008202629 A JP2008202629 A JP 2008202629A JP 2008202629 A JP2008202629 A JP 2008202629A JP 2010039802 A JP2010039802 A JP 2010039802A
Authority
JP
Japan
Prior art keywords
processor
power consumption
thread
processors
threshold
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.)
Withdrawn
Application number
JP2008202629A
Other languages
Japanese (ja)
Inventor
Kazuhiro Kusano
和寛 草野
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 JP2008202629A priority Critical patent/JP2010039802A/en
Publication of JP2010039802A publication Critical patent/JP2010039802A/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Power Sources (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a multiprocessor system, etc. capable of demonstrating performance while balancing loads on a plurality of processors and suppressing power consumption. <P>SOLUTION: The multiprocessor system 1 with first and second processors 11a to 11b and task queues 29a to 29b maintaining threads respectively to be executed by the respective processors comprises: a power consumption information collecting means 21 for collecting power consumption information from a power consumption recording means; a judging means 25 for judging that thread shifting is required unless power consumption of a second processor other than a first processor exceeds a second threshold smaller than a first threshold when power consumption of the first processor among a plurality of processors exceeds a first threshold; and a thread shifting means 27 for shifting a thread maintained in a task queue of the first processor to a task queue of the second processor. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明はマルチプロセッサシステムに関し、特にそこで実行されるスレッドのスケジューリングに関する。   The present invention relates to multiprocessor systems, and more particularly to scheduling threads executed therein.

コンピュータで、プロセッサの動作クロックの高速化によって性能を向上させることは、プロセッサの面積あたりの発熱量が既に過大であるなどの理由で、限界に達している。そのため、近年は複数のプロセッサを備え、処理を並列化することによって性能の向上を行うコンピュータが多くなっている。これをマルチプロセッサシステムという。マルチプロセッサシステムは、消費電力および温度の上昇も、該システムが備えているプロセッサの数だけ生じることになり、このことがコンピュータシステムの新たな問題となっている。   In a computer, improving the performance by increasing the operating clock of the processor has reached its limit because the amount of heat generated per processor area is already excessive. Therefore, in recent years, an increasing number of computers have a plurality of processors and improve performance by parallelizing processing. This is called a multiprocessor system. In a multiprocessor system, an increase in power consumption and temperature is caused by the number of processors included in the system, which is a new problem of a computer system.

マルチプロセッサシステムにおいては、実行しようとしている複数の処理(タスクまたはスレッド)を各々のプロセッサに割り振る処理が不可欠である。これをスケジューリングという。このスケジューリングで、複数のプロセッサ間で負荷にバラツキが生じないよう、均等かつ適切にスレッドを割り振ることが、マルチプロセッサシステムにとっては重要である。マルチプロセッサシステムをサポートするOS(オペレーティングシステム)は、スケジューリングに係る機能、たとえば実行予定のスレッドをプロセッサごとにタスクキューに保存し、その保存中のスレッドをタスクキュー間で移動するなどのような機能を標準的に備えている。   In a multiprocessor system, it is indispensable to allocate a plurality of processes (tasks or threads) to be executed to each processor. This is called scheduling. In this scheduling, it is important for a multiprocessor system to allocate threads equally and appropriately so that the load does not vary among a plurality of processors. An OS (operating system) that supports a multiprocessor system has a function related to scheduling, for example, a function of storing a thread to be executed in a task queue for each processor and moving the stored thread between task queues. Is provided as standard.

一方、多くのコンピュータシステムは、該システム内部に温度や消費電力を測定する機能を標準的に備えており、それらについて次のような文献が開示されている。特許文献1には、目標性能を設定しておき、それを達成するレベルにクロックを変更して消費電力を抑えるという技術が記載されている。特許文献2および4には、コンピュータシステムやプロセッサの使用電力量を測定し、それを履歴情報として保存するという技術が記載されている。特許文献3には、実行予定の業務を複数のサーバ間で移動し、その結果業務が稼働しなくなったサーバの電源をオフにするという技術が記載されている。   On the other hand, many computer systems have a standard function of measuring temperature and power consumption in the system, and the following documents are disclosed for these. Japanese Patent Application Laid-Open No. 2004-133867 describes a technique of setting a target performance and changing the clock to a level to achieve the target performance to suppress power consumption. Patent Documents 2 and 4 describe techniques for measuring the power consumption of a computer system or processor and storing it as history information. Patent Document 3 describes a technique in which a business to be executed is moved between a plurality of servers, and as a result, a server whose business is no longer operating is turned off.

この他、たとえば非特許文献1〜2にそれぞれ記載されているインテル株式会社のスピードステップ(SpeedStep、登録商標)技術およびスロットリング(Throttling)技術などのように、消費電力が大きくなったことや温度が高くなったことを検出してプロセッサの動作クロックを下げ、消費電力を抑制するという技術も既に公知である。   In addition, the increased power consumption and temperature, such as Intel Corporation's SpeedStep (registered trademark) technology and throttling technology described in Non-Patent Documents 1 and 2, respectively. Also known is a technique for detecting the increase in the power consumption and lowering the operating clock of the processor to reduce power consumption.

特開2002−358139号公報JP 2002-358139 A 特開2003−178106号公報JP 2003-178106 A 特開2007−310791号公報JP 2007-310791 A 特開2008−102927号公報JP 2008-102927 A 「ワイヤレスIntel SpeedStepパワー・マネージャ」インテル株式会社、2005年"Wireless Intel SpeedStep Power Manager" Intel Corporation, 2005 「マルチコア・アーキテクチャーの改良: EPIスロットリングと非対称マルチプロセシングによる電力効率の改善」インテル株式会社、2006年2月"Improvement of multi-core architecture: EPI throttling and asymmetric multiprocessing to improve power efficiency" Intel Corporation, February 2006

しかしながら、従来のマルチプロセッサシステムでは、消費電力を記録するのみであり、現在実行中のスレッドの実行時に消費電力を抑制するのではなく、次のスレッドを実行する際に該消費電力情報を参考にして目標性能を設定し、それに基づいてスレッドを実行するしかなかった。目標性能の設定は煩雑な処理であり、またその設定が適切でないと、実行時の消費電力がかえって高くなる可能性もある。   However, the conventional multiprocessor system only records the power consumption, and does not suppress the power consumption when executing the currently executing thread, but refers to the power consumption information when executing the next thread. The target performance was set and the thread was executed based on the target performance. Setting the target performance is a complicated process, and if the setting is not appropriate, there is a possibility that the power consumption at the time of execution is rather high.

また、この技術に、プロセッサの動作クロックを下げて消費電力を抑制するという手法を組み合わせると、動作クロックを下げられたプロセッサで実行される全てのスレッドの実行が遅くなる。消費電力が高い状況を作り出しているスレッドだけでなく、それとは関係ないスレッドまでが、実行が遅くなることによる影響を受けてしまう。   In addition, when this technique is combined with a technique for reducing power consumption by lowering the operating clock of the processor, execution of all threads executed by the processor whose operating clock is lowered is delayed. Not only threads that create a high power consumption situation, but also unrelated threads are affected by slow execution.

一方、消費電力を基準として、実行予定の業務を複数のサーバ間で移動するという技術は、前述の特許文献3で開示されている。しかしながら、これは複数のサーバ間で業務に係る負荷を均等化するものではなく、それどころか業務が稼働しなくなったサーバの電源をオフにして、消費電力を節減することを目的とするものである。   On the other hand, a technique of moving a business scheduled to be executed between a plurality of servers on the basis of power consumption is disclosed in Patent Document 3 described above. However, this does not equalize the work load among a plurality of servers, but rather aims to reduce the power consumption by turning off the power of the server in which the work has stopped.

既に述べたように、マルチプロセッサシステムのスケジューリングでは、複数のプロセッサ間で負荷にバラツキが生じないよう、均等かつ適切にスレッドを割り振ることが重要であるので、明らかにそのことに反する特許文献3の技術をこの目的に使用することはできない。従って、特許文献3の技術に残る特許文献1,2,4と非特許文献1〜2の技術を組み合わせること自体に意味がなく、またそれらの組み合わせによって何の問題点を解決するものでもない。   As already described, in scheduling of a multiprocessor system, it is important to allocate threads equally and appropriately so that there is no variation in load among a plurality of processors. Technology cannot be used for this purpose. Therefore, it is meaningless to combine the techniques of Patent Documents 1, 2, and 4 that remain in the technique of Patent Document 3 with the techniques of Non-Patent Documents 1 and 2, and the combination does not solve any problems.

本発明の目的は、煩雑な目標性能の設定をしなくても、マルチプロセッサシステムで複数のプロセッサにかかる負荷を平均化し、消費電力を抑制しつつ性能を発揮できるマルチプロセッサシステム、スケジューリング方法およびそのプログラムを提供することにある。   An object of the present invention is to provide a multiprocessor system, a scheduling method, and a scheduling method capable of averaging the load applied to a plurality of processors in a multiprocessor system without exerting a complicated target performance setting, and exhibiting performance while suppressing power consumption. To provide a program.

上記目的を達成するため、本発明に係るマルチプロセッサシステムは、第1および第2のプロセッサと、第1および第2のプロセッサの消費電力を時刻ごとに記録する消費電力記録手段と、第1および第2のプロセッサの各々がそれぞれに実行予定のスレッドを保持するタスクキューとを有するマルチプロセッサシステムであって、消費電力記録手段から消費電力情報を収集する消費電力情報収集手段と、複数のプロセッサのうち第1のプロセッサの消費電力が予め定められた第1の閾値を超えた場合に、第1のプロセッサ以外の第2のプロセッサの消費電力が第1の閾値より小さい値が予め定められた第2の閾値を超えていなければ、スレッドの移動が必要であると判断する判断手段と、判断手段がスレッドの移動が必要であると判断したら、第1のプロセッサのタスクキューに保持されているスレッドを第2のプロセッサのタスクキューに移動させるスレッド移動手段とを備えたことを特徴とする。   To achieve the above object, a multiprocessor system according to the present invention includes first and second processors, power consumption recording means for recording power consumption of the first and second processors for each time, first and second Each of the second processors is a multiprocessor system having a task queue that holds a thread to be executed, and includes a power consumption information collecting unit that collects power consumption information from a power consumption recording unit, and a plurality of processors When the power consumption of the first processor exceeds a predetermined first threshold, the power consumption of the second processor other than the first processor is smaller than the first threshold. If the threshold of 2 is not exceeded, the determination means for determining that the movement of the thread is necessary, and the determination means determines that the movement of the thread is necessary , Characterized in that a thread moving means for moving the thread held by the first processor task queue to the second processor task queue.

上記目的を達成するため、本発明に係るスケジューリング方法は、第1および第2のプロセッサと、第1および第2のプロセッサの各々がそれぞれに実行予定のスレッドを保持するタスクキューとを有するマルチプロセッサシステムで、第1および第2のプロセッサの間で実行予定のスレッドを割り振るスケジューリング方法であって、第1および第2のプロセッサの消費電力を時刻ごとに記録して消費電力情報を収集し、複数のプロセッサのうち第1のプロセッサの消費電力が予め定められた第1の閾値を超えたか否かを判断し、第1のプロセッサの消費電力が第1の閾値を超えた場合、第1のプロセッサ以外の第2のプロセッサの消費電力が第1の閾値より小さい値が予め定められた第2の閾値を超えていないか否かを判断し、第2のプロセッサの消費電力が第2の閾値を超えていなければ、第1のプロセッサのタスクキューに保持されているスレッドを第2のプロセッサのタスクキューに移動させることを特徴とする。   To achieve the above object, a scheduling method according to the present invention includes a first processor and a second processor, and a multiprocessor having a task queue in which each of the first and second processors holds a thread to be executed. A scheduling method for allocating a thread scheduled to be executed between a first and second processor in a system, collecting power consumption information by recording power consumption of the first and second processors for each time, and It is determined whether or not the power consumption of the first processor out of the first processor exceeds a predetermined first threshold, and if the power consumption of the first processor exceeds the first threshold, the first processor It is determined whether the power consumption of the second processor other than the second processor is smaller than the second threshold, and whether the second power consumption is less than the second threshold. If the power consumption of the processor does not exceed the second threshold value, and wherein the moving the thread held by the first processor task queue to the second processor task queue.

上記目的を達成するため、本発明に係るスケジューリングプログラムは、第1および第2のプロセッサと、第1および第2のプロセッサの各々がそれぞれに実行予定のスレッドを保持するタスクキューとを有するマルチプロセッサシステムに、第1および第2のプロセッサの消費電力を時刻ごとに記録して消費電力情報を収集する処理と、複数のプロセッサのうち第1のプロセッサの消費電力が予め定められた第1の閾値を超えたか否かを判断する処理と、第1のプロセッサの消費電力が第1の閾値を超えた場合、第1のプロセッサ以外の第2のプロセッサの消費電力が第1の閾値より小さい値が予め定められた第2の閾値を超えていないか否かを判断する処理と、第2のプロセッサの消費電力が第2の閾値を超えていなければ、第1のプロセッサのタスクキューに保持されているスレッドを第2のプロセッサのタスクキューに移動させる処理とを実行させることを特徴とする。   To achieve the above object, a scheduling program according to the present invention includes a first processor, a second processor, and a multiprocessor having a task queue that holds a thread scheduled to be executed by each of the first and second processors. A process for recording power consumption information by recording the power consumption of the first and second processors for each time in the system, and a first threshold in which the power consumption of the first processor among the plurality of processors is predetermined If the power consumption of the first processor exceeds the first threshold, the power consumption of the second processor other than the first processor is smaller than the first threshold. A process for determining whether or not a predetermined second threshold is exceeded, and if the power consumption of the second processor does not exceed the second threshold, the first program And characterized in that the thread Tsu held in support of the task queue and a process of moving to the second processor task queue.

本発明は、上述したように消費電力と第1の閾値とを比較することによって、スレッドの移動の要否を判断する判断手段を設けたので、目標性能の設定をする必要がないばかりでなく、煩雑な目標性能の設定をしなくても、マルチプロセッサシステムで複数のプロセッサにかかる負荷を平均化し、消費電力を抑制しつつ性能を発揮できるという、従来にない優れたマルチプロセッサシステム、スケジューリング方法およびそのプログラムを提供することができる。   In the present invention, as described above, the determination means for determining whether or not the thread needs to be moved is provided by comparing the power consumption and the first threshold, so that it is not necessary to set the target performance. An unprecedented superior multiprocessor system and scheduling method that can average the load on multiple processors in a multiprocessor system and achieve performance while suppressing power consumption without setting complicated target performance. And its program can be provided.

[第1の実施の形態]
以下、本発明の第1の実施の形態を添付図に基づいて説明する。
最初に、本実施の形態の基本的な内容について説明し、その後で具体的な内容について説明する。
本実施の形態に係るマルチプロセッサシステム1は、図1に示すように、第1および第2のプロセッサ11a〜bと、第1および第2のプロセッサの消費電力を時刻ごとに記録する消費電力記録手段(コントローラ16)と、第1および第2のプロセッサの各々がそれぞれに実行予定のスレッドを保持するタスクキュー29a〜bとを有する。
[First Embodiment]
DESCRIPTION OF EXEMPLARY EMBODIMENTS Hereinafter, a first embodiment of the invention will be described with reference to the accompanying drawings.
First, basic contents of the present embodiment will be described, and then specific contents will be described.
As shown in FIG. 1, the multiprocessor system 1 according to the present embodiment records power consumption of the first and second processors 11a and 11b and the first and second processors for each time. Means (controller 16), and each of the first and second processors has task queues 29a-b each holding a thread to be executed.

その上でマルチプロセッサシステム1は、図2に示すように、消費電力記録手段(コントローラ16)から消費電力情報を収集する消費電力情報収集手段(消費電力情報収集部21)と、スレッド移動の要否を判断する判断手段(状態判定部25)と、第1のプロセッサ11aのタスクキュー29aに保持されているスレッドを第2のプロセッサ11bのタスクキュー29bに移動させるスレッド移動手段(スレッド移動部27)とを備える。
そして、判断手段(状態判定部25)は、第1のプロセッサ11aの消費電力が第1の閾値(後述のL2)を超えた場合に、第2のプロセッサ11bの消費電力が第2の閾値(後述のL1、L1<L2)を超えていなければ、スレッドの移動が必要であると判断する。この判断に基づいて、スレッド移動手段(スレッド移動部27)は第1のプロセッサ11aのタスクキュー29aに保持されているスレッドを第2のプロセッサ11bのタスクキュー29bに移動させる。
Then, as shown in FIG. 2, the multiprocessor system 1 includes a power consumption information collecting unit (power consumption information collecting unit 21) that collects power consumption information from the power consumption recording unit (controller 16), and the necessity of thread movement. Judgment means (state judgment unit 25) for judging NO and thread movement means (thread movement unit 27) for moving a thread held in the task queue 29a of the first processor 11a to the task queue 29b of the second processor 11b ).
Then, when the power consumption of the first processor 11a exceeds the first threshold (L2 described later), the determination unit (state determination unit 25) determines that the power consumption of the second processor 11b is the second threshold ( If it does not exceed L1 and L1 <L2) described later, it is determined that the movement of the thread is necessary. Based on this determination, the thread moving means (thread moving unit 27) moves the thread held in the task queue 29a of the first processor 11a to the task queue 29b of the second processor 11b.

ここで、消費電力情報収集手段(消費電力情報収集部21)は、第1もしくは第2のプロセッサ11a〜bで実行されるスレッドの切り替えのタイミングで消費電力情報を収集するようになっている。
そして、第1および第2のプロセッサ11a〜bの消費電力がいずれも第1の閾値を超えている場合、つまりスレッドの移動を行っても両プロセッサにかかる負荷が平均化しない場合に、判断手段(状態判定部25)が動作条件決定手段(動作条件決定部30)に、第1および第2のプロセッサにおけるスレッドの実行方針を変更させることができる。
この場合の「スレッドの実行方針の変更」とは、たとえば当該プロセッサの動作周波数もしくは電圧のうち少なくとも一方の低下であってもよく、また当該プロセッサで一定時間の間何のスレッドも実行しない空き時間の挿入であってもよい。
Here, the power consumption information collection means (power consumption information collection unit 21) collects power consumption information at the timing of thread switching executed by the first or second processor 11a-b.
When the power consumption of each of the first and second processors 11a and 11b exceeds the first threshold value, that is, when the load applied to both processors is not averaged even when the threads are moved, the judging means The (state determining unit 25) can cause the operating condition determining means (the operating condition determining unit 30) to change the thread execution policy in the first and second processors.
In this case, the “change in thread execution policy” may be, for example, a decrease in at least one of the operating frequency or voltage of the processor, and a free time during which no thread is executed in the processor for a certain period of time. May be inserted.

そして、判断手段(状態判定部25)は、第1のプロセッサ11aの消費電力が第3の閾値(後述のL3、L2<L3)を超えた場合に、第2のプロセッサ11bの消費電力が第1の閾値(後述のL2)を超えていなければ、第1のプロセッサ11aのタスクキュー29aに保持されているスレッドを第2のプロセッサ11bのタスクキュー29bに移動させる。   Then, the determination unit (state determination unit 25) determines that the power consumption of the second processor 11b is the first power consumption when the power consumption of the first processor 11a exceeds a third threshold (L3, L2 <L3 described later). If the threshold value 1 (L2 described later) is not exceeded, the thread held in the task queue 29a of the first processor 11a is moved to the task queue 29b of the second processor 11b.

このようにすることにより、目標性能の設定をしなくても、適切に複数のプロセッサにかかる負荷を平均化することのできるマルチプロセッサシステム1を得ることができる。以下、これをさらに詳述する。   By doing so, it is possible to obtain the multiprocessor system 1 that can appropriately average the loads applied to a plurality of processors without setting the target performance. This will be described in further detail below.

図1は本発明の実施の形態に係るマルチプロセッサシステム1の構成を示す概念図である。マルチプロセッサシステム1は、複数のプロセッサ11a〜bを備えるコンピュータである。各々のプロセッサ11a〜bはそれぞれ、電源供給手段12a〜b、電流測定手段13a〜b、温度測定手段14a〜bを備える。以後、参照番号の後にaの記号が付いているものはプロセッサ11aについてのものであることを示し、参照番号の後にbの記号が付いているものはプロセッサ11bについてのものであることを示すものとする。   FIG. 1 is a conceptual diagram showing a configuration of a multiprocessor system 1 according to an embodiment of the present invention. The multiprocessor system 1 is a computer including a plurality of processors 11a and 11b. Each processor 11a-b includes power supply means 12a-b, current measuring means 13a-b, and temperature measuring means 14a-b, respectively. Hereinafter, the reference number followed by the symbol a indicates that the processor 11a is attached, and the reference number followed by the symbol b indicates the processor 11b. And

電源供給手段12a〜bは、コンピュータのハードウェアの状態を制御するマイクロコンピュータであるコントローラ16の制御により、プロセッサ11a〜bの動作周波数および電圧を決定することができる。この動作周波数および電圧の決定については、任意の公知技術を適用することができる。   The power supply means 12a-b can determine the operating frequency and voltage of the processors 11a-b under the control of the controller 16, which is a microcomputer that controls the hardware state of the computer. Any known technique can be applied to the determination of the operating frequency and voltage.

電流測定手段13a〜bはセンス抵抗15a〜bを含み、該センス抵抗の両端の電圧を測定することにより、プロセッサ11a〜bに流れる電流値を測定し、この電流値から各プロセッサ11a〜bの消費電力を把握することができる。温度測定手段14a〜bは各々のプロセッサ11a〜bに内蔵された温度センサである。電流測定手段13a〜bおよび温度測定手段14a〜bによる測定結果は、コントローラ16に、時刻と共に記憶される。   The current measuring means 13a-b includes sense resistors 15a-b, and by measuring the voltage across the sense resistors, the current value flowing through the processors 11a-b is measured, and the current value of each processor 11a-b is determined from this current value. The power consumption can be grasped. The temperature measuring means 14a-b is a temperature sensor built in each processor 11a-b. The measurement results by the current measuring means 13a-b and the temperature measuring means 14a-b are stored in the controller 16 together with the time.

プロセッサ11a〜bで動作するOSは、チップセット17を経由してコントローラ16から温度および電流の測定結果を取得し、それによってプロセッサ11a〜bの消費電力を把握することができる。さらに、把握された消費電力に応じて、コントローラ16から電源供給手段12a〜bに対してプロセッサ11a〜bの動作周波数および電圧を変更させる制御命令を発行させることもできる。   The OS operating in the processors 11a and 11b can obtain the temperature and current measurement results from the controller 16 via the chipset 17, and thereby grasp the power consumption of the processors 11a and 11b. Furthermore, a control command for changing the operating frequency and voltage of the processors 11a-b can be issued from the controller 16 to the power supply means 12a-b according to the grasped power consumption.

図1において、電流測定手段13a〜bおよび温度測定手段14a〜bによる測定結果は破線、コントローラ16から電源供給手段12a〜bへの制御命令は点線、プロセッサ11a〜bからコントローラ16への制御命令およびデータ取得は太線、それ以外の接続関係は実線で示されている。   In FIG. 1, the measurement results by the current measurement means 13a-b and the temperature measurement means 14a-b are broken lines, the control command from the controller 16 to the power supply means 12a-b is a dotted line, and the control command from the processors 11a-b to the controller 16 Data acquisition is indicated by bold lines, and other connection relationships are indicated by solid lines.

このように、プロセッサが自らの消費電力および動作温度を把握し、それに応じて自らの動作周波数および電圧を変更する仕組みは、背景技術の欄で説明したように公知であり、多くのコンピュータはそのためのハードウェアを標準的に備えている。本発明は、そのようなハードウェアを利用することにより、既存のハードウェアを改変することなしに実現可能である。   In this way, the mechanism in which the processor grasps its own power consumption and operating temperature and changes its operating frequency and voltage accordingly is known as described in the background section, and many computers are therefore Standard hardware. The present invention can be realized without modifying existing hardware by using such hardware.

なお、この図1における記載は、本発明の原理的な部分を示したに過ぎない。実際には、もっと複雑な構造の装置が使用されるが、それらは公知である。また、コンピュータを構成する上では、図1に示した以外にも多くのデバイスが使われるが、それらも公知である。   The description in FIG. 1 only shows the principle part of the present invention. In practice, more complex structures are used, but they are known. In configuring a computer, many devices other than those shown in FIG. 1 are used, and these are also known.

図2は、図1に示したマルチプロセッサシステム1で動作するスケジューリングシステム20の構成を示す概念図である。スケジューリングシステム20は、マルチプロセッサシステム1で動作するOSの一部として実行される。以下の各々の動作部および記憶データは、OSが動作しているRAM(図示せず)上に存在し、実行される。   FIG. 2 is a conceptual diagram showing a configuration of a scheduling system 20 that operates in the multiprocessor system 1 shown in FIG. The scheduling system 20 is executed as part of an OS that runs on the multiprocessor system 1. Each of the following operation units and stored data exist on a RAM (not shown) in which the OS is operating and are executed.

消費電力情報収集部21は、スレッド切り替えのタイミングで該スレッド実行による消費電力の情報を、コントローラ16に記録された内容から収集する。消費電力記録部22は、消費電力情報収集部21で収集された消費電力に関する情報を、予め定義された一定時間のプロセッサの消費電力として、また実行スレッドの消費電力情報として消費電力情報23としてOS内部に記録する。   The power consumption information collection unit 21 collects information on power consumption due to thread execution from the content recorded in the controller 16 at the timing of thread switching. The power consumption recording unit 22 uses the information regarding the power consumption collected by the power consumption information collecting unit 21 as the power consumption information 23 as the power consumption information of the processor for a predetermined time and as the power consumption information of the execution thread. Record internally.

動作パラメータ24は、プロセッサの消費電力のレベルを決定する、後述のパラメータL1,L2,L3の各値を保持する。状態判定部25は、消費電力情報23を後述のパラメータL1,L2,L3と比較して、プロセッサの消費電力のレベルを判定する。そして状態判定部25は、この判断結果に基づいて、スレッド操作部26および動作条件決定部30に対して動作指令を発する。スレッド操作部26は、状態判定部25の指令に基づいて、スレッド移動が必要であれば、スレッド移動部27で当該スレッドを別プロセッサに移動する。なお、スレッド移動部27が実行するスレッド移動の詳細は、既に当業者に知られている技術である。   The operation parameter 24 holds values of parameters L1, L2, and L3, which will be described later, which determine the level of power consumption of the processor. The state determination unit 25 determines the power consumption level of the processor by comparing the power consumption information 23 with parameters L1, L2, and L3 described later. Then, the state determination unit 25 issues an operation command to the thread operation unit 26 and the operation condition determination unit 30 based on the determination result. If the thread operation unit 26 needs to move the thread based on a command from the state determination unit 25, the thread operation unit 26 moves the thread to another processor using the thread moving unit 27. The details of the thread movement executed by the thread moving unit 27 are techniques already known to those skilled in the art.

次の実行候補選択部28はタスクキュー29a〜bに格納されている実行予定のスレッドの中から、次に実行するスレッドを選択する。タスクキュー29aはプロセッサ11aで動作しようとしているスレッドを格納し、タスクキュー29bはプロセッサ11bで動作しようとしているスレッドを格納する。   The next execution candidate selection unit 28 selects a thread to be executed next from the execution scheduled threads stored in the task queues 29a and 29b. The task queue 29a stores threads that are going to operate on the processor 11a, and the task queue 29b stores threads that are going to operate on the processor 11b.

動作条件決定部30は、状態判定部25の指令に基づいてプロセッサ11a〜b各々の動作周波数および電圧を決定し、コントローラ16に対して制御命令を発行して当該動作周波数および電圧でそれぞれのプロセッサ11a〜bを動作させる。また動作条件決定部30は、同じようにコントローラ16に対して制御命令を発行し、プロセッサ11a〜bが何のスレッドも実行しない空き時間を挿入させることもできる。   The operating condition determining unit 30 determines the operating frequency and voltage of each of the processors 11a to 11b based on the command of the state determining unit 25, issues a control command to the controller 16, and uses each processor at the operating frequency and voltage Operate 11a-b. Similarly, the operating condition determination unit 30 can issue a control command to the controller 16 to insert a free time during which the processors 11a and 11b do not execute any thread.

なお、図2では図面の錯綜を回避するため、動作条件決定部30がコントローラ16を介してプロセッサ11a〜bの動作周波数などを制御することを示す矢印などの記載を省略している。この矢印は図1には記載されている。   In FIG. 2, in order to avoid complication of the drawing, description of an arrow or the like indicating that the operating condition determining unit 30 controls the operating frequency of the processors 11 a and 11 b through the controller 16 is omitted. This arrow is described in FIG.

図3は、図2に示したスケジューリングシステム20の動作を示すフローチャートである。まず、消費電力情報収集部21が消費電力情報を収集する(ステップS101)。収集された消費電力情報は、単位時間あたりのプロセッサの消費電力として、消費電力記録部22が消費電力情報23として記録する(ステップS102)。   FIG. 3 is a flowchart showing the operation of the scheduling system 20 shown in FIG. First, the power consumption information collection unit 21 collects power consumption information (step S101). The collected power consumption information is recorded as the power consumption information 23 by the power consumption recording unit 22 as the power consumption of the processor per unit time (step S102).

この際に、実行スレッドの情報を利用して、スレッドの実行時間に対応する消費電力情報を実行スレッドの属性として記録することにより、各スレッドの実行に伴う属性として把握することが可能となる。以上の消費電力の記録は任意のタイミングで実行可能であるが、後述の処理で利用するため、少なくともスレッド切り替えのタイミングで実行されるものとする。   At this time, by using the information of the execution thread, the power consumption information corresponding to the execution time of the thread is recorded as the attribute of the execution thread, so that it can be grasped as the attribute accompanying the execution of each thread. The above power consumption recording can be executed at an arbitrary timing, but is used at least at the timing of thread switching in order to be used in the processing described later.

次に、状態判定部25が、記録された消費電力情報23と、あらかじめ設定されて記憶されている動作パラメータ24とを比較して、プロセッサの動作状態を判定する(ステップS103)。この判定結果が、後述のスレッドの移動の必要性、および移動対象となるプロセッサの選択に利用される。   Next, the state determination unit 25 compares the recorded power consumption information 23 with the operation parameter 24 set and stored in advance and determines the operation state of the processor (step S103). This determination result is used for the necessity of moving a thread, which will be described later, and for selecting a processor to be moved.

この後、状態判定部25は、ステップS103の判定結果からスレッド移動の必要性を消費電力のレベルで判定し(ステップS104)、必要であれば移動候補プロセッサと移動スレッドを選択し(ステップS105)、スレッド移動部27にスレッドを移動させる(ステップS106)。ステップS106でスレッドの移動が完了した後、もしくはステップS104で移動が不要であると判断された場合には、次の実行候補選択部28が該プロセッサで次に実行されるスレッドを選択する(ステップS107)。なお、ステップS104〜106で示した処理については、後で詳述する。   Thereafter, the state determination unit 25 determines the necessity of thread movement from the determination result in step S103 based on the power consumption level (step S104), and selects a movement candidate processor and a movement thread if necessary (step S105). Then, the thread is moved to the thread moving unit 27 (step S106). After the movement of the thread is completed in step S106, or when it is determined in step S104 that the movement is unnecessary, the next execution candidate selection unit 28 selects the next thread to be executed by the processor (step S107). Note that the processing shown in steps S104 to S106 will be described in detail later.

図4は、図1に示したマルチプロセッサシステムで、動作パラメータ24にあらかじめ記憶された消費電力レベルの設定の一例を示す概念図である。図4の例では、動作状態を消費電力に対してL1、L2、L3という3つの閾値を設定し、「小」、「中」、「大」、および「超過」の4段階の消費電力レベルに分割している。段階数はこの例で示す4段階以外であってもよい。   FIG. 4 is a conceptual diagram showing an example of setting of the power consumption level stored in advance in the operation parameter 24 in the multiprocessor system shown in FIG. In the example of FIG. 4, three threshold values of L1, L2, and L3 are set with respect to the power consumption in the operation state, and power consumption levels in four stages of “small”, “medium”, “large”, and “excess” It is divided into. The number of stages may be other than the four stages shown in this example.

消費電力レベルが「小」の場合には、該プロセッサにかかっている負荷が軽いので、無条件で他プロセッサからのスレッド移動対象として選択可能である。消費電力レベルが「中」の場合、該プロセッサにかかっている負荷は中程度であるので、プロセッサ間で負荷に大きな偏りがある場合にのみスレッド移動対象として選択可能である。つまり、消費電力レベル「中」状態のプロセッサには、「超過」状態のプロセッサからのみスレッドを移動させることが可能である。   When the power consumption level is “low”, the load applied to the processor is light, so that it can be unconditionally selected as a thread movement target from another processor. When the power consumption level is “medium”, the load applied to the processor is medium, so that it can be selected as a thread movement target only when there is a large bias in the load among the processors. That is, it is possible to move a thread to a processor in the “medium” power consumption level only from a processor in the “excess” state.

消費電力が「大」の場合、該プロセッサにかかっている負荷が重いので、スレッドの移動対象として「小」状態のプロセッサが他にないか否かを探す。見つかった場合はそこに対してスレッドを移動する。見つからない場合、つまり他のプロセッサが全て「中」以上の負荷であると判定されている場合には、スレッド移動は行わず、プロセッサの実行方針を変更して、該プロセッサにかかっている負荷を抑制する。   When the power consumption is “large”, the load applied to the processor is heavy. Therefore, it is searched whether there is any other processor in the “small” state as a thread movement target. If found, move the thread to it. If it is not found, that is, if it is determined that all other processors have a load of “medium” or higher, the thread execution is not performed and the execution policy of the processor is changed so that the load applied to the processor is reduced. Suppress.

該プロセッサにかかっている負荷を抑制するには、具体的には、動作条件決定部30によって、コントローラ16に制御命令を送って、プロセッサ11a〜bの動作周波数および電圧を低下させる。これ以外にも、たとえばスレッドの実行に割り当てない空き時間を一定の比率で挿入することや、消費電力の高いスレッドを割り当てる際には一定の時間間隔を必要とするように設定するなどのことも、コントローラ16に制御命令を送ることによって可能である。   In order to suppress the load applied to the processor, specifically, the operating condition determination unit 30 sends a control command to the controller 16 to reduce the operating frequency and voltage of the processors 11a and 11b. In addition to this, for example, it is possible to insert idle time that is not allocated to thread execution at a fixed ratio, or to set a fixed time interval when allocating threads with high power consumption. This is possible by sending a control command to the controller 16.

最後に、消費電力が「超過」である場合、消費電力が「小」または「中」であると判定されたプロセッサに対してスレッドを移動可能である。移動対象が見つからない場合は、前述の消費電力が「大」の場合と同様に、プロセッサの実行方針を変更して負荷の抑制を行う。また、この状態での実行方針は、スレッドを新規に実行しない空き状態を消費電力の状態が「中」以下になるまで継続するようにしてもよい。これにより、プロセッサの消費電力を抑制する。   Finally, when the power consumption is “excess”, the thread can be moved to the processor determined to have the power consumption “small” or “medium”. When the movement target is not found, the execution policy of the processor is changed and the load is suppressed as in the case where the power consumption is “large”. In addition, the execution policy in this state may continue the idle state in which a thread is not newly executed until the power consumption state becomes “medium” or less. This suppresses the power consumption of the processor.

図5は、図3のステップS104〜106として示した、スレッド移動処理の詳細を示すフローチャートである。まず、該プロセッサの消費電力がL2以上であるか否か、つまり該プロセッサの消費電力の状態が「大」または「超過」であるか否かを判断する(ステップS201)。消費電力がL2未満であれば、該プロセッサの消費電力の状態は「小」または「中」であるので、特に何もしないで終了する。   FIG. 5 is a flowchart showing details of the thread movement process shown as steps S104 to S106 in FIG. First, it is determined whether or not the power consumption of the processor is equal to or greater than L2, that is, whether or not the power consumption state of the processor is “high” or “excess” (step S201). If the power consumption is less than L2, the state of the power consumption of the processor is “small” or “medium”, and the process ends without doing anything.

ステップS201で該プロセッサの消費電力がL2以上であった場合、該プロセッサ以外に消費電力の状態が「小」であるプロセッサが存在するか否かを判断し(ステップS202)、それが存在すればその消費電力の状態が「小」であるプロセッサを移動先として指定する(ステップS203)。   If the power consumption of the processor is greater than or equal to L2 in step S201, it is determined whether or not there is a processor whose power consumption is “low” other than the processor (step S202). The processor whose power consumption state is “small” is designated as the movement destination (step S203).

ステップS202で該プロセッサ以外に消費電力の状態が「小」であるプロセッサが存在しなかった場合、該プロセッサの消費電力がL3以上であるか否か、つまり該プロセッサの消費電力の状態が「超過」であるか否かを判断する(ステップS204)。「超過」であれば、該プロセッサ以外に消費電力の状態が「中」であるプロセッサが存在するか否かを判断し(ステップS205)、それが存在すればその消費電力の状態が「中」であるプロセッサを移動先として指定する(ステップS206)。   If there is no processor whose power consumption state is “low” other than the processor in step S202, whether or not the power consumption of the processor is L3 or more, that is, the power consumption state of the processor is “excess”. Is determined (step S204). If it is “exceeded”, it is determined whether or not there is a processor whose power consumption state is “medium” in addition to the processor (step S205), and if it exists, the power consumption state is “medium”. Is designated as the movement destination (step S206).

ステップS203または206で移動先として指定されたプロセッサに対して、該プロセッサのタスクキュー29a〜bに保存されている実行待ちスレッドの中から、移動するスレッドを選択し(ステップS207)、該スレッドをその移動先のプロセッサに移動する(ステップS208)。これで、スレッド移動の処理が完了する。   For the processor designated as the movement destination in step S203 or 206, a thread to be moved is selected from the execution waiting threads stored in the task queues 29a and 29b of the processor (step S207). Move to the destination processor (step S208). This completes the thread movement process.

ステップS204または205で、該当するプロセッサが存在しない場合は、スレッドの移動先として指定できるプロセッサが存在しないということである。この場合は、前述のようにプロセッサ11a〜bの動作周波数および電圧を低下させるなど、プロセッサの実行方針を変更し、該プロセッサにかかっている負荷の抑制を行う(ステップS209)。   If there is no corresponding processor in step S204 or 205, this means that there is no processor that can be designated as a thread transfer destination. In this case, the execution policy of the processor is changed, for example, the operating frequency and voltage of the processors 11a and 11b are reduced as described above, and the load applied to the processor is suppressed (step S209).

以上で説明した図5の各ステップは、ステップS201が図3のステップS104に対応し、ステップS202〜207が図3のステップS104に対応する。そして、ステップS208〜209が図3のステップS106に対応する。   In each step of FIG. 5 described above, step S201 corresponds to step S104 of FIG. 3, and steps S202 to 207 correspond to step S104 of FIG. Steps S208 to S209 correspond to step S106 in FIG.

なお、図5のステップS207に示した、タスクキュー29a〜bの中から移動するスレッドを選択するには、任意の公知技術を適用することができる。たとえば、実行時間に対して消費電力が大きなスレッドを選ぶ方法が考えられる。このほか、移動元と移動先の消費電力がほぼ均等になるようにスレッドの移動を行うことにしてもよい。この移動スレッドの決定方法は、システムの運用方針などを考慮して選択することができる。   Note that any known technique can be applied to select a thread to be moved from the task queues 29a and 29b shown in step S207 of FIG. For example, a method of selecting a thread that consumes a large amount of power with respect to the execution time can be considered. In addition, the thread may be moved so that the power consumption of the movement source and the movement destination is almost equal. The method for determining the moving thread can be selected in consideration of the system operation policy and the like.

以上のように、消費電力の大きなプロセッサから、消費電力の小さなプロセッサにスレッドを移動することで、消費電力の最大値を超えないようにすると共に、消費電力の偏りを減らした並列実行を実現する。   As described above, by moving threads from a processor with high power consumption to a processor with low power consumption, the maximum value of power consumption is not exceeded, and parallel execution with reduced power consumption is realized. .

スレッド移動の後、または移動の必要がなければ、前述のステップS107として示したように、次の実行候補選択部28で次に実行するスレッドの選択を行う。前述のように、この動作は公知技術を適用できる。   After the thread movement or if there is no need to move, the next execution candidate selection section 28 selects the next thread to be executed as shown in step S107. As described above, a known technique can be applied to this operation.

次に、上記の第1の実施の形態の全体的な動作について再び説明する。本発明の第1の実施の形態に係るマルチプロセッサシステム1は、第1および第2のプロセッサ11a〜bと、第1および第2のプロセッサの各々がそれぞれに実行予定のスレッドを保持するタスクキュー29a〜bとを有するマルチプロセッサシステムで、第1および第2のプロセッサの間で実行予定のスレッドを割り振るスケジューリング方法を提供するものである。   Next, the overall operation of the first embodiment will be described again. The multiprocessor system 1 according to the first embodiment of the present invention includes a first and second processors 11a to 11b and a task queue in which each of the first and second processors holds a thread scheduled to be executed. And a scheduling method for allocating a thread scheduled to be executed between the first and second processors.

まず第1および第2のプロセッサ11a〜bの消費電力を時刻ごとに記録して消費電力情報を収集し(図3:ステップS101〜102)、第1のプロセッサ11aの消費電力が予め定められた第1の閾値L2を超えたか否かを判断する(図5:ステップS201)。第1のプロセッサの消費電力が第1の閾値を超えた場合、第2のプロセッサ11bの消費電力が第1の閾値より小さい値が予め定められた第2の閾値L1を超えていないか否かを判断し(図5:ステップS202)、第2のプロセッサの消費電力がL1を超えていなければ、第1のプロセッサ11aのタスクキュー29aに保持されているスレッドを第2のプロセッサ11bのタスクキュー29bに移動させる(図5:ステップS203,207,208)。   First, the power consumption of the first processor 11a is recorded by recording the power consumption of the first and second processors 11a and 11b for each time (FIG. 3: steps S101 to S102), and the power consumption of the first processor 11a is predetermined. It is determined whether or not the first threshold value L2 has been exceeded (FIG. 5: Step S201). If the power consumption of the first processor exceeds the first threshold, whether or not the power consumption of the second processor 11b is smaller than the second threshold L1 determined in advance is smaller than the first threshold. (FIG. 5: step S202), and if the power consumption of the second processor does not exceed L1, the thread held in the task queue 29a of the first processor 11a is assigned to the task queue of the second processor 11b. 29b (FIG. 5: Steps S203, 207, and 208).

ここで、この消費電力情報の収集は、第1もしくは第2のプロセッサで実行されるスレッドの切り替えのタイミングで行われるものである。そして、第1および第2のプロセッサ11a〜bの消費電力がいずれも第1の閾値L2を超えている場合に、第1および第2のプロセッサにおけるタスクの実行方針を変更する(図5:ステップS209)。   Here, the collection of the power consumption information is performed at the timing of thread switching executed by the first or second processor. Then, when the power consumption of the first and second processors 11a and 11b exceeds the first threshold L2, the task execution policy in the first and second processors is changed (FIG. 5: step). S209).

ここで、上記各動作ステップについては、これをコンピュータで実行可能にプログラム化し、これらを前記各ステップを直接実行するマルチプロセッサシステム1に実行させるようにしてもよい。   Here, each of the above-described operation steps may be programmed to be executable by a computer, and may be executed by the multiprocessor system 1 that directly executes each of the steps.

以上説明したように、本発明においては、以上のような動作を行うことにより、次に記載するような効果を奏する。まず、消費電力情報をスレッドのスケジューリングおよびスレッドの移動判定に利用ことにより、目標性能の設定をしなくても、実行性能に加えて消費電力を考慮した適切なスケジューリングが可能になる。次いで、スレッドのスケジューリングで消費電力を一定以下に抑える割り当てを行うため、実行時にプロセッサ間の消費電力の偏りを修正することが可能になる。   As described above, in the present invention, the following effects can be obtained by performing the above operations. First, by using the power consumption information for thread scheduling and thread movement determination, it is possible to perform appropriate scheduling in consideration of power consumption in addition to execution performance without setting target performance. Next, since allocation is performed to keep power consumption below a certain level in thread scheduling, it becomes possible to correct the bias in power consumption between processors during execution.

[第2の実施の形態]
本発明の第2の実施の形態に係るマルチプロセッサシステムは、前述の第1の実施の形態で消費電力情報を収集して使用したかわりに、温度測定手段14a〜bが取得した各プロセッサの温度分布に係る情報を使用する。この場合、各プロセッサの温度に対して、前述のL1〜L3と同様の閾値を設定し、図3および図5のフローチャートとして示したものと同様の処理を、温度情報に対して行うようにすればよい。または、消費電力と温度情報の両方に対してそのような処理を行うようにしてもよい。
[Second Embodiment]
In the multiprocessor system according to the second embodiment of the present invention, instead of collecting and using the power consumption information in the first embodiment, the temperature of each processor acquired by the temperature measuring means 14a-b is used. Use information about the distribution. In this case, a threshold value similar to that of the above-described L1 to L3 is set for the temperature of each processor, and processing similar to that shown in the flowcharts of FIGS. 3 and 5 is performed on the temperature information. That's fine. Or you may make it perform such a process with respect to both power consumption and temperature information.

温度と消費電力とを併用することによって、より正確に各プロセッサにかかる負荷を把握し、スレッドの移動などの処置を行うことができる。これ以外の、本発明の第2の実施の形態に係るマルチプロセッサシステムの装置の構成および作用効果は、図1〜2で示した第1の実施の形態に係るマルチプロセッサシステム1と同一である。   By using both the temperature and the power consumption, it is possible to grasp the load applied to each processor more accurately and perform a treatment such as moving a thread. Other than this, the configuration and operational effects of the apparatus of the multiprocessor system according to the second embodiment of the present invention are the same as those of the multiprocessor system 1 according to the first embodiment shown in FIGS. .

[第3の実施の形態]
前述した本発明の第1および第2の実施の形態では2つのみのプロセッサを接続したマルチプロセッサシステムについて説明した。これと同じ手法を、3つ以上の非常に多数のプロセッサを接続したシステムに適用することができる。この場合、実行の途中で消費電力が大きくなったとしても、スレッドを何もしていないプロセッサに移動することで、クロック変更などの消費電力を抑えるために実行速度を低下させることなく、スレッドの移動コストのみで実行を継続することが可能となる。
[Third Embodiment]
In the first and second embodiments of the present invention described above, a multiprocessor system in which only two processors are connected has been described. This same technique can be applied to a system in which a large number of three or more processors are connected. In this case, even if the power consumption increases in the middle of execution, moving the thread to a processor that does not do anything without moving the thread without reducing the execution speed to reduce power consumption such as clock changes Execution can be continued only at cost.

本発明の第3の実施の形態に係るマルチプロセッサシステムの装置の構成は、図1〜2で示した第1の実施の形態に係るマルチプロセッサシステム1のプロセッサの数を3つ以上に増やすだけである。この場合も、図3および図5のフローチャートとして示した処理をそのまま適用することができる。これ以外の、本発明の第3の実施の形態に係るマルチプロセッサシステムの装置の構成および作用効果も、図1〜2で示した第1の実施の形態に係るマルチプロセッサシステム1と同一である。   The configuration of the apparatus of the multiprocessor system according to the third embodiment of the present invention is only to increase the number of processors of the multiprocessor system 1 according to the first embodiment shown in FIGS. It is. Also in this case, the processing shown as the flowcharts in FIGS. 3 and 5 can be applied as it is. The other configurations and operational effects of the apparatus of the multiprocessor system according to the third embodiment of the present invention are the same as those of the multiprocessor system 1 according to the first embodiment shown in FIGS. .

これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができる。   Although the present invention has been described with the specific embodiments shown in the drawings, the present invention is not limited to the embodiments shown in the drawings, and is known so far as long as the effects of the present invention are achieved. Any configuration can be employed.

マルチプロセッサシステム、即ち複数のプロセッサを有するコンピュータ装置に対して幅広く適用できる。   The present invention can be widely applied to a multiprocessor system, that is, a computer apparatus having a plurality of processors.

本発明の実施の形態に係るマルチプロセッサシステムの構成を示す概念図である。It is a conceptual diagram which shows the structure of the multiprocessor system which concerns on embodiment of this invention. 図1に示したマルチプロセッサシステムで動作するスケジューリングシステムの構成を示す概念図である。It is a conceptual diagram which shows the structure of the scheduling system which operate | moves with the multiprocessor system shown in FIG. 図2に示したスケジューリングシステムの動作を示すフローチャートである。3 is a flowchart showing an operation of the scheduling system shown in FIG. 図1に示したマルチプロセッサシステムで、動作パラメータ24にあらかじめ記憶された消費電力レベルの設定の一例を示す概念図である。2 is a conceptual diagram showing an example of setting of a power consumption level stored in advance in an operation parameter 24 in the multiprocessor system shown in FIG. 図3のステップS104〜106として示した、スレッド移動処理の詳細を示すフローチャートである。6 is a flowchart showing details of thread movement processing shown as steps S104 to S106 in FIG. 3.

符号の説明Explanation of symbols

1 マルチプロセッサシステム
11a、11b プロセッサ
12a、12b 電源供給手段
13a、13b 電流測定手段
14a、14b 温度測定手段
15a、15b センス抵抗
16 コントローラ
17 チップセット
20 スケジューリングシステム
21 消費電力情報収集部
22 消費電力記録部
23 消費電力情報
24 動作パラメータ
25 スレッド操作部
27 スレッド移動部
28 次の実行候補選択部
29a、29b タスクキュー
30 動作条件決定部
DESCRIPTION OF SYMBOLS 1 Multiprocessor system 11a, 11b Processor 12a, 12b Power supply means 13a, 13b Current measurement means 14a, 14b Temperature measurement means 15a, 15b Sense resistance 16 Controller 17 Chipset 20 Scheduling system 21 Power consumption information collection part 22 Power consumption recording part 23 Power Consumption Information 24 Operation Parameter 25 Thread Operation Unit 27 Thread Movement Unit 28 Next Execution Candidate Selection Unit 29a, 29b Task Queue 30 Operation Condition Determination Unit

Claims (12)

第1および第2のプロセッサと、前記第1および第2のプロセッサの消費電力を時刻ごとに記録する消費電力記録手段と、前記第1および第2のプロセッサの各々がそれぞれに実行予定のスレッドを保持するタスクキューとを有するマルチプロセッサシステムであって、
前記消費電力記録手段から消費電力情報を収集する消費電力情報収集手段と、
前記複数のプロセッサのうち第1のプロセッサの消費電力が予め定められた第1の閾値を超えた場合に、前記第1のプロセッサ以外の第2のプロセッサの消費電力が前記第1の閾値より小さい値が予め定められた第2の閾値を超えていなければ、スレッドの移動が必要であると判断する判断手段と、
前記判断手段がスレッドの移動が必要であると判断したら、前記第1のプロセッサのタスクキューに保持されているスレッドを前記第2のプロセッサのタスクキューに移動させるスレッド移動手段と
を備えたことを特徴とするマルチプロセッサシステム。
A first and second processor, a power consumption recording means for recording the power consumption of the first and second processors for each time, and a thread scheduled to be executed by each of the first and second processors. A multiprocessor system having a task queue to hold,
Power consumption information collecting means for collecting power consumption information from the power consumption recording means;
When the power consumption of the first processor among the plurality of processors exceeds a predetermined first threshold, the power consumption of the second processors other than the first processor is smaller than the first threshold. A determination means for determining that the movement of the thread is necessary if the value does not exceed the predetermined second threshold;
Thread determining means for moving a thread held in the task queue of the first processor to the task queue of the second processor when the determining means determines that the thread needs to be moved; A featured multiprocessor system.
前記消費電力情報収集手段が、前記第1もしくは第2のプロセッサで実行されるスレッドの切り替えのタイミングで前記消費電力情報を収集することを特徴とする、請求項1に記載のマルチプロセッサシステム。   2. The multiprocessor system according to claim 1, wherein the power consumption information collecting unit collects the power consumption information at a timing of switching threads executed by the first or second processor. 前記第1および第2のプロセッサにおける前記タスクの実行方針を変更する動作条件決定手段を備え、
前記第1および第2のプロセッサの消費電力がいずれも前記第1の閾値を超えている場合に、前記判断手段が、前記動作条件決定手段に対して、前記第1および第2のプロセッサにおける前記スレッドの実行方針を変更する方針変更指令を出力することを特徴とする、請求項1に記載のマルチプロセッサシステム。
An operation condition determining means for changing an execution policy of the task in the first and second processors;
When the power consumptions of the first and second processors both exceed the first threshold, the determination means sends the operation condition determination means to the operating conditions determination means in the first and second processors. The multiprocessor system according to claim 1, wherein a policy change command for changing an execution policy of a thread is output.
前記第1および第2のプロセッサにおける前記スレッドの実行方針の変更指令は、当該プロセッサの動作周波数もしくは電圧のうち少なくとも一方の低下を含む内容であることを特徴とする、請求項3に記載のマルチプロセッサシステム。   4. The multi-thread according to claim 3, wherein the instruction for changing the execution policy of the thread in the first and second processors is a content including a decrease in at least one of an operating frequency or a voltage of the processor. Processor system. 前記第1および第2のプロセッサにおける前記スレッドの実行方針の変更指令は、一定時間の間何のスレッドも実行しない空き時間の挿入を含む内容であることを特徴とする、請求項3に記載のマルチプロセッサシステム。   The execution instruction for changing the execution policy of the thread in the first and second processors is a content including insertion of a free time during which no thread is executed for a certain period of time. Multiprocessor system. 前記判断手段が、前記複数のプロセッサのうち第1のプロセッサの消費電力が前記第1の閾値より大きい値が予め定められた第3の閾値を超えた場合に、前記第2のプロセッサの消費電力が前記第1の閾値を超えていなければ、前記第1のプロセッサのタスクキューに保持されているタスクを前記第2のプロセッサのタスクキューに移動するよう前記スレッド移動手段に指令することを特徴とする、請求項1に記載のマルチプロセッサシステム。   When the determining means determines that the power consumption of the first processor among the plurality of processors exceeds a predetermined third threshold, the power consumption of the second processor is greater than the first threshold. Is not over the first threshold, the thread moving means is instructed to move the task held in the task queue of the first processor to the task queue of the second processor. The multiprocessor system according to claim 1. 前記第1および第2のプロセッサの温度を時刻ごとに記録する温度記録手段と、前記温度記録判断手段を収集する温度情報収集手段とを備え、
前記スレッド移動手段が、前記複数のプロセッサのうち第1のプロセッサの温度が予め定められた第4の閾値を超えた場合に、前記第1のプロセッサ以外の第2のプロセッサの温度が前記第4の閾値より小さい値が予め定められた第5の閾値を超えていなければ、前記第1のプロセッサのタスクキューに保持されているタスクを前記第2のプロセッサのタスクキューに移動するよう前記スレッド移動手段に指令することを特徴とする、請求項1に記載のマルチプロセッサシステム。
Temperature recording means for recording the temperature of the first and second processors for each time, and temperature information collecting means for collecting the temperature record determination means,
When the temperature of the first processor of the plurality of processors exceeds a predetermined fourth threshold value, the temperature of the second processors other than the first processor is the fourth moving temperature when the thread moving means exceeds the fourth threshold. If the value smaller than the predetermined threshold value does not exceed the predetermined fifth threshold value, the thread movement is performed so that the task held in the task queue of the first processor is moved to the task queue of the second processor. The multiprocessor system according to claim 1, wherein the command is sent to a means.
第1および第2のプロセッサと、前記第1および第2のプロセッサの各々がそれぞれに実行予定のスレッドを保持するタスクキューとを有するマルチプロセッサシステムで、前記第1および第2のプロセッサの間で実行予定のスレッドを割り振るスケジューリング方法であって、
前記第1および第2のプロセッサの消費電力を時刻ごとに記録して消費電力情報を収集し、
前記複数のプロセッサのうち第1のプロセッサの消費電力が予め定められた第1の閾値を超えたか否かを判断し、
前記第1のプロセッサの消費電力が前記第1の閾値を超えた場合、前記第1のプロセッサ以外の第2のプロセッサの消費電力が前記第1の閾値より小さい値が予め定められた第2の閾値を超えていないか否かを判断し、
前記第2のプロセッサの消費電力が前記第2の閾値を超えていなければ、前記第1のプロセッサのタスクキューに保持されているスレッドを前記第2のプロセッサのタスクキューに移動させる
ことを特徴とするスケジューリング方法。
A multiprocessor system having a first and second processor and a task queue each holding a thread to be executed by each of the first and second processors, between the first and second processors; A scheduling method for allocating a thread to be executed,
Recording power consumption information for each time by recording the power consumption of the first and second processors,
Determining whether the power consumption of the first processor among the plurality of processors exceeds a predetermined first threshold;
When the power consumption of the first processor exceeds the first threshold value, the second power consumption value of the second processor other than the first processor is determined to be smaller than the first threshold value. Determine whether the threshold is exceeded,
If the power consumption of the second processor does not exceed the second threshold, a thread held in the task queue of the first processor is moved to the task queue of the second processor. Scheduling method.
前記消費電力情報の収集が、前記第1もしくは第2のプロセッサで実行されるスレッドの切り替えのタイミングで行われることを特徴とする、請求項8に記載のスケジューリング方法。   The scheduling method according to claim 8, wherein the collection of the power consumption information is performed at a timing of thread switching executed by the first or second processor. 前記第1および第2のプロセッサの消費電力がいずれも前記第1の閾値を超えている場合に、前記第1および第2のプロセッサにおける前記タスクの実行方針を変更し、当該プロセッサの動作周波数もしくは電圧のうち少なくとも一方を低下させることを特徴とする、請求項8に記載のスケジューリング方法。   When the power consumption of each of the first and second processors exceeds the first threshold, the task execution policy in the first and second processors is changed, and the operating frequency of the processor or The scheduling method according to claim 8, wherein at least one of the voltages is reduced. 前記第1および第2のプロセッサの消費電力がいずれも前記第1の閾値を超えている場合に、前記第1および第2のプロセッサにおける前記タスクの実行方針を変更し、当該プロセッサに一定時間の間何のスレッドも実行しない空き時間を挿入させることを特徴とする、請求項8に記載のスケジューリング方法。   When the power consumption of the first and second processors exceeds the first threshold, the execution policy of the task in the first and second processors is changed, and 9. The scheduling method according to claim 8, wherein idle time during which no thread is executed is inserted. 第1および第2のプロセッサと、前記第1および第2のプロセッサの各々がそれぞれに実行予定のスレッドを保持するタスクキューとを有するマルチプロセッサシステムに、
前記第1および第2のプロセッサの消費電力を時刻ごとに記録して消費電力情報を収集する処理と、
前記複数のプロセッサのうち第1のプロセッサの消費電力が予め定められた第1の閾値を超えたか否かを判断する処理と、
前記第1のプロセッサの消費電力が前記第1の閾値を超えた場合、前記第1のプロセッサ以外の第2のプロセッサの消費電力が前記第1の閾値より小さい値が予め定められた第2の閾値を超えていないか否かを判断する処理と、
前記第2のプロセッサの消費電力が前記第2の閾値を超えていなければ、前記第1のプロセッサのタスクキューに保持されているスレッドを前記第2のプロセッサのタスクキューに移動させる処理と
を実行させることを特徴とするスケジューリングプログラム。
A multiprocessor system having a first and second processor and a task queue each holding a thread to be executed by each of the first and second processors;
A process of collecting power consumption information by recording the power consumption of the first and second processors for each time; and
A process of determining whether or not the power consumption of the first processor among the plurality of processors exceeds a predetermined first threshold;
When the power consumption of the first processor exceeds the first threshold value, the second power consumption value of the second processor other than the first processor is determined to be smaller than the first threshold value. A process for determining whether or not the threshold is exceeded;
If the power consumption of the second processor does not exceed the second threshold, a process of moving a thread held in the task queue of the first processor to the task queue of the second processor is executed A scheduling program characterized in that
JP2008202629A 2008-08-06 2008-08-06 Multiprocessor system, scheduling method and program therefor Withdrawn JP2010039802A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008202629A JP2010039802A (en) 2008-08-06 2008-08-06 Multiprocessor system, scheduling method and program therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008202629A JP2010039802A (en) 2008-08-06 2008-08-06 Multiprocessor system, scheduling method and program therefor

Publications (1)

Publication Number Publication Date
JP2010039802A true JP2010039802A (en) 2010-02-18

Family

ID=42012277

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008202629A Withdrawn JP2010039802A (en) 2008-08-06 2008-08-06 Multiprocessor system, scheduling method and program therefor

Country Status (1)

Country Link
JP (1) JP2010039802A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011197715A (en) * 2010-03-17 2011-10-06 Fujitsu Ltd Load distribution system and computer program
WO2012017545A1 (en) * 2010-08-05 2012-02-09 富士通株式会社 Control program, control device, and method of controlling
JP2012243274A (en) * 2011-05-24 2012-12-10 Mitsubishi Electric Corp Information processing device and power consumption control method
JP2013524317A (en) * 2010-03-25 2013-06-17 マイクロソフト コーポレーション Managing power supply in distributed computing systems
JP2013542492A (en) * 2010-09-14 2013-11-21 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド Mechanism for controlling power consumption in a processing node
CN103329101B (en) * 2010-08-05 2016-11-30 富士通株式会社 control program, control device and control method
JP2018501546A (en) * 2014-10-30 2018-01-18 クゥアルコム・インコーポレイテッドQualcomm Incorporated Thermal relaxation of multi-core processors
JP2023021662A (en) * 2021-08-02 2023-02-14 富士通株式会社 Program and management method
CN117136344A (en) * 2021-04-01 2023-11-28 高通股份有限公司 Adaptive dynamic clock and voltage scaling

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
JP2013524317A (en) * 2010-03-25 2013-06-17 マイクロソフト コーポレーション Managing power supply in distributed computing systems
US9189359B2 (en) 2010-08-05 2015-11-17 Fujitsu Limited Computer product, control apparatus, and control method
CN103329101A (en) * 2010-08-05 2013-09-25 富士通株式会社 Control program, control device, and method of controlling
JP5354106B2 (en) * 2010-08-05 2013-11-27 富士通株式会社 Control program, control device, and control method
WO2012017545A1 (en) * 2010-08-05 2012-02-09 富士通株式会社 Control program, control device, and method of controlling
CN103329101B (en) * 2010-08-05 2016-11-30 富士通株式会社 control program, control device and control method
JP2013542492A (en) * 2010-09-14 2013-11-21 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド Mechanism for controlling power consumption in a processing node
JP2012243274A (en) * 2011-05-24 2012-12-10 Mitsubishi Electric Corp Information processing device and power consumption control method
JP2018501546A (en) * 2014-10-30 2018-01-18 クゥアルコム・インコーポレイテッドQualcomm Incorporated Thermal relaxation of multi-core processors
CN117136344A (en) * 2021-04-01 2023-11-28 高通股份有限公司 Adaptive dynamic clock and voltage scaling
JP2024513743A (en) * 2021-04-01 2024-03-27 クゥアルコム・インコーポレイテッド Adaptive dynamic clock and voltage scaling
JP7470261B2 (en) 2021-04-01 2024-04-17 クゥアルコム・インコーポレイテッド Adaptive Dynamic Clock and Voltage Scaling
JP2023021662A (en) * 2021-08-02 2023-02-14 富士通株式会社 Program and management method
JP7736993B2 (en) 2021-08-02 2025-09-10 富士通株式会社 Program and Management Methodology

Similar Documents

Publication Publication Date Title
KR101529016B1 (en) Multi-core system energy consumption optimization
JP2010039802A (en) Multiprocessor system, scheduling method and program therefor
JP6249953B2 (en) Thermally driven workload scheduling in heterogeneous multiprocessor system on chip
JP5075274B2 (en) Power aware thread scheduling and dynamic processor usage
US8381215B2 (en) Method and system for power-management aware dispatcher
US9354689B2 (en) Providing energy efficient turbo operation of a processor
US8190939B2 (en) Reducing power consumption of computing devices by forecasting computing performance needs
JP5564564B2 (en) Method and apparatus for non-uniformly changing the performance of a computing unit according to performance sensitivity
US10444812B2 (en) Power shifting in multicore platforms by varying SMT levels
CN106168846A (en) Computing system and method for controlling operation of multi-core processor in computing system
KR20190109408A (en) Adaptive Power Control Loop
US20090089792A1 (en) Method and system for managing thermal asymmetries in a multi-core processor
US20130167152A1 (en) Multi-core-based computing apparatus having hierarchical scheduler and hierarchical scheduling method
CN101542442A (en) Multiprocessor control unit, its control method, and integrated circuit
CN103329100A (en) Load balancing in heterogeneous computing environments
CN101379453A (en) Method and apparatus for using dynamic workload characteristics to control CPU frequency and voltage scaling
CN107003686A (en) The system and method manipulated for dynamic time-domain power
CN107533479A (en) Power knows scheduling and power manager
CN110795238A (en) Load calculation method, device, storage medium and electronic device
EP3295276B1 (en) Reducing power by vacating subsets of cpus and memory
US20160170474A1 (en) Power-saving control system, control device, control method, and control program for server equipped with non-volatile memory
KR20130137503A (en) Apparatus for dynamic data processing using resource monitoring and method thereof
KR20120106089A (en) Method for reducing power consumption of system software using query scheduling of application and apparatus for reducing power consumption using said method
US8381005B2 (en) Processor and memory folding for managing power consumption in information processing systems
US20190094947A1 (en) Modification of when workloads access data units and/or on which storage devices data units are stored to conserve power

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20111101