JP5866430B2 - オペレーティング・システムを実行するプロセッサ・コアの動的割当 - Google Patents
オペレーティング・システムを実行するプロセッサ・コアの動的割当 Download PDFInfo
- Publication number
- JP5866430B2 JP5866430B2 JP2014502602A JP2014502602A JP5866430B2 JP 5866430 B2 JP5866430 B2 JP 5866430B2 JP 2014502602 A JP2014502602 A JP 2014502602A JP 2014502602 A JP2014502602 A JP 2014502602A JP 5866430 B2 JP5866430 B2 JP 5866430B2
- Authority
- JP
- Japan
- Prior art keywords
- core
- token
- program
- computer
- cores
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 claims description 43
- 230000008569 process Effects 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 12
- 230000006870 function Effects 0.000 claims description 8
- 230000002093 peripheral effect Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 7
- 230000004913 activation Effects 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000009849 deactivation Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30083—Power or thermal control instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5094—Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Description
この方法は、プロセッサのコアがそれぞれのレディ・キューからの命令を処理することを停止させるように動作可能なプログラムを用意する(300)ことから始まる。
トークンが、コア306によって取得されている場合、次の工程は、そのコアのそれぞれのレディ・キューの処理を停止するプログラムをそのコアによって実行すること(308)を含む。トークンが、コア306によって取得されていない場合、トークンなしのそのコアはプログラムを実行することができず、そのため、それぞれのレディ・キューからの命令を処理するようにアクティブのままとなる(310)。
タイムアウトした後、つまり、割込が発生すると、プロセスはコアによるトークンの取得(304)に戻り、次のサイクルにどのコアがアクティブのままであるかを調べる。
有利には、本発明を使用すると、今日のデスクトップ・ウィンドウズ(登録商標)・オペレーティング・システムについて当てはまるが、強制コア・パーキングをサポートしていないMicrosoft(登録商標)Windows(登録商標)7OSにおいて強制コア・パーキングが可能になる。本発明は、比較的単純に実装することができ、オペレーティング・システムへの変更を伴わず、またドライバ・コールを使用するアプリケーションとして実装されうる。
Claims (16)
- オペレーティング・システムを実行するコンピュータにおける複数のプロセッサ・コアの動的割当を行うための方法であって、
プログラムを用意する工程(300)であって、前記プログラムはコアに各レディ・キューからの命令の処理を停止させるように動作可能である、プログラム用意工程と、
該プログラムの実行を可能とするために利用可能なトークンの最大カウントを確立する工程(302)であって、前記最大カウントは前記コアの総数未満である、最大カウント確立工程と、
前記複数のコアによってトークンを取得する工程(304)であって、1つ以上のコアはトークンを取得することが不可能である、トークン取得工程と、を備え、
トークンが1つのコアによって取得されている場合(306)、該コアの各レディ・キューの処理を停止するプログラムを該コアによって実行し(308)、
トークンが1つのコアによって取得されていない場合(306)、該コアによってプログラムを実行することなく、アクティブとしたまま該コアの各レディ・キューからの命令を処理する、方法。 - 所定の長さの時間、待機する工程(312)と、
前記トークン取得工程(304)に戻る工程とをさらに備える、請求項1に記載の方法。 - 前記所定の長さの時間は、前記複数のコアを備えるコンピュータの量子クロック・サイクルである、請求項2に記載の方法。
- 前記トークンは、入出力インターフェースに接続された周辺デバイスによって供給されるグローバル・セマフォにより与えられ、前記最大カウント確立工程(302)では、アドレス・バスを介して前記トークンにアクセスすることが含まれる、請求項1に記載の方法。
- 前記プログラム用意工程(300)では、各コアに対しプログラムが用意される、請求項1に記載の方法。
- 前記プログラム用意工程(300)では、前記オペレーティング・システムにおいて利用可能な最高の優先度を有するように前記プログラムを設定する請求項1に記載の方法。
- 前記コンピュータのユーザ・インターフェースを介してユーザが前記方法を操作する工程(314)をさらに備える、請求項1に記載の方法。
- 前記オペレーティング・システムは、Microsoft(登録商標)Windows(登録商標)7オペレーティング・システムである、請求項1に記載の方法。
- オペレーティング・システムを実行する複数のプロセッサ・コアの動的割当を行うように動作可能であるコンピュータであって、
コア(212、214、216)に各レディ・キュー(104、106、108)からの命令の処理を停止させるように動作可能なプログラムと、
該プログラムの実行を可能とするために利用可能なトークンを提供するように動作可能な周辺デバイス(200)であって、前記トークンは前記コアの総数未満である最大カウントを有する、周辺デバイスと、を備え、
前記複数のコアは、トークンの取得を試みるよう動作可能であり、1つ以上のコア(110)はトークンを取得することが不可能であり、
トークンが1つのコア(212、214、216)によって取得されている場合、該コアの各レディ・キュー(104、106、108)の処理を停止するプログラムを該コア(212、214、216)によって実行し、
トークンが1つのコア(110)によって取得されていない場合、該コアによってプログラムを実行することなく、アクティブとしたまま該コアの各レディ・キュー(102)からの命令を処理する、コンピュータ。 - 前記コア(110、212、214、216)は、所定の長さの時間、待機し、再びトークンの取得を試みるよう動作可能である、請求項9に記載のコンピュータ。
- 前記所定の長さの時間は、前記複数のコアを備えるコンピュータの量子クロック・サイクルである、請求項10に記載のコンピュータ。
- 前記トークンは、前記コンピュータの入出力インターフェースに接続された周辺デバイス(200)によって供給されるグローバル・セマフォにより与えられる、請求項9に記載のコンピュータ。
- 各コアに対しプログラムが用意される、請求項9に記載のコンピュータ。
- 前記プログラムは、前記オペレーティング・システムにおいて利用可能な最高の優先度を有するように設定される、請求項9に記載のコンピュータ。
- ユーザ・インターフェース(202)をさらに備え、前記ユーザ・インターフェースを介してユーザが前記プログラムおよびトークンの機能を操作可能である、請求項9に記載のコンピュータ。
- 前記オペレーティング・システムは、Microsoft(登録商標)Windows(登録商標)7オペレーティング・システムである請求項9に記載のコンピュータ。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/076,353 US8407506B2 (en) | 2011-03-30 | 2011-03-30 | Dynamic allocation of processor cores running an operating system |
US13/076,353 | 2011-03-30 | ||
PCT/US2012/028678 WO2012134776A1 (en) | 2011-03-30 | 2012-03-12 | Dynamic allocation of processor cores running an operating system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014509767A JP2014509767A (ja) | 2014-04-21 |
JP5866430B2 true JP5866430B2 (ja) | 2016-02-17 |
Family
ID=45977025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014502602A Active JP5866430B2 (ja) | 2011-03-30 | 2012-03-12 | オペレーティング・システムを実行するプロセッサ・コアの動的割当 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8407506B2 (ja) |
EP (1) | EP2691830B1 (ja) |
JP (1) | JP5866430B2 (ja) |
KR (1) | KR101548068B1 (ja) |
CN (1) | CN103502906B (ja) |
CA (1) | CA2831240C (ja) |
WO (1) | WO2012134776A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8819345B2 (en) * | 2012-02-17 | 2014-08-26 | Nokia Corporation | Method, apparatus, and computer program product for inter-core communication in multi-core processors |
EP3282359A1 (en) | 2016-08-09 | 2018-02-14 | Alcatel Lucent | Method for managing a virtual radio access network and method for calibrating a software component |
CN110427223A (zh) * | 2019-07-02 | 2019-11-08 | 中国航空工业集团公司雷华电子技术研究所 | 一种基于上位机pcie总线动态加载多核dsp的方法及系统 |
US11281474B2 (en) * | 2020-03-31 | 2022-03-22 | International Business Machines Corporation | Partial computer processor core shutoff |
CN111782411A (zh) * | 2020-07-02 | 2020-10-16 | 江苏华创微系统有限公司 | 在numa系统中提升抢锁操作公平性的方法 |
CN114610394B (zh) * | 2022-03-14 | 2023-12-22 | 海飞科(南京)信息技术有限公司 | 指令调度的方法、处理电路和电子设备 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6754788B2 (en) * | 2001-03-15 | 2004-06-22 | International Business Machines Corporation | Apparatus, method and computer program product for privatizing operating system data |
FR2823932B1 (fr) * | 2001-04-23 | 2003-06-27 | Intaan Technology | Systeme et procede pour la distribution dynamique de donnees et/ou de services |
US7117388B2 (en) * | 2003-04-28 | 2006-10-03 | International Business Machines Corporation | Dynamic, Non-invasive detection of hot-pluggable problem components and re-active re-allocation of system resources from problem components |
CN1287290C (zh) * | 2003-07-15 | 2006-11-29 | 中兴通讯股份有限公司 | 嵌入式实时操作系统中非缓冲内存动态分配方法 |
US8756605B2 (en) * | 2004-12-17 | 2014-06-17 | Oracle America, Inc. | Method and apparatus for scheduling multiple threads for execution in a shared microprocessor pipeline |
US20060136919A1 (en) | 2004-12-17 | 2006-06-22 | Sun Microsystems, Inc. | System and method for controlling thread suspension in a multithreaded processor |
JP2008257578A (ja) * | 2007-04-06 | 2008-10-23 | Toshiba Corp | 情報処理装置、スケジューラおよび情報処理置のスケジュール制御方法 |
CN101464813A (zh) * | 2007-12-19 | 2009-06-24 | 国际商业机器公司 | 用于多核处理器上的自动工作量分配的系统和方法 |
JP4877347B2 (ja) * | 2009-03-25 | 2012-02-15 | ブラザー工業株式会社 | ネットワーク装置 |
JP5095682B2 (ja) * | 2009-07-03 | 2012-12-12 | レノボ・シンガポール・プライベート・リミテッド | 情報処理装置、情報処理装置の電力制御方法、およびコンピュータが実行可能なプログラム |
US8972707B2 (en) * | 2010-12-22 | 2015-03-03 | Via Technologies, Inc. | Multi-core processor with core selectively disabled by kill instruction of system software and resettable only via external pin |
US9342379B2 (en) * | 2011-01-21 | 2016-05-17 | Wind River Systems, Inc. | Lock free acquisition and release of a semaphore in a multi-core processor environment |
-
2011
- 2011-03-30 US US13/076,353 patent/US8407506B2/en active Active
-
2012
- 2012-03-12 JP JP2014502602A patent/JP5866430B2/ja active Active
- 2012-03-12 WO PCT/US2012/028678 patent/WO2012134776A1/en active Application Filing
- 2012-03-12 KR KR1020137028252A patent/KR101548068B1/ko active IP Right Grant
- 2012-03-12 CA CA2831240A patent/CA2831240C/en active Active
- 2012-03-12 CN CN201280022112.6A patent/CN103502906B/zh active Active
- 2012-03-12 EP EP12715481.3A patent/EP2691830B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
KR101548068B1 (ko) | 2015-08-27 |
US8407506B2 (en) | 2013-03-26 |
US20120254647A1 (en) | 2012-10-04 |
JP2014509767A (ja) | 2014-04-21 |
KR20140002012A (ko) | 2014-01-07 |
CN103502906A (zh) | 2014-01-08 |
CN103502906B (zh) | 2016-02-03 |
WO2012134776A1 (en) | 2012-10-04 |
EP2691830A1 (en) | 2014-02-05 |
CA2831240A1 (en) | 2012-10-04 |
EP2691830B1 (en) | 2015-01-07 |
CA2831240C (en) | 2016-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11797327B2 (en) | Dynamic virtual machine sizing | |
EP3039540B1 (en) | Virtual machine monitor configured to support latency sensitive virtual machines | |
US8261284B2 (en) | Fast context switching using virtual cpus | |
JP5866430B2 (ja) | オペレーティング・システムを実行するプロセッサ・コアの動的割当 | |
US9798582B2 (en) | Low latency scheduling on simultaneous multi-threading cores | |
US10564995B2 (en) | Dynamic control of halt polling based on receiving a monitoring instruction executed by a guest | |
JP2009223842A (ja) | 仮想計算機制御プログラム及び仮想計算機システム | |
US11086658B2 (en) | System performance enhancement with SMI on multi-core systems | |
US11061730B2 (en) | Efficient scheduling for hyper-threaded CPUs using memory monitoring | |
US10810032B2 (en) | System and method for dynamic guest-controlled halt polling using a CPU governor | |
CN114064128B (zh) | 内核重启方法 | |
US9619277B2 (en) | Computer with plurality of processors sharing process queue, and process dispatch processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141117 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141216 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20150313 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20150313 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150415 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151013 |
|
A59 | Written plea |
Free format text: JAPANESE INTERMEDIATE CODE: A59 Effective date: 20151013 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20151013 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20151013 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151110 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20151202 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160104 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5866430 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |