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

プロセスのスケジューリングアルゴリズムの性能について

N/A
N/A
Protected

Academic year: 2021

シェア "プロセスのスケジューリングアルゴリズムの性能について"

Copied!
2
0
0

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

全文

(1)

プロセスのスケジューリングアルゴリズムの性能について

日大生産工(院) ○山本 日大生産工 松田

1 はじめに

近年,多くの学術機関や企業を中心にマル チユーザーシステムが普及している.マルチ ユーザーシステムとは複数のユーザーが同時 にログインして環境を利用することを前提と したシステムである.このようなシステムで 実装されているプロセススケジューリングは シングルユーザーシステムと変わらない.そ の理由は,このプロセススケジューリングが プロセスの公平性を重視した設計になってい るため,利用するユーザー数に関係なくスケ ジューリングを行うことができからである.

その一方で,様々なレベルのユーザーが存在 するようになり,現在では多種多様のソフト ウェアが利用されている.このような環境に おいて,CPUの占有時間のみで公平性を判断し ていても良いスケジューリングは行えない.

つまり従来のスケジューリング方式に加え て,新たにユーザー間のCPU占有率の公平性を 保証するスケジューリングを導入する必要が ある.

本研究ではCPUの占有時間をユーザー単位 で平均化することができるフェアシェアスケ ジューリング方式の性能について調べる.具 体的にはLinuxカーネルの一部を変更するこ とで,既存の機構や機能をできるだけ変える ことなく,フェアシェアスケジューリングを 実現する.そして従来のスケジューリングと 性能を比較し,既存のスケジューリングに対 する改善の可能性を検証する.

2 Linux

1991年,Linus Torvalds氏によって開発され た,UNIX互換のOS.フリーソフトウエアとし て開発が行われており,現在では世界的に利 用されるOSとなった.本来,OSの基盤となる

「カーネル」のみを指す呼称であるが,今日 ではLinuxディストリビューションを指して,

単にLinuxと呼ぶこともある.

2.1 Linuxカーネル

カーネルはC言語やアセンブリ言語で書かれて おり,それらのソースコードをコンパイルするた めのコンパイラにGCCを使用している.Linuxカー ネルはマルチタスクの仕組みを提供しており,複 数のプロセスを細かく切り替えながら動作させる ことで,いかにも同時動作しているような環境を 作り出している.マルチタスク環境を提供するOS であれば,ほぼ同様の仕組みで実現されている.

この処理を行う機能をプロセススケジューラと呼 ぶ.

3 RRスケジューリング

待ち行列

プロセス1

プロセス4 プロセス3 プロセス2 CPU

プロセス =20ms クォンタム=10ms P1

20ms 40ms 60ms 80ms

P4 P3 P2 P1 P4 P3 P2

10ms 30ms 50ms 70ms

待ち行列

プロセス1

プロセス4 プロセス3 プロセス2 CPU

プロセス =20ms クォンタム=10ms P1

20ms 40ms 60ms 80ms

P4 P3 P2 P1 P4 P3 P2

10ms 30ms 50ms 70ms

図1 RRスケジューリング

図1はRRスケジューリングの待ち行列と実行順 序を示している.RRスケジューリングは最も基本 的なスケジューリングアルゴリズムである.この スケジューリングでは,まず各プロセスにクォン タム(一定の時間)が与えられる.そのプロセスが クォンタムの終了時にまだ実行中であれば,CPU は別のプロセスに与えられる.この時CPUを横取り されたプロセスは,プロセス待ち行列最後尾に置 かれる.

実際のLinuxでは,優先順位に基づくスケジュー リングと組み合わせることで,待ち時間の長いタ スクを実行させることを可能にしている.

Performance of Scheduling Algorithm for Process Shou YAMAMOTO and Satoshi MATSUDA

(2)

4 マルチユーザーシステムにおける問 題点

ユーザーA ユーザーB ユーザーC ユーザーD

プロセス =20ms クォンタム=10ms

P1

20ms 40ms 60ms 80ms P4

P3 P2

10ms 30ms 50ms 70ms P1

P4 P3 P2

ユーザーA ユーザーB ユーザーC ユーザーD

プロセス =20ms クォンタム=10ms

P1

20ms 40ms 60ms 80ms P4

P3 P2

10ms 30ms 50ms 70ms P1

P4 P3 P2

図2 CPU占有の遷移図(user4:process4)

図2は四人のユーザーがそれぞれ同じプロセ スを実行したときの各ユーザーがCPUを占有す る遷移を示している.このときの平均ターンア ラウンド時間は65(ms)である.

図2に新しくユーザーEが他と同様のプロセス を実行したときのCUP占有の遷移を図3に示す.

ユーザーA ユーザーB ユーザーC ユーザーD

プロセス=20ms クォンタム=10ms

P1

P4 P3 P2

10

P1

P4 P3 P2

P5 P5

ユーザーE

50 40

20 30 60 70 80 90 100

(ms) ユーザーA

ユーザーB ユーザーC ユーザーD

プロセス=20ms クォンタム=10ms

P1

P4 P3 P2

10

P1

P4 P3 P2

P5 P5

ユーザーE

50 40

20 30 60 70 80 90 100

(ms)

図3 CPU占有の遷移図(user5:process5)

このとき求められる平均ターンアラウンド時 間は80(ms)であり,ユーザーが増えることでプ ロセスが増えるため各ユーザーのターンアラウ ンド時間も増加していることがわかる.

ここでユーザーが多様化している状況を想定 するために,プロセス5(P5)をユーザーDが実行 したとする.そのときのCPU占有遷移の様子を図 5に示す.

ユーザーA ユーザーB ユーザーC ユーザーD プロセス=20ms クォンタム=10ms

P1

P4 P3 P2

10

P1

P4 P3 P2

P5

50 40

20 30 60 70 80 90 100

(ms) P5 ユーザーA

ユーザーB ユーザーC ユーザーD プロセス=20ms クォンタム=10ms

P1

P4 P3 P2

10

P1

P4 P3 P2

P5

50 40

20 30 60 70 80 90 100

(ms) P5

図4 CPU占有の遷移図(user4:process5)

このときに求められる平均ターンアラウンド 時間は77.5(ms)であり,5ユーザーの時よりも短 い.しかし,4プロセスの時と比べ場合,同じプ ロセスを実行しているにもかかわらず,ユーザ ーA,B,Cのターンアラウンド時間が長くなって いる.このことから,プロセスを重視する現在 のスケジューリングでは,他ユーザーよりも多 くのプロセスを持っているユーザーの方がCPU 占有の機会を多く得てしまう.

5 提案するスケジューリング

5.1 フェアシェアスケジューリング

ユーザー間でCPU占有の機会を公平にするた めに,フェアシェアスケジューリングを考える.

フェアシェアスケジューリングとは,ユーザー 毎のCPUの占有率を公平に設定し,それに従って スケジューリングする方式である.子のスケジ ューリングにおいて同じユーザーを所有者とす るプロセスが複数存在する場合は,そのプロセ ス群にユーザーのCPU時間を分配する.

5.2 フェアシェアスケジューリングの 検証

問題となる4ユーザー:5プロセスの状態に,フ ェアシェアスケジューリングを適用する.

ユーザーA ユーザーB ユーザーC ユーザーD

プロセス=20ms クォンタム=10ms

P1

P4 P3 P2

10

P1

P4 P3 P2

P5 50

40

20 30 60 70 80 90 100

(ms) P5 ユーザーA

ユーザーB ユーザーC ユーザーD

プロセス=20ms クォンタム=10ms

P1

P4 P3 P2

10

P1

P4 P3 P2

P5 50

40

20 30 60 70 80 90 100

(ms) P5

図5 フェアシェアスケジューリング

図5でフェアシェアスケジューリングにおけ るCPU占有の遷移の様子を表している.4ユーザ ー:5プロセスのときのRRスケジューリングの様 相に似ているがユーザーDのプロセスに対する CPUの占有の遷移が変わったことに気づく.この ときの平均ターンアラウンド時間は70(ms)とプ ロセスを基準に考えたスケジューリングのとき よりも短くなった.なによりユーザーA,B,C,そ れぞれに対するターンアラウンド時間が,4ユー ザー:4プロセスの時と同じになったことから有 用性があると考えられる。

6 まとめ

本研究ではプロセスのスケジューリングアル ゴリズムの性能について,従来のスケジューリ ングとは異なる,ユーザーを基準としたスケジ ューリングについて有用性について検証してい る.今後はこのスケジューリングを実装した Linux上での検証を考えている.

「参考文献」

1) ゲーリー・ナット, 「実習Linuxカーネ ル,理論と実習 カーネルを効率的に 理解するための実習書」,ピアソン・エ デュケーション,(2001)

2)大久保 英嗣,「オペレーティングシ ステムの基礎」,サイエンス社,(1997)

参照

関連したドキュメント

なんとか論文が形になってくると、手直しをしていくうちに、自分自身で気づくことがあったりな

る. 心象の概念から見ると,私たちは作品の中に一貫して心象を見てい

情報分析システム WISDOM X 概要 •

以前は小学校での色覚検査が義務付けられていたが、色覚検査か ら差別やいじめに繋がる恐れがあるとして、 平成 1

{ e は 面 積 比一定 の円す い形 デ イフユ-ザで入 口主流 の乱れの強度 の大 きい ものほ ど圧力回復効率 も 大 き くな ることを示 してい る。 この ことは Kl i ne

本研究では,不完全情報を持つハイブリッドシステムの定性シミュレーションの新しい

藤を経験することとなる。加えて〈上司との決 定的意見の相違出来事による離職の確定〉が見

こうした「視点」の導入が、言葉を取り扱う有機的な知のシステムを準備する。有機