マルチコアプロセッサの動的周波数変更を考慮したタスクスケジューリング
全文
(2) Vol.2014-MPS-99 No.10 2014/7/21. 情報処理学会研究報告 IPSJ SIG Technical Report. 向上させる.ハイパースレッディングは,1 物理プロセッ. 本研究では,マルチコアプロセッサ内のプロセッサ間で. サを複数の論理プロセッサに見せ,1物理プロセッサ上で. のデータ転送に掛る時間はネットワークを介したデータ転. 複数の論理プロセッサを実行することで,各論理プロセッ. 送と比較すると小さく,0 とする.ネットワークを介した. サに割り当てられたスレッドを同時に実行する.ハイパー. 通信は方向を問わず同一リンク上で複数の転送は同時に行. スレッディングにより,1 つの物理プロセッサ上で複数ス. えないものとし,リンクの帯域は全て同じとする.マルチ. レッドを動作させる場合,単一スレッドの場合に比べ,複. コアプロセッサの動作周波数モデルは 3 章での実験で得ら. 数スレッドでリソースを共有しているため,各スレッドの. れたものを用いる.. 実行速度は低下する.本研究では,この速度低下を動作周. 本研究で扱うスケジューリング問題は Sinnen らのモデ. 波数の低下としてモデル化する.各スレッドの実行速度の. ル [5] をベースにしており,以下の3つを制約条件とする.. 低下を加味した動作周波数を実効動作周波数と呼ぶ.. (1) 同じプロセッサノードに割り当てられた2つのタスク. 本研究では,ダイ上の全論理プロセッサの使用状況のみ. ノードは,片方の処理が終了するまでもう一つの処理を開. から,各論理プロセッサの実効動作周波数が一意に定まる. 始できない.(2) 各タスクノードの処理は親ノードの処理が. と仮定してモデルを構築した.. 全て完了し,全ての親ノードからのデータ転送が完了する. 4. 問題定義 タスクスケジューリングへの入力は後述するタスクグラ フとプロセッサグラフであり,出力は各タスクノードをプ ロセッサノードに割り当てたスケジュール結果である.本. まで開始できない.(3) タスクノードの処理をスケジュール する際,その処理はプロセッサノードの空き時間内に終了 しなければならない.これらは,文献 [5] の Condition1∼. 3 に該当する. ネットワークリソースは有限であり,ネットワークコン. 研究では,タスクグラフ全体の処理時間の最小化を目指す.. テンションが発生するとする.そのため,ネットワークコ. スケジュールされるプログラムを DAG によって表現し,. ンテンション回避のためネットワークに関して,Sinnen[5]. タスクグラフ G と呼ぶ.タスクグラフのスケジュールと. らのネットワークコンテンションのモデルをマルチコアプ. は,各タスクノードの処理開始時刻とプロセッサノードの. ロセッサへ対応させたモデルを用いる.制約条件は以下の. 関連付けである.タスクグラフ内の各頂点をタスクノード. 3 つである.(1)タスクノード間のデータ転送は同時に行. と呼び,各タスクノードは,1 つのプロセッサで逐次的に. えない.(2)データ転送の開始時刻を先行のデータ転送の. 実行するための命令の集合を表す.タスクノード n の処理. 開始時刻より前にすることはできない.(3)データ転送を. 量を Ccomp (n) で示す.タスクノード間の有向枝をタスク. スケジュールする時,利用するネットワークが使用されて. リンクと呼び,ノード間の依存関係及び必要な通信を表す.. いない空き時間内にデータ転送が終了しなければならない.. タスクリンク e での通信に用いられるデータ量を Ccomm (e). これらは,文献 [5] の Condition4∼6 に該当する.以下で. と表す.タスクノード,タスクリンク全ての集合及び開始. は上記の条件をマルチコアプロセッサ向けに拡張する.. ノードをそれぞれ V, E 及び vstart とするとき,タスクグラ. 本問題への入力としてタスクグラフ G. フは G = (V, E, vstart , Ccomp , Ccomm ) と表現される. プロセッサグラフは,ネットワークトポロジを表現した. =. (V, E, vstart , Ccomp , Ccomm ),プ ロ セ ッ サ グ ラ フ N = (P, R, f req) を 与 え る .出 力 は 各 タ ス ク ノ ー ド. ものであり,各頂点をプロセッサノード,各辺をプロセッ. をプロセッサノードへ割り当てたスケジュール S である.. サリンクと呼ぶ.リンクを 2 つ以上持つプロセッサノード. 本問題の目的関数は式 minimize (lt(S)) で示す.ただし,. はネットワーク上のスイッチあるいはマルチコアプロセッ. lt(S) はスケジュールされた結果 S に対する最遅処理完了. サを搭載した計算機のネットワークインターフェイスであ. 時刻を表す.. り,それらでタスクノードの処理はできないものとする. リンクを 1 つのみ持つものはマルチコアプロセッサ内のプ. 5. 提案手法. ロセッサを示している.リンクは,通信経路を表し,接続. 本研究で扱う問題は NP 困難に属する組み合わせ最適化. される 2 つのプロセッサ間は双方向に通信を行う事がで. 問題であり,タスクグラフのサイズが大きくなると最適解. きる.プロセッサノードの集合を P ,プロセッサノード間. を短時間で求めることは困難である.提案手法では,ネッ. のリンクの集合を R とする.3 章で述べたターボブース. トワークの遅延及び競合を考慮するために,既存のネット. ト・ハイパースレッディングのモデルを用いて,各状態に. ワークコンテンションを考慮した手法をベースに拡張する.. おいて,ダイの使用率が状態 s の時の実効動作周波数を. 割り当て対象とするタスクノードの処理期間中のダイの使. 返す関数を f req(s) とする.この時,プロセッサグラフを. 用状況を調べるために,並列に処理が行われるタスクノー. N = (P, R, f req) と表す.. ドを判定する必要がある.そのために,後続タスクノード. また,スイッチにおけるデータの転送処理時間はタスク の処理に比べて非常に短いため無視できるものとする.. ⓒ 2014 Information Processing Society of Japan. を Sinnen らのネットワークコンテンションを考慮した手 法を用いて空いているプロセッサノード群の中から最も早. 2.
(3) Vol.2014-MPS-99 No.10 2014/7/21. 情報処理学会研究報告 IPSJ SIG Technical Report. く処理完了できるプロセッサノードへ仮割り当てを行う.. ら順に割り当てを行うため,タスクノードを割り当てる時. その後,生成したスケジュール結果に対して,本研究で作. 点では,後続のタスクノードの割り当てによって割り当て. 成したターボブースト及びハイパースレッディングによる. たプロセッサノードの使用率が変化してしまう可能性があ. 動作周波数の変更モデルを用い,両技術によるプロセッサ. り,正確な動作周波数を求めることができない.そこで,. ノードの利用率に応じた動作周波数の変更による処理時間. プロセッサノードの使用状況を把握するために,提案手法. の変動及び,それに伴う処理開始時間等の調節を行う事で. では Sinnen らのネットワークコンテンションを考慮した. タスクノードの処理時間等を推定する.これをプロセッサ. 手法を用いて後続のタスクノードの仮割り当てを行い,割. ノード全てに対して行い,本来割り当てたいタスクノード. り当てたいタスクノードを処理する動作周波数を暫定的に. を各プロセッサノードに割り当てた場合の全体の処理時間. 決定し,タスクノードの処理時間を求める.提案手法では,. を推定していく.. ターボブースト及びハイパースレッディングの動作周波数. また,本手法では,タスクノードの処理時間の推定を全. 変更モデルを使用し,両技術が動作している場合の処理時. てのプロセッサノードに対して割り当てた場合を考えてお. 間の再調整を行う.その後,割り当てたプロセッサノード. り,その中からスケジュールに採用するプロセッサノード. の中から最も処理完了時刻が早い結果と推定された割り当. への割り当てパターンを選択する必要がある.選択の基準. てを採用し,後続のタスクノードの割り当てを行う.この. として,各パターン毎の仮割り当て時の結果から推定した. 一連の動作を全てのタスクノードに対して行う事でターボ. 全体の処理完了時刻を利用し,全てのパターンの中で最良. ブースト及びハイパースレッディングによる動作周波数の. と思われる割り当てパターンを採用する.その後,後続の. 動的変更を考慮したうえで全体の処理時間を最小と出来る. タスクノードのスケジュールへ移行する.. スケジュール結果を作成する.. 全てのタスクノードに対してこの処理時間推定と割り当. 提案手法ではまず,既存のリストスケジューリングと同. てるプロセッサの選択処理を繰り返し行うことで最終的な. じように入力として与えられたタスクグラフ内のタスク. スケジュールを生成する.. ノードを,暫定的に計算した最も早い実行開始時間の順に ソートする.次に,タスクノードの処理時間を正確に推定. 5.1 古典的なリストスケジューリング. するために,各プロセッサノードにネットワークコンテン. 提案するタスクスケジューリングアルゴリズムは,古典. ションを考慮してタスクノード割り当てる.その後,各割. 的なリストスケジューリングアルゴリズムを拡張してい. り当てパターンに対して,処理完了時刻推定タスクスケ. る.リストスケジューリングでは,先行制約及び問題に依. ジューリングを通してタスクノードを処理する際の動作周. 存する優先度 (例:残りのスケジュール長の大きい順) に. 波数を暫定的に決定するために必要な後続のタスクノード. 従ってタスクノードをプロセッサノードに割り当てる.タ. の仮割り当てを行う.そして,仮スケジュールの結果に対. スクノードが割り当てられるプロセッサノードは,そのタ. して本研究で作成した動作周波数モデルを用いてプロセッ. スクノードを最も早く処理完了出来るプロセッサノードで. サノードの使用状況に応じた動作周波数を決定し,全体の. ある.. 処理完了時刻の推定を行う.. 5.2 ネットワーク特性の考慮. 6. 評価実験. ネットワークの特性を考慮するスケジューリング手法で. 処理時間の短縮率及び実機上での有効性と作成した動作. は,通信帯域やスイッチでの遅延,転送するデータの競合. 周波数モデルの妥当性を評価するため,シミュレーション. などを考慮しつつ,各手法の目的を達成するためにタスク. と実機実験による評価を行った.. ノードの割り当てを行う.提案手法のベースとなる Sinnen. 既存手法は,ターボブースト及びハイパースレッディング. らの手法では,タスクノードを割り当てるプロセッサノー. による動作周波数の動的変更を考慮を行っていない.本研. ドを選択する部分においてネットワークコンテンションを. 究では比較手法として,既存手法に本研究で作成した動作周. 考慮している.. 波数モデルを組み込んだ SinnenPhysical と SinnenLogical の 2 種類を用意し,それらと比較することでスケジューリ. 5.3 ターボブースト・ハイパースレッディングによる動 作周波数の変更を考慮した提案アルゴリズム. ングアルゴリズムによる処理時間の短縮率を評価する.. SinnenPhysical はネットワークコンテンションを考慮. タスクノードの処理時間を正確に推定するためには,実. した Sinnen らの提案したスケジューリングアルゴリズム. 際にタスクノードが処理される際のターボブースト及びハ. の割り当て対象を物理プロセッサに限定し,ターボブース. イパースレッディングによる動作周波数を知る必要がある.. トによる動作周波数の変更を考慮するため拡張したもので. しかし,リストスケジューリングではタスクノードに割り. ある.ターボブーストによる動作周波数の変更を考慮する. 当てられた優先度に基づいてソートされたリストの先頭か. ため,本研究で作成した動作周波数モデルをタスクノード. ⓒ 2014 Information Processing Society of Japan. 3.
(4) Vol.2014-MPS-99 No.10 2014/7/21. 情報処理学会研究報告 IPSJ SIG Technical Report. 250.00. 250.00. 200.00. Task Execution Time(Sec). 150.00. 100.00. 50.00. 150.00. SinnenPhysical Experimet System SinnenLogical Experiment System. 100.00 task. Task Execution Time (sec). 200.00. Proposed Experiment System. 50.00 0.00. SinnenPhysical SinnenLogical Proposed. Robot. Sparse. Tree network 213.10 201.16 193.98 181.72 181.80 115.19. Robot. Sparse. Fully connected 184.62 105.66 179.02 87.70 173.50 71.10. Robot. Sparse. Star network 201.84 142.04 187.44 133.50 181.60 107.00. 0.00 Robot. 図 1: タスクグラフの処理時間:シミュレーション. を割り当てるプロセッサノードを決定する関数に組み込 み,各タスクノードを割り当てる際にプロセッサノードの 使用状況に応じて変化する動作周波数を考慮するように拡 張した.SinnenLogical は,同様に Sinnen らの提案した スケジューリングアルゴリズムをターボブースト及びハイ パースレッディングによる動作周波数の変更を考慮するた めに拡張したものであり,割り当て対象とするプロセッサ が物理プロセッサだけでなく,論理プロセッサにも割り当 てを行うことでハイパースレッディングによる動作周波数 の変更についても考慮する.. 6.1 実験設定. 本論文では,ネットワークコンテンションが発生し,ター ボブースト及びハイパースレッディングが搭載されている マルチコアプロセッサ環境を想定したタスクスケジューリ ングアルゴリズムを提案した.今後の課題としては,ター ボブースト及びハイパースレッディングによる動作周波数 モデルの妥当性の向上およびアルゴリズムの性能向上,異 なるタスクグラフを用いた評価等があげられる. 参考文献 [1]. [2]. る計算機システムとして,PC4 台を Gigabit Ethernet によ. Core i7 3770T(2.5GHz,物理 4 プロセッサ,論理 8 プロ. [3]. セッサ,シングルソケット) である.プロセッサグラフとし て,シミュレーションでは上記の計算機を想定し,ツリー 型,メッシュ,スター型の 3 つのネットワークトポロジを. [4]. 構築した.. 6.2 性能評価実験. [5]. 提案手法と比較手法 2 種類に対してシミュレーション及 び実際の計算機上でタスクノードを実行する実機実験を行 いシミュレーションと実機実験のそれぞれでどの程度処理 時間を短縮できたのか評価した.シミュレーションによる. Solver. Star network. 7. 結論. Graph Set[6] の Robot Control と Sparse Matrix Solver を. り接続した物を使用した.計算機のスペックは,CPU:Intel. Robot. 図 2: タスクグラフの実行時間:実機実験. この実験で用いるタスクグラフとして Standard Task 用意した.スケジュールした結果を基に,タスクを実行す. Solver. Tree network. [6]. Intel: “Intel Turbo Boost Technology in Intel Core Microarchitecture (Nehalem) Based Processors,” 入 手 先 ⟨http://download.intel.com/design/processor/applnots/ 320354.pdf⟩. DT. Marr, F. Binns, DL. Hill, G. Hinton, DA. Koufaty, JA. Miller and M. Upton: “Hyper-Threading Technology Architecture and Microarchitecture,” Intel Technology Journal, Vol. 6, No. 1, pp. 4-15, 2002. Anderson, J.H., Calandrino, J.M.: “Parallel task scheduling on multicore platforms, ” ACM Special Interest Group on Embedded Systems(SIGBED) 3(1), pp. 1–6, 2006. S. Gotoda, M. Ito and N. Shibata: “Task scheduling algorithm for multicore processor system for minimizing recovery time in case of single node fault,” International Symposium on Cluster, Cloud, and Grid Computing (CCGrid), pp. 260-267, 2012. Sinnen, O., Sousa, L.: “Communication contention in task scheduling, ” Parallel and Distributed Systems, IEEE Transactions on 16(6), pp. 503–515, 2005. Tobita, T., Kasahara, H.: “A standard task graph set for fair evaluation of multiprocessor scheduling algorithms, ” Journal of Scheduling 5(5), pp. 379–394, 2002.. スケジュール結果の比較を図 1 に,実機実験の結果の比較 を図 2 に示す.これらの結果から,提案手法は比較手法と 比べシミュレーションでは最大でおよそ 43% ,実機実験 の結果では最大で 36% の処理時間を短縮できることを確 認した.. ⓒ 2014 Information Processing Society of Japan. 4.
(5)
図
関連したドキュメント
計算で求めた理論値と比較検討した。その結果をFig・3‑12に示す。図中の実線は
WAV/AIFF ファイルから BR シリーズのデータへの変換(Import)において、サンプリング周波 数が 44.1kHz 以外の WAV ファイルが選択されました。.
Wu, “A generalisation model of learning and deteriorating effects on a single-machine scheduling with past-sequence-dependent setup times,” International Journal of Computer
The performance of scheduling algorithms for LSDS control is usually estimated using a certain number of standard parameters, like total time or schedule
In this research, the ACS algorithm is chosen as the metaheuristic method for solving the train scheduling problem.... Ant algorithms and
The dynamic nature of our drawing algorithm relies on the fact that at any time, a free port on any vertex may safely be connected to a free port of any other vertex without
ある周波数帯域を時間軸方向で複数に分割し,各時分割された周波数帯域をタイムスロット
The theme of this paper is the typical values that this parameter takes on a random graph on n vertices and edge probability equal to p.. The main tool we use is an