Google曰く「信頼性は劣るかもしれないハードウェアを2倍の数揃える方がよい」 140
質より量 部門より
あるAnonymous Coward 曰く、
Googleのデータセンターは全世界に36あると言われているが、その一部を同社のJeff Dean氏がサンフランシスコで開催された同社のI/Oカンファレンスで明らかにしてくれた(本家/.記事より)。
Dean氏は「より信頼できるハードウェアを一定数揃えるより、それより信頼性は劣るかもしれないハードウェアを2倍の数揃える方がよいと我々は考えている」と発言し、「信頼性はソフトウェアのレベルで提供するべきである」との考えを明かした。「1万台のマシンが動いているとすれば、毎日何かがダウンするに決まっている」からである。
(つづく...)
ハードウェアを当てにできないのは、新規にクラスタを稼働させるときの状況をみれば明らかだそうで、Googleのクラスタはおよそ1800台のサーバから構成されているが、稼働開始年度の典型的なケースでは、1,000件の個別のマシン障害が発生し、ハードディスクドライブの障害は何千件という単位になるそうだ。もし配電ユニットが1つダウンすることにより500~1000台のマシンが6時間ほど落ち、20台のラックが駄目になり、40~80台程のマシンがダウン毎にネットワークから消える。5台程のラックは「不安定」になり、ネットワークパケットが半分ほど消滅したりする。クラスタを再配線する必要が1回は発生し、2日間に渡って5%のマシンに影響を及ぼす。また、約50%の可能性でクラスタのオーバーヒートが発生し、発生の際はほぼ全てのサーバが5分以内ダウン、リカバリに1~2日かかるという事態が発生するとのこと。
Googleはサーバのハードウェア・コンポーネントには汎用のものを使用しているが、パッケージに関しては独自なものを採用しているそうだ。回路基盤はIntelがGoogleのためにカスタム設計したものを使用しており、各サーバのケースは使用せず、サーバが40台設置されたラックを覆う独自のケースを設計・採用している。Cnet News Blogの元記事にてGoogleデータセンター内の写真が数点紹介されている。
平均故障率の試算 (スコア:5, 参考になる)
ひとまず、MTTRがどちらも1日、信頼性の高いサーバのMTBFが300日であると仮定します。
このとき、信頼性の高いサーバ10台の故障率は1.63808E-25となります。
サーバ20台で上記と同等かそれ以下の故障率を実現する場合に、信頼性の低いサーバに必要なMBFTは
16.4日
になります。
つまり、この場合、ハード台数が2倍確保できるのであれば、信頼度は1/18でよいということになりますね。
#なお、同じ条件でMTTRが2日だったとすると、必要MTBFは22.5日に、逆にMTTRが0.5日だと、11.8日になりました。
しもべは投稿を求める →スッポン放送局がくいつく →バンブラの新作が発売される
Re:平均稼働率は? (スコア:1)
>信頼性は高くなると言うのならわかります。
あー、さっきの計算は「信頼性の高いマシン10台による冗長構成と信頼性の低い20台のマシンによる冗長構成の比較」です。
0.306ってのはMTBFが16.4日、MTTRが1日のマシン20台が同時にすべて稼動している確率で、私が計算してたのは20台すべてが故障している確率ですね。
ついでに、平均稼働台数も出しておきましょうか。
信頼性の高いサーバ10台:10×300/301=9.97
信頼性の低いサーバ20台:20×16.4/17.4=18.85
#元になる台数が倍違うわけですから、比較する意味はあんまりありませんが
しもべは投稿を求める →スッポン放送局がくいつく →バンブラの新作が発売される
なるほど... (スコア:3, おもしろおかしい)
Re:なるほど... (スコア:5, すばらしい洞察)
Re:なるほど... (スコア:2, 興味深い)
人集めという点では成功している様に見えますけど、やっぱり化け物クラスの人間でも集めると怠け者と働き者に分かれるんでしょうか。
(ついでにいうと怠け者が弾かれるかどうかについても)
#知っている人に飛び込んでいったけど弾かれた人連れ去られた人飛び込もうとはしなかった人がいるけど、
#あえて各個人の実際の能力がどうかは触れないでおこう…。
##Googleスゲェよ、やっぱり
=-=-= The Inelegance(無粋な人) =-=-=
Re:なるほど... (スコア:1)
Re:なるほど... (スコア:1)
Re:なるほど... (スコア:5, おもしろおかしい)
Re:なるほど... (スコア:5, すばらしい洞察)
ソフトウェアのソースコードのうち10%がバグだらけの状態は「このソフトウェアは使い物になりません」としか形容できないわけですよ。
Re:なるほど... (スコア:4, 興味深い)
って言ってるし、それらを束ねる上役の力量が問題になるんじゃないかな?
#結論は非現実的
Re:なるほど... (スコア:4, おもしろおかしい)
つまり、技能が同じで離職率の異なる(離職率に応じて初期投資も異なる前提で)技術者を用意するなら、離職率の高い技術者を安く大量に用意したほうがよい、という話になるのでは?
というわけで、ハードほど技術者は離職率によってお値段が違うとは思えないので、あまり良い例えではないような気もします。
(逆に、凄く良い例えだ、と思ってる人もいたりして…)
Re:なるほど... (スコア:2, すばらしい洞察)
ほかの業界だと、国内に量産工場を1棟建てるより、同じコストで中国に2棟建てた方が、
不良品を除いてもたくさん作れますね。ってところでしょうか。
Re:なるほど... (スコア:1)
とありますので、 というこれが実現するためには、技術者を釣った後、信頼性をもたらすような概念で洗脳する必要があるのです。
# ちっ、セルゲイとブリンの奴、俺の戦略に気がついたな…
fjの教祖様
Re:なるほど... (スコア:1)
fjの教祖様
Re:なるほど... (スコア:1)
技術者の信頼性は測定が難しいし、時間もかかる。
一人優秀なのがいれば、それにやらせたらよいので、多数揃えてアタリを引くまで使い倒す。
しかし、アタリを引いても使い倒してしまうので、数を揃えても...
Re:なるほど... (スコア:1)
優秀な技術者を2人以上は集められません、じゃ困ってしまいます。
Re:なるほど... (スコア:1)
優れた技術者を退屈させてはならない、ってだけでは??
「作業」に「従事」する段階ですでに優れた技術者は不要だと思う。彼らは「作業」なんぞという退屈なものに「従事」しないためならば死力を尽くすからこそ「優れている」のだから。
fjの教祖様
アプリに依るでしょ (スコア:2, すばらしい洞察)
そういう「ゆるい」アプリがGoogleのコアビジネスを占めているから、
Googleはそれで成り立つし、他の業界ではそうはいかない。
Re:アプリに依るでしょ (スコア:1)
確かにGoogleのサーバの10分の1が故障してもGoogleの検索結果には影響ないでしょう。
でも10分の1壊れてても全数正常に動いてても出てくる検索結果は同じはずですよ。
壊れた10分の1だけイイカゲンな結果出してもGoogleなら許されるよね、って言いたい?
少々ハードウェアが壊れたぐらいでは処理の結果に影響が出ないようにシステムを作った
方がよいですよ、って話だと思いますが。
ゆるいと言えど (スコア:1)
信頼性は少なくとも内部では銀行並みでしょう。「Googleが落ちた」とか「検索が壊れた」と言う話は
聞きませんし。
Re:ゆるいと言えど (スコア:1)
埼玉県と千葉県に、適当な頻度で同期する程度のDBを独立に立てても構わないですね。
商取引のように常に一貫性を維持する必要がないのですから。
埼玉県と千葉県で検索結果の50位と51位が引っ繰り返って目くじらを立てる人はそうはいませんし、
インパクトのある1位や2位の結果なんて、同期の間の短い間でそうそう入れ替わるものじゃありません。
たとえ入れ替わったとしてもその影響はたかが知れてます。
内部で銀行並みの信頼性があるかなんて私は答えることはできませんが、
銀行並みの信頼性を実現するのは過剰要求であり、予算の無駄だというのは想像できると思います。
今のGoogleはアプリも多彩なのでは (スコア:1)
今は「データ消えちゃった、またクロールしてこよ」
では済まないデータも抱えていると思います。
Gmailのデータとか。
yp
そのころ東郷提督は (スコア:2)
Re:そのころ東郷提督は (スコア:1)
Re:そのころ東郷提督は (スコア:1)
百発百中の砲の価値というのは確かに存在すると思います。
冗長性で担保できる問題との区別が戦略というものですよね。
Re:そのころ東郷提督は (スコア:1)
1-(0.99)^100=0.63
と案外低いので、そううまくはいきません。所謂確率のトリックですね。
氏の発言はあながち間違いではないかもしれません。
もっとも100門で撃った後に99門で撃った場合の命中率は0.86、
さらに98門で撃ったら0.95になるので、せいぜい2射か3射が限界ですが。
あとは確率論でなく戦術・戦略しだいですかねぇ...
#たとえば1射目が旗艦の艦橋を直撃したら...
Re:大規模でなければ間違いでは無い (スコア:2, 興味深い)
百発百中なんて未だにどこも実現出来てませんよ。
ってか、そもそもは兵站で既にボロボロ状態で有るのを糊塗してただけだし。
何となく司馬遼太郎がチハ車を褒めてたのを思い出した。
機械としては天下一品で世界中の何処に出しても恥ずかしくない。
問題はたった一つ「戦争に使えないだけ」ってのを。
同様に日本陸軍自体も戦争さえしなきゃあ、それなりの物だとは思う。
精神論もボーイスカウトだと思えば好ましい向上心とも思える。
スラド編集者曰く (スコア:2, おもしろおかしい)
3の倍数 (スコア:2)
当たり前じゃん…ではない。 (スコア:1)
障害対応要員が倍になるようでは話にならんでしょうけど、そんなことにはならない、ってことなんだろうね。
Re:当たり前じゃん…ではない。 (スコア:2, 興味深い)
どうなんでしょう?? Googleを支える技術 [amazon.co.jp]によると、何台かをまとめたクラスターを作っているようです。
ざくざくと壊れるようならば、とりあえずの信頼性はクラスターで確保しておいて、クラスターが動けなくなったら、障害対策要員はどこが壊れているかなど無視してクラスター単位で生成・撤去すればよいだけ。
結局、台数に物を言わせて、ソフトで信頼性を確保すると、障害対応要員はそんなに必要ないよ、必要な技術レベルも決して高くないよ…ということに落ち着くのかもしれません。
.
しまった。
それってうちの商売からみて敵だ。
(大抵の大手計算機メーカーにとってもそうでしょうが)。
fjの教祖様
Re:当たり前じゃん…ではない。 (スコア:1, おもしろおかしい)
それこそが「Googleを支える技術」なんでしょうか?
なんか色々なものが支えられそうな気もしますが・・・
# 作者の知り合いなので AC
Re:当たり前じゃん…ではない。 (スコア:1)
まあ市場原理的にも合ってるかも (スコア:1)
信頼性というよりは性能の話ですが。
=-=-= The Inelegance(無粋な人) =-=-=
人も・・ (スコア:1, おもしろおかしい)
「○○人の技術者が働いているとすれば、毎日何人かがダウンするに決まっている」
一定数の二倍 (スコア:1)
現実はそう行かないのでしょうし、そうできるようにソフトウェアの改善も行っているでしょうけど^^;
// 初期予算、だけでなく保管とか管理の問題があるんですね・・・(:>^
Re:一定数の二倍 (スコア:1)
Re:一定数の二倍 (スコア:1)
一番ベスト...ちょっと苦笑。
信頼できるハードウェアなら二倍揃えるのは無駄だよね。
信頼に限界があり、信頼できないから冗長にするんですよね。
「一番でもベストでもないが、完璧な信頼は得られない現状では、冗長化等の対策は必要。
信頼性が多少高いモノを選ぶとコストが倍以上になるので、冗長化とかやってらんない。
なので、ちょっと安いのを倍揃えて有事に対処する様にしている。
それで、なんとかGoogleはやっていけているぞ」
ということを言っているのだと思う。
電気代が無駄な気がする (スコア:1)
どっかで聞いたことがあるな~とおもったら(もしかしたら余計なもの) (スコア:1)
丸山先生のレクチャーシリーズ Podcasting
http://satellite.wakhok.ac.jp/podcast/xml/maruyamalecture.xml [wakhok.ac.jp]
ここでした。たしか「Googleの分散処理技術」とかのトピックだったとおもうのですが。
上記のPodcastでは、その内容を時間を割いてわりと詳しく説明してました。
Podcastなんで、写真とか現物を見たわけじゃないですし、話だけ出だと「?」な部分もありますけど。
最初は「見える化」のトピックで聞き始めて、色々面白い内容があるので、たまに聞いてる。
#すでに紹介されていたら失礼いたしました・・・
信頼できるソフトウェア。 (スコア:1)
障害、エラー、誤操作などなど、こういった事象に対して対処することを避けていないソフトウェアを生産することに「対価」を支払わないことが問題の根源かもしれません。
信頼や品質は作りこんでいくもので、なにか良さそうなものをカタログ閲覧して購入・配備すればすむ「保険」ではありませんし、大事なことについては昔と変わらずに作りこんでいくことでこそ利用者は満足を得るものでしょう(一番いいのは、利用者も作りこみのために手と頭を働かせるケースでしょうか)。
企業や公共が使用しているシステムたちは、損失・損害を保険でカバーすれば許してもらえるような周辺的な存在ではなくなっていますよね?であるならば、利用者がまず作りこみの為に手を動かすのでなければ、ナニをもって「信頼に足る」とするのでしょうか?
作りこむことの大事さ・高い価値を、ユーザに得心させる(教育する)ことが大切になってきているように思います。
(そして、システム開発を土木工事同様のフォーマットやフローで管理したいなどという怠惰さ(思い上がりか?)を駆逐できれば…とも)
Re:信頼できるソフトウェア。 (スコア:2, 興味深い)
はて、そうでしょうか??
Googleはハードウェアを動かせる限り連続して動かしているとは思えません。各機械は、定期的に止めて、ヘルスチェックをかけているはずです。全体がいっせいに停止することはない、というだけで。
と言うことは、ソフトウェアもその「一定期間」さえ動作すればよい、という風に作っているはずです。ジョブのtakeoverがきちんとデザインされているだけで。つまり長期間運用しないと発生しないようなエラーについては、最初からエラー処理など書いていないはずです。
その分を分散処理と、冗長化を実装するのに割いているのだと思いますよ。
fjの教祖様
Re:よし、じゃあ (スコア:1)
Re:2の倍数でよくって (スコア:5, おもしろおかしい)
いえ、最近書いてるプログラムって、ほぼこれと同等なことばっかりやってるので、
つい。
Re:2の倍数でよくって (スコア:1)
Re:2の倍数でよくって (スコア:1)
ぬるぽで落ちるとか?
Just a whisper. I hear it in my ghost.
Re:2の倍数でよくって (スコア:2, おもしろおかしい)
4文字目でアホになってますが……?
Re:信頼性..? (スコア:1)
真空管時代の計算機みたいですなあ。
Re:普遍化しすぎ (スコア:5, すばらしい洞察)
なぜ、信頼性が 1/2 って話になったのでしょうか?
信頼性が 99.99% のものを 1 個揃えるんだったら
信頼性が 99.9% のものを 2 個揃えろって話でしょう。
# 精度を求めれば、金額が跳ね上がります。
そして、至らないところは、ソフトでカバーするという話だと思います。
> たとえば銃器の場合に命中率で、狙撃用と制圧用ではそれぞれ要求されるレベルは違って当然と私は思いますが?
下記のライフルがあるとして、
命中精度が 90% のライフル A
命中精度が 80% のライフル B
命中精度が 80% のライフルを 2 倍揃え、
命中精度が低い事を補える作戦を用意する方が、
目的を達成し易いという事でしょう。
Re:普遍化しすぎ (スコア:3, 興味深い)
世の中には価格1/5故障率20%ダウンなんて代物は山のようにある。
しかも重量が1/3だったりすると、安い方を2台付ける、というのはありだと思うのだが、
日本ではこれが通らない。
昔は、放送局もそうだった。
12年ほど前に米国のNBC本社の見学に日本のプロダクションや放送局の
ツアーで行った。
入る前は、日本にないような最新の設備を期待して入ったのだが、
副調整室の一部には驚くような機器もあるが、
大半は日本ではもう見られなくなったような機器もごろごろ。
同行の面々は、日本の機器は米国を超えている!と自信満々だったが・・・
信頼性とコストをバランスにかけているだけだと思った。
現在も日本の医療はそう。
おかげで海外の数倍の価格の物が今だ横行している。
もちろん定価はそのX倍。
ここ数年でずいぶんまともになったが、
商習慣の違いを割り引いても、日本の信頼性信仰は高すぎ。
もちろん安かろう悪かろうが世の中には多いわけで、
予め充分選別しての話だが。