DEIM Forum2013 F2-6

ハイブリッドクラウドにおける遠隔ストレージアクセスを用いたジョブの最適配置ミドルウェア
笠江優美子†

小口 正人†† お茶の水女子大学 〒 112-8610 東京都文京区大塚 2-1-1
E-mail: †yumiko@ogl.is.ocha.ac.jp, ††oguchi@computer.org
あらまし 近年，コンピュータシステムにおける情報量が爆発的に増加している．その処理プラットフォームとして，
ハイブリッドクラウドが注目されている．ハイブリッドクラウドには，プライベートクラウドとパブリッククラウド
を併用することで，自社の持つリソースを無駄なく使いながら，スケーラブルな処理が実現できるというメリットがある．しかし，実社会において，特にパブリッククラウド内でのデータ処理に対する信頼性の問題により，ハイブリッ
ドクラウドの導入があまり進められていない．また，ハイブリッドクラウドでの処理には，処理性能と従量制料金という，トレードオフの関係にあるコストが生じる．これらコストに対して，適切なコストバランスを実現するシステ
ムも求められている．そこで本研究では，ビックデータ処理基盤としてのハイブリッドクラウド環境において，ローカルに保持するストレージプールに対し，パブリッククラウドから遠隔ストレージアクセスを行い，データ自体を外部サイトに保存しない前提において，生じるコストという評価軸のもと，最適なジョブ配置を行う手法を提案し，ミドルウェアとして実装した．また，本提案手法を適用することによって，想定環境でのアプリケーション処理において，最適なジョブ配置が行えること示した．
キーワード

ハイブリッドクラウド，負荷分散ミドルウェア，コストバランス，iSCSI

Proposing the Method for Load Distribution
on the Hybrid Cloud Environment using Remote Storage Access
Yumiko KASAE† and Masato OGUCHI†† Ochanomizu University
2-1-1 Otsuka, Bunkyou-ku, Tokyo, 112-8610, JAPANE-mail: †yumiko@ogl.is.ocha.ac.jp, ††oguchi@computer.org

1. は じ め に

導入はあまり行われていない．これは，特にパブリッククラウ
ドでの処理の不透明性により，自社の持つデータを外部サイト

近年，情報通信の発達に伴って，あらゆる分野において，コで保存することへの懸念があるためである．また，ハイブリッ

ンピュータシステムにおける情報量が爆発的に増加している．

ドクラウド環境での性能と処理に伴うコストには，トレード

それら大量のデータは，１箇所に集められ，さらに分析を加オフの関係が生じてしまう点もその要因である．つまり，多くえることで，新たな価値のある情報を生み出すという，ビックのデータ処理を高速に行うために，パブリッククラウドを多く

データ処理の効率の良い実現が求められている．その処理のプ使って処理を行えば，全体の実行時間は短くなるが，従量制料

ラットフォームとして，ハイブリッドクラウドが注目されてい金がかかり過ぎる．逆に，プライベートクラウドのみで処理でる．ハイブリッドクラウド環境では，プライベートクラウドと行うと，従量制料金は少なくなるが，処理に時間がかかる．こパブリッククラウドを併用することで，それぞれの持つ拡張性のように，ハイブリッドクラウド環境での効率的な処理に関しや安全性などの長所と短所を補い合う事ができる．特にデータて，どちらのクラウドをどれくらい使えば良いかを，性能と必処理においては，時々刻々と増加するデータに対して，必要に要なコストに基づき適切に判断し，最適なジョブ配置を行える

応じてスケーラブルな処理ができるハイブリッドクラウド環境

システムが必要である．

は，処理に適していると言える．
しかし，実社会において，ハイブリッドクラウドの積極的なそこで，本研究では，ハイブリッドクラウド環境での処理について，企業の持つセキュリティポリシに従って，データを外—1—

部サイトに保存せず，ローカルにあるストレージに保持し，パ

通信利用動向調査 [1] では，日本におけるクラウドの導入状況

ブリッククラウドから遠隔アクセスを行う場合において，性能は，導入予定を入れても，半数以下であるとされている．これと金銭的コストという 2 つの評価軸に基づき，最適なジョブ配は，以下の様な懸念があるためだと考えられる．

置を目指す手法を提案し，ミドルウェアとして実装する．
本ミドルウェアでは，主に計算処理を行う CPU インテンシ
ブアプリケーションだけでなく，ディスクへ I/O 処理の割合が2. 1 パブリッククラウドにおけるデータ配置
ハイブリッドクラウド導入が進まない理由として，データ配置の難しさが挙げられる．

多いデータインテンシブアプリケーションの効率的な処理へ向

特に，パブリッククラウドでは，企業の持つセキュリティポ

けたジョブ配置も対象とする．しかし，一般的に，CPU 使用率

リシなどにより，データを外部サイトに保存できないという制などで負荷を正確に判断できる CPU インテンシブアプリケー

約が存在することが多い．平成 23 年通信利用動向調査の結果

ションと異なり，データインテンシブアプリケーションにおけ

では，企業がクラウドサービスを導入しない理由の第 2 位にセる処理の場合，リソースを飽和するまで使い切るために必要な，キュリティへの不安を挙げている．また，データを外部サイト

効率的なリソースの利用状況が判断しづらい．これに対し，本に持ち出すことが許されたとしても，データ自体が巨大である

手法では，CPU と I/O のバランスを可変とする自作ベンチマー

場合，データ転送にコストがかかってしまう．さらに，パブリッ

クを用い，実行環境となるハイブリッドクラウドの性質を調べ

ククラウド内のストレージサービスを利用した場合，ローカル

た上で，リソースへの I/O 状況を元にジョブの実行状況を判断のストレージのデータとの同期を取る必要がある．パブリックする手法を提案する．

クラウドにデータを保持する場合，その容量に応じて課金され本論文では，本研究で提案する手法と，開発したミドルウェ

ることも大きな理由である．

アについて詳細に述べると共に，ローカルストレージに対しパ

本研究では，これらのことを考慮し，企業の持つセキュリティ

ブリッククラウドから遠隔アクセスを行った場合において，実ポリシに従って，データはローカルにあるストレージプールに際にデータインテンシブアプリケーションの処理を行う際に，保持しておき，外部サイトにデータを保存しないという前提の本ミドルウェアを適用した．そして，その実行コストについて，

もと，ハイブリッドクラウドでデータ処理を行う場合には，パ

性能と金銭的コストという評価軸で評価し，リソースを効率的

ブリッククラウドから遠隔アクセスを行う．これは，パブリッに使う最適なジョブ配置が提供できることを示す．金銭的コス

ククラウドのインスタンス（仮想マシン）から，処理能力のみ

トには，パブリッククラウドの従量制料金とプライベートクラを借りる場合を想定したものである．

ウドの消費電力料金が含まれる．

2. ハイブリッドクラウド導入への懸念について

2. 2 コストのトレードオフ関係
また，ハイブリッドクラウド環境で処理を行う際には，性能と必要なコストには，トレードオフの関係が生じてしまう．つクラウドコンピューティングは，ネットワーク上に存在す

まり，多くのデータ処理を行うために，プライベートクラウド

るサーバから，必要なソフトウェアやハードウェア資源を利に加えて，パブリッククラウドを多く使って処理を行えば，処用するサービス形態を示し，その提供するサービスの種類か

理は早く終わるが，多くのインスタンスを使って処理を行うたら，SaaS(Software as a Service) や，PaaS(Platform as a Service)，

め，従量制料金がかかり過ぎる．逆に，パブリッククラウドを

IaaS(Infrastrcuture as a Service) などに分類できる．

ほとんど使わずに，プライベートクラウドのみで処理で行なう

本研究では，特に IaaS を対象として検討を行うが，IaaS につと，従量制料金は少なくなるが，処理に時間がかかり過ぎる．

いてのクラウドの利用形態の種類として，パブリッククラウド

このように，ハイブリッドクラウド環境での効率的な処理に関とプライベートクラウドがある．パブリッククラウドは，インして考える場合，どちらのクラウドをどれくらい使えば良いの

ターネットを通じて利用でき，クラウドを提供するプロバイダ

か，性能と必要なコストに基づき判断し，最適なジョブ配置をに従量制の料金を支払うことで，スケーラブルなクラウドサー

行えるシステムが必要である．

ビスを受けることができる，一般的なクラウド形態である．プ

そこで本研究では，そのようなシステムを実現する手法を提ライベートクラウドは，社内などの閉じたネットワーク上で利案し，ミドルウェアとして実装した．本ミドルウェアで考慮す用するクラウドのことで，セキュリティに配慮した構成で，クるコストは，ジョブの処理時間という時間的コスト，および，ラウド環境を利用することができる．また，これらに加え，近パブリッククラウドの従量制料金とプライベートクラウドの消年，ハイブリッドクラウドという利用形態も注目されている．

費電力料金を足した金銭的コストの 2 つである．本手法で考えハイブリッドクラウドでは，プライベートクラウドとパブリッ

る金銭的コストの中に，プライベートクラウドの消費電力料金

ククラウドの 2 つのクラウドを併用することで，自社の持つリが含まれるのは，最近の世界的なエコ志向に加え，大量のデー

ソースを無駄なく使いながら，スケーラブルなクラウド環境をタを処理する上での電力の増加問題，更には電力供給力の減少

利用することができる．これらの点から，時々刻々と増加する問題など，消費電力削減の重要性が増しており，電力においてデータを処理するビックデータ処理の，効率的処理基盤として，も，無駄のない利用が求められるためである．プライベートク

ハイブリッドクラウドは適していると考えられる．

ラウドの金銭的コストには，システム導入時の固定的な費用もしかし，実社会において，ハイブリッドクラウドの積極的な含まれる筈であるが，その金額は一概には定義しにくいため，導入が進められていない．総務省によって行われた平成 23 年

ここでは減価償却済みであるケースを想定し，固定費用はゼロ—2—

として評価を行った．また，金銭的コストの中に，パブリック本実験環境において，インスタンスのローカルのディスクへ

クラウドの消費電力料金が含まれていないが，パブリッククラ

アクセスする場合と，インスタンスからストレージに対し iSCSI

ウドを提供するプロバイダが，利用者に対して個々のリソース

アクセスする場合の Squential Read/Write の性能測定をベンチが消費した電力料金を公開するのは，一般に困難であると考え

マークツール Bonnie++を用いて行った．

られ，パブリッククラウドにおいては，従量制料金にその消費電力料金が含まれると考えることができる．

3. 想定するハイブリッドクラウド環境の構築

図 2 にその測定結果を示す．横軸は人工遅延発生装置 dum-

mynet に設定した，往復遅延時間である．実環境では，東京-大阪間の遅延が約 16msec である．

本研究で想定するクラウド環境を，IaaS のクラウド環境構築
ソフトウェア Eucalyptus [2] を使って構築した．また，Eucalyptus
を用いて，2 つのクラウド環境を構築し，その間を人工的な遅延を発生させる Dummynet で接続することで，ハイブリッドク
ラウド環境を実現した．さらに，ローカル環境側には，3 台のRAID-0 構成のストレージから成るストレージプールを設けた．
構築したハイブリッドクラウド環境を，図 1 に示す．また，そ図 2 iSCSI 性能測定結果

れぞれを構成するサーバは表 1 から 5 に示す通りである．

図 2 が示す通り，ローカル環境で iSCSI アクセスを行った場
合に比べると，遅延が増加するにつれて，Read 性能，Write 性能の低下がみられる．

4. 提案する負荷判断手法
本論文で提案するミドルウェアでは，CPU インテンシブなジョブだけでなく，データインテンシブなジョブも処理の対象
図1

構築したハイブリッドクラウド環境としている．どちらのジョブにおいても，ハイブリッドクラウ
ド環境での無駄のないリソース利用のためには，その負荷を適

表 1 Private Cloud Frontend
OS
CPU
MemoryLinux 2.6.38/ Debian GNU / Linux 6.0
Intel(R) Xeon(R) CPU@ 3.60GHz 1 core
4GByte

表 2 Public Cloud Frontend

切に判断し，それぞれのリソースを「効率良く使える限界までOS使い切る」ということが大変重要である．そこで，本ミドルウェLinux 2.6.38 /Debian GNU / Linux 6.0
Intel(R) Xeon(R) CPU@ 2.40GHz 1 core
1GByteCPU
Memoryアでは，CPU 処理とディスク処理それぞれにおいて，リソースを使い切った状態を決め，その情報を元に，リソースの負荷の状況を判断していく．それぞれの処理での負荷の判断手法は以下の通りである．

表 3 Private Cloud NodeServer
OS

CPU
MemoryLinux 2.6.32-xen-amd64
and xen-4.0-amd64/ Debian GNU / Linux 6.0
Intel(R) Xeon(R) CPU@ 2.66GHz 1 core
8GByte

表 4 Public Cloud NodeServer
OS

CPU
MemoryLinux 2.6.32-xen-amd64
and xen-4.0-amd64/ Debian GNU / Linux 6.0
Intel(R) Xeon(R) CPU@ 3.60GHz 1 core
4GByte4. 1 CPU 処理に基づいた負荷の判断
CPU 処理を伴う CPU インテンシブなジョブについての負荷分散の研究は，今まで多くなされており，負荷の判断としてCPU 使用率が使われている．本ミドルウェアにおいても，CPU使用率を元に判断し，リソースを使い切った状態を CPU 使用
率が 100%とし，ジョブ処理時に CPU 使用率が 100%に達する

表 5 Storage Pool

OSLinux 2.6.32-xen-amd64 and xen-4.0-amd64/ Debian GNU / Linux 6.0

CPUIntel(R) Xeon(R) CPU @ 1.60GHz 1 core

Memory2GByteDisk

SAS Seagate

Cheetah 15K.5 SAS 73G * 2

RAID Controller SAS/iRと，負荷分散を行う．この CPU インテンシブなジョブの最適配置については，他の研究でされている手法と本質的には変わらないため，本提案の特徴とはしない．

4. 2 ディスク処理に基づいた負荷の判断
4. 2. 1 負荷の判断における問題点
ディスク処理を伴うデータインテンシブなジョブの場合，CPU処理に比べ，その負荷が処理的な飽和に達しているかどうかのこの環境において，それぞれのクラウドからストレージプー

確定的な判断が難しい．データインテンシブなジョブの場合は，ルに対し，iSCSI アクセスを行う．iSCSI とは，データ転送を処理が I/O 待ちとなってしまう場合が多く，CPU 使用率を用い行う SCSI プロトコルを TCP/IP ネットワーク上で使用する規ても適切な判断が行えない．また，ディスクの処理性能は，そ格のことである．専用のケーブルを用いて構築される FC-SANのシステムに依存するという問題もある．そこで，本提案手法に比べ，安価に SAN 環境を構築できる．

では，ミドルウェア実行前に学習フェーズを実行する．

—3—

4. 3 学習フェーズ

は CPU 使用率，ディスク処理においては，ディスクに溜まる

4. 3. 1 概キューの長さを測定している．また，リソースの負荷状況は，

要

学習フェーズでは，Random Read 処理のみを行う自作ベンチ

CPU 処理，ディスク処理の両方を同時に確認しており，どちら

マーク Disk Bench を用い，ミドルウェア実行環境のディスク

かが使い切った状態となると，そのインスタンスはリソースをに対し負荷をかける．そして，その負荷の処理時間からディス使い切られた状態であると判断する．Dispatch 部では，ジョブクの処理的なディスクの飽和状態を判断し，その飽和状態と判を受け取り，Monitor 部からの情報を元に，ジョブを配置して断されたディスクの情報を分析することで，処理的なディスク

いく．ただし，ジョブがディスク処理を行うものの場合，実際飽和を定義する．特に，本手法では，ディスクの情報として，のデータは，ストレージプール内にあるため，そこへデータア

飽和状態をディスクに溜まるキューの長さを取得することで，クセスすることとなる．

「ディスクリソースを使い切った状態の条件」を定義する．次節で，学習フェーズの具体的な手法について説明する．

4. 3. 2 実 行 手 法
学習フェーズは，ミドルウェア実行環境のディスク処理性能測定を行っていく．まず，ミドルウェア実行環境のディスクリ
ソースに対し，自作ベンチマーク Disk Bench を使ったジョブを複数同時処理させていく．その時，その処理にかかった処理時
間と，その時のディスクに溜まるキューの長さを，ディスク処
理の統計情報を記述する /proc/diskstats ファイルから測定する．
図3

そして，処理時間の測定結果と，同時処理した分のジョブを逐

ミドルウェアの動作

次的に処理する場合の処理時間を比較する．
一般的に，ディスクリソースでの処理に余裕があれば，ジョ

5. 2 負荷分散基準

ブを同時処理した方が，その分のジョブを逐次処理した時に比ミドルウェアの負荷分散の基準として，前章で述べた通り，

べ実行時間が短いはずである．しかし，同時処理するジョブ数

そのリソースが処理的飽和状態になり次第，負荷分散を行う．

を増加させていくと，同時処理した場合の方が遅くなる点があ

具体的には，ジョブ処理をしているリソースから取得した情報

る．そこをディスクリソースを使い切った状態と判断し，そのが，CPU 処理においては CPU 使用率 100%，ディスク処理の時のディスクに溜まったキューの長さを，「ディスクリソースをおいては，ディスクに溜まるキューの長さが学習フェーズで得使い切った状態の条件」とする．ディスクアクセスは複数のジョられた，「ディスクリソースを使い切った状態の条件」にそれぞ

ブからのリクエストがランダムに到着し，ブロックサイズが一れ達したら，負荷分散を行なっていく．つまり，CPU 処理にお定ならジョブの処理時間はほぼ一定，窓口はディスクごとに 1

ける負荷分散の閾値は CPU 使用率 100%，ディスク処理におけつという待ち行列モデルに従うと見なせる．従って，キューのる負荷分散の閾値は，学習フェーズで得られたディスクに溜ま長さは，ジョブからの I/O リクエストの混雑度，すなわち入出

るキューの長さとなる．特に，ディスク処理における負荷分散

力の飽和の程度を正確に反映していると考えられる．

の閾値は，学習フェーズで得られた「ディスクリソースを使いまた，Disk Bench 内には，2 つの可変なパラメータが存在す
る．一度にどれだけ読込むかという読込み量と，この読込みを切った状態の条件」を元に，ユーザが設定可能である．

5. 3 アルゴリズム

何回繰り返すか，というパラメータである．学習フェーズでは，

本ミドルウェアのアルゴリズムを以下に示す．初めてミドル

これらパラメータを網羅的に変化させることで，あらゆるディ

ウェアを利用するハイブリッドクラウド環境で実行する際には，

スクアクセスパターンを想定し，ディスク処理の飽和の条件を前章で示した学習フェーズにおけるディスクの性能測定を行い，明確に定義していく．

「ディスクリソースを使い切った状態の条件」を定義する必要がある．

5. 開発した最適配置ミドルウェア（ 1 ） ユーザは，学習フェーズで得た閾値の範囲を元に，ディ学習フェーズにおいて，処理実行環境における「ディスクリ

スク処理における閾値を設定し，ミドルウェアを実行する．

ソースを使い切った状態の条件」を定義した後，開発したジョ（ 2 ） ミドルウェアは，投入されたジョブを受け取る．

ブの最適配置ミドルウェアを介し，ジョブ処理を行う．本章で（ 3 ） プライベートクラウド内のインスタンスで，優先配置

は，開発したミドルウェアについての詳細を述べる．

度順に，リソースの負荷状態が閾値以上であるか調べ，閾値以

5. 1 ミドルウェアの構造

下であればそこで実行し，(2) へ．プライベートクラウド内の

図 3 に，ミドルウェアの動作を示す．ミドルウェアは，Monitor

リソース全ての負荷状態が閾値以上であれば，(4) へ．

部と Dispatch 部から成る．Monitor 部では，ハイブリッドクラ（ 4 ） パブリッククラウドでジョブの優先配置度順に，リ

ウド内に存在するそれぞれのリソースに対して，ジョブの優

ソースの負荷状態が閾値以上であるか調べ，閾値以下であれば

先配置度順に，定期的にリソースの状態確認を行っている．リ

そこで実行して，(2) へ．見つからなければ，(5) へ．

ソースの状態確認とは，前章で述べた通り，CPU 処理において—4—

（ 5 ） パブリッククラウドにおいて，借りるインスタンスを増やし，そこで実行して (2) へ．

6. ミドルウェア適用実験と評価

6. 3 コスト評価概要
本適用実験のコスト評価では，ミドルウェアに提案手法である「ディスクリソースを使い切った状態の条件」という適切な閾値を設定した場合と，それ以外の値を設定した場合で，生じ

本研究では，3 章で示した想定環境において，実際のアプリ

るコストのバランスにどのように違いがあるかについて評価すケーションを処理する際に，ハイブリッドクラウド内のリソー

る．ここで考えるコストとしては，ジョブの処理時間という時スを効率良く使用すると同時に，生じるコストのバランスも考間的コストと，金銭的コストの 2 種類である．金銭的コストは，

慮しながら，最適なジョブ配置を行えることを目標とする．そ

以下の式で算出したものである．
金銭的コスト : TR * NR * CR +PL * CL

こで，適用実験において，実際のアプリケーションによるジョブ処理を本ミドルウェアを介して行い，上記目標に対して，本
提案手法を適用することが有用であるか評価を行った．

6. 1 実 験 概 要
本適用実験では，東京都内のある企業が、自社にプライベー
トクラウド環境と，大量のデータを格納する大規模な DB を構築したストレージプールを保持し，また，都内近郊にデータセンタを持つパブリッククラウドプロバイダから，必要なリソースを利用できる環境が整っていることを想定する．この環境の実現のため，本実験環境においては，プライベートクラウドとパブリッククラウドの間に，往復遅延時間 4msec の人工的な遅延を Dummynet を使って加えた．
また，本適用実験では，ハイブリッドクラウド環境で，ストレージプールにある大規模な DB に対し，アドホックなクエリ
処理を，断続的に行う場合を想定する．この想定を実現するために，本適用実験では，DBT-3 の検索クエリを用いた．DBT-3とは，TPC-H の簡易版で，大規模な DB と，それに対する 22の複雑でアドホックな検索クエリが提供されている．本適用実験では，ストレージプール内に，DBT-3 を用いて大規模な DBを作成後，それに対し検索クエリを断続的に処理していく際にミドルウェアを適用する．今回の適用実験においては，一定時間間隔でジョブが投入されるようなタイプの実行形式を用いてTR :パブリッククラウド上のインスタンスを使った時間 [時間]NR :パブリッククラウドのインスタンスを使った数 [数]CR :パブリッククラウドの従量制料金単価 [$/時間]
PL :処理時にプライベートクラウドが消費した電力 [kWh]
CL :消費電力料金単価 [$/kWh]

それぞれの単価として，従量制料金単価は Amazon EC2 の値段を参考に処理時間あたり$0.5，消費電力料金単価は，東京電力の値段を参考に 1kWh あたり$0.24 とした．

6. 4 適用実験：学習フェーズの実行
まずミドルウェア実行前に学習フェーズの実行を行う．本実
験環境では，インスタンスからストレージプール内のストレー
ジへ iSCSI アクセスを行った場合のディスク処理性能を測定す
ることとなる．学習フェーズ実行手法は，4.3 節で示した通り，
自作ベンチマーク Disk Bench を使用して，ディスクに負荷をかけ，そのときの処理時間と，ディスクに溜まるキューの長さを測定し，「ディスクリソースを使い切った状態の条件」を定義していく．また，学習フェーズでは，Disk bench 内のパラメータを変化させ，様々なアクセスパターンで測定を繰り返すが，本稿では，その代表例として，10Kbyte の読み出しを 512 回繰り返した場合の，逐次処理と同時処理の処理時間の比較結果を，
図 4，5 に示す．

いる．この一定間隔で割合小粒度なジョブが投入されていく状
況は，特定の環境における評価である．異なるタイプのアプリ
ケーション実行形式の場合，ジョブの分割や投入といった機能を別途用意する必要があるが，それら機能さえ実装すれば，本提案をそのまま利用することが出来る．

6. 2 実 験 手 順
本適用実験では，まず，ミドルウェア適用環境において，学図4

処理時間の比較（一例）

習フェーズを実行する．これによって，「ディスクリソースを使い切った状態の条件」を定義する．次に，前述したアプリケー
ションに対し，開発したミドルウェアを介して，処理を実行する．このとき，本提案手法である，学習フェーズで得られた「ディスクリソースを使い切った状態の条件」をミドルウェアに負荷分散の閾値として設定した場合と，学習フェーズで得られる値より，小さな値や大きな値に設定した場合の，様々な閾値
設定での実験も行う．また，それぞれの閾値でアプリケーショ
ン処理時に，処理したジョブの処理時間と，パブリッククラウ

図 5 キューの長さ（一例）

ドの従量制料金，プライベートクラウドの消費電力料金を測定する．これら測定コストを評価することで，本提案手法の有用性を示していく．

図 4 は，ジョブの同時処理と逐次処理時の処理時間の比較結果である．縦軸を処理時間の比率で表しており，横軸のジョブ
数分のジョブを同時処理した時の処理時間を，逐次処理した場—5—

合の処理時間で割ったものである．縦軸が 1 となる所に，赤のこともあるが，これは，処理性能を重視するために，リソース

破線をひいており，それより下だと同時処理の方が速く，上だを非常に多く使っているか，金銭的コストをかけないようにリと逐次処理の方が速い，つまりディスクリソースを使い切った

ソースに多大な負担を与えている負荷分散のコスト評価が，曲状態であるとうことを示す．つまり，本例では、同時処理数 3

線上の点となった例である．パレート最適曲線上にのっていなで，ディスクの処理的な飽和状態となっていることがわかる．

い点については，その閾値に比べ，より良いコストバランスを

また，図 5 は，同時処理ジョブ数ごとのキューの長さの推移提供できる他の閾値が存在する点である．

を示している．横軸が，同時処理数，縦軸がキューの長さであ

また，緑の丸で囲まれた点は，プライベートクラウドのリる．このグラフから，同時処理数と，ディスクリソースに溜まソースのみでジョブ処理を行った場合のコスト評価結果である．

るキューの長さは比例関係にあることがわかる．

このように，遅延が生じる環境においても，プライベートクラ

これらの考察を様々なアクセスパターンで行い，処理時間にウドのリソースのみを使って処理する場合に比べて，本提案手よるディスク処理的な飽和の判断から，そのときのディスクに法を適用した方が，効率の良い処理が提供されていることが確溜まるキューの長さを分析した結果，「ディスクリソースを使い認できる．

切った状態の条件」としてのディスクに溜まるキューの長さを，

6. 6 適用実験：結論

2200〜3200 と定義できることがわかった．これらの値は，小粒本適用実験における評価によって，本提案手法である，学習度のアクセスのみを行い，物理ディスクの細かいレベルまで解フェーズにおいて決定した「ディスクリソースを使い切った状

析すれば，一意に定まる可能性があるが，実際のジョブはそれ態の条件」をミドルウェアに設定することにより，ジョブのパほど小さくないため，本手法では，この値の範囲を，「ディスク

レート最適配置が提供出来ることがわかった．つまり，「ディスリソースを使い切った状態の条件」と定義する．

クリソースを使い切った状態の条件」をミドルウェアに設定す

6. 5 適用実験：評価結果

ることは，パレート最適配置を提供するための十分条件であり，前節の学習フェーズにより決定した，「ディスクリソースを使本提案手法により，リソースを無駄なく利用しながら，最適ない切った状態の条件」を元に，ミドルウェアに対して，上記のジョブ配置を提供できることが示せた．

範囲内の値を含む，様々な値を負荷分散の閾値として設定した

また，今回の金銭的コスト計算においては，パブリッククラ

上で，ジョブ処理を実行し，その時に生じたコストを測定した．

ウドの従量制料金の比重が大きいため，プライベートクラウド

図 6 に，本適用実験での，様々な閾値設定における，生じたの消費電力料金の違いによる影響はかなり小さかった．しかし，コストの評価結果を示す．

この金銭的コストは，技術的・社会的な理由などにより，大幅に変わる可能性がある．消費電力料金の比重が大きくなったな
らば，本提案方式においても，より電力料金を念頭に置いた負荷分散が実行されるようになると考えられるが，これはコスト計算の式を変更するだけで対応が可能である．

7. 関 連 研 究
クラウドにおけるロードバランスに関する論文として，例えば文献 [5] などがある．しかしこれらは，CPU インテンシブア
プリケーションを対象としており，データインテンシブアプリ
ケーションは考慮していない．
また，本研究と同じように，ジョブの対象をデータインテン
シブアプリケーションとし，その負荷の指標としてディスクア
クセス量を用いて開発された負荷分散ミドルウェアに文献 [6]図 6 想定環境における DBT-3 の検索クエリ処理を適用時のコスト評価がある．このミドルウェアでは，ディスクアクセス量を元に，ローカルのクラスタとパブリッククラウド間で動的な負荷分散を行うことで，ジョブの最適配置を行った．本研究ではこのミ

図 6 においても，縦軸は金銭的コスト，横軸は時間的コスト

ドルウェアを更に発展させ，コスト評価軸を設け，リソースをを示している．また，図では，閾値として，学習フェーズで得た使い切りつつも，ユーザの要望に応じたコストバランスとなる

飽和の条件の範囲内の値を設定したものを赤のプロットで示す．

ジョブ配置を提供する．

図 6 が示す通り，本提案手法である，学習フェーズによりクラウドの省電力化の検討も活発に行われている．文献 [8]決定した「ディスクリソースを使い切った状態の条件」となるなどは，CPU インテンシブアプリケーションをクラウド上でキューの長さ，つまり 2200〜3200 の値に設定することで，リ実行するときの省電力化への取組みである．また，文献 [9] は，ソースを効率的に使いながら，コスト評価においてパレート最クラウドのデータセンタに対する省電力化への取組みであり，適の点となっていることがわかる．逆に，性能測定で決定したプライベートクラウドを含むクラウド全体の省電力化を目指す

値の範囲内になくても，パレート最適曲線上の点となっている

点で，本研究と異なる．

—6—

8. まとめと今後の課題
企業の持つセキュリティポリシに従ったデータ配置のもと，[6]

ハイブリッドクラウド環境での効率的なビックデータ処理に関して，どちらのクラウドのどれくらい使えば良いのかを，性能と必要なコストに基づき判断して，最適なジョブ配置を行える[7]

手法を提案し，ミドルウェアとして実装した．
本ミドルウェアでは，CPU 処理とディスク処理から，それぞれの負荷の判断を行い，リソースを使い切った状態になった時に，負荷分散を行うことで，効率的な負荷分散を提供する．本[8]

手法では，CPU 処理については，CPU 使用率，ディスク処理においては，I/O の混雑度を示す指標であるディスクに溜まる
キューの長さから負荷を判断する．また，ディスク処理におい[9]ては，事前に性能測定を行い，リソースを使い切った状態となる条件の範囲を決定した上で，負荷分散を行う閾値を，ユーザ[10]がその範囲内の値に設定することができる．これによって，生じるコストのバランスを，ユーザの要望に合わせるように負荷分散を実行することが出来る．
提案した手法を，実アプリケーションを用いてビックデータ[11]

処理を模した環境へ適用した結果，データを外部サイトに保存
せず，ローカルのストレージへ iSCSI アクセスを行う状況においても，パレート最適なコストバランスとなるジョブ配置が提[12]供できていることが確認され，本手法の有用性が示せた．
今後の課題としては，様々なアプリケーションを本ミドルウェ
アを介して行なって行きたい．具体的には，データマイニングの代表的な手法である，FP-growth を使ったアプリケーション
処理等に対し，本提案手法が有用かを評価したい．また，現在の実装では，学習フェーズで取得した閾値を，ミドルウェアに適用してから実行する形となっているが，この学習フェーズもミドルウェアの一部に取り込み，自動化を実現したい．

謝

[13]

ing for Virtualized Servers Using Kalman Filters”, In Proc. 6th International Conference on Autonomic Computing and Communications(ICAC2009)”, June, 2009
豊島 詩織， 山口 実靖， 小口 正人：”データインテンシブアプリ
ケーション実行時のクラウドリソースとローカルクラスタ間における負荷分散ミドルウェア”，日本データベース学会論文誌，
Vol.10, No.1, pp.31-36, 2011 年 6 月
Kazuki Mochizuki and Shin-ichi Kuribayashi, ”Evaluation of Optimal Resource Allocation Method for Cloud Computing Environments with Limited Electric Power Capacity,” In Proc. 2011 14th
International Conference on Network-Based Information Systems,
pp.1-5, 2011
Che-Yuan Tu, Wen-Chieh Kuo, Wei-Hua Teng, Yao-Tsung Wang,
Steven Shiau, ”A Power-Aware Cloud Architecture with Smart Metering”, In Proc. Parallel Processing Workshops (ICPPW), 2010 39th
International Conference, pp.497-503, Sep, 2010
Cathryn Peoples, Gerard Parr and Sally McClean, ”Energy-aware
data centre management”, In Proc. Communications (NCC), 2011
National Conference, pp.1-5, Jan, 2011
Gueyoung Jung, Matti A. Hiltunen, Kaustubh R. Joshi, Richard D.
Schlichting, Calton Pu”Mistral: Dynamically Managing Power, Performance, and Adaptation Cost in Cloud Infrastructures ”, In Proc.
Distributed Computing Systems (ICDCS), 2010 IEEE 30th International Conference, pp.62-73, June, 2010
笠江優美子，小口正人:「ハイブリッドクラウド環境における性能と実行コストに基づいたデータ処理最適配置ミドルウェアの提案と実装」，電子情報通信学会データ工学研究会，DE2012-39，
2012 年 12 月
Luna Mingyi Zhang, Keqin Li, Yan-Qing Zhang, ”Green Task
Scheduling Algorithms with Speeds Optimization on Heterogeneous
Cloud Servers ”, In Proc. Green Computing and Communications(GreenCom), 2010 IEEE/ACM Int’l Conference on and Int’l Conference on Cyber, Physical and Social Computing (CPSCom) , pp.7680, Dec, 2010
Yumiko Kasae and Masato Oguchi ”Proposal for an Optimal Job
Allocation Method for Data-intensive Applications Based on Multiple Costs Balancing in a Hybrid Cloud Environment” In Proc. the
7th ACM International Conference on Ubiquitous Information Management and Communication (ICUIMC2013), 9-3, Kota Kinabalu,
Malaysia, January 2013.

辞本研究は一部，文部科学省科学研究費基盤研究「電力消費を制御するスケーラブルな情報の蓄積と検索」によるものである．
また，本論文作成にあたり，独立行政法人 産業技術総合研究所
竹房 あつ子氏，中田 秀基氏，高野 了成氏，工藤 知宏氏，東京
大学生産技術研究所 中野 美由紀特任准教授，西川 記史氏，横山 大作助教, 工学院大学 山口 実靖准教授には，大変有用なアドバイスをいただきました．深く感謝いたします．
文献[1] 平成 24 年度情報通信白書:
http://www.soumu.go.jp/johotsusintokei/whitepaper/ja/h24/pdf/24honpen.pdf[2] Eucalyptus:http://www.eucalyptus.com/[3] SHW3A:
http://www.system-artware.co.jp/shw3a.html[4] Gueyoung Jung, Kaustubh R. Joshi, Matti A. Hiltunen, Richard
D. Schlichting and Calton Pu, ”Generating Adaptation policies forMulti-Tier Applications in Consolidated Server Environments”, In
Proc. 5th IEEE International Conference on Autonomic Computing(ICAC2008), p23-32, June, 2008.
[5] Evangelia Kalyvianaki, Themistoklis Charalambous and Steven
Hand, ”Self-Adaptive and Self-Configured CPU Resource Provision-—7—