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

論理分割の自己管理機能によるLinux WebアプリケーションのCPU資源最適化機能の評価

N/A
N/A
Protected

Academic year: 2021

シェア "論理分割の自己管理機能によるLinux WebアプリケーションのCPU資源最適化機能の評価"

Copied!
6
0
0

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

全文

(1)社団法人 情報処理学会 研究報告 IPSJ SIG Technical Report. 2003−EVA−7  (5) 2003/8/6. 論理分割の自己管理機能による Linux Web アプリケーションの CPU 資源最適化機能の評価 加倉井 宏一*. 荻田 光一郎*. メインフレームを利用した Linux Web サーバーの稼動において、論理分割機能の自己最適化機能の評価を行 う。プロセッサー論理分割の環境下で、この自己管理機能は、それぞれの論理区画で稼働する Web トランザ クションのサービス目標および重要度と CPU 資源の競合に応じて、論理区画に割当てられている CPU 資源の 割合を動的に変更する。 テストとその評価を通じ、自己管理機能によって従来の固定的な資源配分では得られなかったトランザクシ ョンの重要度に応じた良好な応答時間を得ることが確認できた。. The evaluation of a self-optimizing function: Adjusting system resource of Linux web applications dynamically Hirokazu Kakurai* Kohichiro Ogita* This paper describes that a self-optimizing function adjusting processor resources of logical partitions which are used for distributions of Linux web servers. The test of the function achieve that a dynamic resource re-assignment makes the highest important web transactions taking CPU resources effectively.. 1. はじめに 現在、メインフレームの論理分割機能は企業に おける複数のサーバーを 1 つの筐体で柔軟に稼動 させる技術として広く普及している。そして、TCO の観点から複数のサーバーOS を1つの商用大型 機上に統合していく企業が年々増加している。さ らに、統合対象は単一の OS に限らず、既存ホス トの OS に加えて部門サーバーで使用される Linux 等、ますます多くのサーバーOS が統合対象となっ ている。こうした状況では、これまでのような固 定的な CPU 資源の分割では充分にお客様の要件を 満たせなくなってきている。業務アプリケーショ ンの持つ応答時間やスループット等、時々刻々変 化する目標と重要度に応じて連続して効率的かつ 自動的に CPU 資源の分割を最適化したいというニ ーズは非常に大きい。 また、システム・パラメーターではなく、業務の. 持つ目標や重要度でパフォーマンス管理する機能 は自律型コンピューターとして、ますます注目を 浴びている。本研究での自己管理機能はこの自律 型コンピューターの重要な一機能として挙げられ る[ 1]。 2. 論理分割の自己管理機能 メインフレームの持つ論理分割機能は、CPU 資 源を柔軟に分割して複数の OS を 1 つの筐体で稼 動させることができる。しかし、プロセッサー筐 体の CPU 資源を柔軟に分割できる論理分割機能で あるが、従来、CPU 資源分割の割合は固定的であ り、区画の活動化時にウェイト値と呼ばれる値の 割合で CPU 資源の割当量が決定される。指定の方 法によっては、他の論理区画に処理が無ければ、 ウェイト値に関わらずプロセッサー筐体にある CPU 資源を使い切ることができる。しかし、全論 理区画が 100%の CPU 資源を使用する場合、ウェ. *日本アイ・ビー・エム・システムズ・エンジニアリング(株) *IBM Japan Systems Engineering Co., Ltd.. -1−23−.

(2) イト値の値は正しく守られる。そのため、計画の 段階で各論理区画の処理量からウェイト値を算出 するのが重要となるが、一般に Web トランザクシ ョンのように前もって十分にトランザクション量 を見積もることができない処理の場合ウェイト値 の算出が非常に困難となる。また、統合される OS の数が増えれば増えるほど、ウェイト値の組み合 わせが多くなり算出は複雑になる。 このようなウェイト値の算出が難しいワークロ ードや環境のため、分割区画内でのシステム資源 の自己管理機能がある。基本的な考え方として、 この自己管理機能は、ワークロードの稼動すると ころにシステム資源を動的移動する機能を実現し ているといえる。この動的変更は、論理区画で稼 働するワークロードの目標と重要度、そして CPU 資源の充足度から判断して行われる[ 2]。 ワークロードの目標と重要度を元にした資源の 動的変更には 図 1 にあるような処理フローが用 いられている。 予めワークロードに対して、ビジネス上の重要 度と目標値を設定しておく。そして、稼動中は管 理プログラムが重要度の高い順に目標を満たして いないワークロードを探索する。次に、探索した ワークロードの目標を満たしていない主要な資源 の要因を発見して、資源調整の候補とする。最後 に変更後の結果を予測して良好であれば、資源の 調整を行う。このフローが一定の時間間隔で起動 され実行される。. Receiverの選択. Receiverの ボトルネック発見. Importance. 重要度. 1. 最高. 2. 高. 3. 中. リソース調整の 計画/影響予測 リソース調整 アルゴリズム. 4. 低. 5. 最低. Discretionary. 資源に余裕が あれば稼動. ボトルネックの 解消. 図 1 資源の調整. 3. メインフレーム Linux の利用 一方、メインフレーム Linux は PC 上の Linux を メインフレーム・アーキテクチャーにポーティン グしたもので、メインフレーム上で稼動する Linux である。 Linux をメインフレームで稼動させることで、次 のようなメリットが発生する[ 3]。 z 40 年以上の長期にわたって培われてきたメ インフレーム・ハードウェアの信頼性に関 する部分を享受できる。 z メインフレームの論理分割機能に代表され. る仮想化技術を利用して、新規 Linux の容 易な追加やサーバー統合による設備の有効 利用などの拡張性が享受できる。 z メインフレーム関連製品を利用した集中管 理による運用管理の容易性を享受できる。 z 論理区画間の仮想 LAN 等の利用により、既 存の基幹アプリケーションと新しい Linux アプリケーションとの高速かつ柔軟な接続 で高い連携性に関する部分を享受できる。 Linux 論理区画も自己管理機能の対象となって おり、業務の重要度や目標によって CPU 資源の自 己調整を行うことができる。 4. 検証システム環境 検証システムの環境について解説する。 4.1.. サーバー構成. 検証システムのサーバーとして 3000MIPS 相当 のメインフレームの論理区画を利用した。16CP を 搭載している筐体を利用し、自己管理機能の対象 となる 2 つの OS 区画と、管理用の OS の区画を 1 つ、さらに自己管理機能利用の際に必須となるデ ータ共用機能の区画を 1 つ準備した。 自己管理機能の対象となる 2 つの論理区画で稼 働するオペレーティングシステムは Linux で、管 理用の OS にはメインフレーム用 OS を構成した。 Linux には SuSE Linux Enterprise Server 7 を使用 した。カーネルのレベルは 2.4.7 である。 管理用 OS は IBM 製メインフレーム OS の z/OS V1.4 である。 2 つの Linux 区画のウェイト値は検証ケースに よって変更するが、合計を 400 として指定する。 自己管理機能で稼動する場合は、最小は 1、最大 は 399 までの値が割振ることができるよう指定し た。管理用 OS 区画のウェイト値は最小と最大共 に 600 を指定することで、この値は常に固定にな る。 論理 CP の数は Linux 区画で 2 個ずつ、管理用区 画では 6 個を定義した。この検証テスト以外で利 用される CP はそのほかの区画に固定的に利用さ れて、検証テストに影響がないようにした。 初期設定値およびシステム構成は 図 2 の通り である。. -2−24−.

(3) 定した。Linux02 には重要度=5、実行速度=20 を指 定した。論理区画の自己管理機能を使用し、重要 トランザクションの稼動する Linux01 論理区画に 重要度が高く、スループットの高い指定を行って いる。. IC Channel Partition1 (Linux01) weight:1-399 logical CPs:2. Partition2 (Linux02) weight:1-399 logical CPs:2. Partition3 (Management) weight: 600 logical CPs: 6. Parttion x-y ICF. Dedicated CPs zSeries 900 (2064-116). Physical CPs: 6. 5.3.. .... 図 2システム環境. 2 つの Linux には Apache web サーバーを稼動さ せた。以降、Linux01 と Linux02 という名前を付け 説明する。 4.2.. トランザクション生成ツール. Linux01 の論理区画ウェイト値を 350、Linux02 の論理区画ウェイト値を 50 とした。Linux01 に多 く資源配分が行われるように固定的なウェイト値 を設定した。自己管理機能を使用しない場合で、 予め重要度の高い論理区画にウェイト値の多くを 割振ることを想定している。 5.4.. クライアント側のトランザクション生成ツール として Web Performance Tools を利用した[ 4]。 Linux01 へのトランザクションは端末 2 台をシ ミュレートし、合計で 300 トランザクションを生 成する。一方、Linux02 へのトランザクションは端 末 5 台シミュレートし、合計で 1000 トランザクシ ョンを生成する。 トランザクションは Linux01 と Linux02 共に共 通で、CGI を利用したファイル検索のトランザク ションである。 端末台数および総トランザクション数に相違を 持たせたのは、恒常的に Web のトランザクション がある状態で重要度の高いトランザクションが短 期間に発生することを想定したからである。実業 務での想定として、例えば Web 予約システムにて 新製品の発売初日に急激に新製品向けのトランザ クションが伸びることを考えてのことである。. 5.1.. 5.5.. 表 1 システム設定サマリー. シナリオ 1 2 3. 5.2.. シナリオ 2. Linux 1 2 1 2 1 2 1 2. 論理区画ウェ イト値 200(固定) 200(固定) 200(初期値) 200(初期値) 350(固定) 50(固定) 200(初期値) 200(初期値). 重要度. 目標 実行速度 n/a. 1 5. 50 20 n/a. 1 5. 80 20. 6. 検証結果 検証の結果を次にまとめる。各シナリオにおい て、1 分経過毎のトランザクション数、平均応答 時間、論理区画ウェイト値、平均 CPU 使用率を取 得しグラフにまとめた。 6.1.. Linux01、Linux02 共に論理区画のウェイト値を 200 ずつの固定とした。既存のメインフレーム環 境で Linux を追加する時、自己管理機能を使用し ない場合の最も一般的な設定であるといえる。. システム設定のまとめ. 各シナリオでのシステム設定をまとめると次の 通り。. 4. シナリオ 1. シナリオ 4. Linux01 と Linux02 に目標を設定した。Linux01 には重要度=1、実行速度=80 を指定した。Linux02 には重要度=5、実行速度=20 を指定した。Linux01 に関して、シナリオ 2 よりも高いスループットを 目標とした。. 5. 検証のシナリオ トランザクション発生の条件は各シナリオでほ ぼ同様として、システムの環境設定によってどの ようにトランザクションの振る舞いが変化するか 検証する。トランザクション発生の条件は、先ず Linux02 向けのトランザクション処理を開始して、 約 3 分後に Linux01 向けのトランザクションを開 始する。. シナリオ 3. シナリオ 1. Linux01 と Linux02 は同じウェイト値を指定して あるので、CPU 資源の割振り量が等しくなり、1 分間に同数のトランザクションを実行することが できる。しかし、トランザクション発生端末数が 異なるので Linux01 の応答時間の方が短い。その Linux01 の平均応答時間は 2133 ミリ秒であった。. Linux01 と Linux02 にトランザクション目標を設 定した。Linux01 には重要度=1、実行速度=50 を指 -3−25−.

(4) Result of scenario 2. 90. 7000. 60. 5000. 50. 4000. 40. 3000 2000 1000. 60. 5000. 50. 4000. 40. 3000. 30. 2000. 20. 1000. 10. 0. 0 16:27. 16:26. 16:25. 16:24. 16:23. 16:22. 16:21. 16:20. 16:19. 16:18. 16:17. 16:16. time. 16:15. 15 :4 15 3 :4 15 4 :4 15 5 :4 15 6 :4 15 7 :4 15 8 :4 15 9 :5 15 0 :5 15 1 :5 15 2 :5 15 3 :5 15 4 :5 15 5 :5 15 6 :5 15 7 :5 15 8 :5 16 9 :0 0. 16:09. 0 16:14. 0. 6000. 70. 16:13. 10. 7000. 80. 16:12. 20. 8000. 90. 16:11. 30. Numbers of transactions. 6000. 70. 100. 16:10. 80. ms. 8000. ms. Numbers of transactions. Result of scenario 1 100. time. Linux02 response time(Y2). Linux01 response time(Y2). Linux02 response time(Y2). Linux01 response time(Y2). Linux02 transactions. Linux01 transactions. Linux02 transactions. Linux01 transactions. 図 3 シナリオ 1 の TRX 数、応答時間. 図 5 シナリオ 2 の TRX 数、応答時間. ウェイト値が同値であるので競合が発生した時 間帯、ほぼ同じ CPU 使用率となっていることがわ かる。. ウェイト値の調整によって、Linux01 と Linux02 の競合発生の時間帯、Linux01 に多く CPU 資源が 渡った事がわかる。. Weight/CPU% of scenario 1. Weight/CPU% of scenario 2 100. 350. 90. 250. 60. 200. 50. 150. 40. 60 50. 150. 40. Weight. 70. 200. 30. 30 20. 50. 10. 0. 0. 16 :0 8 16 :1 0 16 :1 2 16 :14 16 :1 6 16 :1 8 16 :2 0 16 :22 16 :24 16 :2 6. 16:00. 15:59. 15:58. 15:57. 15:56. 15:55. 15:54. 15:53. 15:52. 15:51. 15:50. 15:49. 15:48. 15:47. 15:46. 0 15:45. 0 15:44. 10 15:43. 50. 70. 100. 20. 15:42. 80. 300. 250. 100. 90. 80. CPU%. Weight. 300. 100. 350. CPU%. 400. 400. time. time. Linux01 Weight. Linux02 Weight. Linux01 Weight. Linux02 Weight. Linux01 CPU%(Y2). Linxu02 CPU%(Y2). Linux01 CPU%(Y2). Linxu02 CPU%(Y2). 図 4 シナリオ 1 のウェイト値、CPU 使用率. 図 6シナリオ 2 のウェイト値、CPU 使用率. 6.2.. 6.3.. シナリオ 2. Linux01 には高く、Linux02 には低く目標を設定 しているため、Linux01 のトランザクションが開始 した直後から徐々に Linux01 に CPU 資源がわたり、 応答時間の短縮とトランザクション数の増加が見 られるようになった。目標に従って制御プログラ ムが徐々にウェイト値を変更していったのがわか る。. シナリオ 3. Linux01 に固定的に大きくウェイト値を与えて いるため、Linux01 のトランザクションは大幅に短 い応答時間で処理が行われている。しかし、 Linux02 のトランザクションは恒常的に CPU 不足 が発生して、応答時間が悪化している。. -4−26−.

(5) Result of scenario 3. Result of scenario 4. 100. 8000. 90. 7000. ms. 15000 10000 5000. Numbers of transactions. 80. 16:39 16:41 16:43 16:45 16:47 16:49 16:51 16:53 16:55 16:57 16:59 17:01 17:03 17:05 17:07 17:09 17:11. 3000 2000 1000. 10. :3 7. :3 4. :3 6. 17. 17. 17. :3 0. Linux02 response time(Y2) time Linux02 transactions. 17. :2 8. 17. 17. :2 4. 17. :2 2. 17. :2 0. :3 2. 0 :2 6. 0 :1 8. Linux01 transactions. 4000. 40. 17. Linux01 response time(Y2). 5000. 50. 20. time Linux02 transactions. 60. 30. 0. Linux02 response time(Y2). 6000. 70. ms. 20000. 17. Numbers of transactions. 25000. 17. 100 90 80 70 60 50 40 30 20 10 0. Linux01 response time(Y2) Linux01 transactions. 図 7 シナリオ 3 の TRX 数、応答時間(縮尺が異なる). 図 9シナリオ 4 の TRX 数、応答時間. Linux02 のトランザクションに CPU 資源がわた らず、処理に多くの時間が費やされていることが わかる。シナリオ 3 では図 7図 8のグラフにあ る範囲内では 1000 件の Linux02 の処理は終了して いない。. 目標に応じて Linux02 の論理区画に CPU 資源が 多く渡っている事がわかる。 Weight/CPU% of scenario 4. 350. 90 80. 60. 200. 50. 150. 40. 50. 30 20 10. 0. 0. 40 30. 100. 20. 50. 10. 0. 0. Linux01 Weight. Linux02 Weight Linxu02 CPU%(Y2). 図 10 シナリオ 4 のウェイト値、CPU 使用率. Linux01 Weight. Linux02 Weight. Linux01 CPU%(Y2). Linxu02 CPU%(Y2). 図 8 シナリオ 3 のウェイト値、CPU 使用率. 6.4.. time. Linux01 CPU%(Y2). 16 :3 16 8 :4 16 0 :4 16 2 :4 16 4 :4 16 6 :4 16 8 :5 16 0 :5 16 2 :5 16 4 :5 16 6 :5 17 8 :0 17 0 :0 17 2 :0 17 4 :0 17 6 :0 8 time. CPU%. 250. 50. 150. 17 :2 5 17 :27 17 :29 17 :31 17 :33 17 :35 17 :37. 80 70. 17 :23. 300. 60. 200. 17 :21. 90. 17 :19. 350. 70. 250. 17 :17. 100. Weight. 400. CPU%. Weight. 100. 300. Weight/CPU% of scenario 3. 100. 400. シナリオ 4. シナリオ 2 と比較してさらに Linux01 の応答時 間が短くなって、Linux01 の 1 分間当たりのトラン ザクション処理数も大きくなっている。. 6.5.. 検証結果のまとめ. 各シナリオでの応答時間、および最初のトラン ザクション始まってから終了するまでの時間を表 2 にまとめた。 表 2 結果サマリー. シナリオ. 1 2 3 4. Linux 1 2 1 2 1 2 1 2. 平均応答時間(ミリ秒) 処理実行時間(秒) (Linux01=端末2台、 (Linux01=300件、 Linux02=端末5台) Linux02=1000件) 2133 320 4564 914 2002 301 4777 956 1267 190 14435 2848 1881 282 5616 1124. 7. 評価 シナリオ 1 を基準と考慮して分析を行うと、ワ ークロードへの目標を設定したシナリオ 2 では重 要度の高いトランザクションに対する応答時間の -5−27−.

(6) 改善が見られる。目標を設定しておけば、必要に 応じて重要トランザクションへの資源配分が行わ れる。 シナリオ 1 よりも積極的に重要論理区画へウェ イト値を割振ったシナリオ 3 では Linux01 側の重 要トランザクションの応答時間が大幅に良くなっ た。しかし、Linux02 のトランザクションで恒常的 に応答時間が悪化した。固定的なウェイト値の設 定の考慮の必要な点といえる。 また、シナリオ 4 にあるようにシナリオ 2 より も積極的な目標設定した場合さらに重要トランザ クションで応答時間の短縮化を図ることができた。 注目すべきなのは、ウェイト値のようなシステ ム・パラメーターではなく、トランザクションの 持つビジネス上の重要度や目標によってシステム が自己最適化したことである。従来であれば、シ ステム管理者がシナリオ 1 やシナリオ 3 のような 設定を試行錯誤で決定しなければならないものが、 エンドユーザーとのサービスレベルで一意にシス テム設定が決定することができるようになった。 また、拡張性や変化への柔軟性を考えると、自 己管理機能の優位性がさらに際立つ。例えば、ビ ジネス環境の変化によって、さらに Linux システ ムを追加しなければならないケースが発生した場 合、固定的なウェイト値の設定ではより複雑度が 増すことになり、さらにシステム管理者を悩ます 事態になることが簡単に予想される。ビジネスの 重要度による目標設定であれば、サーバーの数は そのままで新規にアプリケーションを増やすとき であっても、アプリケーションはそのままでサー バーを増やしたいときであっても、柔軟に対応す る(もしくは設定を変更しないでおく)ことが可能 である。. うのが重要となる。現在の自己管理機能の設定で はサーバー単位の目標設定である。よって、トラ ンザクションレベルの目標設定も含めた、エンド・ トゥ・エンドの目標設定が必要になるであろう。 9. おわりに サービスレベルを設定すれば、サービスレベル の維持を自動的に図る自律型コンピューティング は今後ますます重要になってくると考えられる。 本研究では、少ないサーバーで限定された環境で あったが、実際のお客様の環境では、もっと多量 のサーバーで、インターネットなどのオープンな 環境へ接続された複雑性の著しい環境が主である。 そういった環境にこそ、自律型コンピューティン グの更なる発展が望まれる。よって、本研究で限 定された環境ながらも自律型コンピューテュング の有効性が証明できたことの意味は大きいと考え る。 10.. 参考文献. [ 1]荻田光一郎、オートノミック(自律型)コンピュ ーティングの最新動向、電子情報通信学会、ディ ペンダブルコンピューティング研究会、2003 [ 2]加倉井宏一他、商用大型機での分割区画内のシ ステム資源の自己管理機能の評価、情報処理学会、 システム評価研究報告、No.4、2002 [ 3] 坂爪淳力他、Linux/390 活用への第一歩、日本 ガイドシェア研究論文、SP 部会、2001 [ 4] Web Performance Tools、 http://www.alphaworks.ibm.com/tech/wptools、 2003.7.3. 8. 今後の課題 検証によって論理分割の自己管理機能が良好に 働くことが確認できたが、さらに利用者にとって、 魅力的な機能になるよう今後の課題を記述する。 先ず、現在は Linux 区画全体のスループットが 目標として扱われている。今後は Linux 区画で稼 動する Web トランザクションの応答時間での目標 管理が必要になると考える。一部のメインフレー ム OS ではトランザクションレベルでの応答時間 の目標設定も可能であるが、オープンな Linux 環 境でのトランザクションレベルでの目標設定は今 後の課題となる。 次にトランザクション連携での課題もある。現 在の実システム環境において、1つの Linux シス テムだけでトランザクション処理が完結すること はない。バックエンドの DB やアプリケーション・ サーバー同士の連携が必ずあり、ユーザーから見 たエンド・トゥ・エンドの応答時間による管理とい -6−28−.

(7)

参照

関連したドキュメント

(問5-3)検体検査管理加算に係る機能評価係数Ⅰは検体検査を実施していない月も医療機関別係数に合算することができる か。

本資料は Linux サーバー OS 向けプログラム「 ESET Server Security for Linux V8.1 」の機能を紹介した資料です。.. ・ESET File Security

 当図書室は、専門図書館として数学、応用数学、計算機科学、理論物理学の分野の文

 

AMS (代替管理システム): AMS を搭載した船舶は規則に適合しているため延長は 認められない。 AMS は船舶の適合期日から 5 年間使用することができる。

システムであって、当該管理監督のための資源配分がなされ、適切に運用されるものをいう。ただ し、第 82 条において読み替えて準用する第 2 章から第

添付資料4 地震による繰り返し荷重を考慮した燃料被覆管疲労評価(閉じ込め機能の維持)に

環境への影響を最小にし、持続可能な発展に貢