JP5765423B2 - マルチコアプロセッサシステム、およびスケジューリング方法 - Google Patents
マルチコアプロセッサシステム、およびスケジューリング方法 Download PDFInfo
- Publication number
- JP5765423B2 JP5765423B2 JP2013525502A JP2013525502A JP5765423B2 JP 5765423 B2 JP5765423 B2 JP 5765423B2 JP 2013525502 A JP2013525502 A JP 2013525502A JP 2013525502 A JP2013525502 A JP 2013525502A JP 5765423 B2 JP5765423 B2 JP 5765423B2
- Authority
- JP
- Japan
- Prior art keywords
- thread
- scheduling method
- interrupt
- cpu
- 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
- 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
-
- 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/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4831—Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
- G06F9/4837—Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority time dependent
-
- 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/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/483—Multiproc
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Bus Control (AREA)
- Multi Processors (AREA)
Description
図3は、マルチコアプロセッサシステム100のハードウェア例を示すブロック図である。本実施の形態におけるマルチコアプロセッサシステム100は、携帯電話などの携帯端末を想定している。図3において、マルチコアプロセッサシステム100は、CPUs301と、ROM(Read‐Only Memory)302と、RAM(Random Access Memory)303と、を含む。また、マルチコアプロセッサシステム100は、フラッシュROM304と、フラッシュROMコントローラ305と、フラッシュROM306と、を含む。また、マルチコアプロセッサシステム100は、ユーザやその他の機器との入出力装置として、ディスプレイ307と、I/F(Interface)308と、キーボード309と、を含む。また、各部はバス310によってそれぞれ接続されている。
次に、スケジューリング方法選択部424とマスタスケジューラ425の機能について説明する。図5は、スケジューリング方法選択部424とマスタスケジューラ425の機能を示すブロック図である。スケジューリング方法選択部424は、算出部501と、算出部502と、比較部503と、選択部504と、を含む。また、マスタスケジューラ425は、割当部505を含む。この制御部となる機能(算出部501〜割当部505)は、記憶装置に記憶されたプログラムをCPU#0が実行することにより、その機能を実現する。記憶装置とは、具体的には、たとえば、図3に示したROM302、RAM303、フラッシュROM304、フラッシュROM306などである。
⇔TL#0=(2+1×1.2×2/2)+(6+0×1.2×6/2)
⇔TL#0=3.2+6=9.2[ms]
カウントされた前記割込処理の回数に基づいて複数のスケジューリング方法から一のスケジューリング方法を選択するスケジューリング方法選択ユニットと、
を含むことを特徴とするデータ処理システム。
を特徴とする付記1に記載のデータ処理システム。
新たな処理を前記複数のデータ処理装置に割り当てるとき、前記新たな処理と前記第1の複数の処理とを含めた第2の複数の処理を前記第1スケジューリング方法でスケジューリングしたときの第1実行時間を算出し、
前記第2の複数の処理を前記第1スケジューリング方法とは異なる第2スケジューリング方法でスケジューリングしたときの第2実行時間を算出し、
前記第2の複数の処理を前記複数のデータ処理装置に割り当てるために、前記第1実行時間と前記第2実行時間との比較結果に基づいて、前記第1スケジューリング方法または前記第2スケジューリング方法を選択すること
を特徴とするスケジューリング方法。
前記第2スケジューリング方法においては前記第2の複数の処理における割込処理の回数に基づいてスケジューリングが行われること
を特徴とする付記3に記載のスケジューリング方法。
前記第1スケジューリング方法でスケジューリングしたときに、前記複数のデータ処理装置の各々のデータ処理装置に割り当てられる処理の負荷量と当該処理の実行中に発生する割込処理にかかる時間との前記データ処理装置ごとの合計値のうち、最大の合計値を前記第1実行時間として算出し、
前記第2実行時間を算出する処理は、
前記第2スケジューリング方法でスケジューリングしたときに、前記複数のデータ処理装置の各々のデータ処理装置に割り当てられる処理の負荷量と当該処理の実行中に発生する割込処理にかかる時間との前記データ処理装置ごとの合計値のうち、最大の合計値を前記第2実行時間として算出すること
を特徴とする付記3に記載のスケジューリング方法。
前記第2の複数の処理の中で割込処理が第1頻度で発生する処理を第2の複数のデータ処理装置に割り当て、
前記第2の複数の処理の中で割込処理が第2頻度で発生する処理を前記処理と同じプロセスに含まれる処理が割り当てられた前記複数のデータ処理装置の中のデータ処理装置に割り当てること
を特徴とする付記3乃至付記5の何れか一に記載のスケジューリング方法。
を特徴とする付記6に記載のスケジューリング方法。
を特徴とする付記6または付記7に記載のスケジューリング方法。
前記複数のスレッドの中で割込処理が第1頻度で発生するスレッドを第2の複数のデータ処理装置に割り当て、
前記複数のスレッドの中で割込処理が前記第1頻度よりも低い第2頻度で発生するスレッドを前記スレッドと同じプロセスに含まれるスレッドが割り当てられた前記複数のデータ処理装置の中のデータ処理装置に割り当てること
を特徴とするスケジューリング方法。
を特徴とする付記9に記載のスケジューリング方法。
402 割込コントローラ
403 割込回数テーブル
424 スケジューリング方法選択部
501、502 算出部
503 比較部
504 選択部
505 割当部
Claims (7)
- 複数のスレッドを実行する複数のコアを有するマルチコアプロセッサと、
前記複数のコアの各々のコアで実行されるスレッドの割込処理の回数をカウントする前記各々のコアに対応する割込コントローラと、
を有するマルチコアプロセッサシステムであって、前記複数のコアのうちの一のコアは、
前記各々のコアの負荷に基づいてスケジューリングを行う第1スケジューリング方法で前記複数のスレッドをスケジューリングしたときの第1実行時間を算出し、
前記各々のコアの割込処理の回数に基づいてスケジューリングを行う第2スケジューリング方法で前記複数のスレッドをスケジューリングしたときの第2実行時間を算出し、
前記第1実行時間と前記第2実行時間との比較結果に基づいて、前記第1スケジューリング方法と前記第2スケジューリング方法とから一のスケジューリング方法を選択する、
ことを特徴とするマルチコアプロセッサシステム。 - 複数の処理を実行する複数のコアを有するマルチコアプロセッサと、前記複数のコアの各々のコアで実行される処理の割込処理の回数をカウントする前記各々のコアに対応する割込コントローラと、を有するマルチコアプロセッサシステムにおけるスケジューリング方法であって、
前記複数のコアのうちの第1のコアが、
前記各々のコアの負荷に基づいてスケジューリングを行う第1スケジューリング方法にて前記複数のコアに第1の複数の処理を割り当て、
新たな処理を前記複数のコアのいずれかに割り当てるとき、前記新たな処理と前記第1の複数の処理とを含めた第2の複数の処理を前記第1スケジューリング方法でスケジューリングしたときの第1実行時間を算出し、
前記各々のコアの割込処理の回数に基づいてスケジューリングを行う第2スケジューリング方法で前記第2の複数の処理をスケジューリングしたときの第2実行時間を算出し、
前記第2の複数の処理を前記複数のコアに割り当てるために、前記第1実行時間と前記第2実行時間との比較結果に基づいて、前記第1スケジューリング方法または前記第2スケジューリング方法を選択すること
を特徴とするスケジューリング方法。 - 前記第1のコアが、
前記第2スケジューリング方法において、
前記第2の複数の処理の中で割込処理が第1頻度で発生する処理を第2の複数のコアに割り当て、
前記第2の複数の処理の中で割込処理が第2頻度で発生する処理を前記処理と同じプロセスに含まれる処理が割り当てられた前記複数のコアの中のコアに割り当てること
を特徴とする請求項2に記載のスケジューリング方法。 - 前記第1頻度は前記第2頻度よりも高いこと
を特徴とする請求項3に記載のスケジューリング方法。 - 前記第1のコアが、
前記第2頻度で発生する処理を割り当てた後に、前記第2の複数の処理の中で割り当てられていない処理を、前記複数のコアの負荷が均等になるように前記複数のコアに割り当てること
を特徴とする請求項3または請求項4に記載のスケジューリング方法。 - 複数のスレッドを実行する複数のコアを有するマルチコアプロセッサと、前記複数のコアの各々のコアで実行されるスレッドの割込処理の回数をカウントする前記各々のコアに対応する割込コントローラと、を有するマルチコアプロセッサシステムにおけるスケジューリング方法であって、
前記複数のコアのうちの第1のコアが、
前記複数のスレッドの中で割込処理が第1頻度で発生するスレッドを第2の複数のコアに割り当て、
前記複数のスレッドの中で割込処理が前記第1頻度よりも低い第2頻度で発生するスレッドを前記スレッドと同じプロセスに含まれるスレッドが割り当てられた前記複数のコアの中のコアに割り当てること
を特徴とするスケジューリング方法。 - 前記第1のコアが、
前記第2頻度で発生するスレッドを割り当てた後に、新たなスレッドと前記複数のスレッドとの中で割り当てられていないスレッドを、前記複数のコアの負荷が均等になるように前記複数のコアに割り当てること
を特徴とする請求項6に記載のスケジューリング方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2011/067134 WO2013014767A1 (ja) | 2011-07-27 | 2011-07-27 | データ処理システム、およびスケジューリング方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2013014767A1 JPWO2013014767A1 (ja) | 2015-02-23 |
JP5765423B2 true JP5765423B2 (ja) | 2015-08-19 |
Family
ID=47600656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013525502A Expired - Fee Related JP5765423B2 (ja) | 2011-07-27 | 2011-07-27 | マルチコアプロセッサシステム、およびスケジューリング方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US9430271B2 (ja) |
JP (1) | JP5765423B2 (ja) |
WO (1) | WO2013014767A1 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6387747B2 (ja) * | 2013-09-27 | 2018-09-12 | 日本電気株式会社 | 情報処理装置、障害回避方法およびコンピュータプログラム |
JP6445876B2 (ja) * | 2015-01-26 | 2018-12-26 | 日本電信電話株式会社 | リソース割当装置、リソース割当システム、および、リソース割当方法 |
US9658893B2 (en) * | 2015-05-06 | 2017-05-23 | Runtime Design Automation | Multilayered resource scheduling |
KR102464678B1 (ko) * | 2016-03-18 | 2022-11-11 | 한국전자통신연구원 | 매니코어 시스템에서 쓰레드를 스케줄링 하는 방법 및 그 장치 |
WO2018050243A1 (en) * | 2016-09-16 | 2018-03-22 | Huawei Technologies Co., Ltd. | Optimize operating system timers for high activation rate |
US10496448B2 (en) * | 2017-04-01 | 2019-12-03 | Intel Corporation | De-centralized load-balancing at processors |
US11138037B2 (en) * | 2017-11-02 | 2021-10-05 | Mediatek Inc. | Switch policy for hybrid scheduling in multi-processor systems |
US20210124615A1 (en) * | 2019-10-29 | 2021-04-29 | Thomas Klingenbrunn | Thread scheduling based on performance metric information |
US11620154B2 (en) * | 2020-01-02 | 2023-04-04 | International Business Machines Corporation | Suppressing interrupts to an application thread |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09282188A (ja) | 1996-04-16 | 1997-10-31 | Mitsubishi Electric Corp | 割込処理方法およびこの方法を用いたシステム |
JP2001331461A (ja) * | 2000-05-19 | 2001-11-30 | Nec Corp | マルチプロセッサシステム及びプロセッサスケジュリング方法 |
US7849463B2 (en) * | 2000-06-02 | 2010-12-07 | Microsoft Corporation | Dynamically variable idle time thread scheduling |
US7080379B2 (en) | 2002-06-20 | 2006-07-18 | International Business Machines Corporation | Multiprocessor load balancing system for prioritizing threads and assigning threads into one of a plurality of run queues based on a priority band and a current load of the run queue |
JP4609113B2 (ja) * | 2005-03-01 | 2011-01-12 | セイコーエプソン株式会社 | プロセッサ |
US7689838B2 (en) * | 2005-12-22 | 2010-03-30 | Intel Corporation | Method and apparatus for providing for detecting processor state transitions |
WO2010092483A1 (en) * | 2009-02-13 | 2010-08-19 | Alexey Raevsky | Devices and methods for optimizing data-parallel processing in multi-core computing systems |
US9207943B2 (en) * | 2009-03-17 | 2015-12-08 | Qualcomm Incorporated | Real time multithreaded scheduler and scheduling method |
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-07-27 JP JP2013525502A patent/JP5765423B2/ja not_active Expired - Fee Related
- 2011-07-27 WO PCT/JP2011/067134 patent/WO2013014767A1/ja active Application Filing
-
2014
- 2014-01-27 US US14/164,933 patent/US9430271B2/en not_active Expired - Fee Related
-
2016
- 2016-08-17 US US15/239,143 patent/US9513965B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20160357604A1 (en) | 2016-12-08 |
WO2013014767A1 (ja) | 2013-01-31 |
US9430271B2 (en) | 2016-08-30 |
US20140143790A1 (en) | 2014-05-22 |
JPWO2013014767A1 (ja) | 2015-02-23 |
US9513965B1 (en) | 2016-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5765423B2 (ja) | マルチコアプロセッサシステム、およびスケジューリング方法 | |
EP3401787B1 (en) | Analyzing resource utilization of a cloud computing resource in a cloud computing environment | |
US10536392B2 (en) | Monitoring data streams and scaling computing resources based on the data streams | |
US9027028B2 (en) | Controlling the use of computing resources in a database as a service | |
US9483319B2 (en) | Job scheduling apparatus and method therefor | |
US8806501B2 (en) | Predictive dynamic system scheduling | |
US8615764B2 (en) | Dynamic system scheduling | |
US9852008B2 (en) | Computer-readable recording medium storing execution information notification program, information processing apparatus, and information processing system | |
KR101553650B1 (ko) | 멀티코어 시스템에서의 로드 밸런싱 장치 및 방법 | |
EP2613257B1 (en) | Systems and methods for use in performing one or more tasks | |
Tang et al. | MTSD: A task scheduling algorithm for MapReduce base on deadline constraints | |
US20150378782A1 (en) | Scheduling of tasks on idle processors without context switching | |
US9547576B2 (en) | Multi-core processor system and control method | |
JPWO2014208139A1 (ja) | 異常検出装置、制御方法、及びプログラム | |
JPWO2011104823A1 (ja) | マルチコアプロセッサシステム、スレッド制御方法、およびスレッド制御プログラム | |
JP5861715B2 (ja) | データ処理装置、送信装置、スケジューリング方法、送信制御方法、スケジューリングプログラム、および送信制御プログラム | |
JP5708450B2 (ja) | マルチコアプロセッサシステム、レジスタ利用方法、およびレジスタ利用プログラム | |
US8024738B2 (en) | Method and system for distributing unused processor cycles within a dispatch window | |
US20130125131A1 (en) | Multi-core processor system, thread control method, and computer product | |
US9189279B2 (en) | Assignment method and multi-core processor system | |
US9405470B2 (en) | Data processing system and data processing method | |
CN115756866A (zh) | 负载均衡方法、装置及存储介质 | |
KR101639947B1 (ko) | 하둡 선점 데드라인 제약 스케줄링 방법 및 그 방법을 수행하는 컴퓨터프로그램과, 그 프로그램이 기록된 매체 | |
JP5348315B2 (ja) | マルチコアプロセッサシステム、制御プログラム、および制御方法 | |
CN113568728A (zh) | 一种作业调度方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150224 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150427 |
|
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: 20150519 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150601 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5765423 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |