仮想マシンのプロセススケジューリングを考える
田所秀和
2008/12/9
仮想マシンモニタによるプロセススケジューリング
仮想マシンモニタによる古典的な仮想マシンスケジューラは、仮想マシンのみしかスケジューリングしません。仮想マシンのみのスケジューリングでは、システム全体で特定のプロセスを優先することは難しいのです。
例えば、1つの仮想マシンの中に、優先度を高くしたいプロセスとそうでないプロセスがあったとします。このとき、仮想マシンモニタから可能なスケジューリングは、その仮想マシンの優先度をほかよりも高くすることです。
しかし、これでは優先したくないプロセスも同時に優先することになってしまいます。また、ゲストOS上で優先度をつけた場合でもうまくいきません。これは、仮想マシン上で動くゲストOS内のスケジューリングだけでは、異なる仮想マシン上で動くプロセスに優先度を付けることができないからです。
このような問題を解決するために、われわれの研究室では、仮想マシンモニタから直接ゲストOSのプロセスをスケジューリングするシステムを開発しています。
このシステムでは、仮想マシンモニタから仮想マシン上のゲストOSのランキューを操作することで、ゲストOSのプロセススケジューリングを調整します。さらに、仮想マシンのスケジューリングおよびゲストOSの既存のスケジューリングと連携することにより、システム全体でプロセスに優先度をつけることができます。
このシステムは、Xenを用いて実装しています。全体の構成は、図のようになっています。ドメイン0も仮想マシンモニタの一部だと考え、ドメイン0上でスケジューリング用のプロセスを動かします。このプロセスがシステム全体のプロセスの優先度を管理します。ドメインU上のゲストOSのプロセスの実行を制御する手段として、ランキューの操作を行います。
ランキューは、プロセスの実行待ちリストですので、ここからプロセスを取れば、実行されません。再開させたい場合には、再びランキューに戻すことで、実行を再開させます。
このシステムで行った、仮想マシンモニタから仮想マシン上のゲストOSのメモリの操作や、ゲストOSの優先度の変更には、上でも紹介したxenctrlライブラリに含まれる関数を用いています。
実際の運用に際しては環境に依存する場合が多いと思いますので、本稿では割愛しますが、ここで紹介したライブラリ群を利用してシステムのプロセス全体をうまくコントロールし、物理サーバ上での運用に近づけることができます。
- [Xen-devel] New CPU scheduler w/ SMP load balancer - Xen Source
creditスケジューラがコミットされたときの開発者によるメールです。creditスケジューラの特徴が簡潔にまとまっています。
- Source Browser: [root]/tools/libxc/xenctrl.h
xenctrl ライブラリのヘッダファイルです。ライブラリで提供されている関数のプロトタイプ宣言がたくさんあります。便利な関数があるかもしれません。
- Comparison of the Three CPU Schedulers in Xen
3種類のドメインスケジューラに関して、いろいろな場合のパフォーマンスを評価した論文です。
- 東京工業大学 千葉繁研究室
われわれの研究室のWebページです。
3/3 |
Index | |
仮想マシンのプロセススケジューリングを考える | |
Page 1 ・仮想マシンのスケジューリングの重要性 ・bvt、sedfスケジューラはSMP環境でスケールしない ・creditスケジューラ |
|
Page 2 ・creditスケジューラの利用方法 |
|
Page 3 ・仮想マシンモニタによるプロセススケジューリング |
Databaseフォーラム全記事インデックス |
- Oracleライセンス「SE2」検証 CPUスレッド数制限はどんな仕組みで制御されるのか (2017/7/26)
データベース管理システムの運用でトラブルが発生したらどうするか。DBサポートスペシャリストが現場目線の解決Tipsをお届けします。今回は、Oracle SE2の「CPUスレッド数制限」がどんな仕組みで行われるのかを検証します - ドメイン参加後、SQL Serverが起動しなくなった (2017/7/24)
本連載では、「SQL Server」で発生するトラブルを「どんな方法で」「どのように」解決していくか、正しい対処のためのノウハウを紹介します。今回は、「ドメイン参加後にSQL Serverが起動しなくなった場合の対処方法」を解説します - さらに高度なSQL実行計画の取得」のために理解しておくべきこと (2017/7/21)
日本オラクルのデータベーススペシャリストが「DBAがすぐ実践できる即効テクニック」を紹介する本連載。今回は「より高度なSQL実行計画を取得するために、理解しておいてほしいこと」を解説します - データベースセキュリティが「各種ガイドライン」に記載され始めている事実 (2017/7/20)
本連載では、「データベースセキュリティに必要な対策」を学び、DBMSでの「具体的な実装方法」や「Tips」などを紹介していきます。今回は、「各種ガイドラインが示すコンプライアンス要件に、データベースのセキュリティはどのように記載されているのか」を解説します
|
|