• 検索結果がありません。

プロセススケジューラが仮想マシンへ与える影響に関する考察

N/A
N/A
Protected

Academic year: 2021

シェア "プロセススケジューラが仮想マシンへ与える影響に関する考察"

Copied!
2
0
0

読み込み中.... (全文を見る)

全文

(1)情報処理学会第 73 回全国大会. 5G-1 プロセススケジューラが仮想マシンへ与える影響に関する考察 東 賢一朗. †. † 株式会社 日立製作所 プラットフォームソリューション事業部  はじめに. 1. 仮想化を実現している.仮想マシンの I/O エミュレー. 物理マシンの集約や,既存システムの延命などの. ションは,各仮想マシンに存在する QEMU と,KVM. 要求に応える技術要素として,仮想化技術が存在す. が提供するデバイスファイル/dev/kvm を経由し,カー. る.特に,プロセッサレベルでの仮想化支援機能の登. ネルモードとして I/O 処理を実行するよう Linux カー. 場により,仮想化技術の適用範囲が拡大している.例. ネルに処理を発行する.また,Linux カーネルのプロ. えば,プロセッサの仮想化支援機能を利用し,Linux. セススケジューラは,KVM が生成する仮想マシンも. カーネルに仮想化機能を付加する Kernel-based Vir-. 通常のプロセスと同等に扱う.. tual Machine(KVM)[1] は,Linux カーネルにおける. 3. 仮想化技術のひとつとして注目を集めている.. 3.1. 一 方 ,Linux2.6 系 の プ ロ セ ス ス ケ ジュー ラ は ,. Linux2.6.23 を契機に,システムに存在する最も高い プロセス優先度を選択する O(1) スケジューラから,各 プロセスの重みに対して公平に CPU 資源を割り当て る Completely Fair Scheduler(CFS) へ変更となった. そこで本研究では,Linux カーネルに仮想化技術を 付加する KVM において,Linux カーネルのプロセス スケジューラの違いが仮想マシンに与える影響を実験 し,Linux カーネルに内在する仮想化技術の問題点や その解決指針の考察を目的とする.. 2. Linux のプロセススケジューラ O(1) スケジューラ. O(1) スケジューラとは,システム中にプロセス優 先度が最も高い実行可能なプロセスを選択するプロセ ススケジューラのことである.プロセス優先度は,シ ステムコール nice() やシステムコール setpriority() で 指定した nice 値を基に指定可能な静的優先度と,プ ロセスの対話性をヒューリスティックに計算した動的 優先度とで決定する.. O(1) スケジューラは,線形探索によりシステム上で 最も高いプロセス優先度を決定していた Linux2.4 系 以前のプロセススケジューラと比較し,スケジューリ ングコストを低減するメリットがあった.しかし,複. Kernel-based Virtual Machine. Kernel-based Virtual Machine(KVM) とは,仮想 マシンモニタの機能を Linux カーネルに付加するカー. 雑でヒューリスティックな優先度計算や,優先度が異. ネルモジュールのことである.KVM の概要を図 1 に. いた.. 示す.. 3.2. なるプロセス間の公平性確保という点で課題を抱えて. Completely Fairness Scheduler. O(1) ス ケ ジュー ラ の 問 題 点 を 解 決 す る た め , Linux2.6.23 から Completely Fair Scheduler(CFS) が 登場した.CFS では,プロセス優先度を基に重みを 各プロセスに与え,ランキューに存在する全プロセス の重みの総和と,個々のプロセスの重みとの割合によ り,各プロセスの CPU 利用率を決定する.. O(1) スケジューラと比較して,複雑なヒューリス ティックの排除や,各プロセスに対して公平に CPU 資源を配分できるというメリットがある.しかし,ひ とつのプログラムが複数のスレッドを生成するマルチ 図 1: KVM の概要. スレッド環境では,各スレッドに対して均等にタイム スライスを割り当てるため,結果としてひとつのプロ. KVM が生成する仮想マシンは,プロセッサの仮想 化支援機能を使用し,ゲスト OS の修正が不要な完全. †. A study of difference Linux process schedulers impact on VM environments Kenichiro Higashi. グラムが多くのタイムスライスを取得し,公平性に欠 ける状況 [2] が発生する場合もある.. 4. 実験方法. O(1) スケジューラと CFS との特性を考慮すると, マシン上に存在するプロセス数が,仮想マシンに影響. Hitachi, Ltd., Platform Solutions Division (†). 1-25. Copyright 2011 Information Processing Society of Japan. All Rights Reserved..

(2) 情報処理学会第 73 回全国大会. 500. ラは,KVM の仮想マシンも通常のプロセスとして扱. 450. うため,KVM の仮想マシン数を考慮した実験を実施. 400. することにした.. 350 Target VM’s INDEX. を与えると予想できる.Linux のプロセススケジュー. まず,ホスト OS として O(1) スケジューラと CFS とを実装している 2 種類の Linux を個別に準備する. 各 Linux 上において,性能測定を実施する仮想マシン. O(1) CFS(nice 0) CFS(nice -5). 300. 250. 200. (Target VM) と,マシン上で動作するプロセス数を増. 150. やす目的で生成する仮想マシン (Dummy VM) とを準. 100. 備し,Dummy VM 増加に伴う Target VM の性能変. 50 0. 2. 化の傾向を確認する.表 1 に実験環境を示す.. 4. 6 8 10 Number of dummy VMs. 12. 14. 16. 図 2: 実験結果 表 1: 実験環境 CPU メモリ Linux カーネル スケジューラ Target VM Dummy VM. Core 2 Duo E6600 2.40GHz 4GB 2.6.21.3-85 2.6.33.3-85 O(1) CFS Ubuntu10.04 Puppy Linux 4.3.1. 度を上げた場合でも,CFS 上で動作する Dummy VM 数 16 の環境では,O(1) スケジューラと比較して 4 割 程度まで性能が劣化した.. KVM を使用した仮想マシン集約を実施する場合, ハードウェアスペック,仮想マシン数,仮想マシンの. ホスト OS として,O(1) スケジューラを実装した. Linux2.6.21.3 と,CFS を実装した Linux2.6.33.3 とを 使用した.また,性能測定を実施する Target VM と して,1GB のメモリを割り当てた Ubuntu10.04 を準. プロセス優先度だけではなく,プロセススケジューラ の特性も考慮する必要がある.. 6. 今後の課題 本研究の結果から,プロセススケジューラの違いが,. 備し,Dummy VM として 128MB のメモリを割り当. 仮想マシンの性能に影響を与えることが明確になった.. てた Puppy Linux4.3.1 を準備した.. 今後は,プロファイラを用いた精度の高い検証を実施. Dummy VM は,0 個から 16 個まで増加させ, Dummy VM の個数ごとに,Target VM 上で UNIX Bench を 3 回づつ実行し,その平均を実験結果とした.. し,性能差が出る具体的な原因を調査する予定である.. UNIX Bench では,CPU 演算,I/O 処理,プロセス 生成,システムコールなどの負荷をかけ,ベンチマー. ススケジューラの改良も検討できる.しかし,一般的. ク結果を INDEX 値として表現し,高い INDEX 値は を再起動し,不要なプロセスを生成していない環境で. KVM のような環境では,プロセススケジューラの改 良だけで各プロセスに最適なリソース配分を実施する ことは困難である.. 実験を実施した.また,Dummy VM で動作するプロ. そこで今後は,プロファイラを用いた検証結果を基. セスは GUI 環境の起動のみに抑え,プロセス数増加. に,Linux カーネルのプロセススケジューラとは独立. に伴う Target VM の性能測定に焦点を当てた.. した,仮想マシンの負荷監視とリソース割り当て最適. 性能が良いことを表す.性能測定終了後は物理マシン. 5. プロセススケジューラの違いで性能差が生じる問題 の抜本的な解決策として,仮想化環境に適したプロセ なプロセスと,仮想マシンもプロセスとして混在する. 化を提供する機能を提案する予定である.. 結果と考察 図 2 に,Target VM の性能測定を実施した結果を. 示す.. 参考文献. [1] Avi Kivity, Yaniv Kamay, Dor Laor, Uri Lublin,. O(1) スケジューラ上で動作する Target VM は, Dummy VM 数が増加しても INDEX 値の変化は少. and Anthony Liguori. kvm: the Linux Virtual Machine Monitor. In OLS ’07: the 2007 Ottawa. なく,著しい性能劣化は起きなかった.. Linux Symposium, volume 1, pages 225–230, Ottawa, Ontario, Canada, June. 2007.. 一方,CFS 上で動作する Target VM は,Dummy. VM 増加に伴い INDEX 値が減少し,Dummy VM 数 が 16 個の環境では,O(1) スケジューラと比較して 2 割程度まで性能が低下した.また,プロセス優先度を. [2] Chee Siang Wong, Ian Tan, Rosalind Deena Kumari, and Fun Wey. Towards Achieving Fair-. 設定する nice コマンドに-5 を指定し,プロセス優先. ness in the Linux Scheduler. SIGOPS Oper. Syst. Rev., 42(5):34–43, 2008.. 1-26. Copyright 2011 Information Processing Society of Japan. All Rights Reserved..

(3)

参照

関連したドキュメント

2014, The quantitative impact of armed conflict on education: counting the human and financial costs, Protect Education in Security and Conflict (PEIC), CfBT Education Trust. How

https://www.kke.co.jp/ Copyright© KOZOKEIKAKU ENGINEERING Inc.. All

[r]

Large-eddy simulation (LES) of the wind flow around the wind turbine was performed using an actuator disk model for the rotor and by explicitly resolving the tower and nacelle. In

Copyright 2020 Freelance Association Japan All rights

〇新 新型 型コ コロ ロナ ナウ ウイ イル ルス ス感 感染 染症 症の の流 流行 行が が結 結核 核診 診療 療に に与 与え える る影 影響 響に

Copyright (C) Qoo10 Japan All Rights Reserved... Copyright (C) Qoo10 Japan All

[r]