JP5737298B2 - スケジューリング方法およびスケジューリングシステム - Google Patents
スケジューリング方法およびスケジューリングシステム Download PDFInfo
- Publication number
- JP5737298B2 JP5737298B2 JP2012553538A JP2012553538A JP5737298B2 JP 5737298 B2 JP5737298 B2 JP 5737298B2 JP 2012553538 A JP2012553538 A JP 2012553538A JP 2012553538 A JP2012553538 A JP 2012553538A JP 5737298 B2 JP5737298 B2 JP 5737298B2
- Authority
- JP
- Japan
- Prior art keywords
- application
- cpu
- switching
- app
- assigned
- 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/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
-
- 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/5083—Techniques for rebalancing the load in a distributed system
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)
- Debugging And Monitoring (AREA)
- Multi Processors (AREA)
Description
図1および図2は、実施の形態にかかるスケジューリング処理の一実施例を示す説明図である。図1および図2において、マルチコアプロセッサシステム100は、CPU(Central Processing Unit)#0と、CPU#1と、を含むスケジューリングシステムである。
つぎに、実施の形態にかかるマルチコアプロセッサシステム300のシステム構成について説明する。なお、図1および図2に示したマルチコアプロセッサシステム100は、以下に説明するマルチコアプロセッサシステム300の一例である。
つぎに、図3に示したスケジューラ101が用いるユースケーステーブル400について説明する。ユースケーステーブル400は、図1および図2に示したアプリケーション情報テーブル102に相当する。ユースケーステーブル400は、例えば、1次キャッシュ301−1、2次キャッシュ303、メモリ306などに記憶されている。
つぎに、スケジューラ101の機能的構成例について説明する。図5は、実施の形態にかかるスケジューラの機能的構成を示すブロック図である。図5において、スケジューラ101は、受付部501と、特定部502と、検出部503と、割当部504と、第1の算出部505と、第2の算出部506と、第3の算出部507と、を含む構成である。各機能部(受付部501〜第3の算出部507)は、具体的には、例えば、メモリ306に記憶されたスケジューラ101をCPU#0に実行させることにより、その機能を実現する。なお、各機能部の処理結果は、例えば、CPU#0のレジスタ、1次キャッシュ301−1、2次キャッシュ303およびメモリ306などに記憶される。
つぎに、図7および図8を用いて、第2の算出部506の具体的な処理内容について説明する。ここでは、実施の形態にかかるマルチコアプロセッサシステム300の一例として、図1および図2に示したマルチコアプロセッサシステム100を例に挙げて説明する(n=1)。
まず、第2の算出部506は、ユースケーステーブル400を参照して、CPU#0に割り当てられているアプリ#0のコンテキストコスト『100[us]』と、アプリ#0がアプリ#5に切り替わる割合を示す期待値『0.5』とを乗算して切替コストを算出する。この結果、下記式(1)に示すように、切替コスト『50[us]』が算出される。
まず、第2の算出部506は、ユースケーステーブル400を参照して、CPU#1に割り当てられているアプリ#3のコンテキストコスト『500[us]』と、アプリ#3がアプリ#5に切り替わる割合を示す期待値『0.25』とを乗算して切替コストを算出する。この結果、下記式(3)に示すように、切替コスト『125[us]』が算出される。
つぎに、図7および図9を用いて、第3の算出部507の具体的な処理内容について説明する。ここでは、アプリ#5がCPU#0に割り当てられた結果、CPU#0に割り当てられているアプリ#0,アプリ#1を、CPU#1にマイグレーション(移行)するか否かを判断する場合を例に挙げて説明する。
まず、第3の算出部507は、ユースケーステーブル400を参照して、CPU#1に割り当てられているアプリ#3のコンテキストコスト『500[us]』と、アプリ#3がアプリ#0に切り替わる割合を示す期待値『0.4』とを乗算して切替コストを算出する。この結果、下記式(5)に示すように、切替コスト『200[us]』が算出される。
まず、第3の算出部507は、ユースケーステーブル400を参照して、CPU#1に割り当てられているアプリ#3のコンテキストコスト『500[us]』と、アプリ#3がアプリ#1に切り替わる割合を示す期待値『0.5』とを乗算して切替コストを算出する。この結果、下記式(7)に示すように、切替コスト『250[us]』が算出される。
つぎに、実施の形態にかかるスケジューラ101によるスケジューリング処理手順について説明する。
101 スケジューラ
102 アプリケーション情報テーブル
400 ユースケーステーブル
501 受付部
502 特定部
503 検出部
504 割当部
505 第1の算出部
506 第2の算出部
507 第3の算出部
600 割当テーブル
800 割当先候補コストテーブル
900 マイグレーション先候補コストテーブル
Claims (9)
- 複数のプロセッサを管理するスケジューラが、
第1アプリケーションが起動されたときに、アプリケーション情報テーブルに基づいて、前記第1アプリケーションと同時に実行されることのない第2アプリケーションを実行するプロセッサを検出し、
前記プロセッサに前記第1アプリケーションを割り当てること
を特徴とするスケジューリング方法。 - 前記アプリケーション情報テーブルは、
アプリケーション毎に、前記アプリケーションのコンテキスト情報と、前記アプリケーションと同時に実行され得る他のアプリケーション情報とを含むこと
を特徴とする請求項1に記載のスケジューリング方法。 - 前記第1アプリケーションと同時に実行されることのない第2アプリケーションを実行するプロセッサが複数あるときに、前記複数のプロセッサから負荷が最小であるプロセッサが前記第1アプリケーションに割り当てられること
を特徴とする請求項1に記載のスケジューリング方法。 - 複数のプロセッサを管理するスケジューラが、
第1アプリケーションが起動されたときに、アプリケーション情報テーブルに基づいて、前記複数のプロセッサの少なくとも一のプロセッサで実行される第2アプリケーションを前記第1アプリケーションに切り替えるときの負荷を計算し、
前記負荷に基づいて前記第1アプリケーションを実行する第1プロセッサを選択し、
前記アプリケーション情報テーブルは、アプリケーション毎に、前記アプリケーションのコンテキスト情報と、前記アプリケーションと同時に実行され得る他のアプリケーション情報とを含むこと
を特徴とするスケジューリング方法。 - 前記第2アプリケーションは、前記第1アプリケーションと同時に実行され得ること
を特徴とする請求項4に記載のスケジューリング方法。 - 前記負荷は、前記第2アプリケーションのコンテキストの切り替え時間と、前記第2アプリケーションと前記第1アプリケーションとの切り替え回数の期待値とに基づいて算出されること
を特徴とする請求項4または請求項5に記載のスケジューリング方法。 - 前記少なくとも一のプロセッサは2個以上のプロセッサであり、
前記2個以上のプロセッサで実行される第2アプリケーションを前記第1アプリケーションに切り替えるときの負荷を計算し、
複数の前記負荷の中で最小の負荷を有するプロセッサを前記第1プロセッサとして選択すること
を特徴とする請求項4乃至請求項6の何れか一に記載のスケジューリング方法。 - 前記アプリケーション情報テーブルに基づいて、前記複数のプロセッサの少なくとも一のプロセッサで実行される第3アプリケーションを前記第2アプリケーションに切り替えるときの負荷を計算し、
前記負荷に基づいて前記第2アプリケーションを実行する第2プロセッサを選択すること
を特徴とする請求項4乃至請求項7の何れか一に記載のスケジューリング方法。 - 複数のプロセッサと、
前記複数のプロセッサを管理するスケジューラと、
を含み、
前記スケジューラは、
第1アプリケーションの起動タスクを受信したときに、アプリケーション情報テーブルに基づいて、前記複数のプロセッサの少なくとも一のプロセッサで実行される第2アプリケーションを前記第1アプリケーションに切り替えるときの負荷を計算し、
前記負荷に基づいて前記第1アプリケーションを実行する第1プロセッサを選択し、
前記アプリケーション情報テーブルは、アプリケーション毎に、前記アプリケーションのコンテキスト情報と、前記アプリケーションと同時に実行され得る他のアプリケーション情報とを含むこと
を特徴とするスケジューリングシステム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2011/051118 WO2012098684A1 (ja) | 2011-01-21 | 2011-01-21 | スケジューリング方法およびスケジューリングシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2012098684A1 JPWO2012098684A1 (ja) | 2014-06-09 |
JP5737298B2 true JP5737298B2 (ja) | 2015-06-17 |
Family
ID=46515335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012553538A Expired - Fee Related JP5737298B2 (ja) | 2011-01-21 | 2011-01-21 | スケジューリング方法およびスケジューリングシステム |
Country Status (3)
Country | Link |
---|---|
US (1) | US9588817B2 (ja) |
JP (1) | JP5737298B2 (ja) |
WO (1) | WO2012098684A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8789065B2 (en) | 2012-06-08 | 2014-07-22 | Throughputer, Inc. | System and method for input data load adaptive parallel processing |
US9448847B2 (en) | 2011-07-15 | 2016-09-20 | Throughputer, Inc. | Concurrent program execution optimization |
JP6694138B2 (ja) * | 2016-07-26 | 2020-05-13 | 富士通株式会社 | プログラマブルロジックデバイスの制御プログラム、制御方法及び情報処理装置 |
JP7259380B2 (ja) * | 2019-02-12 | 2023-04-18 | 日本電気株式会社 | 情報処理実行制御装置、情報処理実行制御システム、情報処理実行制御方法、及び、情報処理実行制御プログラム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008140120A (ja) * | 2006-12-01 | 2008-06-19 | Fujitsu Ltd | 計算資源管理プログラム、計算資源管理装置および分散処理システム |
WO2010010723A1 (ja) * | 2008-07-22 | 2010-01-28 | トヨタ自動車株式会社 | マルチコアシステム、車両用電子制御ユニット、タスク切り替え方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3605978B2 (ja) | 1997-01-17 | 2004-12-22 | 松下電器産業株式会社 | マイクロコンピュータ |
US7673304B2 (en) | 2003-02-18 | 2010-03-02 | Microsoft Corporation | Multithreaded kernel for graphics processing unit |
US20050050310A1 (en) | 2003-07-15 | 2005-03-03 | Bailey Daniel W. | Method, system, and apparatus for improving multi-core processor performance |
US7614055B2 (en) * | 2004-06-14 | 2009-11-03 | Alcatel-Lucent Usa Inc. | Selecting a processor to run an executable of a distributed software application upon startup of the distributed software application |
WO2007017932A1 (ja) * | 2005-08-09 | 2007-02-15 | Fujitsu Limited | スケジュール制御プログラム及びスケジュール制御方法 |
JP4629587B2 (ja) * | 2006-01-18 | 2011-02-09 | 富士通株式会社 | 予約管理プログラム |
US7444449B2 (en) * | 2006-02-09 | 2008-10-28 | Sony Ericsson Mobile Communications Ab | Method, computer program product and computer system for controlling execution of an interruption routine |
JP4792358B2 (ja) | 2006-09-20 | 2011-10-12 | 富士通株式会社 | 資源ノード選択方法、プログラム、資源ノード選択装置および記録媒体 |
TW201009713A (en) * | 2008-08-21 | 2010-03-01 | Ind Tech Res Inst | Multitasking processor and task switch method thereof |
US8005950B1 (en) * | 2008-12-09 | 2011-08-23 | Google Inc. | Application server scalability through runtime restrictions enforcement in a distributed application execution system |
-
2011
- 2011-01-21 JP JP2012553538A patent/JP5737298B2/ja not_active Expired - Fee Related
- 2011-01-21 WO PCT/JP2011/051118 patent/WO2012098684A1/ja active Application Filing
-
2013
- 2013-07-19 US US13/946,361 patent/US9588817B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008140120A (ja) * | 2006-12-01 | 2008-06-19 | Fujitsu Ltd | 計算資源管理プログラム、計算資源管理装置および分散処理システム |
WO2010010723A1 (ja) * | 2008-07-22 | 2010-01-28 | トヨタ自動車株式会社 | マルチコアシステム、車両用電子制御ユニット、タスク切り替え方法 |
Also Published As
Publication number | Publication date |
---|---|
US9588817B2 (en) | 2017-03-07 |
US20130312002A1 (en) | 2013-11-21 |
JPWO2012098684A1 (ja) | 2014-06-09 |
WO2012098684A1 (ja) | 2012-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101366075B1 (ko) | 멀티코어 플랫폼에서의 태스크 이동 방법 및 장치 | |
JP5516744B2 (ja) | スケジューラ、マルチコアプロセッサシステムおよびスケジューリング方法 | |
CN108228482B (zh) | 用于管理存储系统中的缓存设备的方法和系统 | |
JP2004171234A (ja) | マルチプロセッサシステムにおけるタスク割り付け方法、タスク割り付けプログラム及びマルチプロセッサシステム | |
CN102822801A (zh) | 响应于服务水平协议而分配计算系统功率水平 | |
TWI503742B (zh) | 多核心處理器系統及其排程方法 | |
US12067413B2 (en) | Apparatus for determining resource migration schedule | |
JP5737298B2 (ja) | スケジューリング方法およびスケジューリングシステム | |
Sharma et al. | ETA-HP: an energy and temperature-aware real-time scheduler for heterogeneous platforms | |
JP2007188523A (ja) | タスク実行方法およびマルチプロセッサシステム | |
US9189279B2 (en) | Assignment method and multi-core processor system | |
JP5692381B2 (ja) | マルチコアプロセッサシステム、および制御方法 | |
US20130298132A1 (en) | Multi-core processor system and scheduling method | |
JP5321748B2 (ja) | マルチコアプロセッサシステム、スレッド制御方法、およびスレッド制御プログラム | |
JP5790758B2 (ja) | スケジューリング方法およびスケジューリングシステム | |
US8862786B2 (en) | Program execution with improved power efficiency | |
JP5158576B2 (ja) | 入出力制御システム、入出力制御方法、及び、入出力制御プログラム | |
KR20140037749A (ko) | 실행 제어 방법 및 멀티프로세서 시스템 | |
JP5776813B2 (ja) | マルチコアプロセッサシステム、マルチコアプロセッサシステムの制御方法および制御プログラム | |
JP6135392B2 (ja) | キャッシュメモリ制御プログラム,キャッシュメモリを内蔵するプロセッサ及びキャッシュメモリ制御方法 | |
US10114649B2 (en) | Thermal availability based instruction assignment for execution | |
US9405470B2 (en) | Data processing system and data processing method | |
JP6524733B2 (ja) | 並列演算装置、並列演算システム、およびジョブ制御プログラム | |
JPWO2012105000A1 (ja) | プログラム実行方法 | |
CN117742957A (zh) | 内存分配方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150106 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150309 |
|
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: 20150324 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150406 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5737298 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |