JP5445669B2 - マルチコアシステムおよび起動方法 - Google Patents
マルチコアシステムおよび起動方法 Download PDFInfo
- Publication number
- JP5445669B2 JP5445669B2 JP2012506709A JP2012506709A JP5445669B2 JP 5445669 B2 JP5445669 B2 JP 5445669B2 JP 2012506709 A JP2012506709 A JP 2012506709A JP 2012506709 A JP2012506709 A JP 2012506709A JP 5445669 B2 JP5445669 B2 JP 5445669B2
- Authority
- JP
- Japan
- Prior art keywords
- scheduler
- core
- processor core
- processor
- master right
- 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
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Power Sources (AREA)
Description
実施例1では、各プロセッサコアで動作するスケジューラが他のプロセッサコアのスケジューラへマスタ権を譲り渡した後に各プロセッサコアに処理を割り振る。それにより、同時に複数のプロセッサコアでそれぞれに割り振られた処理が少しずつ時間をずらしながら並列に行われる。
図1は、実施例1にかかるマルチコアシステムを示すブロック図である。図1に示すように、マルチコアシステムは、複数、特に限定しないが、図示例では4個のプロセッサコア1,2,3,4を有する。各プロセッサコア1,2,3,4では、それぞれスケジューラ5,6,7,8が動作する。各スケジューラ5,6,7,8は、マスタ権を有するときにスケジューリングを行う。スケジューリングによって、各プロセッサコア1,2,3,4に処理が割り振られる。マスタ権は、スケジューリングを行う権限である。マルチコアシステムは、スケジューラ5,6,7,8間でのマスタ権の移動を制御するマスタ制御部9を有する。
図2は、実施例1にかかる起動方法を示すフローチャートである。図2のフローチャートは、複数のスケジューラのうちの一つのスケジューラの動作を示すものである。ここでは、図1に示す構成のスケジューラP5の動作について説明する。図1に示す他のスケジューラQ6、R7およびS8の動作も同様である。
実施例2は、実施例1のマルチコアシステムを、例えば携帯電話端末などの携帯端末やテレビシステムなどの家庭電化製品の組み込みシステムとして用いたものである。
図3は、実施例2にかかるマルチコアシステムを示すブロック図である。図3に示すように、マルチコアシステムは、プロセッサコア11,12,13,14、例えば画像処理や音声処理や通信処理などの各種処理を行うデバイス15,16、例えばハードディスクなどのストレージ17および作業領域として使用されるメインメモリ18を備えている。これらプロセッサコア11,12,13,14、デバイス15,16、ストレージ17およびメインメモリ18は、バス19を介して相互に接続されている。各プロセッサコア11,12,13,14ではオペレーティングシステムが別々に動作するが、全体として一つのシステムが構築されている。プロセッサコアの数およびデバイスの数は、図示例に限らない。例えば、プロセッサコアの数は2個、3個または5個以上でもよい。
図4は、実施例2にかかる起動方法において最初にマスタ権を受信するプロセッサコアの動作を示すフローチャートである。ここでは、図3に示す構成のプロセッサコアP11で動作するカーネルが最初にマスタ権を受信するとして説明する。
図7は、実施例2にかかる起動方法によるマルチコアシステムの動作を示す図である。図7に示すように、図3に示すマルチコアシステムを有する装置の電源がオンになるか、またはリセットされると、プロセッサコアP11において、起動プログラムが動作し、ブートプログラムが動作する(ステップS41)。そして、プロセッサコア間通信によってプロセッサコアP11から他のプロセッサコアQ12、R13およびS14にブート指示が与えられる(ステップS42)。そして、各プロセッサコアP11、Q12、R13およびS14は、カーネルコアを起動し、初期設定を行う(ステップS43)。その際、プロセッサコアP11には、マスタ権が与えられる。
T=(F/G)×Max(2×J+H,J+K) ・・・(1)
T’=(F/G)×(H+J+K) ・・・(2)
前記各プロセッサコアで動作し、処理の割り振りを行う権限であるマスタ権を有するときに前記各プロセッサコアに対して処理を割り振るスケジューラと、
前記各スケジューラが、マスタ権を受信した後、各プロセッサコアに対して処理を割り振る前に他のプロセッサコアへマスタ権の移動を送信し、各プロセッサコアに対して処理を割り振った後、マスタ権を破棄してマスタ権の受信を待機する状態となるサイクルを、処理対象の処理がなくなるまで繰り返すように制御するマスタ制御部と、
を備えることを特徴とするマルチコアシステム。
前記各プロセッサコアで動作し、処理の割り振りを行う権限であるマスタ権を有するときに前記各プロセッサコアに対して処理を割り振る各スケジューラが、マスタ権の受信、他のプロセッサコアへのマスタ権移動の送信、各プロセッサコアに対する処理の割り振り、マスタ権の破棄およびマスタ権の受信待機状態のサイクルを、処理対象の処理がなくなるまで繰り返すことを特徴とする起動方法。
5,6,7,8 スケジューラ
9,31 マスタ制御部
15,16 デバイス
Claims (8)
- 複数のプロセッサコアと、
処理の割り振りを行う権限であるマスタ権を有する場合に、前記複数のプロセッサコアに処理を割り振る複数のスケジューラと、
前記複数のスケジューラの1つである第1のスケジューラがマスタ権を付与された場合に、前記第1のスケジューラが前記複数のプロセッサコアに処理を割り振る前に、前記第1のスケジューラのマスタ権を保持したまま、前記第1のスケジューラを除く前記複数のスケジューラのいずれかにマスタ権を付与し、前記第1のスケジューラが前記複数のプロセッサコアに処理を割り振った後、前記第1のスケジューラのマスタ権を排除するサイクルを、割り振り対象の処理がなくなるまで繰り返すマスタ制御部と、
を備えることを特徴とするマルチコアシステム。 - マスタ権を有するスケジューラは、任意のプロセッサコアで処理可能な処理に対して割り振りを行い、プロセッサコアが予約されている処理に対しては、当該処理の起動を、当該予約されているプロセッサコアに依頼することを特徴とする請求項1に記載のマルチコアシステム。
- 前記複数のスケジューラの各々は、前記マスタ制御部によりマスタ権を付与された後、前記複数のプロセッサコアごとの負荷情報を取得し、前記複数のプロセッサコアのうち負荷の低いプロセッサコアに処理を割り振ることを特徴とする請求項1に記載のマルチコアシステム。
- 前記マスタ制御部は、前記複数のスケジューラの各々による最後の割り振り対象の処理の割り振りが終了すると、マスタ権を所定のプロセッサコアに戻すことを特徴とする請求項1に記載のマルチコアシステム。
- 複数のプロセッサコアを有するマルチコアシステムの起動方法において、
処理の割り振りを行う権限であるマスタ権を有する場合に、前記複数のプロセッサコアに処理を割り振る複数のスケジューラの1つである第1のスケジューラが、マスタ権を付与された場合に、前記第1のスケジューラが前記複数のプロセッサコアに処理を割り振る前に、前記第1のスケジューラのマスタ権を保持したまま、前記第1のスケジューラを除く前記複数のスケジューラのいずれかにマスタ権を付与し、前記第1のスケジューラが前
記複数のプロセッサコアに処理を割り振った後、前記第1のスケジューラのマスタ権を排除するサイクルを、割り振り対象の処理がなくなるまで繰り返すことを特徴とする起動方法。 - マスタ権を有するスケジューラは、任意のプロセッサコアで処理可能な処理に対して割り振りを行い、プロセッサコアが予約されている処理に対しては、当該処理の起動を、当該予約されているプロセッサコアに依頼することを特徴とする請求項5に記載の起動方法。
- 前記複数のスケジューラの各々が、マスタ権を付与された後、前記複数のプロセッサコアごとの負荷情報を取得し、前記複数のプロセッサコアのうち負荷の低いプロセッサコアに処理を割り振ることを特徴とする請求項5に記載の起動方法。
- 前記複数のスケジューラの各々による最後の割り振り対象の処理の割り振りが終了すると、マスタ権を所定のプロセッサコアに戻すことを特徴とする請求項5に記載の起動方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2010/055138 WO2011117987A1 (ja) | 2010-03-24 | 2010-03-24 | マルチコアシステムおよび起動方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013269776A Division JP5641128B2 (ja) | 2013-12-26 | 2013-12-26 | マルチコアプロセッサシステム、マルチコアプロセッサシステムの制御方法、およびマルチコアプロセッサシステムの制御プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2011117987A1 JPWO2011117987A1 (ja) | 2013-07-04 |
JP5445669B2 true JP5445669B2 (ja) | 2014-03-19 |
Family
ID=44672579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012506709A Expired - Fee Related JP5445669B2 (ja) | 2010-03-24 | 2010-03-24 | マルチコアシステムおよび起動方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9218201B2 (ja) |
EP (1) | EP2551768A4 (ja) |
JP (1) | JP5445669B2 (ja) |
CN (1) | CN102812440B (ja) |
WO (1) | WO2011117987A1 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101689736B1 (ko) * | 2010-08-18 | 2016-12-27 | 삼성전자주식회사 | 작업 스케쥴링 기능을 구비한 작업 처리장치, 스케쥴링 활성화 제어장치 및 대칭형 멀티프로세싱 환경에서의 작업 스케쥴링 방법 |
KR101842200B1 (ko) | 2012-01-31 | 2018-03-26 | 엘지전자 주식회사 | 이동 단말기 및 그 제어방법 |
KR20140103569A (ko) * | 2013-02-18 | 2014-08-27 | 한국전자통신연구원 | 적응적 계층 선택을 위한 장치 및 방법, 이를 구비한 서버 |
CN104142854B (zh) * | 2013-05-09 | 2018-04-10 | 启碁科技股份有限公司 | 操作流程控制方法及电子系统 |
CN103346980B (zh) | 2013-07-02 | 2016-08-10 | 华为技术有限公司 | 一种业务调度方法、装置及网络设备 |
JPWO2015015756A1 (ja) * | 2013-08-02 | 2017-03-02 | 日本電気株式会社 | 不揮発性メモリ搭載サーバの省電力制御システム、制御装置、制御方法および制御プログラム |
JP6263981B2 (ja) * | 2013-11-20 | 2018-01-24 | 株式会社リコー | 情報処理装置、情報処理装置の起動方法、及び、プログラム |
KR102641520B1 (ko) * | 2018-11-09 | 2024-02-28 | 삼성전자주식회사 | 멀티-코어 프로세서를 포함하는 시스템 온 칩 및 그것의 태스크 스케줄링 방법 |
WO2021032287A1 (en) * | 2019-08-20 | 2021-02-25 | Nokia Solutions And Networks Oy | Method and processing unit for performing tasks through master slave rotation |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6292045A (ja) * | 1985-10-18 | 1987-04-27 | Fujitsu Ltd | 初期プログラムロ−ド制御方式 |
JPH07253960A (ja) * | 1994-03-16 | 1995-10-03 | Fujitsu Ltd | マルチプロセッサシステムにおけるipl方式 |
JP2000339284A (ja) * | 1999-05-28 | 2000-12-08 | Fujitsu Ltd | マルチプロセッサシステム及びその起動方法 |
JP2008186175A (ja) * | 2007-01-29 | 2008-08-14 | Toyota Motor Corp | オペレーティングシステムの起動制御方法及び情報処理装置 |
JP2009075910A (ja) * | 2007-09-21 | 2009-04-09 | Seiko Epson Corp | プロセッサ切り替え装置、情報表示装置およびマルチプロセッサシステム |
JP2009098769A (ja) * | 2007-10-15 | 2009-05-07 | Sony Corp | マルチプロセッサシステムおよび起動方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4630193A (en) * | 1981-04-27 | 1986-12-16 | Textron, Inc. | Time multiplexed processor bus |
JPH0460843A (ja) | 1990-06-29 | 1992-02-26 | Hitachi Ltd | マルチプロセッサシステムにおけるタスクスケジュール方式 |
JPH11265297A (ja) | 1998-03-17 | 1999-09-28 | Mitsubishi Electric Corp | 分散シミュレータシステム |
JP2001117786A (ja) | 1999-10-19 | 2001-04-27 | Nec Corp | プロセススケジューリング装置およびプロセススケジューリング方法 |
US7055060B2 (en) * | 2002-12-19 | 2006-05-30 | Intel Corporation | On-die mechanism for high-reliability processor |
JP2006252437A (ja) | 2005-03-14 | 2006-09-21 | Nec Corp | パッチ適用方式及びパッチ適用方法 |
US7810094B1 (en) * | 2005-09-30 | 2010-10-05 | Emc Corporation | Distributed task scheduling for symmetric multiprocessing environments |
CN100562854C (zh) * | 2008-03-11 | 2009-11-25 | 浙江大学 | 多核处理器操作系统负载均衡的实现方法 |
CN101819540B (zh) * | 2009-02-27 | 2013-03-20 | 国际商业机器公司 | 在集群中调度任务的方法和系统 |
-
2010
- 2010-03-24 EP EP10848380.1A patent/EP2551768A4/en not_active Withdrawn
- 2010-03-24 WO PCT/JP2010/055138 patent/WO2011117987A1/ja active Application Filing
- 2010-03-24 CN CN201080065635.XA patent/CN102812440B/zh not_active Expired - Fee Related
- 2010-03-24 JP JP2012506709A patent/JP5445669B2/ja not_active Expired - Fee Related
-
2012
- 2012-09-19 US US13/622,536 patent/US9218201B2/en not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6292045A (ja) * | 1985-10-18 | 1987-04-27 | Fujitsu Ltd | 初期プログラムロ−ド制御方式 |
JPH07253960A (ja) * | 1994-03-16 | 1995-10-03 | Fujitsu Ltd | マルチプロセッサシステムにおけるipl方式 |
JP2000339284A (ja) * | 1999-05-28 | 2000-12-08 | Fujitsu Ltd | マルチプロセッサシステム及びその起動方法 |
JP2008186175A (ja) * | 2007-01-29 | 2008-08-14 | Toyota Motor Corp | オペレーティングシステムの起動制御方法及び情報処理装置 |
JP2009075910A (ja) * | 2007-09-21 | 2009-04-09 | Seiko Epson Corp | プロセッサ切り替え装置、情報表示装置およびマルチプロセッサシステム |
JP2009098769A (ja) * | 2007-10-15 | 2009-05-07 | Sony Corp | マルチプロセッサシステムおよび起動方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2551768A1 (en) | 2013-01-30 |
US20130024870A1 (en) | 2013-01-24 |
US9218201B2 (en) | 2015-12-22 |
CN102812440A (zh) | 2012-12-05 |
JPWO2011117987A1 (ja) | 2013-07-04 |
CN102812440B (zh) | 2016-05-04 |
EP2551768A4 (en) | 2013-10-09 |
WO2011117987A1 (ja) | 2011-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5445669B2 (ja) | マルチコアシステムおよび起動方法 | |
JP4606142B2 (ja) | スケジューリング方法、スケジューリング装置およびマルチプロセッサシステム | |
US9454397B2 (en) | Data processing systems | |
US9043806B2 (en) | Information processing device and task switching method | |
JP2006195823A (ja) | Dma装置 | |
TW200540634A (en) | Processor system, dma control circuit, dma control method, control method for DMA controller, graphic processing method, and graphic processing circuit | |
JP2010044784A (ja) | システムにおける要求のスケジューリング | |
US20130311751A1 (en) | System and data loading method | |
JP5819184B2 (ja) | 情報処理装置及び情報処理装置の制御方法 | |
JP5641128B2 (ja) | マルチコアプロセッサシステム、マルチコアプロセッサシステムの制御方法、およびマルチコアプロセッサシステムの制御プログラム | |
Bi et al. | Research of key technologies for embedded Linux based on ARM | |
US20130298132A1 (en) | Multi-core processor system and scheduling method | |
JP2002288104A (ja) | コンピュータシステム、そのリソース割り当て方法及びプログラム | |
US9170839B2 (en) | Method for job scheduling with prediction of upcoming job combinations | |
KR102416465B1 (ko) | 공유 자원을 효율적으로 관리하는 데이터 처리 시스템 | |
JP2008041059A (ja) | マルチプロセッサ制御装置及び情報処理装置 | |
JP6368452B2 (ja) | 非同期のデバイスによって実行されるタスクのスケジューリングの向上 | |
JP5447666B2 (ja) | マルチプロセッサシステムおよびスケジューリング方法 | |
EP4187374A1 (en) | Kernel restarting method | |
JP2005327007A (ja) | 組込みコンピュータ制御プログラム、そのプログラムを記録した記録媒体、及び組込みシステム | |
JP2021043931A (ja) | コンピュータ装置及びデバッグ方法 | |
CN115599530B (zh) | 一种基于Linux内核的硬实时优化改造方法 | |
KR102268796B1 (ko) | 하이퍼바이저 기반 plc 서비스 처리 장치 | |
JP6435911B2 (ja) | 情報処理装置、起動処理方法、及び起動処理プログラム | |
JP2007219925A (ja) | バス制御装置、バス制御プログラム及び記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130521 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130722 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130827 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131028 |
|
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: 20131126 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131209 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |