JP5644866B2 - スケジューリング方法及びスケジューリングシステム - Google Patents
スケジューリング方法及びスケジューリングシステム Download PDFInfo
- Publication number
- JP5644866B2 JP5644866B2 JP2012552604A JP2012552604A JP5644866B2 JP 5644866 B2 JP5644866 B2 JP 5644866B2 JP 2012552604 A JP2012552604 A JP 2012552604A JP 2012552604 A JP2012552604 A JP 2012552604A JP 5644866 B2 JP5644866 B2 JP 5644866B2
- Authority
- JP
- Japan
- Prior art keywords
- speculative
- cpus
- cpu
- maximum
- 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]
-
- 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
- G06F9/4893—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/504—Resource capping
-
- 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
図1は、実施例1にかかるスケジューリング方法を示すフローチャートである。図1に示すように、複数のCPUを備えた装置において、スケジューリングが開始されると、複数のCPUの中の一のCPUが、複数のCPUのそれぞれに割り当て可能な投機処理数の最大値から対応するCPUに割り当てられている処理数を引き算する。この演算によって、CPUごとに割り当て可能な投機処理数が求まる(ステップS1)。
実施例2は、実施例1のスケジューリング方法を、例えば移動体通信システムの例えば携帯電話機などの携帯情報端末におけるスケジューリング方法に適用したものである。携帯情報端末はバッテリにより駆動されてもよい。
図3は、実施例2にかかる移動体通信システムの一例を示すブロック図である。図3に示すように、携帯情報端末などの端末11は無線通信により基地局12に接続する。基地局12はキャリアネットワーク13に接続されている。キャリアネットワーク13はインターネットなどのネットワーク14に接続されている。ネットワーク14にはサービスサーバ15が接続されている。端末11は、サービスサーバ15からネットワーク14、キャリアネットワーク13及び基地局12を介してサービスの提供を受ける。
図4は、実施例2にかかる端末を示すブロック図である。図4に示すように、端末11は、複数のCPU21、メモリ22及びパワーマネージメントユニット(PMU:Power Management Unit)23がバス24に接続された構成を有する。スケジューラ25は、複数のCPU21のうちのいずれか一つのCPU21で動作するオペレーティングシステム(OS)によって実現される。
図5は、実施例2における選択頻度テーブルの一例を示す図表である。図5に示すように、選択頻度テーブル36には、選択肢とその選択肢の選択頻度との関係が例えば降順に登録されている。
図7は、実施例2におけるスレッドスイッチ率を説明する模式図である。図7に示すように、ユーザモードの単位時間をT(例えば1n秒)とし、スレッド41の切り替え(スレッドスイッチ42)にかかる時間をt(例えば10μ秒)とすると、投機スレッド上限数Nに対するスレッドスイッチ率S(N)は次の(4)式で表される。(4)式をグラフ化した特性図を図8に示す。
図9は、実施例2における係数テーブルの一例を示す図表である。図9に示すように、係数テーブル38には、バッテリ残量に応じて上記(2)式の評価式における係数α及びβが登録されている。例えば図示例では、バッテリ残量が50%を超える場合には、αが2であり、βが1である。バッテリ残量が30%を超え、50%以下である場合には、αが1であり、βが2である。バッテリ残量が30%以下である場合には、αが0であり、βが2である。
図10は、実施例2においてバッテリ残量が多い場合の投機スレッド上限数と評価値との関係の一例を示す特性図である。図10に示す例は、例えば図9に示す係数テーブル38においてバッテリ残量が50%を超える場合の例である。αが2であり、βは1であるので、上記(2)式の評価式は次の(5)式で表される。また、図11は、実施例2においてバッテリ残量が少ない場合の投機スレッド上限数と評価値との関係の一例を示す特性図である。図11に示す例は、例えば図9に示す係数テーブル38においてバッテリ残量が30%を超え、50%以下である場合の例である。αが1であり、βは2であるので、上記(2)式の評価式は次の(6)式で表される。
一例として、端末が携帯電話機であり、携帯電話機においてユーザがメニューに対して種々の選択などを行うメニュー操作を例にして、実施例2にかかるスケジューリング方法を説明する。以下の説明では、携帯電話機が2個のCPUコア(CPU#0、CPU#1)を有しているとする。
図12は、実施例2にかかるスケジューリング方法におけるスケジューラの動作を示すフローチャートである。図12に示すように、ユーザが携帯電話機を操作して例えばメニュートップ画面を開くと、スケジューラ25は統計情報データベース35にアクセスし、例えばメニュートップ画面に対応する選択頻度テーブル36の取得を試みる(ステップS11)。メニュートップ画面に対応する選択頻度テーブル36の選択肢は、例えばメニュートップ画面から移行できるメニューであってもよい。選択頻度テーブル36の選択頻度は、各選択肢が過去に選択された確率であってもよい。
図13は、実施例2にかかるスケジューリング方法における投機ライブラリの動作を示すフローチャートである。図13に示すように、投機ライブラリ33は、スケジューラ25から呼び出されると、計算ライブラリ31を呼び出す(ステップS21)。それによって、投機ライブラリ33は、計算ライブラリ31から投機スレッド上限数Nを取得する。次いで、投機ライブラリ33は、投機スレッド上限数Nと、CPU#0に存在する実行待ちの他スレッドの数A0と、CPU#1に存在する実行待ちの他スレッドの数A1とに基づいて、投機実行量nを算出する(ステップS22)。
図14は、実施例2にかかるスケジューリング方法における計算ライブラリの動作を示すフローチャートである。図14に示すように、計算ライブラリ31は、投機ライブラリ33から呼び出されると、対応する選択頻度テーブル36、オーバーヘッド情報37及び係数テーブル38を取得する(ステップS31)。次いで、計算ライブラリ31は、例えば「・投機スレッド上限数の求め方」の項において説明したようにして、上述した評価式の値E(N)が最大となる投機スレッド上限数Nを求める(ステップS32)。そして、図13のステップS21に戻る。
前記複数のCPUごとに、前記複数のCPUのそれぞれに割り当て可能な投機処理数の最大値から対応するCPUに割り当てられている処理数を引き算し、
前記複数のCPUの引算結果を加算して最大投機処理数を求め、
前記最大投機処理数以下の投機処理を前記複数のCPUに割り当てること
を特徴とするスケジューリング方法。
を特徴とする付記1に記載のスケジューリング方法。
投機処理が実際に実行される確率と、処理を切り替えるための時間と、バッテリの残量の少なくとも何れか一の要素に基づいて設定されること
を特徴とする付記1に記載のスケジューリング方法。
投機処理が実際に実行される確率と、処理を切り替えるための時間と、バッテリの残量の少なくとも何れか一の要素に基づいて設定されること
を特徴とする付記2に記載のスケジューリング方法。
を特徴とする付記1乃至付記4の何れか一に記載のスケジューリング方法。
を特徴とする付記1乃至付記4の何れか一に記載のスケジューリング方法。
を特徴とする付記5に記載のスケジューリング方法。
前記複数のCPUに処理を割り当てるスケジューラと、
を含み、
前記スケジューラによって前記複数のCPUに割り当てられる投機処理数が最大投機処理数を超えないこと
を特徴とするスケジューリングシステム。
前記複数のCPUのそれぞれに割り当て可能な投機処理数の最大値から前記複数のCPUのそれぞれに割り当てられている処理数を引き算し、引き算された結果を前記複数のCPUの数分加算することで得られること
を特徴とする付記8に記載のスケジューリングシステム。
を特徴とする付記8に記載のスケジューリングシステム。
を特徴とする付記9に記載のスケジューリングシステム。
を特徴とする付記8に記載のスケジューリングシステム。
を特徴とする付記9に記載のスケジューリングシステム。
を特徴とする付記10に記載のスケジューリングシステム。
を特徴とする付記11に記載のスケジューリングシステム。
を特徴とする付記12乃至付記15の何れか一に記載のスケジューリングシステム。
を特徴とする付記9乃至付記15の何れか一に記載のスケジューリングシステム。
を特徴とする付記16に記載のスケジューリングシステム。
25 スケジューラ
36 選択頻度テーブル
37 オーバーヘッド情報
39 バッテリ残量
Claims (6)
- 複数のCPUの中の一のCPUが、
前記複数のCPUごとに、前記複数のCPUのそれぞれに割り当て可能な投機処理数の最大値から対応するCPUに割り当てられている処理数を引き算し、
前記複数のCPUの引算結果のうち負の値でない引算結果を加算して最大投機処理数を求め、
前記最大投機処理数以下の投機処理を前記複数のCPUに割り当てること
を特徴とするスケジューリング方法。 - 投機処理の各々の過去に選択された頻度に基づいて、前記最大投機処理数以下の投機処理を選択すること
を特徴とする請求項1に記載のスケジューリング方法。 - 前記割り当て可能な投機処理数の最大値は、
投機処理が実際に実行される確率と、処理を切り替えるための時間と、バッテリの残量の少なくとも何れか一の要素に基づいて設定されること
を特徴とする請求項1に記載のスケジューリング方法。 - 前記割り当て可能な投機処理数の最大値は、
投機処理が実際に実行される確率と、処理を切り替えるための時間と、バッテリの残量の少なくとも何れか一の要素に基づいて設定されること
を特徴とする請求項2に記載のスケジューリング方法。 - 前記最大投機処理数以下の投機処理の一の投機処理が外部から指定される処理と一致するとき、前記投機処理をバックグラウンドからフォアグラウンドに移行すること
を特徴とする請求項1乃至請求項4の何れか一に記載のスケジューリング方法。 - 複数のCPUと、
前記複数のCPUに処理を割り当てるスケジューラと、
を含み、
前記スケジューラによって、前記複数のCPUのそれぞれに割り当て可能な投機処理数の最大値から対応するCPUに割り当てられている処理数を引き算し、前記複数のCPUの引算結果のうち負の値でない引算結果を加算して得られる値である最大投機処理数を、前記複数のCPUに割り当てられる投機処理数が超えないこと
を特徴とするスケジューリングシステム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2011/050485 WO2012095984A1 (ja) | 2011-01-13 | 2011-01-13 | スケジューリング方法及びスケジューリングシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2012095984A1 JPWO2012095984A1 (ja) | 2014-06-09 |
JP5644866B2 true JP5644866B2 (ja) | 2014-12-24 |
Family
ID=46506905
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012552604A Expired - Fee Related JP5644866B2 (ja) | 2011-01-13 | 2011-01-13 | スケジューリング方法及びスケジューリングシステム |
Country Status (3)
Country | Link |
---|---|
US (1) | US9507635B2 (ja) |
JP (1) | JP5644866B2 (ja) |
WO (1) | WO2012095984A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11140243B1 (en) | 2019-03-30 | 2021-10-05 | Snap Inc. | Thermal state inference based frequency scaling |
US11442513B1 (en) | 2019-04-16 | 2022-09-13 | Snap Inc. | Configuration management based on thermal state |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001356904A (ja) * | 2000-06-13 | 2001-12-26 | Fujitsu Ltd | プロセッサ |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1124982A (ja) | 1997-06-30 | 1999-01-29 | Nec Corp | 履歴に基づくWebページ先読み方式 |
JPH11259280A (ja) * | 1998-03-13 | 1999-09-24 | Matsushita Electric Ind Co Ltd | プログラム開発支援装置及びコンピュータシステムに適用されるプログラムを記録した記録媒体 |
GB0315492D0 (en) | 2003-07-02 | 2003-08-06 | Symbian Ltd | A method of enabling a multitasking wireless information device to conserve battery power |
US7594228B2 (en) * | 2003-09-23 | 2009-09-22 | Lam Siu H | Method and apparatus to perform task scheduling |
US20050144602A1 (en) * | 2003-12-12 | 2005-06-30 | Tin-Fook Ngai | Methods and apparatus to compile programs to use speculative parallel threads |
US7437581B2 (en) | 2004-09-28 | 2008-10-14 | Intel Corporation | Method and apparatus for varying energy per instruction according to the amount of available parallelism |
US7765450B2 (en) * | 2005-10-20 | 2010-07-27 | Jon Udell | Methods for distribution of test generation programs |
JP5154119B2 (ja) * | 2007-03-26 | 2013-02-27 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | プロセッサ |
US8060884B2 (en) * | 2007-07-10 | 2011-11-15 | Sharp Laboratories Of America, Inc. | Deterministic task scheduling in a computing device |
JP2009048269A (ja) * | 2007-08-14 | 2009-03-05 | Mitsubishi Electric Corp | 並列処理装置 |
US8140646B2 (en) * | 2009-06-04 | 2012-03-20 | Microsoft Corporation | Network application performance enhancement using speculative execution |
WO2011045112A1 (en) * | 2009-10-12 | 2011-04-21 | International Business Machines Corporation | A method system and program to optimize job execution scheduled from and executed on external application containers |
-
2011
- 2011-01-13 JP JP2012552604A patent/JP5644866B2/ja not_active Expired - Fee Related
- 2011-01-13 WO PCT/JP2011/050485 patent/WO2012095984A1/ja active Application Filing
-
2013
- 2013-07-12 US US13/940,932 patent/US9507635B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001356904A (ja) * | 2000-06-13 | 2001-12-26 | Fujitsu Ltd | プロセッサ |
Also Published As
Publication number | Publication date |
---|---|
WO2012095984A1 (ja) | 2012-07-19 |
US20130305257A1 (en) | 2013-11-14 |
US9507635B2 (en) | 2016-11-29 |
JPWO2012095984A1 (ja) | 2014-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10101910B1 (en) | Adaptive maximum limit for out-of-memory-protected web browser processes on systems using a low memory manager | |
JP5939740B2 (ja) | 動的にリソースを割り当てる方法、システム及びプログラム | |
US7149866B2 (en) | Free item distribution among multiple free lists during garbage collection for more efficient object allocation | |
CN104008013B (zh) | 一种核资源分配方法、装置及众核系统 | |
US10289446B1 (en) | Preserving web browser child processes by substituting a parent process with a stub process | |
JP5380093B2 (ja) | コンピュータリソース管理装置、コンピュータリソース提供システム | |
US10248321B1 (en) | Simulating multiple lower importance levels by actively feeding processes to a low-memory manager | |
JP2012198724A (ja) | 情報処理プログラム及び方法、転送処理装置 | |
US10643193B2 (en) | Dynamic workload capping | |
CN112631504A (zh) | 利用堆外内存实现本地缓存的方法和装置 | |
US9740530B2 (en) | Decreasing the priority of a user based on an allocation ratio | |
JP5644866B2 (ja) | スケジューリング方法及びスケジューリングシステム | |
CN114116173A (zh) | 动态调整任务分配的方法、装置和系统 | |
CN109491794A (zh) | 资源管理方法、装置及电子设备 | |
JP2007328413A (ja) | 負荷分散方法 | |
JP4368730B2 (ja) | 処理割当管理装置、処理割当管理装置の制御方法、及びプログラム | |
JP2018190355A (ja) | リソース管理方法 | |
JP2010218151A (ja) | 仮想計算機管理機構及び仮想計算機システムにおけるcpu時間割り当て制御方法 | |
CN108616576B (zh) | 一种调度应用服务器的方法和装置 | |
JP2011018281A (ja) | ジョブ実行管理システム、ジョブ実行管理方法、ジョブ実行管理プログラム | |
JP5045576B2 (ja) | マルチプロセッサシステム及びプログラム実行方法 | |
Xie et al. | A novel independent job rescheduling strategy for cloud resilience in the cloud environment | |
JP6059259B2 (ja) | 計算機システム及び計算機リソースの割当方法 | |
JP5476208B2 (ja) | リクエスト処理システム、方法及びプログラム | |
JP2015064746A (ja) | 情報処理システム、情報処理システムの制御方法及び制御プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140722 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140919 |
|
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: 20141007 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141020 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5644866 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |