JP5534002B2 - マルチコアプロセッサシステム、制御プログラム、および制御方法 - Google Patents
マルチコアプロセッサシステム、制御プログラム、および制御方法 Download PDFInfo
- Publication number
- JP5534002B2 JP5534002B2 JP2012506729A JP2012506729A JP5534002B2 JP 5534002 B2 JP5534002 B2 JP 5534002B2 JP 2012506729 A JP2012506729 A JP 2012506729A JP 2012506729 A JP2012506729 A JP 2012506729A JP 5534002 B2 JP5534002 B2 JP 5534002B2
- Authority
- JP
- Japan
- Prior art keywords
- task
- core
- cpu
- assigned
- 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.)
- Expired - Fee Related
Links
Images
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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- 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)
- Multi Processors (AREA)
Description
図2は、本実施の形態にかかるマルチコアプロセッサシステム100のハードウェア構成を示すブロック図である。図2において、マルチコアプロセッサシステム100は、CPU♯0〜CPU#3と、調停回路102と、共有メモリ103と、分周回路104と、を備えている。また、各構成部は、バス101によってそれぞれ接続されている。
図7は、本実施の形態にかかるスケジューラ121の機能的構成を示すブロック図である。スケジューラ121は、受付部701と、タスク判断部702と、特定部703と、移行部704と、状態判断部705と、通知部706とを備えている。各機能(受付部701〜通知部706)は、具体的には、たとえば、共有メモリ103に記憶されたスケジューラ121をCPU♯0に実行させることにより該各機能を実現する。
まず、受付部701は、対象タスクの割り当て指示を受け付け、タスク判断部702は、該受付部701により対象タスクの割り当て指示を受け付けると、対象タスクと同期するタスクの有無を判断する。
図11は、実施例1にかかるスケジューラ121による制御処理手順の一例を示すフローチャートである。まず、スケジューラ121が、対象タスクの割り当て指示を受け付けたか否かを判断し(ステップS1101)、対象タスクの割り当て指示を受け付けていないと判断した場合(ステップS1101:No)、ステップS1101へ戻る。
実施例2では、対象スレッドに同期するタスクがある場合に非同期タスクが割り当てられていないCPUが特定されなかった場合と、対象スレッドに同期するタスクがない場合に同期タスクが割り当てられていないCPUが特定されなかった場合とについて説明する。
実施例3では、OSが省電力モードであり、かつ非同期タスクのみが割り当てられているCPUのメモリクロックを下げる例を説明する。従来より、共有メモリ103の消費電力はマルチコアプロセッサシステム100の消費電力において大きな割合を占めていた。同期タスクは同期処理のために共有メモリ103へのアクセスやキャッシュへのアクセスを遅くすることができないため、共有メモリ103やキャッシュに与えるクロックの周波数を下げることができなかった。従来では、同期タスクと非同期タスクが混在してCPUに割り当てられていたため、常に共有メモリ103やキャッシュに与えるクロックの周波数を下げることができないという問題点があった。
図17〜図20は、実施例2および3にかかるスケジューラ121による制御処理手順の一例を示すフローチャートである。まず、スケジューラ121が、各CPUに割り当てられたタスクの変化を検出したか否かまたはタスクの起動指示を受け付けたか否かを判断する(ステップS1701)。ここで、各CPUに割り当てられたタスクの変化とは、たとえば、タスクが完了したり、タスクのディスパッチまたはタスクのスイッチが発生した場合を示している。スケジューラ121が、各CPUに割り当てられたタスクの変化を検出していないおよびタスクの起動指示を受け付けていないと判断した場合(ステップS1701:No)、ステップS1701へ戻る。
103 共有メモリ
104 分周回路
121 スケジューラ
702 タスク判断部
703 特定部
704 移行部
705 状態判断部
706 通知部
Claims (7)
- 複数のコアを有するマルチコアプロセッサシステムであって、
前記複数のコアのうちの一のコアが、
対象タスクと同期するタスクの有無を判断し、
前記対象タスクと同期するタスクがあると判断した場合、前記複数のコアのうち、いずれのタスクにも同期しない非同期タスクが割り当てられたコアを除く第1のコアを特定し、前記対象タスクと同期するタスクがないと判断した場合、前記複数のコアのうち、いずれかのタスクに同期する同期タスクが割り当てられたコアを除く第2のコアを特定し、
特定した前記第1または第2のコアに対し前記対象タスクの起動指示を通知する、
処理を実行することを特徴とするマルチコアプロセッサシステム。 - 前記一のコアが、
特定する処理の後に、移行元のコアに割り当てられたタスクを移行先のコアに移行させる処理を実行し、
特定する処理では、
前記対象タスクと同期するタスクがあると判断した場合において、前記第1のコアが特定されなかった場合、前記複数のコアのうち、前記非同期タスクが割り当てられているコア群を特定し、
移行させる処理では、
特定した前記コア群のうちの第3のコアに割り当てられた前記非同期タスクを前記コア群のうちの前記第3のコアを除く他のコアに移行させ、
通知する処理では、
前記第3のコアに割り当てられた前記非同期タスクを前記他のコアに移行させた後、前記対象タスクの起動指示を前記第3のコアに通知することを特徴とする請求項1に記載のマルチコアプロセッサシステム。 - 前記一のコアが、
特定する処理の後に、移行元のコアに割り当てられているタスクを移行先のコアに移行させる処理を実行し、
特定する処理では、
前記対象タスクと同期するタスクがないと判断した場合において、前記第2のコアが特定されなかった場合、前記複数のコアのうち、前記同期タスクが割り当てられているコア群を特定し、
移行させる処理では、
特定した前記コア群のうちの第3のコアに割り当てられた前記同期タスクを前記コア群のうちの前記第3のコアを除く他のコアに移行させ、
通知する処理では、
前記第3のコアに割り当てられた前記同期タスクを前記他のコアに移行させた後、前記対象タスクの起動指示を前記第3のコアに通知することを特徴とする請求項1に記載のマルチコアプロセッサシステム。 - 記憶装置と、
前記記憶装置へクロックを供給するクロック供給回路と、
前記複数のコアの各々について、前記コアが省電力状態であるか否かを示す値を保持可能であって、前記コアが前記値を変更可能なレジスタと、
を有し、
前記一のコアが、
前記対象タスクと同期するタスクがないと判断した場合において、特定した前記第1のコアまたは第2のコアが前記省電力状態であるか否かを前記レジスタに保持された前記値に基づいて判断する処理を実行し、
通知する処理では、
特定した前記第1のコアまたは第2のコアが前記省電力状態であると判断し、前記クロックの周波数が所定周波数よりも大きい場合に、前記クロックの周波数を所定周波数まで下げる指示を前記クロック供給回路に通知することを特徴とする請求項1に記載のマルチコアプロセッサシステム。 - 記憶装置と、
前記記憶装置へ電源電圧を供給する電源供給回路と、
前記複数のコアの各々について、前記コアが省電力状態であるか否かを示す値を保持可能であって、前記コアが前記値を変更可能なレジスタと、
を有し、
前記一のコアが、
前記対象タスクと同期するタスクがないと判断した場合において、特定した前記第1または第2のコアが前記省電力状態であるか否かを前記レジスタに保持された前記値に基づいて判断する処理を実行し、
通知する処理では、
特定した前記第1または第2のコアが前記省電力状態であると判断し、前記電源電圧の値が所定値よりも大きい場合に、前記電源電圧の値を所定値まで下げる指示を前記電源供給回路に通知することを特徴とする請求項1に記載のマルチコアプロセッサシステム。 - 複数のコアを有するマルチコアプロセッサシステムの制御プログラムであって、
前記複数のコアのうちの一のコアに、
対象タスクと同期するタスクの有無を判断し、
前記対象タスクと同期するタスクがあると判断した場合、前記複数のコアのうち、いずれのタスクにも同期しない非同期タスクが割り当てられたコアを除く第1のコアを特定し、前記対象タスクと同期するタスクがないと判断した場合、前記複数のコアのうち、いずれかのタスクに同期する同期タスクが割り当てられたコアを除く第2のコアを特定し、
特定した前記第1または第2のコアに対し前記対象タスクの起動指示を通知する、
処理を実行させることを特徴とするマルチコアプロセッサシステムの制御プログラム。 - 複数のコアを有するマルチコアプロセッサシステムの制御方法であって、
前記複数のコアのうちの一のコアが、
対象タスクと同期するタスクの有無を判断し、
前記対象タスクと同期するタスクがあると判断した場合、前記複数のコアのうち、いずれのタスクにも同期しない非同期タスクが割り当てられたコアを除く第1のコアを特定し、前記対象タスクと同期するタスクがないと判断した場合、前記複数のコアのうち、いずれかのタスクに同期する同期タスクが割り当てられたコアを除く第2のコアを特定し、
特定した前記第1または第2のコアに対し前記対象タスクの起動指示を通知する、
処理を実行することを特徴とするマルチコアプロセッサシステムの制御方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2010/055288 WO2011118012A1 (ja) | 2010-03-25 | 2010-03-25 | マルチコアプロセッサシステム、制御プログラム、および制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2011118012A1 JPWO2011118012A1 (ja) | 2013-07-04 |
JP5534002B2 true JP5534002B2 (ja) | 2014-06-25 |
Family
ID=44672603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012506729A Expired - Fee Related JP5534002B2 (ja) | 2010-03-25 | 2010-03-25 | マルチコアプロセッサシステム、制御プログラム、および制御方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9292339B2 (ja) |
JP (1) | JP5534002B2 (ja) |
WO (1) | WO2011118012A1 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6309216B2 (ja) * | 2013-07-19 | 2018-04-11 | サイプレス セミコンダクター コーポレーション | プロセッサシステムおよび半導体集積回路 |
WO2016165980A1 (fr) * | 2015-04-13 | 2016-10-20 | Zodiac Seats France | Module de sieges muni d'un accoudoir a configuration optimisee |
JP6578824B2 (ja) * | 2015-08-31 | 2019-09-25 | コニカミノルタ株式会社 | 画像形成装置、同装置におけるタスク制御方法及びタスク制御プログラム |
US10642336B2 (en) * | 2016-07-12 | 2020-05-05 | Advanced Micro Devices, Inc. | Clock adjustment for voltage droop |
US10884477B2 (en) * | 2016-10-20 | 2021-01-05 | Advanced Micro Devices, Inc. | Coordinating accesses of shared resources by clients in a computing device |
JP7157709B2 (ja) * | 2019-07-04 | 2022-10-20 | 株式会社日立製作所 | 計算機システム及びプログラム実行方法 |
US11687364B2 (en) | 2019-07-30 | 2023-06-27 | Samsung Electronics Co., Ltd. | Methods and apparatus for cache-aware task scheduling in a symmetric multi-processing (SMP) environment |
CN112769959B (zh) * | 2021-03-04 | 2022-09-30 | 抖音视界有限公司 | 会话同步方法、装置、第一节点、第二节点、系统及介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010020650A (ja) * | 2008-07-14 | 2010-01-28 | Sony Corp | 情報処理システム及び情報処理方法、ロボットの制御システム及び制御方法、並びコンピュータ・プログラム |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0233650A (ja) | 1988-07-25 | 1990-02-02 | Nec Corp | マルチプロセッサシステムのタスクスケジュール方式 |
JPH061464A (ja) | 1992-06-22 | 1994-01-11 | Sanko Seiki Kk | 折丁の自動給紙装置 |
JP3429582B2 (ja) | 1994-11-28 | 2003-07-22 | 富士通株式会社 | マルチプロセッサシステム |
JP2795312B2 (ja) * | 1996-04-08 | 1998-09-10 | 日本電気株式会社 | プロセス間通信スケジューリング方式 |
US8020163B2 (en) * | 2003-06-02 | 2011-09-13 | Interuniversitair Microelektronica Centrum (Imec) | Heterogeneous multiprocessor network on chip devices, methods and operating systems for control thereof |
US20050228967A1 (en) | 2004-03-16 | 2005-10-13 | Sony Computer Entertainment Inc. | Methods and apparatus for reducing power dissipation in a multi-processor system |
US20070204268A1 (en) * | 2006-02-27 | 2007-08-30 | Red. Hat, Inc. | Methods and systems for scheduling processes in a multi-core processor environment |
JP4509951B2 (ja) * | 2006-03-01 | 2010-07-21 | 三菱電機株式会社 | シミュレーション実行制御装置及びプログラム |
JP4370313B2 (ja) * | 2006-07-10 | 2009-11-25 | 三菱電機株式会社 | 制御装置、制御装置のプロセス制御方法およびプロセス制御プログラム |
JP2008084009A (ja) * | 2006-09-27 | 2008-04-10 | Toshiba Corp | マルチプロセッサシステム |
US20080115010A1 (en) * | 2006-11-15 | 2008-05-15 | Rothman Michael A | System and method to establish fine-grained platform control |
KR101375836B1 (ko) * | 2007-06-26 | 2014-04-01 | 삼성전자주식회사 | 멀티코어 프로세서 상에서 연관된 작업들을 수행하는 방법및 장치 |
US7886172B2 (en) * | 2007-08-27 | 2011-02-08 | International Business Machines Corporation | Method of virtualization and OS-level thermal management and multithreaded processor with virtualization and OS-level thermal management |
KR101440107B1 (ko) * | 2008-01-28 | 2014-09-12 | 삼성전자주식회사 | 다중 코어 시스템에서 접근 시간에 기초한 메모리 관리방법 및 장치 |
US8615647B2 (en) * | 2008-02-29 | 2013-12-24 | Intel Corporation | Migrating execution of thread between cores of different instruction set architecture in multi-core processor and transitioning each core to respective on / off power state |
US8347301B2 (en) * | 2008-06-30 | 2013-01-01 | Intel Corporation | Device, system, and method of scheduling tasks of a multithreaded application |
JP4557062B2 (ja) * | 2008-07-11 | 2010-10-06 | ソニー株式会社 | 光ディスク装置および発光制御方法 |
US20100058086A1 (en) * | 2008-08-28 | 2010-03-04 | Industry Academic Cooperation Foundation, Hallym University | Energy-efficient multi-core processor |
FR2937439B1 (fr) * | 2008-10-17 | 2012-04-20 | Commissariat Energie Atomique | Procede d'execution deterministe et de synchronisation d'un systeme de traitement de l'information comportant plusieurs coeurs de traitement executant des taches systemes. |
US8336056B1 (en) * | 2009-12-22 | 2012-12-18 | Gadir Omar M A | Multi-threaded system for data management |
-
2010
- 2010-03-25 JP JP2012506729A patent/JP5534002B2/ja not_active Expired - Fee Related
- 2010-03-25 WO PCT/JP2010/055288 patent/WO2011118012A1/ja active Application Filing
-
2012
- 2012-09-24 US US13/625,375 patent/US9292339B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010020650A (ja) * | 2008-07-14 | 2010-01-28 | Sony Corp | 情報処理システム及び情報処理方法、ロボットの制御システム及び制御方法、並びコンピュータ・プログラム |
Also Published As
Publication number | Publication date |
---|---|
WO2011118012A1 (ja) | 2011-09-29 |
US20130024865A1 (en) | 2013-01-24 |
US9292339B2 (en) | 2016-03-22 |
JPWO2011118012A1 (ja) | 2013-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5534002B2 (ja) | マルチコアプロセッサシステム、制御プログラム、および制御方法 | |
US10649935B2 (en) | Deferred inter-processor interrupts | |
JP5713029B2 (ja) | スケジューリング方法、設計支援方法、およびシステム | |
US8914623B2 (en) | Utilization of the screen image information of a primary environment for reproduction and user-interaction in a secondary environment | |
JP6186862B2 (ja) | 情報処理装置、省電力化制御方法および省電力化制御プログラム | |
US20160179429A1 (en) | Controlling memory access conflict of threads on multi-core processor with set of highest priority processor cores based on a threshold value of issued-instruction efficiency | |
JPWO2012046302A1 (ja) | マルチコアプロセッサシステム、監視制御方法、および監視制御プログラム | |
CN115617494B (zh) | 多cpu环境下的进程调度方法、装置、电子设备和介质 | |
US9507641B1 (en) | System and method for dynamic granularity control of parallelized work in a portable computing device (PCD) | |
US9507645B2 (en) | Thread processing method for using a multi-core processor and systems therefor | |
JP2009026199A (ja) | クロック周波数制御方法及びコンピュータプログラム | |
US20130298132A1 (en) | Multi-core processor system and scheduling method | |
JP5708450B2 (ja) | マルチコアプロセッサシステム、レジスタ利用方法、およびレジスタ利用プログラム | |
JP5472447B2 (ja) | マルチコアプロセッサシステム、メモリコントローラ制御方法、およびメモリコントローラ制御プログラム | |
JP2004512614A (ja) | オペレーティングシステムサポートのために一定の時間基準を用いるマルチモード電力管理システムのハードウェアアーキテクチャ | |
US9690619B2 (en) | Thread processing method and thread processing system for setting for each thread priority level of access right to access shared memory | |
JP2009070389A (ja) | 処理装置のためのコントローラ | |
JP5783348B2 (ja) | 制御装置、制御プログラム、画像形成装置 | |
WO2012098683A1 (ja) | スケジューリング方法およびスケジューリングシステム | |
JP2010140319A (ja) | 半導体装置 | |
JP5605477B2 (ja) | マルチコアプロセッサシステム、制御プログラム、および制御方法 | |
JP2003233434A (ja) | 消費電力管理装置 | |
JP5601414B2 (ja) | マルチコアプロセッサシステム、制御方法、および制御プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131022 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131224 |
|
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: 20140401 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5534002 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140414 |
|
LAPS | Cancellation because of no payment of annual fees |