大規模システム管理研究室 ― Hadoop の投機的実行数は何故4なのか?―

大規模システム管理研究室では,未来の大規模超並列分散コンピューティング環境のための要素技術やビッグデータ解析に関する研究と,それらの応用として大災害に対するリスク管理やサービス・マネージメントに関する研究を行っています.今回は莫大な規模のサーバマシンから構成されるクラウド・コンピューティングに関するスケジューリング問題を通して研究成果の一端をご紹介します.

クラウド・コンピューティング環境

クラウド・コンピューティングは,莫大な数のサーバマシンを接続して分散コンピューティングを提供する計算環境の総称です.サーバ環境はデータセンター内に構築され,デスクトップPCからタブレットPC,モバイルフォンといった多様な端末がクライアントマシンとしてクラウド・コンピューティングサービスを利用しています.

クラウド・コンピューティングを提供するデータセンターでは,普及品レベルのサーバを増やして処理を並列化することにより,処理性能の向上を実現しています.このようなアプローチをスケールアウトと呼び,現在のクラウド・コンピューティングを支える基盤技術として普及しています.

scaleout_systemスケールアウト型コンピューティング・システム

クラウド上で実行されるキーワード検索やビッグデータ解析のような処理では,巨大なタスクを複数のサブタスクに分割し,多数のワーカと呼ばれるサーバマシン上で処理を行う,いわゆる大規模分散並列処理が行われます.Google のMapReduce やオープンソースの Hadoop が大規模な分散並列処理を行うソフトウェアフレームワークとして大変有名です.

キーワード検索を例に取ってみると,非常に大きいサイズ,例えば1TB (=1000GB) のファイルに含まれるキーワードを検索するとき,1台のマシンで検索するよりも,ファイルを1000台のマシンに等分割保存して1台あたり1GBの部分ファイルを検索する方が,探索にかかる時間は単純に1000分の1になります.(並列化のための前処理時間は並列台数が大きくなると増大しますが,それよりも処理時間の短縮効果が大きいときには有効です.)

落伍者の問題とバックアップ型スケジューリング

莫大な数のサーバマシンで並列処理を行うときに問題となるのは,マシン性能のばらつきです.またハードウェアの故障も,マシンの台数が100台,1000台と多くなってくると,無視できない問題になってきます.並列処理ではすべてのサブタスクの処理が完了してタスク全体の処理が完了となります.このような処理では,最も遅いサーバマシンが全体の処理時間を決定することに注意しましょう.この問題は落伍者の問題 (Issue of Stragglers) として知られています.大規模分散並列処理では,マシン性能のばらつきやハードウェアの故障にも柔軟に対応してタスクを高速に処理するスケジューリングが重要な役割を担っています.

ここで簡単な例として4台のサーバで並列処理を行うことを考えてみましょう.

cloud_scheduling

二つのタスク・スケジューリング戦略

次の二つの戦略を考えます.

  • 戦略A (上図左側)

タスクを4分割し,4台のサーバで並列処理を行う.4台のサーバの処理すべてが終了した時点でタスク全体の処理が完了.

  • 戦略B (上図右側)

タスクを2つのサブタスクに分割し,1つのサブタスクをオリジナルサーバとバックアップサーバの2台で処理をする.オリジナル処理とバックアップ処理で,早く終わった方の結果を採用する.

戦略Aと戦略Bでは,どちらの方がクラウド・コンピューティングでは有利でしょうか?

まず全部の処理が完了するまでの処理時間を考えましょう.1台のサーバでタスク全体を処理するのにかかる時間を1とすると,戦略Aではタスクを4分割しているので1台当たりの処理時間は1/4,うまくいけば1/4程度の処理時間でタスクを完了することが可能です.

一方の戦略Bでは,タスクを2分割しているので1台当たりの処理時間は1/2,うまく処理が行われても1/2の処理時間がかかります.タスク全体の処理時間の短縮を目指す立場からすると,戦略Aの方が分割数が多い分,効果的に時間を短縮できそうです.

次に4台のサーバの内,1台が故障した場合を考えてみましょう.戦略Aでは4台のサーバの処理結果が返ってこないと処理が終了しませんから,故障の場合はタスク処理を完了することができません.一方,戦略Bでは2台に同じ処理をさせていますから,1台が故障した場合でもタスク全体の処理を完了できます.つまり,戦略Bは単純な分割・並列処理と比べて故障に耐性があることがわかります.

それではCPUの性能差や負荷状況によって処理時間にばらつきがある場合,どちらの戦略の方が有利でしょうか?

この問題を考えるためには,戦略Aや戦略Bによるタスクの処理メカニズムを確率的に分析する必要があります.簡単に説明すると,この問題は,複数の確率変数列の最大値がどのような分布に従うかという問題に帰着し,数理的に解析を行うと戦略Aや戦略Bのタスク処理時間の分布を導くことができます.この分析を行った結果,いろいろと面白いことがわかってきました.

まずサーバの処理時間のばらつきが大きければ大きいほど,戦略Bの効果が高いことがわかりました.しかもばらつきが大きいときは並列処理を行うサーバの台数を100台,1000台と増やすほど戦略Bがより効果的になることも判明しました.さらに,ハードディスクの応答が遅くなるなどの中途半端な故障によって処理時間が極端に長くなるような場合には,戦略Bのバックアップ型スケジューリングが効果的であることが明らかになりました.

実装に関する面白い結果として,一つのサブタスクを処理するサーバ数は3台から4台あれば十分であること,5台以上は処理時間がそれほど改善されないことがわかりました.Hadoop では,タスク処理の失敗を見越して他のサーバにタスクを振り直す投機的実行という機能がありますが,この投機的実行の最大回数はデフォルトでは4と設定されています.このデフォルトの値は,分析を通じて得られた結果と合致しており,このような根拠の下で投機的実行の最大回数が設定されていることを改めて認識した次第です.

ここではタスクの処理時間についての話題を紹介しましたが,クラウド・コンピューティングで重要な問題の一つに,データセンターが莫大に消費する電力をどのように削減するか,という問題があります.消費電力という観点から見るとパフォーマンスがよいとされた戦略Bは,サーバを稼働させる時間が全体的に多くなるためにあまりよい戦略とは言えません.クラウド・コンピューティングではタスク処理時間と消費電力量がトレードオフの関係にあり,そのためタスク処理時間を短縮しつつ消費電力量も削減するジョブ・スケジューリング法が重要な研究テーマとなっています.

 大規模クラウド・コンピューティング実験システムと始動する研究プロジェクト

大規模システム管理研究室の大きなニュースとして,大規模分散並列処理実験システムがこの度導入されました.HP の MoonShot と呼ばれるシステムがベースになっていて,カートリッジ型サーバマシンを1シャーシで45台収納,1ラックに3シャーシを搭載した高密度型サーバクラスタシステムです.当研究室では全135ノード中100台を専有し,Hadoopが稼働する分散並列処理システムとして実験用に使用します.

実験設備写真

 大規模クラウド・コンピューティング実験システム

 このシステムを使って以下の実験やアプリケーションの構築を行っていく予定です.

  • モバイルクラウド実装プロジェクト

クラウド・コンピューティング環境とタブレット端末を高度に連携させたモバイル情報収集分析プラットフォームを構築し,コンテンツデリバリや大規模分散メモリキャッシング,MapReduce型アプリケーション,特に大規模非構造データに対する知識獲得処理を行うアプリケーションを開発します.

  • スケールアウトクラウド実測プロジェクト

Hadoop環境において,大規模分散並列処理の性能を実測によって評価を行います.具体的には,ノード数がスケールすることによる処理性能の改善効果やノードの性能をばらつかせることによる処理性能の劣化度合い,タスクスケジューリング方式の性能評価を実機で行う予定です.

  • 省電力エネルギー制御プロジェクト

大規模データセンターの電力消費量を抑えつつタスク処理を効率的に行う電源管理スケジューリングを開発します.例えばタスクの到着パターンに適応した電源管理法やタスクの優先クラスによるスケジューリング,サーバ群レベルの電源管理法について検討していきます.

このシステムを使って私たちと一緒に未来のクラウド・ワールドを研究開発していきませんか.

ネットワークシステム学講座2013

ネットワークシステム学講座は、信号処理をひとつのキーワードに、ワイヤレス通信やセンシング、組み込みシステムといった、いつでも・どこでも・何でもが繋がるユビキタスネットワークのための基盤技術の実現と評価に関する研究を行っています。 情報科学研究科の中では比較的物理層に近い研究分野です。 また全体としてのシステムを考える研究が多く、自分の研究が成功したらこんなことができる!というのがイメージしやすい、と現M1の自分は考えています。 それではネットワークシステム学講座の2013年を振り返ってみたいと思います。(M1金子)

2013年6月29日、龍谷大学ともいき荘にて、IEEE MTT-S関西チャプター主催の第6回マイクロ波英語発表会に本研究室より、Md Salik Parwez、松田勝志、丸山拓起、万耕、金子裕哉が口頭発表を行い、 金子裕哉がBest Presentation Awardを受賞しました。

mtts01

本研究室は国内、国際を問わず学会発表へ積極的に参加しています。この英語発表会は国内開催ですが、国際学会への参加の為の練習として英語で行われています。 また、運営をIEEE MTT-S Kansai ChapterのWakaTe Committeeという学生委員会が行なっており、委員会に所属する本研究室のM2学生が座長を務めました。

(M1金子)この発表会でBest Presentation Awardを頂くことができました。英語の発表会もアワードを頂いたのも初めてでしたが、大学院へ来るといろいろな発表の機会があるのだなあと感じました。またこの発表会での英語プレゼンの経験を活かしてこの秋には国際学会へ参加することができました。

ここで発表したテーマは「A Study of the Model of Meteor Burst Communication Channel with Exponential Decay」(流星バースト通信路指数減衰モデルの検討)といい、実はこの奈良先端大に来る前、いわゆる学部時代(僕は高専専攻科出身なので専攻科時代)の研究テーマです。ネットワークシステム学講座に配属されてからのゼミで学部時代の研究テーマを紹介した際に先生に興味を持っていただけたことと、この英語発表会が新規性などより今後国際学会へ参加していくための練習としての意味合いが強いということだったので参加させてもらいました。そういうわけなので来年度新しく来る学生の方も研究テーマによっては参加できると思いますのでぜひ発表してみてください。今いる研究室でなく学部時代の研究テーマを発表することになったとき、なんとなくですが初めて自分個人のテーマとして責任を持てたように思えます。さらに学部時代のテーマにも関わらずありがたいことにネットワークシステム学講座の先生から発表内容にご指導をいただけたので受賞できたと思います。

奈良先端に来ると、学部時代のテーマとは違うテーマを持つことになると思います。僕のように通信関係で共通した部分があるテーマを持つことになるかもしれませんし、全く異なる分野に興味を持って研究を行おうという人もいると思います。いずれにしても、色々な分野の知識を持っていると強みにもなると思いますし、話を聞いていて面白い分野というのが増えて学会に行った時に講演の目次を見るのが楽しくなります。前に行っていた研究で使った知識や手法が今やっている研究でも役に立ったり、同じ分野の研究についてその分野の人とは違った見方ができたりということもあると思います。自分の研究の履歴や持っている知識のベースといったものが自分の味になっていくんだなというのが奈良先端へ来て感じたことの1つです。何事にも興味を持ってアンテナを伸ばしていきたいと思います。

2013年7月02日、IEICE, IEEK, ECTIが主催する国際会議ITC-CSCC2012において、本研究室の博士後期課程1年のDiego Javier Reinoso ChisaguanoがThe 2012 Best Paper Awardに選出されました.2013年7月2日に韓国で表彰式が行われました.

8月6日から8月8日の3日間、SSH(スーパーサイエンスハイスクール)が実施され、東大寺学園中学の学生さんが参加しました。 地上デジタル放送の受信用アンテナの作成に取り組み、実験を行いました。

ssh01

 

8月19日から25日の1週間、降雨レーダーに関する研究実験を行うため、フィリピンのアテネオ大学を訪れました。

ateneo02

 

9月4日から9月6日の3日間、タイのサムイ島で開催された国際会議ISCIT2013で本研究室より博士後期課程1年のdiego Javier Reinoso Chisaguanoが口頭発表を行いました。

9月14日から9月28日の2週間、本研究室より木谷竜也が湖南大学(中国)へ短期留学に行きました。

Hunan2_s

私はネットワークシステム学講座M2の木谷竜也と申します。私は2013年9月14日から9月28日まで中国の湖南大学に短期留学をしてきました。湖南大学とNAISTは協定を結んでいて1年毎に互いの大学の学生の短期交換留学を行っています。主な研究プロジェクト内容はワークショップで互いの研究紹介を行った後、別々の研究室へと配属され現地の学生とペアになりプロジェクト研究を行う形でした。ただ、この交換留学は短期ということもあり、研究を行うことだけが主な目的ではなく英語で学生の交流を図ることも目的とされているので気軽に参加することもできます。ただ、がっつり海外大学で研究を行ってみたい人には物足りないかもしれません。実際、2週間の実施内容の割合は研究紹介なども含めた研究を50%、現地学生との観光などの交流が50%でした(あくまで2013年実施内容)。私が配属された研究室は現研究室の分野とは異なるものだったので、1対1で互いの研究の基本的なことから細かく英語で議論をすることは英語の議論に臆さなくなるという意味でもいい経験になりました。海外への留学に少し迷っている人は行ってためにならないことはきっとないので、海外の奨学金留学生や研究機関のインターンへ是非応募してみてください。修士卒業に限った場合、時間のあるM1に少し長期の留学・インターンに行くことをお薦めします。

 

タイより留学生のWithawatさんが博士後期課程で研究室に来られました。

10月22日から24日の3日間インドネシア・バリ島で行われた国際会議ICE-ID2013にて本研究室より万耕、木谷竜也、沖修平、金子裕哉が口頭発表を行いました。当国際会議で博士前期課程2年木谷竜也がBest Paper Awardを受賞しました。

bali01

 

M1金子:初めて国際学会で発表しました。自分の発表は練習ができるのでまだ何とか曲がりなりにも形にはなっていた(と思いたい)のですが、当然質問も英語ですから、質問を聞き取って意図を理解して英語で答えるというのがやはり大変でした。ですが質問がもらえたというのは自分の研究に興味を持ってもらえたということと、一応は自分の英語が通用したということだと思うのでその点は嬉しく感じました。こういう経験があると英語の勉強のやりがいも出てくるというものです。

もちろんメインは学会参加なのですが、異国の食事や観光が楽しめるというのも醍醐味なのではないかと感じました。

 

 

11月12日から15日の4日間、沖縄で開催された国際会議ISPACS2013にて本研究室よりRyan Padernaが口頭発表を行いました。

11月16日(土)に2013年度山本研・山口研・岡田研合同同窓会が開催されました。

11月19日から22日の4日間、イギリス・マンチェスターで行われたIEEE EMS2013にて本研究室よりMd Salik Parwezが口頭発表を行いました。

 

12月3日にICEIC ワイドバンドシステム研究会(WBS)にて本研究室より博士前期課程1年の沖修平がポスター発表を行いました。

12月21日にIEEE AP-S Kansai Chapter and IEEE MTT-S Kansai Chapter 合同若手技術交流会2013にて本研究室より博士前期課程2年の牛少博と博士前期課程1年の三好崇之がポスター発表を行いました。

1月23日から24日にマイクロ波・ミリ波フォトニクス研究会 (MWP)にて本研究室より博士前期課程1年の金子裕哉が口頭発表を行いました。

1月29日から30日に映像情報メディア学会 研究会にて本研究室より博士前期課程2年の牛少博が口頭発表を行いました。

 

いかがでしょうか、ネットワークシステム学講座の様子が少しでも伝わっていればと思います。